diff --git a/app/src/main/java/com/agileburo/anytype/navigation/Navigator.kt b/app/src/main/java/com/agileburo/anytype/navigation/Navigator.kt index dc1e299c28..bce9547472 100644 --- a/app/src/main/java/com/agileburo/anytype/navigation/Navigator.kt +++ b/app/src/main/java/com/agileburo/anytype/navigation/Navigator.kt @@ -80,6 +80,10 @@ class Navigator : AppNavigation { */ } + override fun exit() { + navController?.popBackStack() + } + fun bind(navController: NavController) { this.navController = navController } diff --git a/app/src/main/java/com/agileburo/anytype/ui/auth/KeychainLoginFragment.kt b/app/src/main/java/com/agileburo/anytype/ui/auth/KeychainLoginFragment.kt index 64dc1fd784..4168d7ac2b 100644 --- a/app/src/main/java/com/agileburo/anytype/ui/auth/KeychainLoginFragment.kt +++ b/app/src/main/java/com/agileburo/anytype/ui/auth/KeychainLoginFragment.kt @@ -81,6 +81,7 @@ class KeychainLoginFragment : NavigationFragment(R.layout.fragment_keychain_logi ) } qrLoginButton.setOnClickListener { vm.onScanQrCodeClicked() } + backButton.setOnClickListener { vm.onBackButtonPressed() } } override fun injectDependencies() { diff --git a/app/src/main/java/com/agileburo/anytype/ui/auth/account/CreateAccountFragment.kt b/app/src/main/java/com/agileburo/anytype/ui/auth/account/CreateAccountFragment.kt index 4846f2399a..49f998ad38 100644 --- a/app/src/main/java/com/agileburo/anytype/ui/auth/account/CreateAccountFragment.kt +++ b/app/src/main/java/com/agileburo/anytype/ui/auth/account/CreateAccountFragment.kt @@ -41,6 +41,7 @@ class CreateAccountFragment : NavigationFragment(R.layout.fragment_create_accoun vm.onCreateProfileClicked(nameInputField.text.toString()) } profileIconPlaceholder.setOnClickListener { proceedWithImagePick() } + backButton.setOnClickListener { vm.onBackButtonClicked() } } override fun onDestroyView() { diff --git a/app/src/main/java/com/agileburo/anytype/ui/base/NavigationFragment.kt b/app/src/main/java/com/agileburo/anytype/ui/base/NavigationFragment.kt index 7c6cb05a24..120f431c8c 100644 --- a/app/src/main/java/com/agileburo/anytype/ui/base/NavigationFragment.kt +++ b/app/src/main/java/com/agileburo/anytype/ui/base/NavigationFragment.kt @@ -37,6 +37,7 @@ abstract class NavigationFragment( is Command.OpenProfile -> navigation.openProfile() is Command.OpenDocument -> navigation.openDocument(command.id) is Command.OpenKeychainScreen -> navigation.openKeychainScreen() + is Command.Exit -> navigation.exit() } } diff --git a/presentation/src/main/java/com/agileburo/anytype/presentation/auth/account/CreateAccountViewModel.kt b/presentation/src/main/java/com/agileburo/anytype/presentation/auth/account/CreateAccountViewModel.kt index 74cb071ddb..1161d0ea30 100644 --- a/presentation/src/main/java/com/agileburo/anytype/presentation/auth/account/CreateAccountViewModel.kt +++ b/presentation/src/main/java/com/agileburo/anytype/presentation/auth/account/CreateAccountViewModel.kt @@ -23,4 +23,8 @@ class CreateAccountViewModel( session.avatarPath = path Timber.d("Path set: $path") } + + fun onBackButtonClicked() { + navigation.postValue(Event(AppNavigation.Command.Exit)) + } } \ No newline at end of file diff --git a/presentation/src/main/java/com/agileburo/anytype/presentation/auth/keychain/KeychainLoginViewModel.kt b/presentation/src/main/java/com/agileburo/anytype/presentation/auth/keychain/KeychainLoginViewModel.kt index 6b31896967..55bfac80e1 100644 --- a/presentation/src/main/java/com/agileburo/anytype/presentation/auth/keychain/KeychainLoginViewModel.kt +++ b/presentation/src/main/java/com/agileburo/anytype/presentation/auth/keychain/KeychainLoginViewModel.kt @@ -30,6 +30,10 @@ class KeychainLoginViewModel( proceedWithRecoveringWallet(chain) } + fun onBackButtonPressed() { + navigation.postValue(Event(AppNavigation.Command.Exit)) + } + private fun proceedWithRecoveringWallet(chain: String) { state.postValue(ViewState.Loading) diff --git a/presentation/src/main/java/com/agileburo/anytype/presentation/navigation/AppNavigation.kt b/presentation/src/main/java/com/agileburo/anytype/presentation/navigation/AppNavigation.kt index a8f223ff34..1e9996fcac 100644 --- a/presentation/src/main/java/com/agileburo/anytype/presentation/navigation/AppNavigation.kt +++ b/presentation/src/main/java/com/agileburo/anytype/presentation/navigation/AppNavigation.kt @@ -18,8 +18,12 @@ interface AppNavigation { fun startDesktopFromLogin() fun startSplashFromDesktop() fun openKeychainScreen() + fun exit() sealed class Command { + + object Exit : Command() + object OpenStartLoginScreen : Command() object OpenCreateAccount : Command() object ChoosePinCodeScreen : Command()