Skip to content
Snippets Groups Projects
Commit a1cd1c85 authored by auliamey's avatar auliamey
Browse files

fix: piechart

parent 70777d80
1 merge request!15Feat/transaction
...@@ -91,6 +91,8 @@ dependencies { ...@@ -91,6 +91,8 @@ dependencies {
api("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutine") api("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutine")
api("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutine") api("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutine")
implementation("com.github.PhilJay:MPAndroidChart:v3.1.0")
// UI // UI
implementation("androidx.constraintlayout:constraintlayout:$rootProject.constraintLayoutVersion") implementation("androidx.constraintlayout:constraintlayout:$rootProject.constraintLayoutVersion")
implementation("com.google.android.material:material:$rootProject.materialVersion") implementation("com.google.android.material:material:$rootProject.materialVersion")
...@@ -118,8 +120,6 @@ dependencies { ...@@ -118,8 +120,6 @@ dependencies {
implementation("com.google.android.gms:play-services-maps:18.2.0") implementation("com.google.android.gms:play-services-maps:18.2.0")
//okHttp //okHttp
implementation("com.squareup.okhttp3:okhttp:4.12.0") implementation("com.squareup.okhttp3:okhttp:4.12.0")
implementation ("com.squareup.moshi:moshi:1.12.0") implementation ("com.squareup.moshi:moshi:1.12.0")
......
...@@ -23,6 +23,7 @@ import androidx.navigation.ui.setupActionBarWithNavController ...@@ -23,6 +23,7 @@ import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController import androidx.navigation.ui.setupWithNavController
import com.example.pbd_jwr.backgroundService.JWTValidationService import com.example.pbd_jwr.backgroundService.JWTValidationService
import com.example.pbd_jwr.data.entity.Transaction import com.example.pbd_jwr.data.entity.Transaction
import com.example.pbd_jwr.data.model.Category
import com.example.pbd_jwr.databinding.ActivityMainBinding import com.example.pbd_jwr.databinding.ActivityMainBinding
import com.example.pbd_jwr.encryptedSharedPref.EncryptedSharedPref import com.example.pbd_jwr.encryptedSharedPref.EncryptedSharedPref
import com.example.pbd_jwr.network.NetworkCallbackImplementation import com.example.pbd_jwr.network.NetworkCallbackImplementation
...@@ -192,6 +193,10 @@ class MainActivity : AppCompatActivity() { ...@@ -192,6 +193,10 @@ class MainActivity : AppCompatActivity() {
private val startScanActivityForResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> private val startScanActivityForResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) { if (result.resultCode == Activity.RESULT_OK) {
sharedPreferences = EncryptedSharedPref.create(applicationContext, "login")
val currentUserEmail = sharedPreferences.getString("email", "") ?: ""
val data = result.data val data = result.data
val transactionDummyData = data?.getStringExtra("transactionDummyData") val transactionDummyData = data?.getStringExtra("transactionDummyData")
...@@ -203,7 +208,7 @@ class MainActivity : AppCompatActivity() { ...@@ -203,7 +208,7 @@ class MainActivity : AppCompatActivity() {
for (i in 0 until itemsArray.length()) { for (i in 0 until itemsArray.length()) {
val itemObject = itemsArray.getJSONObject(i) val itemObject = itemsArray.getJSONObject(i)
val name = itemObject.getString("name") val name = itemObject.getString("name")
val category = "expense" val category = Category.EXPENSE
val price = itemObject.getDouble("price") val price = itemObject.getDouble("price")
val qty = itemObject.getInt("qty") val qty = itemObject.getInt("qty")
val amount = (qty * price * 1000).roundToInt() / 1000.0 val amount = (qty * price * 1000).roundToInt() / 1000.0
...@@ -212,7 +217,7 @@ class MainActivity : AppCompatActivity() { ...@@ -212,7 +217,7 @@ class MainActivity : AppCompatActivity() {
val location = "Latitude: $latitude, Longitude: $longitude" val location = "Latitude: $latitude, Longitude: $longitude"
val date = Date().time val date = Date().time
mTransactionViewModel.addTransaction(Transaction(userId = 1, title = name, category = category, amount = amount, location = location, date = date)) mTransactionViewModel.addTransaction(Transaction(email = currentUserEmail, title = name, category = category, amount = amount, latitude = latitude, longitude = longitude, date = date))
} }
......
...@@ -54,8 +54,12 @@ class DashboardFragment : Fragment() { ...@@ -54,8 +54,12 @@ class DashboardFragment : Fragment() {
val entries = ArrayList<PieEntry>() val entries = ArrayList<PieEntry>()
for ((category, total) in totalPerCategory) { for ((category, total) in totalPerCategory) {
entries.add(PieEntry(total.toFloat(), entries.add(
category.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.ROOT) else it.toString() })) PieEntry(
total.toFloat(),
category.name.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.ROOT) else it.toString() }
)
)
} }
val dataSet = PieDataSet(entries, "Categories") val dataSet = PieDataSet(entries, "Categories")
......
...@@ -38,10 +38,8 @@ class TransactionViewModel(application: Application) : AndroidViewModel(applicat ...@@ -38,10 +38,8 @@ class TransactionViewModel(application: Application) : AndroidViewModel(applicat
try { try {
repository.addTransaction(transaction) repository.addTransaction(transaction)
_transactionSubmitted.postValue(true) _transactionSubmitted.postValue(true)
println("lolos")
} catch (e: Exception) { } catch (e: Exception) {
_transactionSubmitted.postValue(false) _transactionSubmitted.postValue(false)
println("ga lolos")
} }
} }
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment