diff --git a/app/src/main/java/pbd/tubes/exe_android/MainActivity.kt b/app/src/main/java/pbd/tubes/exe_android/MainActivity.kt index 7a0d461d0d3246d5563c7fa2ae735a2e8ffc9660..f6aaa2cbd5c9ed7742969231765c178986a515d6 100644 --- a/app/src/main/java/pbd/tubes/exe_android/MainActivity.kt +++ b/app/src/main/java/pbd/tubes/exe_android/MainActivity.kt @@ -1,6 +1,11 @@ package pbd.tubes.exe_android +import android.content.Context +import android.content.Intent +import android.net.ConnectivityManager +import android.net.NetworkCapabilities import android.os.Bundle +import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity import androidx.navigation.findNavController import androidx.navigation.ui.AppBarConfiguration @@ -8,11 +13,6 @@ import androidx.navigation.ui.setupActionBarWithNavController import androidx.navigation.ui.setupWithNavController import com.google.android.material.bottomnavigation.BottomNavigationView import pbd.tubes.exe_android.databinding.ActivityMainBinding -import android.content.Intent -import android.content.Context -import android.net.ConnectivityManager -import androidx.appcompat.app.AlertDialog -import android.net.NetworkCapabilities class MainActivity : AppCompatActivity() { diff --git a/app/src/main/java/pbd/tubes/exe_android/data/AppContainer.kt b/app/src/main/java/pbd/tubes/exe_android/data/AppContainer.kt index 52f38b5388df29c9f5217a2a94462d35720d1913..473b6e983048d9318a817e340c03c4972088ee95 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/AppContainer.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/AppContainer.kt @@ -1,6 +1,9 @@ package pbd.tubes.exe_android.data import android.content.Context +import pbd.tubes.exe_android.data.database.OfflineTransactionsRepository +import pbd.tubes.exe_android.data.database.TransactionDatabase +import pbd.tubes.exe_android.data.database.TransactionsRepository /** * App container for Dependency injection. diff --git a/app/src/main/java/pbd/tubes/exe_android/data/OfflineTransactionsRepository.kt b/app/src/main/java/pbd/tubes/exe_android/data/database/OfflineTransactionsRepository.kt similarity index 89% rename from app/src/main/java/pbd/tubes/exe_android/data/OfflineTransactionsRepository.kt rename to app/src/main/java/pbd/tubes/exe_android/data/database/OfflineTransactionsRepository.kt index 272874df5896286caf4725a2b3ee06a1b32154c5..2d4486a1baec16d5e43bbc359f33e42280abe64c 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/OfflineTransactionsRepository.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/database/OfflineTransactionsRepository.kt @@ -1,11 +1,12 @@ -package pbd.tubes.exe_android.data +package pbd.tubes.exe_android.data.database import kotlinx.coroutines.flow.Flow -import pbd.tubes.exe_android.data.helper.CategoryNominal +import pbd.tubes.exe_android.data.database.helper.CategoryNominal import pbd.tubes.exe_android.models.Transaction import java.time.LocalDate -class OfflineTransactionsRepository (private val transactionDao: TransactionDao) : TransactionsRepository{ +class OfflineTransactionsRepository (private val transactionDao: TransactionDao) : + TransactionsRepository { override fun getAllTransactionsStream(): Flow<List<Transaction>> = transactionDao.getAllTransactions() override fun getTransactionStream(id: Int): Flow<Transaction?> = transactionDao.getTransaction(id) diff --git a/app/src/main/java/pbd/tubes/exe_android/data/TransactionDao.kt b/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDao.kt similarity index 92% rename from app/src/main/java/pbd/tubes/exe_android/data/TransactionDao.kt rename to app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDao.kt index f227998644870240280be2c0521e76dd5706dd1f..913f95907dbd94d499cbb572d2096b6e6cb52a4e 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/TransactionDao.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDao.kt @@ -1,4 +1,4 @@ -package pbd.tubes.exe_android.data +package pbd.tubes.exe_android.data.database import androidx.room.Dao import androidx.room.Delete import androidx.room.Insert @@ -6,7 +6,7 @@ import androidx.room.OnConflictStrategy import androidx.room.Query import androidx.room.Update import kotlinx.coroutines.flow.Flow -import pbd.tubes.exe_android.data.helper.CategoryNominal +import pbd.tubes.exe_android.data.database.helper.CategoryNominal import pbd.tubes.exe_android.models.Transaction import java.time.LocalDate diff --git a/app/src/main/java/pbd/tubes/exe_android/data/TransactionDatabase.kt b/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDatabase.kt similarity index 89% rename from app/src/main/java/pbd/tubes/exe_android/data/TransactionDatabase.kt rename to app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDatabase.kt index 132684463cae4aec129f2944ad82a349d027f419..bd64dac2390a91a0c9a05e2cf26d06586a805182 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/TransactionDatabase.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDatabase.kt @@ -1,11 +1,11 @@ -package pbd.tubes.exe_android.data +package pbd.tubes.exe_android.data.database import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase import androidx.room.TypeConverters -import pbd.tubes.exe_android.data.helper.DateConverter +import pbd.tubes.exe_android.data.database.helper.DateConverter import pbd.tubes.exe_android.models.Transaction @Database(entities = [Transaction::class], version = 3, exportSchema = false) diff --git a/app/src/main/java/pbd/tubes/exe_android/data/TransactionsRepository.kt b/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionsRepository.kt similarity index 92% rename from app/src/main/java/pbd/tubes/exe_android/data/TransactionsRepository.kt rename to app/src/main/java/pbd/tubes/exe_android/data/database/TransactionsRepository.kt index f6968584d53266e23d9596e8924439dc1df4c742..47e457eeef1883e428be147bb5b82c5d5e50fe94 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/TransactionsRepository.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionsRepository.kt @@ -1,6 +1,6 @@ -package pbd.tubes.exe_android.data +package pbd.tubes.exe_android.data.database import kotlinx.coroutines.flow.Flow -import pbd.tubes.exe_android.data.helper.CategoryNominal +import pbd.tubes.exe_android.data.database.helper.CategoryNominal import pbd.tubes.exe_android.models.Transaction import java.time.LocalDate diff --git a/app/src/main/java/pbd/tubes/exe_android/data/helper/CategoryNominal.kt b/app/src/main/java/pbd/tubes/exe_android/data/database/helper/CategoryNominal.kt similarity index 91% rename from app/src/main/java/pbd/tubes/exe_android/data/helper/CategoryNominal.kt rename to app/src/main/java/pbd/tubes/exe_android/data/database/helper/CategoryNominal.kt index aac248e6fd2b48a032187983685a88c782295f9d..234cda4c913275e1db245e979ce8225794cadc4b 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/helper/CategoryNominal.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/database/helper/CategoryNominal.kt @@ -1,4 +1,4 @@ -package pbd.tubes.exe_android.data.helper +package pbd.tubes.exe_android.data.database.helper import androidx.room.ColumnInfo import pbd.tubes.exe_android.models.TransactionCategory diff --git a/app/src/main/java/pbd/tubes/exe_android/data/helper/DateConverter.kt b/app/src/main/java/pbd/tubes/exe_android/data/database/helper/DateConverter.kt similarity index 85% rename from app/src/main/java/pbd/tubes/exe_android/data/helper/DateConverter.kt rename to app/src/main/java/pbd/tubes/exe_android/data/database/helper/DateConverter.kt index 38f6b91a352c913ff1466b6a2df14a8232877429..786b48c46c4443070574b694fe39c790ae099846 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/helper/DateConverter.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/database/helper/DateConverter.kt @@ -1,4 +1,4 @@ -package pbd.tubes.exe_android.data.helper +package pbd.tubes.exe_android.data.database.helper import androidx.room.TypeConverter import java.time.LocalDate diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/login/ApiService.kt b/app/src/main/java/pbd/tubes/exe_android/data/login/ApiService.kt similarity index 61% rename from app/src/main/java/pbd/tubes/exe_android/ui/login/ApiService.kt rename to app/src/main/java/pbd/tubes/exe_android/data/login/ApiService.kt index 730f806242a6e6617ad0ece4b993964e316ad0d8..e4ca82940da2e2ce8b8fa2589b110c7bb82bdde1 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/login/ApiService.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/login/ApiService.kt @@ -1,7 +1,5 @@ -package pbd.tubes.exe_android.ui.login +package pbd.tubes.exe_android.data.login -import pbd.tubes.exe_android.data.LoginRequest -import pbd.tubes.exe_android.data.LoginResponse import retrofit2.Response import retrofit2.http.Body import retrofit2.http.POST diff --git a/app/src/main/java/pbd/tubes/exe_android/data/LoginRequest.kt b/app/src/main/java/pbd/tubes/exe_android/data/login/LoginRequest.kt similarity index 64% rename from app/src/main/java/pbd/tubes/exe_android/data/LoginRequest.kt rename to app/src/main/java/pbd/tubes/exe_android/data/login/LoginRequest.kt index b6f66864a80ad21da0da288b28890175bdcb5b4b..2105e28f485eb73753ad84e4008b4f057a663577 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/LoginRequest.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/login/LoginRequest.kt @@ -1,4 +1,4 @@ -package pbd.tubes.exe_android.data +package pbd.tubes.exe_android.data.login data class LoginRequest( val email: String, diff --git a/app/src/main/java/pbd/tubes/exe_android/data/LoginResponse.kt b/app/src/main/java/pbd/tubes/exe_android/data/login/LoginResponse.kt similarity index 55% rename from app/src/main/java/pbd/tubes/exe_android/data/LoginResponse.kt rename to app/src/main/java/pbd/tubes/exe_android/data/login/LoginResponse.kt index 0fd9b69cc93b789836c042ae1ceaa7d80560df70..3affb820696e3d56924abefd356e610681030382 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/LoginResponse.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/login/LoginResponse.kt @@ -1,4 +1,4 @@ -package pbd.tubes.exe_android.data +package pbd.tubes.exe_android.data.login data class LoginResponse( val token: String diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/chart/ChartViewModel.kt b/app/src/main/java/pbd/tubes/exe_android/ui/chart/ChartViewModel.kt index 99efc6e46e557afc841e5b083a9a104b712bfa4e..34cd601cd5a9c2357bf221b48dc01af41258d410 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/chart/ChartViewModel.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/chart/ChartViewModel.kt @@ -10,8 +10,8 @@ import com.github.mikephil.charting.data.PieEntry import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch import pbd.tubes.exe_android.BondomanApp -import pbd.tubes.exe_android.data.TransactionsRepository -import pbd.tubes.exe_android.data.helper.toCategoryNominalMap +import pbd.tubes.exe_android.data.database.TransactionsRepository +import pbd.tubes.exe_android.data.database.helper.toCategoryNominalMap import pbd.tubes.exe_android.models.TransactionCategory import java.util.EnumMap diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/login/LoginActivity.kt b/app/src/main/java/pbd/tubes/exe_android/ui/login/LoginActivity.kt index 3410a88eb78ff9dc7715dd46d03d98e2ef505ce5..c8558048eb0552956600b2fce42844561639377a 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/login/LoginActivity.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/login/LoginActivity.kt @@ -2,17 +2,17 @@ package pbd.tubes.exe_android import android.content.Intent import android.os.Bundle +import android.util.Log +import android.widget.Button +import android.widget.EditText import androidx.appcompat.app.AppCompatActivity import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import pbd.tubes.exe_android.data.login.ApiService +import pbd.tubes.exe_android.data.login.LoginRequest import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory -import android.widget.Button -import android.widget.EditText -import android.util.Log -import pbd.tubes.exe_android.ui.login.ApiService -import pbd.tubes.exe_android.data.LoginRequest class LoginActivity : AppCompatActivity() { diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/scan/ScanFragment.kt b/app/src/main/java/pbd/tubes/exe_android/ui/scan/ScanFragment.kt index 0657b766d8f81a8b609cf05f05a8a8a1fb4247e8..5f0ca01c0d6607af9a1a220a0bc7eba78397187e 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/scan/ScanFragment.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/scan/ScanFragment.kt @@ -7,9 +7,7 @@ import android.view.ViewGroup import android.widget.TextView import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels -import androidx.lifecycle.ViewModelProvider import pbd.tubes.exe_android.databinding.FragmentScanBinding -import pbd.tubes.exe_android.ui.transactions.TransactionsViewModel class ScanFragment : Fragment() { diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsFragment.kt b/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsFragment.kt index a8f2b386a6a4135f6cad256b897d02ebf511a6de..cb98dc51ad9aa560b5e1df679054a400eefb9ee3 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsFragment.kt @@ -1,18 +1,18 @@ package pbd.tubes.exe_android.ui.settings +import android.content.Context.MODE_PRIVATE +import android.content.Intent import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Button import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels +import pbd.tubes.exe_android.LoginActivity import pbd.tubes.exe_android.R import pbd.tubes.exe_android.databinding.FragmentSettingsBinding -import android.content.Context.MODE_PRIVATE -import android.content.Intent -import pbd.tubes.exe_android.LoginActivity -import android.widget.Button class SettingsFragment : Fragment() { diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsViewModel.kt b/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsViewModel.kt index 2524cc63a0f746c39e5e14983b44097cca2f32a7..6c6332ebece989cdc3fbafd404d8db0f80ea2b61 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsViewModel.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsViewModel.kt @@ -13,7 +13,7 @@ import org.apache.poi.ss.usermodel.FillPatternType import org.apache.poi.ss.usermodel.IndexedColors import org.apache.poi.xssf.usermodel.XSSFWorkbook import pbd.tubes.exe_android.BondomanApp -import pbd.tubes.exe_android.data.TransactionsRepository +import pbd.tubes.exe_android.data.database.TransactionsRepository import pbd.tubes.exe_android.models.Transaction import kotlin.io.path.createTempFile import kotlin.io.path.outputStream diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/AddTransactionFragment.kt b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/AddTransactionFragment.kt index 6c2fd45c703f009a6922f44fb5c0ae624975de6d..ee4936c40ddd9861ac356b0a28d0ea5b5f0f42b0 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/AddTransactionFragment.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/AddTransactionFragment.kt @@ -13,8 +13,8 @@ import androidx.navigation.fragment.findNavController import com.google.android.material.textfield.TextInputLayout import kotlinx.coroutines.launch import pbd.tubes.exe_android.R -import pbd.tubes.exe_android.models.TransactionCategory import pbd.tubes.exe_android.databinding.FragmentAddTransactionBinding +import pbd.tubes.exe_android.models.TransactionCategory class AddTransactionFragment : Fragment() { private var _binding: FragmentAddTransactionBinding? = null diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/AddTransactionViewModel.kt b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/AddTransactionViewModel.kt index d2b9a974a8385e03878b53edc70e40c41b0bba35..94bd2b564c6af569f05c8e9fb9a55080d9f72f20 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/AddTransactionViewModel.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/AddTransactionViewModel.kt @@ -8,9 +8,9 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.APPLICATION_KEY import androidx.lifecycle.viewmodel.CreationExtras import pbd.tubes.exe_android.BondomanApp +import pbd.tubes.exe_android.data.database.TransactionsRepository import pbd.tubes.exe_android.models.Transaction import pbd.tubes.exe_android.models.TransactionCategory -import pbd.tubes.exe_android.data.TransactionsRepository import java.time.LocalDate import java.time.ZoneId diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/EditTransactionFragment.kt b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/EditTransactionFragment.kt index 1ae314b0e06521aa5169bab88ddc53c91382bca0..205a94fb2b0ae1421626f652598ce9139b329560 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/EditTransactionFragment.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/EditTransactionFragment.kt @@ -6,8 +6,8 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels -import pbd.tubes.exe_android.models.Transaction import pbd.tubes.exe_android.databinding.FragmentEditTransactionBinding +import pbd.tubes.exe_android.models.Transaction class EditTransactionFragment(transaction: Transaction) : Fragment() { private var _binding : FragmentEditTransactionBinding? = null diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/EditTransactionViewModel.kt b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/EditTransactionViewModel.kt index 0301aca1e62947e2be9cdab0b4e469057a5f21a2..3a06cf028826271f68802edd3319a670e220950b 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/EditTransactionViewModel.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/EditTransactionViewModel.kt @@ -4,8 +4,8 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewmodel.CreationExtras import pbd.tubes.exe_android.BondomanApp +import pbd.tubes.exe_android.data.database.TransactionsRepository import pbd.tubes.exe_android.models.Transaction -import pbd.tubes.exe_android.data.TransactionsRepository class EditTransactionViewModel( private val transactionsRepository: TransactionsRepository, diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/TransactionsFragment.kt b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/TransactionsFragment.kt index a7e17c752e67ee983bf8dc4fb121e400a4fb3cf0..a91d3970ee4be770a5245721da80552d79788b0d 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/TransactionsFragment.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/TransactionsFragment.kt @@ -5,10 +5,8 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.core.os.bundleOf import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels -import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import pbd.tubes.exe_android.databinding.FragmentTransactionsBinding diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/TransactionsViewModel.kt b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/TransactionsViewModel.kt index 22bdb41a98cbc6c5f407b3f2f491f68386840302..2d802c9da394c3904b75dde1abb4f5cd9908d3f9 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/transactions/TransactionsViewModel.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/transactions/TransactionsViewModel.kt @@ -9,8 +9,8 @@ import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.CreationExtras import kotlinx.coroutines.launch import pbd.tubes.exe_android.BondomanApp +import pbd.tubes.exe_android.data.database.TransactionsRepository import pbd.tubes.exe_android.models.Transaction -import pbd.tubes.exe_android.data.TransactionsRepository class TransactionsViewModel(private val transactionsRepository: TransactionsRepository) : ViewModel() { var transactionList: LiveData<List<Transaction>>? = null