navigating to the settings discovery page on policy link clicked from non discovery screens
This commit is contained in:
parent
c0fd266fc4
commit
05166944d8
@ -40,20 +40,16 @@ fun Context.displayInWebView(url: String) {
|
|||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.showIdentityServerConsentDialog(configuredIdentityServer: String?, policyLinkCallback: (() -> Unit)? = null, consentCallBack: (() -> Unit)) {
|
fun Context.showIdentityServerConsentDialog(configuredIdentityServer: String?, policyLinkCallback: () -> Unit, consentCallBack: (() -> Unit)) {
|
||||||
MaterialAlertDialogBuilder(this)
|
MaterialAlertDialogBuilder(this)
|
||||||
.setTitle(R.string.identity_server_consent_dialog_title)
|
.setTitle(R.string.identity_server_consent_dialog_title)
|
||||||
.setMessage(getString(R.string.identity_server_consent_dialog_content, configuredIdentityServer ?: ""))
|
.setMessage(getString(R.string.identity_server_consent_dialog_content, configuredIdentityServer ?: ""))
|
||||||
.setPositiveButton(R.string.yes) { _, _ ->
|
.setPositiveButton(R.string.yes) { _, _ ->
|
||||||
consentCallBack.invoke()
|
consentCallBack.invoke()
|
||||||
}
|
}
|
||||||
.apply {
|
.setNeutralButton(R.string.identity_server_consent_dialog_neutral_policy) { _, _ ->
|
||||||
if (policyLinkCallback != null) {
|
|
||||||
setNeutralButton(R.string.identity_server_consent_dialog_neutral_policy) { _, _ ->
|
|
||||||
policyLinkCallback.invoke()
|
policyLinkCallback.invoke()
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
.setNegativeButton(R.string.no, null)
|
.setNegativeButton(R.string.no, null)
|
||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ import im.vector.app.core.extensions.hideKeyboard
|
|||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.core.utils.showIdentityServerConsentDialog
|
import im.vector.app.core.utils.showIdentityServerConsentDialog
|
||||||
import im.vector.app.databinding.FragmentContactsBookBinding
|
import im.vector.app.databinding.FragmentContactsBookBinding
|
||||||
|
import im.vector.app.features.settings.VectorSettingsActivity
|
||||||
import im.vector.app.features.userdirectory.PendingSelection
|
import im.vector.app.features.userdirectory.PendingSelection
|
||||||
import im.vector.app.features.userdirectory.UserListAction
|
import im.vector.app.features.userdirectory.UserListAction
|
||||||
import im.vector.app.features.userdirectory.UserListSharedAction
|
import im.vector.app.features.userdirectory.UserListSharedAction
|
||||||
@ -74,9 +75,11 @@ class ContactsBookFragment @Inject constructor(
|
|||||||
private fun setupConsentView() {
|
private fun setupConsentView() {
|
||||||
views.phoneBookSearchForMatrixContacts.setOnClickListener {
|
views.phoneBookSearchForMatrixContacts.setOnClickListener {
|
||||||
withState(contactsBookViewModel) { state ->
|
withState(contactsBookViewModel) { state ->
|
||||||
requireContext().showIdentityServerConsentDialog(state.identityServerUrl) {
|
requireContext().showIdentityServerConsentDialog(
|
||||||
contactsBookViewModel.handle(ContactsBookAction.UserConsentGranted)
|
state.identityServerUrl,
|
||||||
}
|
policyLinkCallback = { navigator.openSettings(requireContext(), VectorSettingsActivity.EXTRA_DIRECT_ACCESS_DISCOVERY_SETTINGS) },
|
||||||
|
consentCallBack = { contactsBookViewModel.handle(ContactsBookAction.UserConsentGranted) }
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,6 @@ import im.vector.app.core.extensions.exhaustive
|
|||||||
import im.vector.app.core.extensions.observeEvent
|
import im.vector.app.core.extensions.observeEvent
|
||||||
import im.vector.app.core.extensions.registerStartForActivityResult
|
import im.vector.app.core.extensions.registerStartForActivityResult
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.core.utils.displayInWebView
|
|
||||||
import im.vector.app.core.utils.ensureProtocol
|
import im.vector.app.core.utils.ensureProtocol
|
||||||
import im.vector.app.core.utils.openUrlInChromeCustomTab
|
import im.vector.app.core.utils.openUrlInChromeCustomTab
|
||||||
import im.vector.app.core.utils.showIdentityServerConsentDialog
|
import im.vector.app.core.utils.showIdentityServerConsentDialog
|
||||||
|
@ -227,9 +227,11 @@ class UserListFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun giveIdentityServerConsent() {
|
override fun giveIdentityServerConsent() {
|
||||||
withState(viewModel) { state ->
|
withState(viewModel) { state ->
|
||||||
requireContext().showIdentityServerConsentDialog(state.configuredIdentityServer) {
|
requireContext().showIdentityServerConsentDialog(
|
||||||
viewModel.handle(UserListAction.UpdateUserConsent(true))
|
state.configuredIdentityServer,
|
||||||
}
|
policyLinkCallback = { navigator.openSettings(requireContext(), VectorSettingsActivity.EXTRA_DIRECT_ACCESS_DISCOVERY_SETTINGS) },
|
||||||
|
consentCallBack = { viewModel.handle(UserListAction.UpdateUserConsent(true)) }
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user