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.preference.PreferenceManager
|
||||
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
|
||||
|
||||
// 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)
|
||||
.setNegativeButton(R.string.element_disclaimer_negative_button, null)
|
||||
.setPositiveButton(R.string.element_disclaimer_positive_button) { _, _ ->
|
||||
activity.displayInWebView(VectorSettingsUrls.DISCLAIMER_URL)
|
||||
openUrlInChromeCustomTab(activity, null, VectorSettingsUrls.DISCLAIMER_URL)
|
||||
}
|
||||
.show()
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ import im.vector.matrix.android.api.Matrix
|
||||
import im.vector.riotx.R
|
||||
import im.vector.riotx.core.preference.VectorPreference
|
||||
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.openOssLicensesMenuActivity
|
||||
import javax.inject.Inject
|
||||
@ -82,28 +82,28 @@ class VectorSettingsHelpAboutFragment @Inject constructor(
|
||||
// copyright
|
||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_COPYRIGHT_PREFERENCE_KEY)!!
|
||||
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||
activity?.displayInWebView(VectorSettingsUrls.COPYRIGHT)
|
||||
openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.COPYRIGHT)
|
||||
false
|
||||
}
|
||||
|
||||
// terms & conditions
|
||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_APP_TERM_CONDITIONS_PREFERENCE_KEY)!!
|
||||
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||
activity?.displayInWebView(VectorSettingsUrls.TAC)
|
||||
openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.TAC)
|
||||
false
|
||||
}
|
||||
|
||||
// privacy policy
|
||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_PRIVACY_POLICY_PREFERENCE_KEY)!!
|
||||
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||
activity?.displayInWebView(VectorSettingsUrls.PRIVACY_POLICY)
|
||||
openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.PRIVACY_POLICY)
|
||||
false
|
||||
}
|
||||
|
||||
// third party notice
|
||||
findPreference<VectorPreference>(VectorPreferences.SETTINGS_THIRD_PARTY_NOTICES_PREFERENCE_KEY)!!
|
||||
.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||
activity?.displayInWebView(VectorSettingsUrls.THIRD_PARTY_LICENSES)
|
||||
openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.THIRD_PARTY_LICENSES)
|
||||
false
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user