Use openUrlInChromeCustomTab because it's better and it fixes crash on API 21 (at least)
This commit is contained in:
parent
7237ec7310
commit
bef0c7725b
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2019 New Vector Ltd
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package im.vector.riotx.core.utils
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.webkit.WebView
|
|
||||||
import android.webkit.WebViewClient
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open a web view above the current activity.
|
|
||||||
*
|
|
||||||
* @param url the url to open
|
|
||||||
*/
|
|
||||||
fun Context.displayInWebView(url: String) {
|
|
||||||
val wv = WebView(this)
|
|
||||||
|
|
||||||
// Set a WebViewClient to ensure redirection is handled directly in the WebView
|
|
||||||
wv.webViewClient = WebViewClient()
|
|
||||||
|
|
||||||
wv.loadUrl(url)
|
|
||||||
AlertDialog.Builder(this)
|
|
||||||
.setView(wv)
|
|
||||||
.setPositiveButton(android.R.string.ok, null)
|
|
||||||
.show()
|
|
||||||
}
|
|
@ -22,7 +22,7 @@ import androidx.appcompat.app.AlertDialog
|
|||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import im.vector.riotx.R
|
import im.vector.riotx.R
|
||||||
import im.vector.riotx.core.utils.displayInWebView
|
import im.vector.riotx.core.utils.openUrlInChromeCustomTab
|
||||||
import im.vector.riotx.features.settings.VectorSettingsUrls
|
import im.vector.riotx.features.settings.VectorSettingsUrls
|
||||||
|
|
||||||
// Increase this value to show again the disclaimer dialog after an upgrade of the application
|
// Increase this value to show again the disclaimer dialog after an upgrade of the application
|
||||||
@ -45,7 +45,7 @@ fun showDisclaimerDialog(activity: Activity) {
|
|||||||
.setCancelable(false)
|
.setCancelable(false)
|
||||||
.setNegativeButton(R.string.element_disclaimer_negative_button, null)
|
.setNegativeButton(R.string.element_disclaimer_negative_button, null)
|
||||||
.setPositiveButton(R.string.element_disclaimer_positive_button) { _, _ ->
|
.setPositiveButton(R.string.element_disclaimer_positive_button) { _, _ ->
|
||||||
activity.displayInWebView(VectorSettingsUrls.DISCLAIMER_URL)
|
openUrlInChromeCustomTab(activity, null, VectorSettingsUrls.DISCLAIMER_URL)
|
||||||
}
|
}
|
||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ import im.vector.matrix.android.api.Matrix
|
|||||||
import im.vector.riotx.R
|
import im.vector.riotx.R
|
||||||
import im.vector.riotx.core.preference.VectorPreference
|
import im.vector.riotx.core.preference.VectorPreference
|
||||||
import im.vector.riotx.core.utils.copyToClipboard
|
import im.vector.riotx.core.utils.copyToClipboard
|
||||||
import im.vector.riotx.core.utils.displayInWebView
|
import im.vector.riotx.core.utils.openUrlInChromeCustomTab
|
||||||
import im.vector.riotx.features.version.VersionProvider
|
import im.vector.riotx.features.version.VersionProvider
|
||||||
import im.vector.riotx.openOssLicensesMenuActivity
|
import im.vector.riotx.openOssLicensesMenuActivity
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@ -82,28 +82,28 @@ class VectorSettingsHelpAboutFragment @Inject constructor(
|
|||||||
// copyright
|
// copyright
|
||||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_COPYRIGHT_PREFERENCE_KEY)!!
|
findPreference<VectorPreference>(VectorPreferences.SETTINGS_COPYRIGHT_PREFERENCE_KEY)!!
|
||||||
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||||
activity?.displayInWebView(VectorSettingsUrls.COPYRIGHT)
|
openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.COPYRIGHT)
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
// terms & conditions
|
// terms & conditions
|
||||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_APP_TERM_CONDITIONS_PREFERENCE_KEY)!!
|
findPreference<VectorPreference>(VectorPreferences.SETTINGS_APP_TERM_CONDITIONS_PREFERENCE_KEY)!!
|
||||||
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||||
activity?.displayInWebView(VectorSettingsUrls.TAC)
|
openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.TAC)
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
// privacy policy
|
// privacy policy
|
||||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_PRIVACY_POLICY_PREFERENCE_KEY)!!
|
findPreference<VectorPreference>(VectorPreferences.SETTINGS_PRIVACY_POLICY_PREFERENCE_KEY)!!
|
||||||
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||||
activity?.displayInWebView(VectorSettingsUrls.PRIVACY_POLICY)
|
openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.PRIVACY_POLICY)
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
// third party notice
|
// third party notice
|
||||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_THIRD_PARTY_NOTICES_PREFERENCE_KEY)!!
|
findPreference<VectorPreference>(VectorPreferences.SETTINGS_THIRD_PARTY_NOTICES_PREFERENCE_KEY)!!
|
||||||
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||||
activity?.displayInWebView(VectorSettingsUrls.THIRD_PARTY_LICENSES)
|
openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.THIRD_PARTY_LICENSES)
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user