diff --git a/.idea/dictionaries/bmarty.xml b/.idea/dictionaries/bmarty.xml
index 26606fedd0..93ac86f417 100644
--- a/.idea/dictionaries/bmarty.xml
+++ b/.idea/dictionaries/bmarty.xml
@@ -18,7 +18,9 @@
linkify
megolm
msisdn
+ msisdns
pbkdf
+ pids
pkcs
riotx
signin
diff --git a/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsController.kt b/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsController.kt
index d65dbcc397..fb344662d7 100644
--- a/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsController.kt
+++ b/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsController.kt
@@ -65,7 +65,7 @@ class DiscoverySettingsController @Inject constructor(
is Success -> {
buildIdentityServerSection(data)
val hasIdentityServer = data.identityServer().isNullOrBlank().not()
- if (hasIdentityServer) {
+ if (hasIdentityServer && !data.termsNotSigned) {
buildEmailsSection(data.emailList)
buildMsisdnSection(data.phoneNumbersList)
}
@@ -77,7 +77,7 @@ class DiscoverySettingsController @Inject constructor(
val identityServer = data.identityServer() ?: stringProvider.getString(R.string.none)
settingsSectionTitleItem {
- id("idsTitle")
+ id("idServerTitle")
titleResId(R.string.identity_server)
}
@@ -91,7 +91,7 @@ class DiscoverySettingsController @Inject constructor(
if (data.termsNotSigned) {
helperText(stringProvider.getString(R.string.settings_agree_to_terms, identityServer))
showCompoundDrawable(true)
- itemClickListener(View.OnClickListener { listener?.onSelectIdentityServer() })
+ itemClickListener(View.OnClickListener { listener?.openIdentityServerTerms() })
} else {
showCompoundDrawable(false)
if (data.identityServer() != null) {
@@ -357,7 +357,7 @@ class DiscoverySettingsController @Inject constructor(
}
interface Listener {
- fun onSelectIdentityServer()
+ fun openIdentityServerTerms()
fun onTapRevoke(threePid: ThreePid)
fun onTapShare(threePid: ThreePid)
fun checkEmailVerification(threePid: ThreePid.Email)
diff --git a/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsFragment.kt b/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsFragment.kt
index ef26d09927..0c148a3538 100644
--- a/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsFragment.kt
+++ b/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsFragment.kt
@@ -103,9 +103,8 @@ class DiscoverySettingsFragment @Inject constructor(
super.onActivityResult(requestCode, resultCode, data)
}
- override fun onSelectIdentityServer() = withState(viewModel) { state ->
+ override fun openIdentityServerTerms() = withState(viewModel) { state ->
if (state.termsNotSigned) {
- // TODO Use ViewEvents?
navigator.openTerms(
this,
TermsService.ServiceType.IdentityService,
diff --git a/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsViewModel.kt b/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsViewModel.kt
index dcad4c644a..a33c9313ac 100644
--- a/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsViewModel.kt
+++ b/vector/src/main/java/im/vector/riotx/features/discovery/DiscoverySettingsViewModel.kt
@@ -52,7 +52,7 @@ data class DiscoverySettingsState(
val identityServer: Async = Uninitialized,
val emailList: Async> = Uninitialized,
val phoneNumbersList: Async> = Uninitialized,
- // TODO Use ViewEvents?
+ // Can be true if terms are updated
val termsNotSigned: Boolean = false
) : MvRxState
@@ -329,7 +329,6 @@ class DiscoverySettingsViewModel @AssistedInject constructor(
override fun onFailure(failure: Throwable) {
if (failure is IdentityServiceError.TermsNotSignedException) {
setState {
- // TODO Use ViewEvent ?
copy(termsNotSigned = true)
}
}