From 99b44d3f4968f538c7438fe30758d639ffdf8077 Mon Sep 17 00:00:00 2001 From: Joash Rajin Date: Thu, 23 Oct 2025 14:49:42 +0200 Subject: [PATCH] fixes a small UI issue Fixes the way the back button works on the password login page --- RELEASE-NOTES.txt | 2 +- .../authentication/NewCredentialsActivity.kt | 2 -- .../authentication/SignInFragment.kt | 21 +++++++++++++++++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index e2bfc3450..4e4ce4c4b 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,6 +1,6 @@ 2.38 ----- - +* Fixed back button navigation during manual login to return to the login screen instead of the home screen [#1751](https://github.com/Automattic/simplenote-android/issues/1751) 2.37 ----- diff --git a/Simplenote/src/main/java/com/automattic/simplenote/authentication/NewCredentialsActivity.kt b/Simplenote/src/main/java/com/automattic/simplenote/authentication/NewCredentialsActivity.kt index 36beab96d..01bb4d35f 100644 --- a/Simplenote/src/main/java/com/automattic/simplenote/authentication/NewCredentialsActivity.kt +++ b/Simplenote/src/main/java/com/automattic/simplenote/authentication/NewCredentialsActivity.kt @@ -93,8 +93,6 @@ open class NewCredentialsActivity : ThemedAppCompatActivity() { override fun onBackPressed() { super.onBackPressed() - this.startActivity(Intent(this, SimplenoteAuthenticationActivity::class.java)) - finish() } @SuppressLint("RestrictedApi") diff --git a/Simplenote/src/main/java/com/automattic/simplenote/authentication/SignInFragment.kt b/Simplenote/src/main/java/com/automattic/simplenote/authentication/SignInFragment.kt index d0072d96f..f1c9c76e4 100644 --- a/Simplenote/src/main/java/com/automattic/simplenote/authentication/SignInFragment.kt +++ b/Simplenote/src/main/java/com/automattic/simplenote/authentication/SignInFragment.kt @@ -44,6 +44,12 @@ class SignInFragment: MagicLinkableFragment() { private var authService: AuthorizationService? = null + private var manualLoginLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + if (result.resultCode == Activity.RESULT_OK) { + activity?.finish() + } + } + private var resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> val data = result.data @@ -118,7 +124,7 @@ class SignInFragment: MagicLinkableFragment() { } manualLoginTextView.setOnClickListener { val email = getEmailEditText() - showLoginWithPassword(activity, email?.text?.toString()) + launchManualLogin(email?.text?.toString()) } return view } @@ -133,7 +139,7 @@ class SignInFragment: MagicLinkableFragment() { hideDialogProgress() if (state.code == 429) { val email = getEmailEditText() - showLoginWithPassword(activity, email?.text?.toString()) + launchManualLogin(email?.text?.toString()) } Toast.makeText(context, getString(state.messageRes), Toast.LENGTH_LONG).show() } @@ -166,9 +172,20 @@ class SignInFragment: MagicLinkableFragment() { } } + private fun launchManualLogin(username: String?) { + val intent = Intent(requireActivity(), NewCredentialsActivity::class.java) + intent.putExtra("EXTRA_IS_LOGIN", true) + if (!username.isNullOrBlank()) { + intent.putExtra(Intent.EXTRA_EMAIL, username) + intent.putExtra(NewCredentialsActivity.PREF_HIDE_EMAIL_FIELD, true) + } + manualLoginLauncher.launch(intent) + } + override fun onDestroy() { super.onDestroy() resultLauncher.unregister() + manualLoginLauncher.unregister() authService?.dispose() }