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