From b8ef1610e467763c506b09a3ea29523f2a6e9e54 Mon Sep 17 00:00:00 2001
From: Christophorus Dharma Winata <13521009@std.stei.itb.ac.id>
Date: Wed, 3 Apr 2024 17:49:52 +0700
Subject: [PATCH] feat: toast feedbacks fix: transaction order fix: fab color

---
 .../exe_android/data/database/TransactionDao.kt     |  2 +-
 .../pbd/tubes/exe_android/ui/login/LoginActivity.kt |  7 +++++++
 .../pbd/tubes/exe_android/ui/scan/ScanFragment.kt   | 13 +++++++------
 .../ui/transactions/AddTransactionFragment.kt       | 10 +++++++---
 .../ui/transactions/TransactionsFragment.kt         |  4 ++++
 app/src/main/res/layout-land/activity_main.xml      |  1 +
 6 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDao.kt b/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDao.kt
index 913f959..3f0de38 100644
--- a/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDao.kt
+++ b/app/src/main/java/pbd/tubes/exe_android/data/database/TransactionDao.kt
@@ -27,7 +27,7 @@ interface TransactionDao {
     @Query("SELECT * from transactions")
     fun getAllTransactions(): Flow<List<Transaction>>
 
-    @Query("SELECT * from transactions ORDER BY date DESC")
+    @Query("SELECT * from transactions ORDER BY id DESC")
     fun getAllTransactionsByRecent(): Flow<List<Transaction>>
 
     @Query("SELECT * from transactions WHERE date = :date")
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 c6584b1..d92719f 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
@@ -5,6 +5,7 @@ import android.os.Bundle
 import android.util.Log
 import android.widget.Button
 import android.widget.EditText
+import android.widget.Toast
 import androidx.appcompat.app.AppCompatActivity
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
@@ -57,7 +58,13 @@ class LoginActivity : AppCompatActivity() {
                         startActivity(Intent(this@LoginActivity, MainActivity::class.java))
                         finish()
                     }
+                    Toast.makeText(baseContext,
+                        "Log In Success!",
+                        Toast.LENGTH_SHORT).show()
                 } else {
+                    Toast.makeText(baseContext,
+                        "Log In Failed!",
+                        Toast.LENGTH_SHORT).show()
                     Log.d("MyApp", "Failed login (error response)")
                 }
             } catch (e: Exception) {
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 e0bb55e..f6d02c7 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
@@ -159,11 +159,7 @@ class ScanFragment : Fragment() {
         ContextCompat.checkSelfPermission(
             requireContext(), it) == PackageManager.PERMISSION_GRANTED
     }
-    override fun onDestroyView() {
-        super.onDestroyView()
-        _binding = null
-        cameraExecutor.shutdown()
-    }
+
     private val activityResultLauncher =
         registerForActivityResult(
             ActivityResultContracts.RequestMultiplePermissions())
@@ -208,9 +204,14 @@ class ScanFragment : Fragment() {
         private const val FILENAME_FORMAT = "yyyy-MM-dd-HH-mm-ss-SSS"
         private val REQUIRED_PERMISSIONS =
             mutableListOf (
-                "CAMERA"
+                "CAMERA" // FIXME(this should state list of permissions, not strings)
             ).apply {
                 add("WRITE_EXTERNAL_STORAGE")
             }.toTypedArray()
     }
+    override fun onDestroyView() {
+        super.onDestroyView()
+        _binding = null
+        cameraExecutor.shutdown()
+    }
 }
\ No newline at end of file
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 ee4936c..62fc655 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
@@ -6,6 +6,7 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.RadioButton
+import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.lifecycleScope
@@ -109,8 +110,14 @@ class AddTransactionFragment : Fragment() {
                         chooseCategory()!!,
                         transactionLocation.editText!!.text.toString(),
                     )
+                    Toast.makeText(requireContext(),
+                        "Transaction ${transactionName.editText!!.text} is added",
+                        Toast.LENGTH_SHORT).show()
                     findNavController().navigate(R.id.navigation_transactions)
                 } catch (e : NullPointerException) {
+                    Toast.makeText(requireContext(),
+                        "Error! $e",
+                        Toast.LENGTH_SHORT).show()
                     Log.e("NULL", "Input has null")
                 }
             }
@@ -118,9 +125,6 @@ class AddTransactionFragment : Fragment() {
 
         return root
     }
-
-
-
     override fun onDestroyView() {
         super.onDestroyView()
         _binding = null
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 7d39319..3424269 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,6 +5,7 @@ import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import androidx.recyclerview.widget.LinearLayoutManager
@@ -40,6 +41,9 @@ class TransactionsFragment : Fragment() {
             onDeleteClickListener = {
                 Log.d("MyApp", "Delete button is clicked")
                 viewModel.deleteItem(it)
+                Toast.makeText(requireContext(),
+                    "Transaction ${it.name} has been deleted",
+                    Toast.LENGTH_SHORT).show()
             },
             onEditClickListener = {
                 Log.d("MyApp", "Edit button is clicked")
diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml
index c3f3f22..7c8cd7b 100644
--- a/app/src/main/res/layout-land/activity_main.xml
+++ b/app/src/main/res/layout-land/activity_main.xml
@@ -30,6 +30,7 @@
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         android:layout_gravity="bottom|end"
+        android:backgroundTint="@color/design_default_color_primary"
         />
 
     <fragment
-- 
GitLab