From 7c4c3d6b9544f5a65cd76252dd2a44a69da68f15 Mon Sep 17 00:00:00 2001
From: yansans <66671259+yansans@users.noreply.github.com>
Date: Sat, 30 Mar 2024 16:18:21 +0700
Subject: [PATCH] feat: setting fragment button and toast

---
 .../bondoyap/ui/login/LoginActivity.kt        |  6 ++-
 .../bondoyap/ui/settings/SettingsFragment.kt  | 24 ++++++++++-
 app/src/main/res/layout/fragment_settings.xml | 42 ++++++++++++++++---
 app/src/main/res/values/colors.xml            |  1 +
 app/src/main/res/values/strings.xml           | 15 ++++---
 5 files changed, 76 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/com/example/bondoyap/ui/login/LoginActivity.kt b/app/src/main/java/com/example/bondoyap/ui/login/LoginActivity.kt
index 878b901..dc379ed 100644
--- a/app/src/main/java/com/example/bondoyap/ui/login/LoginActivity.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/login/LoginActivity.kt
@@ -31,6 +31,8 @@ class LoginActivity : AppCompatActivity() {
 
         sharedPreferences = getSharedPreferences(SHARED_PREFS_NAME, Context.MODE_PRIVATE)
 
+
+
         if (isLoggedIn()) {
             navigateToMainActivity()
             finish()
@@ -46,6 +48,8 @@ class LoginActivity : AppCompatActivity() {
             val factory = LoginViewModelFactory(this)
             loginViewModel = ViewModelProvider(this, factory)[LoginViewModel::class.java]
 
+            // skip login
+
             loginViewModel.loginFormState.observe(this@LoginActivity, Observer {
                 val loginState = it ?: return@Observer
 
@@ -117,7 +121,7 @@ class LoginActivity : AppCompatActivity() {
         Toast.makeText(
             applicationContext,
             welcome,
-            Toast.LENGTH_LONG
+            Toast.LENGTH_SHORT
         ).show()
         navigateToMainActivity()
     }
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 01acfc9..8018684 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
@@ -5,6 +5,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
 import com.example.bondoyap.databinding.FragmentSettingsBinding
@@ -35,11 +36,15 @@ class SettingsFragment : Fragment() {
         }
         val textView = binding.textSettings
         val logoutButton = binding.logoutButton
+        val randomButton = binding.randomTransactions
+        val saveButton = binding.saveTransactions
+        val sendButton = binding.sendTransactions
 
         settingsViewModel.getUser()?.let { user ->
-            val loggedInUserText = "Logged in as: ${user.email}"
+            val loggedInUserText = "Masuk dengan akun:\n ${user.email}"
             textView.text = loggedInUserText
         }
+        val appContext = context?.applicationContext
 
         logoutButton.setOnClickListener {
             settingsViewModel.getUser()
@@ -48,9 +53,26 @@ class SettingsFragment : Fragment() {
 
             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 {
+            Toast.makeText(appContext, "Membuat transaksi random ...", Toast.LENGTH_SHORT).show()
+            //todo
+        }
+
+        saveButton.setOnClickListener{
+            Toast.makeText(appContext, "Menyimpan transaksi...", Toast.LENGTH_SHORT).show()
+            //todo
+        }
+
+        sendButton.setOnClickListener{
+            Toast.makeText(appContext, "Mengirimkan transaksi ...", Toast.LENGTH_SHORT).show()
+            //todo
+        }
+
     }
 
     override fun onDestroyView() {
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index 7a8d941..9689b01 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -15,19 +15,51 @@
         android:layout_marginEnd="8dp"
         android:textAlignment="center"
         android:textSize="20sp"
-        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"/>
+
+    <Button
+        android:id="@+id/random_transactions"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/random_transactions"
+        app:layout_constraintTop_toBottomOf="@+id/text_settings"
+        app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
+        android:layout_marginTop="16dp"
+        />
+
+    <Button
+        android:id="@+id/save_transactions"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/save_transactions"
+        app:layout_constraintTop_toBottomOf="@+id/random_transactions"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        app:layout_constraintEnd_toEndOf="parent"
+        android:layout_marginTop="16dp"
+        />
+
+    <Button
+        android:id="@+id/send_transactions"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/send_transactions"
+        app:layout_constraintTop_toBottomOf="@+id/save_transactions"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        android:layout_marginTop="16dp"
+        />
 
     <Button
         android:id="@+id/logout_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/logout"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/send_transactions"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/text_settings" />
+        app:layout_constraintEnd_toEndOf="parent"
+        android:layout_marginTop="16dp"/>
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index f8c6127..4ee6d8f 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -7,4 +7,5 @@
     <color name="teal_700">#FF018786</color>
     <color name="black">#FF000000</color>
     <color name="white">#FFFFFFFF</color>
+    <color name="red">#FF0000</color>
 </resources>
\ 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 e7666cd..09b8661 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -4,16 +4,21 @@
     <string name="title_scanner">Scanner</string>
     <string name="title_graph">Graph</string>
     <string name="title_settings">Pengaturan</string>
-    <!-- Strings related to login -->
+
     <string name="title_login">Login</string>
     <string name="prompt_email">Email</string>
     <string name="prompt_password">Password</string>
     <string name="action_sign_in">Sign in</string>
     <string name="action_sign_in_short">Sign in</string>
-    <string name="welcome">"Welcome!"</string>
-    <string name="invalid_username">Not a valid email</string>
-    <string name="invalid_password">Password must not empty</string>
-    <string name="login_failed">"Login failed"</string>
+    <string name="welcome">"Selamat Datang!"</string>
+    <string name="logged_in">Masuk dengan akun:</string>
+    <string name="invalid_username">Bukan email yang valid</string>
+    <string name="invalid_password">Password tidak boleh kosong</string>
+    <string name="login_failed">"Login gagal"</string>
     <string name="logout">Logout</string>
     <string name="title_activity_login">Login</string>
+    
+    <string name="random_transactions">Membuat transaksi random</string>
+    <string name="save_transactions">Simpan daftar transaksi</string>
+    <string name="send_transactions">Kirim daftar transaksi</string>
 </resources>
\ No newline at end of file
-- 
GitLab