From d9a8acbd886d23731216c2eb07a7b3679f573d00 Mon Sep 17 00:00:00 2001 From: yansans <66671259+yansans@users.noreply.github.com> Date: Thu, 4 Apr 2024 14:37:16 +0700 Subject: [PATCH] refactor intent filter and style setting button --- app/src/main/AndroidManifest.xml | 3 -- .../bondoyap/ui/settings/SettingsFragment.kt | 43 +++++++++++++++---- app/src/main/res/layout/fragment_settings.xml | 16 ++++++- app/src/main/res/values/strings.xml | 7 ++- 4 files changed, 53 insertions(+), 16 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 04b7e73..da074f9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -38,9 +38,6 @@ android:name=".ui.transactions.TransactionsBroadcastReceiver" android:enabled="true" android:exported="false"> - <intent-filter> - <action android:name="com.BondoYap.transactions.randomize" /> - </intent-filter> </receiver> <activity diff --git a/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt b/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt index 4f41598..34f65dd 100644 --- a/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt @@ -62,6 +62,7 @@ class SettingsFragment : Fragment() { val randomButton = binding.randomTransactions val saveButton = binding.saveTransactions val sendButton = binding.sendTransactions + val resetButton = binding.resetButton settingsViewModel.getUser()?.let { user -> val loggedInUserText = "Masuk dengan akun:\n ${user.email}" @@ -70,15 +71,17 @@ class SettingsFragment : Fragment() { val appContext = context?.applicationContext logoutButton.setOnClickListener { - settingsViewModel.getUser() - settingsViewModel.logout() -// findNavController().navigate(R.id.navigation_login) - - val activity = requireActivity() - val intent = Intent(activity, LoginActivity::class.java) - Toast.makeText(appContext, "Logout Sukses!", Toast.LENGTH_SHORT).show() - activity.startActivity(intent) - activity.finish() + showConfirmationDialog("Logout", "Apakah Anda yakin logout dari aplikasi?") { + settingsViewModel.getUser() + settingsViewModel.logout() + + val activity = requireActivity() + val intent = Intent(activity, LoginActivity::class.java) + Toast.makeText(appContext, "Logout Sukses!", Toast.LENGTH_SHORT).show() + activity.startActivity(intent) + activity.finish() + } + } randomButton.setOnClickListener { @@ -124,6 +127,28 @@ class SettingsFragment : Fragment() { //todo } + resetButton.setOnClickListener{ + Toast.makeText(appContext, "Transaksi di-reset ...", Toast.LENGTH_SHORT).show() + showConfirmationDialog("Reset", "Apakah Anda yakin ingin me-reset data transaksi?") { + //todo + + } + } + + } + + private fun showConfirmationDialog(title: String, message: String, action: () -> Unit) { + val builder = AlertDialog.Builder(requireContext()) + builder.setTitle(title) + builder.setMessage(message) + builder.setPositiveButton("Ya") { _, _ -> + action.invoke() + } + builder.setNegativeButton("Tidak") { dialog, _ -> + dialog.dismiss() + } + val dialog = builder.create() + dialog.show() } companion object { diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 61209ef..ad6375e 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -54,14 +54,26 @@ android:layout_marginTop="16dp" /> + <Button + android:id="@+id/reset_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/reset" + app:layout_constraintTop_toBottomOf="@+id/send_transactions" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + android:layout_marginTop="16dp" + android:backgroundTint="@color/red"/> + <Button android:id="@+id/logout_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/logout" - app:layout_constraintTop_toBottomOf="@+id/send_transactions" + app:layout_constraintTop_toBottomOf="@+id/reset_button" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" - android:layout_marginTop="16dp"/> + android:layout_marginTop="16dp" + android:backgroundTint="@color/red"/> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 170df65..45465ed 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -36,12 +36,15 @@ <string name="hint_lokasi">Enter Lokasi</string> <string name="pemasukan">Pemasukan</string> <string name="pengeluaran">Pengeluaran</string> - - <string name="capture_button">capture</string> + + + <string name="capture_button">Capture</string> + <string name="retake_button">Retake</string> <string name="switch_camera_button">switch camera</string> <string name="gallery_button">gallery</string> <string name="upload_button">upload</string> <string name="cancel_button">cancel</string> <string name="save_button">save</string> + <string name="reset">Reset Transaksi</string> </resources> \ No newline at end of file -- GitLab