diff --git a/vector/src/main/java/im/vector/riotx/features/crypto/verification/request/VerificationRequestController.kt b/vector/src/main/java/im/vector/riotx/features/crypto/verification/request/VerificationRequestController.kt index 60d0d86aeb..56c76bc2b0 100644 --- a/vector/src/main/java/im/vector/riotx/features/crypto/verification/request/VerificationRequestController.kt +++ b/vector/src/main/java/im/vector/riotx/features/crypto/verification/request/VerificationRequestController.kt @@ -74,15 +74,6 @@ class VerificationRequestController @Inject constructor( iconColor(colorProvider.getColorFromAttribute(R.attr.riotx_text_primary)) listener { listener?.onClickRecoverFromPassphrase() } } - bottomSheetVerificationActionItem { - id("skip") - title(stringProvider.getString(R.string.skip)) - titleColor(colorProvider.getColor(R.color.riotx_destructive_accent)) -// subTitle(stringProvider.getString(R.string.verification_use_passphrase)) - iconRes(R.drawable.ic_arrow_right) - iconColor(colorProvider.getColor(R.color.riotx_destructive_accent)) - listener { listener?.onClickDismiss() } - } } else { val styledText = if (state.isMe) { diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeActivity.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeActivity.kt index 0fa3e5416d..b814fd9410 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeActivity.kt @@ -29,6 +29,7 @@ import androidx.drawerlayout.widget.DrawerLayout import androidx.lifecycle.Observer import im.vector.matrix.android.api.MatrixCallback import im.vector.matrix.android.api.session.Session +import im.vector.matrix.android.api.util.toMatrixItem import im.vector.matrix.android.internal.crypto.model.CryptoDeviceInfo import im.vector.matrix.android.internal.crypto.model.MXUsersDevicesMap import im.vector.riotx.R @@ -41,8 +42,8 @@ import im.vector.riotx.core.platform.VectorBaseActivity import im.vector.riotx.core.pushers.PushersManager import im.vector.riotx.features.disclaimer.showDisclaimerDialog import im.vector.riotx.features.notifications.NotificationDrawerManager -import im.vector.riotx.features.popup.DefaultVectorAlert import im.vector.riotx.features.popup.PopupAlertManager +import im.vector.riotx.features.popup.VerificationVectorAlert import im.vector.riotx.features.rageshake.VectorUncaughtExceptionHandler import im.vector.riotx.features.settings.VectorPreferences import im.vector.riotx.features.workers.signout.SignOutViewModel @@ -126,6 +127,12 @@ class HomeActivity : VectorBaseActivity(), ToolbarConfigurable { waiting_view.isVisible = true } }) + + // Ask again if the app is relaunched + if (!sharedActionViewModel.hasDisplayedCompleteSecurityPrompt + && activeSessionHolder.getSafeActiveSession()?.hasAlreadySynced() == true) { + promptCompleteSecurityIfNeeded() + } } private fun promptCompleteSecurityIfNeeded() { @@ -152,13 +159,14 @@ class HomeActivity : VectorBaseActivity(), ToolbarConfigurable { // We need to ask sharedActionViewModel.hasDisplayedCompleteSecurityPrompt = true popupAlertManager.postVectorAlert( - DefaultVectorAlert( + VerificationVectorAlert( uid = "completeSecurity", - title = getString(R.string.new_signin), - description = getString(R.string.complete_security), + title = getString(R.string.complete_security), + description = getString(R.string.crosssigning_verify_this_session), iconId = R.drawable.ic_shield_warning ).apply { - colorInt = ContextCompat.getColor(this@HomeActivity, R.color.riotx_destructive_accent) + matrixItem = session.getUser(session.myUserId)?.toMatrixItem() + colorInt = ContextCompat.getColor(this@HomeActivity, R.color.riotx_positive_accent) contentAction = Runnable { (weakCurrentActivity?.get() as? VectorBaseActivity)?.let { it.navigator.waitSessionVerification(it) diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml index 9e07f43cb8..928aafbd55 100644 --- a/vector/src/main/res/values/strings.xml +++ b/vector/src/main/res/values/strings.xml @@ -2126,7 +2126,7 @@ Not all features in Riot are implemented in RiotX yet. Main missing (and coming Other users may not trust it Complete Security - Open an existing session & use it to verify this one, granting it access to encrypted messages. + Use an existing session to verify this one, granting it access to encrypted messages. Verify @@ -2166,8 +2166,8 @@ Not all features in Riot are implemented in RiotX yet. Main missing (and coming Selected Option Creates a simple poll - Can‘t access an existing session? - Use your recovery key or passphrase + Use a recovery method + If you can’t access an existing session New Sign In