diff --git a/app/src/main/java/com/example/abe/ABEApplication.kt b/app/src/main/java/com/example/abe/ABEApplication.kt index d41830ccebda8d3f0ce08036e4cd833e9fbb1606..e1aad4b92de3a25452462f53ec247e8a7d698892 100644 --- a/app/src/main/java/com/example/abe/ABEApplication.kt +++ b/app/src/main/java/com/example/abe/ABEApplication.kt @@ -1,8 +1,8 @@ package com.example.abe import android.app.Application -import com.example.abe.data.TransactionDatabase -import com.example.abe.data.TransactionRepository +import com.example.abe.data.db.TransactionDatabase +import com.example.abe.data.db.TransactionRepository import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob diff --git a/app/src/main/java/com/example/abe/MainActivityViewModel.kt b/app/src/main/java/com/example/abe/MainActivityViewModel.kt index afc842dc687d9c585fc6be5a53733c739eeb6b47..3c8ea5b6cbca8d5fc7d97d09711fd74fe7645f43 100644 --- a/app/src/main/java/com/example/abe/MainActivityViewModel.kt +++ b/app/src/main/java/com/example/abe/MainActivityViewModel.kt @@ -7,7 +7,7 @@ import android.net.Uri import androidx.core.content.FileProvider import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider -import com.example.abe.data.TransactionRepository +import com.example.abe.data.db.TransactionRepository import com.example.abe.domain.FormatCurrencyUseCase import com.example.abe.domain.GenerateExcelUseCase import java.io.File diff --git a/app/src/main/java/com/example/abe/data/network/Retrofit.kt b/app/src/main/java/com/example/abe/api/Retrofit.kt similarity index 99% rename from app/src/main/java/com/example/abe/data/network/Retrofit.kt rename to app/src/main/java/com/example/abe/api/Retrofit.kt index 21536640fdf2b360b5306ab1bbbe4817ef1b918c..5d389d64f3f55dccbf97abfaac3df729ab14582d 100644 --- a/app/src/main/java/com/example/abe/data/network/Retrofit.kt +++ b/app/src/main/java/com/example/abe/api/Retrofit.kt @@ -1,4 +1,4 @@ -package com.example.abe.data.network +package com.example.abe.api import android.util.Log import okhttp3.MediaType.Companion.toMediaTypeOrNull diff --git a/app/src/main/java/com/example/abe/data/network/Services.kt b/app/src/main/java/com/example/abe/api/Services.kt similarity index 94% rename from app/src/main/java/com/example/abe/data/network/Services.kt rename to app/src/main/java/com/example/abe/api/Services.kt index 42eff784a360a550e29b48501ff71afdd8d988ba..a18bb1d689c60ff47ee657c47dfa82d034762dfa 100644 --- a/app/src/main/java/com/example/abe/data/network/Services.kt +++ b/app/src/main/java/com/example/abe/api/Services.kt @@ -1,4 +1,4 @@ -package com.example.abe.data.network +package com.example.abe.api import okhttp3.MultipartBody import retrofit2.Call diff --git a/app/src/main/java/com/example/abe/data/network/Types.kt b/app/src/main/java/com/example/abe/api/Types.kt similarity index 92% rename from app/src/main/java/com/example/abe/data/network/Types.kt rename to app/src/main/java/com/example/abe/api/Types.kt index e423b33a53a42e4b94da8eb9e738d55f86da2f47..fef0c9f5fec848782168e30e814738688bb3d81b 100644 --- a/app/src/main/java/com/example/abe/data/network/Types.kt +++ b/app/src/main/java/com/example/abe/api/Types.kt @@ -1,4 +1,4 @@ -package com.example.abe.data.network +package com.example.abe.api data class LoginRequest ( val email: String, diff --git a/app/src/main/java/com/example/abe/connection/retrofit.kt b/app/src/main/java/com/example/abe/connection/retrofit.kt deleted file mode 100644 index 03d15e5821fb4f7ae340dd0ab0f0441c296e8034..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/example/abe/connection/retrofit.kt +++ /dev/null @@ -1,52 +0,0 @@ -package com.example.abe.connection - -import com.example.abe.services.LoginService -import com.example.abe.types.LoginRequest -import com.example.abe.types.LoginResponse -import retrofit2.Call -import retrofit2.Callback -import retrofit2.Response -import retrofit2.Retrofit -import retrofit2.converter.gson.GsonConverterFactory - -class CallBack<T> : Callback<T> { - override fun onResponse(call: Call<T>, response: Response<T>) { - if (response.isSuccessful) { - // Handle successful response - val data = response.body() - // Process the data here - if (data is LoginResponse) { - // Handle LoginResponse - println("Login successful $data") - } - } else { - // Handle error response - // Maybe use response.errorBody() to get error details - println("Login failed") - } - } - - override fun onFailure(call: Call<T>, t: Throwable) { - // Handle failure - println("Failed to send request") - } -} - -class Retrofit { - - private val url = "https://pbd-backend-2024.vercel.app/" - private val retrofit = Retrofit.Builder() - .baseUrl(url) - .addConverterFactory(GsonConverterFactory.create()) - .build() - - fun Login(email: String, password: String) { - val loginService = retrofit.create(LoginService::class.java) - - val call: Call<LoginResponse> = loginService.login( - LoginRequest(email, password) - ) - - call.enqueue(CallBack()) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/example/abe/data/Converters.kt b/app/src/main/java/com/example/abe/data/db/Converters.kt similarity index 89% rename from app/src/main/java/com/example/abe/data/Converters.kt rename to app/src/main/java/com/example/abe/data/db/Converters.kt index 348b048cccae9864895bb3121b091fd472b0e4e5..1a8497a31995d077dc773f9d28b8b1559e839ebd 100644 --- a/app/src/main/java/com/example/abe/data/Converters.kt +++ b/app/src/main/java/com/example/abe/data/db/Converters.kt @@ -1,4 +1,4 @@ -package com.example.abe.data +package com.example.abe.data.db import androidx.room.TypeConverter import java.util.Date diff --git a/app/src/main/java/com/example/abe/data/Transaction.kt b/app/src/main/java/com/example/abe/data/db/Transaction.kt similarity index 92% rename from app/src/main/java/com/example/abe/data/Transaction.kt rename to app/src/main/java/com/example/abe/data/db/Transaction.kt index 1f8bf16050aefe6700c40f613bd44aa5756ddbde..1c22afba3af758b000b1582c2306783b6046a92a 100644 --- a/app/src/main/java/com/example/abe/data/Transaction.kt +++ b/app/src/main/java/com/example/abe/data/db/Transaction.kt @@ -1,4 +1,4 @@ -package com.example.abe.data +package com.example.abe.data.db import androidx.room.Entity import androidx.room.PrimaryKey diff --git a/app/src/main/java/com/example/abe/data/TransactionDAO.kt b/app/src/main/java/com/example/abe/data/db/TransactionDAO.kt similarity index 97% rename from app/src/main/java/com/example/abe/data/TransactionDAO.kt rename to app/src/main/java/com/example/abe/data/db/TransactionDAO.kt index 51a67245beff268dcfaac8253549c7f41922f448..9e69fcc654c96c3a3bd3850ef4b29faa7f8de72a 100644 --- a/app/src/main/java/com/example/abe/data/TransactionDAO.kt +++ b/app/src/main/java/com/example/abe/data/db/TransactionDAO.kt @@ -1,4 +1,4 @@ -package com.example.abe.data +package com.example.abe.data.db import androidx.lifecycle.LiveData import androidx.room.Dao diff --git a/app/src/main/java/com/example/abe/data/TransactionDatabase.kt b/app/src/main/java/com/example/abe/data/db/TransactionDatabase.kt similarity index 98% rename from app/src/main/java/com/example/abe/data/TransactionDatabase.kt rename to app/src/main/java/com/example/abe/data/db/TransactionDatabase.kt index 61616bf0b557a542746ca6a55a7ad5d7af9ff538..4d54cfc02cc7792a79d921182ae6befd46c7f3c2 100644 --- a/app/src/main/java/com/example/abe/data/TransactionDatabase.kt +++ b/app/src/main/java/com/example/abe/data/db/TransactionDatabase.kt @@ -1,4 +1,4 @@ -package com.example.abe.data +package com.example.abe.data.db import android.content.Context import androidx.room.Database diff --git a/app/src/main/java/com/example/abe/data/TransactionRepository.kt b/app/src/main/java/com/example/abe/data/db/TransactionRepository.kt similarity index 97% rename from app/src/main/java/com/example/abe/data/TransactionRepository.kt rename to app/src/main/java/com/example/abe/data/db/TransactionRepository.kt index be06b77be5b9af340837eee3bdbcf74f37297898..97b9308e6ee5b5ad2ff23396493bc3ae6871e111 100644 --- a/app/src/main/java/com/example/abe/data/TransactionRepository.kt +++ b/app/src/main/java/com/example/abe/data/db/TransactionRepository.kt @@ -1,4 +1,4 @@ -package com.example.abe.data +package com.example.abe.data.db import androidx.annotation.WorkerThread import androidx.lifecycle.LiveData diff --git a/app/src/main/java/com/example/abe/services/AuthService.kt b/app/src/main/java/com/example/abe/services/AuthService.kt index 6ebef0d8dd060898c451110a0243b2fbcbe79dde..c74233bb94c573cb52798e3fcf9096f7f8ae54c9 100644 --- a/app/src/main/java/com/example/abe/services/AuthService.kt +++ b/app/src/main/java/com/example/abe/services/AuthService.kt @@ -8,8 +8,8 @@ import androidx.lifecycle.lifecycleScope import androidx.localbroadcastmanager.content.LocalBroadcastManager import com.example.abe.data.local.PreferenceDataStoreConstants import com.example.abe.data.local.PreferenceDataStoreHelper -import com.example.abe.data.network.CheckAuthResultCallback -import com.example.abe.data.network.Retrofit +import com.example.abe.api.CheckAuthResultCallback +import com.example.abe.api.Retrofit import kotlinx.coroutines.delay import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/example/abe/services/login.kt b/app/src/main/java/com/example/abe/services/login.kt deleted file mode 100644 index df0ba8ae47e580e0b3e97c48cad180fb79426873..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/example/abe/services/login.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.example.abe.services - -import com.example.abe.types.LoginRequest -import com.example.abe.types.LoginResponse -import retrofit2.Call -import retrofit2.http.Body -import retrofit2.http.POST - -interface LoginService { - @POST("api/auth/login") - fun login(@Body user: LoginRequest) : Call<LoginResponse> -} \ No newline at end of file diff --git a/app/src/main/java/com/example/abe/types/data.kt b/app/src/main/java/com/example/abe/types/data.kt deleted file mode 100644 index 103119b0f150af0030a88f6fd958bb97dc7a618b..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/example/abe/types/data.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.abe.types - -data class LoginRequest ( - val email: String, - val password: String -) - -data class LoginResponse ( - val token: String -) \ No newline at end of file diff --git a/app/src/main/java/com/example/abe/ui/form_transaction/FormTransactionViewModel.kt b/app/src/main/java/com/example/abe/ui/form_transaction/FormTransactionViewModel.kt index 4261ef49847d6831561a2fad21ec576db2fa5e90..2af76e448621f181e3b7762fa05ee65365cb6752 100644 --- a/app/src/main/java/com/example/abe/ui/form_transaction/FormTransactionViewModel.kt +++ b/app/src/main/java/com/example/abe/ui/form_transaction/FormTransactionViewModel.kt @@ -1,13 +1,12 @@ package com.example.abe.ui.form_transaction -import android.util.Log import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.map import androidx.lifecycle.viewModelScope -import com.example.abe.data.Transaction -import com.example.abe.data.TransactionRepository +import com.example.abe.data.db.Transaction +import com.example.abe.data.db.TransactionRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/app/src/main/java/com/example/abe/ui/graph/GraphViewModel.kt b/app/src/main/java/com/example/abe/ui/graph/GraphViewModel.kt index c6e874519db0b7d44d546b411fdb96881f00cf92..70a98f436bbe3151dc1f338fe9b56417ab9e8d3d 100644 --- a/app/src/main/java/com/example/abe/ui/graph/GraphViewModel.kt +++ b/app/src/main/java/com/example/abe/ui/graph/GraphViewModel.kt @@ -2,7 +2,7 @@ package com.example.abe.ui.graph import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider -import com.example.abe.data.TransactionRepository +import com.example.abe.data.db.TransactionRepository class GraphViewModel(private val transactionRepository: TransactionRepository) : ViewModel() { suspend fun getExpenses(user: String): Int { diff --git a/app/src/main/java/com/example/abe/ui/login/LoginActivity.kt b/app/src/main/java/com/example/abe/ui/login/LoginActivity.kt index e8869b740bac22c18b48d1915e2bfe56fe0819c0..1180d452d053d713a5baf3fd55699bb9d3064b07 100644 --- a/app/src/main/java/com/example/abe/ui/login/LoginActivity.kt +++ b/app/src/main/java/com/example/abe/ui/login/LoginActivity.kt @@ -16,9 +16,10 @@ import com.example.abe.connection.NetworkConnectivityObserver import com.example.abe.data.local.PreferenceDataStoreConstants.TOKEN import com.example.abe.data.local.PreferenceDataStoreConstants.USER import com.example.abe.data.local.PreferenceDataStoreHelper -import com.example.abe.data.network.LoginResultCallback -import com.example.abe.data.network.Retrofit +import com.example.abe.api.LoginResultCallback +import com.example.abe.api.Retrofit import com.example.abe.databinding.ActivityLoginBinding +import com.example.abe.api.LoginResponse import com.example.abe.utils.isConnected import com.google.android.material.textfield.TextInputLayout import kotlinx.coroutines.flow.launchIn @@ -45,7 +46,7 @@ class LoginActivity : AppCompatActivity(), LoginResultCallback { private lateinit var preferenceDataStoreHelper: PreferenceDataStoreHelper - override fun onSuccess(loginResponse: com.example.abe.data.network.LoginResponse) { + override fun onSuccess(loginResponse: LoginResponse) { println("Login successful: $loginResponse") lifecycleScope.launch { diff --git a/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt b/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt index 7988086650124b35ef44585061d22ff331e78b83..2378b8d5ec9b29d7af133755772842f40c3b3596 100644 --- a/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt +++ b/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt @@ -40,9 +40,9 @@ import com.example.abe.ABEApplication import com.example.abe.MainActivity import com.example.abe.R import com.example.abe.data.local.PreferenceDataStoreConstants -import com.example.abe.data.network.ItemsRoot -import com.example.abe.data.network.Retrofit -import com.example.abe.data.network.UploadResultCallback +import com.example.abe.api.ItemsRoot +import com.example.abe.api.Retrofit +import com.example.abe.api.UploadResultCallback import com.example.abe.databinding.FragmentScanBinding import com.example.abe.utils.isConnected import com.google.android.gms.location.FusedLocationProviderClient diff --git a/app/src/main/java/com/example/abe/ui/scanner/ScannerViewModel.kt b/app/src/main/java/com/example/abe/ui/scanner/ScannerViewModel.kt index 5cfd8170db1d62a93d9160da905d379aa34d244a..1d2056fd2c84412610b7c0bb5303cf353ef03e70 100644 --- a/app/src/main/java/com/example/abe/ui/scanner/ScannerViewModel.kt +++ b/app/src/main/java/com/example/abe/ui/scanner/ScannerViewModel.kt @@ -1,13 +1,13 @@ package com.example.abe.ui.scanner import androidx.lifecycle.ViewModel -import com.example.abe.data.TransactionRepository +import com.example.abe.data.db.TransactionRepository import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import kotlinx.coroutines.launch import kotlinx.coroutines.Dispatchers -import com.example.abe.data.Transaction -import com.example.abe.data.network.TransactionItem +import com.example.abe.data.db.Transaction +import com.example.abe.api.TransactionItem import java.util.Date class ScannerViewModel(private val transactionRepository: TransactionRepository): diff --git a/app/src/main/java/com/example/abe/ui/transactions/TransactionViewModel.kt b/app/src/main/java/com/example/abe/ui/transactions/TransactionViewModel.kt index 0439e20100b49ae6e598e593a6a9fbc42d42ccf4..ef727f55c56e011e239da7021465a42bfe6d6be3 100644 --- a/app/src/main/java/com/example/abe/ui/transactions/TransactionViewModel.kt +++ b/app/src/main/java/com/example/abe/ui/transactions/TransactionViewModel.kt @@ -3,8 +3,8 @@ package com.example.abe.ui.transactions import androidx.lifecycle.LiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider -import com.example.abe.data.Transaction -import com.example.abe.data.TransactionRepository +import com.example.abe.data.db.Transaction +import com.example.abe.data.db.TransactionRepository class TransactionViewModel(private val transactionRepository: TransactionRepository) : ViewModel() { diff --git a/app/src/main/java/com/example/abe/ui/transactions/TransactionsAdapter.kt b/app/src/main/java/com/example/abe/ui/transactions/TransactionsAdapter.kt index da0124b12db5ec09ad008dd4b908c56a8136bd0a..6acf6fc8619d631b94a12d5a1a256d946d77a2d7 100644 --- a/app/src/main/java/com/example/abe/ui/transactions/TransactionsAdapter.kt +++ b/app/src/main/java/com/example/abe/ui/transactions/TransactionsAdapter.kt @@ -11,7 +11,7 @@ import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView import com.example.abe.R -import com.example.abe.data.Transaction +import com.example.abe.data.db.Transaction import com.example.abe.domain.FormatCurrencyUseCase import java.text.SimpleDateFormat import java.util.Locale