/*
- * Copyright © 2021 Soren Stoutner <soren@stoutner.com>.
+ * Copyright 2021-2022 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
*
import android.app.Dialog
import android.content.Intent
-import android.content.res.Configuration
import android.os.Bundle
import android.webkit.WebResourceRequest
import android.webkit.WebResourceResponse
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
-import androidx.webkit.WebSettingsCompat
import androidx.webkit.WebViewAssetLoader
-import androidx.webkit.WebViewFeature
import com.stoutner.privacycell.R
const val LICENSES = 3
const val CONTRIBUTORS = 4
const val STINGRAY = 5
- const val NETWORK_UNKNOWN = 6
- const val NETWORK_GPRS = 7
- const val NETWORK_EDGE = 8
- const val NETWORK_UMTS = 9
- const val NETWORK_CDMA = 10
- const val NETWORK_EVDO_0 = 11
- const val NETWORK_EVDO_A = 12
- const val NETWORK_1xRTT = 13
- const val NETWORK_HSDPA = 14
- const val NETWORK_HSUPA = 15
- const val NETWORK_HSPA = 16
- const val NETWORK_IDEN = 17
- const val NETWORK_EVDO_B = 18
- const val NETWORK_LTE = 19
- const val NETWORK_EHRPD = 20
- const val NETWORK_HSPAP = 21
- const val NETWORK_GSM = 22
- const val NETWORK_TD_SCDMA = 23
- const val NETWORK_IWLAN = 24
- const val NETWORK_NR = 25
- const val OVERRIDE_NETWORK_NONE = 26
- const val OVERRIDE_NETWORK_LTE_CA = 27
- const val OVERRIDE_NETWORK_LTE_ADVANCED_PRO = 28
- const val OVERRIDE_NETWORK_NR_NSA = 29
- const val OVERRIDE_NETWORK_NR_NSA_MMWAVE = 30 // Can be removed once the minimum API >= 31.
- const val OVERRIDE_NETWORK_NR_ADVANCED = 31
+ const val ANTIQUATED_NETWORK = 6
+ const val NETWORK_UNKNOWN = 7
+ const val NETWORK_GPRS = 8
+ const val NETWORK_EDGE = 9
+ const val NETWORK_UMTS = 10
+ const val NETWORK_CDMA = 11
+ const val NETWORK_EVDO_0 = 12
+ const val NETWORK_EVDO_A = 13
+ const val NETWORK_1xRTT = 14
+ const val NETWORK_HSDPA = 15
+ const val NETWORK_HSUPA = 16
+ const val NETWORK_HSPA = 17
+ const val NETWORK_IDEN = 18
+ const val NETWORK_EVDO_B = 19
+ const val NETWORK_LTE = 20
+ const val NETWORK_EHRPD = 21
+ const val NETWORK_HSPAP = 22
+ const val NETWORK_GSM = 23
+ const val NETWORK_TD_SCDMA = 24
+ const val NETWORK_IWLAN = 25
+ const val NETWORK_NR = 26
+ const val OVERRIDE_NETWORK_NONE = 27
+ const val OVERRIDE_NETWORK_LTE_CA = 28
+ const val OVERRIDE_NETWORK_LTE_ADVANCED_PRO = 29
+ const val OVERRIDE_NETWORK_NR_NSA = 30
+ const val OVERRIDE_NETWORK_NR_NSA_MMWAVE = 31 // Can be removed once the minimum API >= 31.
+ const val OVERRIDE_NETWORK_NR_ADVANCED = 32
}
// Define the class views.
STINGRAY -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.secure_5g_nr_sa)
+ dialogBuilder.setIcon(R.drawable.secure)
// Set the tile.
dialogBuilder.setTitle(R.string.stingrays)
}
+ ANTIQUATED_NETWORK -> {
+ // Set the icon.
+ dialogBuilder.setIcon(R.drawable.antiquated)
+
+ // Set the title.
+ dialogBuilder.setTitle(R.string.antiquated_network_title)
+ }
+
NETWORK_UNKNOWN -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.unknown)
NETWORK_GPRS -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.gprs)
NETWORK_EDGE -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.edge)
NETWORK_UMTS -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.umts)
NETWORK_CDMA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.cdma)
NETWORK_EVDO_0 -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.evdo_0)
NETWORK_EVDO_A -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.evdo_a)
NETWORK_1xRTT -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.rtt)
NETWORK_HSDPA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.hsdpa)
NETWORK_HSUPA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.hsupa)
NETWORK_HSPA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.hspa)
NETWORK_IDEN -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.iden)
NETWORK_EVDO_B -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.evdo_b)
NETWORK_LTE -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.lte)
NETWORK_EHRPD -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.ehrpd)
NETWORK_HSPAP -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.hspap)
NETWORK_GSM -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.gsm)
NETWORK_TD_SCDMA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.td_scdma)
NETWORK_IWLAN -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.iwlan)
NETWORK_NR -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.nr)
OVERRIDE_NETWORK_NONE -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.none)
OVERRIDE_NETWORK_LTE_CA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.lte_ca)
OVERRIDE_NETWORK_LTE_ADVANCED_PRO -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
- dialogBuilder.setTitle(R.string.lte_ca)
+ dialogBuilder.setTitle(R.string.lte_advanced_pro)
}
OVERRIDE_NETWORK_NR_NSA -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.nr_nsa)
OVERRIDE_NETWORK_NR_NSA_MMWAVE -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.nr_nsa_mmwave)
OVERRIDE_NETWORK_NR_ADVANCED -> {
// Set the icon.
- dialogBuilder.setIcon(R.drawable.privacy_policy)
+ dialogBuilder.setIcon(R.drawable.protocols)
// Set the title.
dialogBuilder.setTitle(R.string.nr_advanced)
// Get a handle for the WebView.
webView = alertDialog.findViewById(R.id.webview)!!
- // Get the current theme status.
- val currentThemeStatus = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
-
- // Check to see if the app is in night mode.
- if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES && WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) { // The app is in night mode.
- // Apply the dark WebView theme.
- WebSettingsCompat.setForceDark(webView.settings, WebSettingsCompat.FORCE_DARK_ON)
- }
-
// Create a WebView asset loader.
val webViewAssetLoader = WebViewAssetLoader.Builder().addPathHandler("/assets/", WebViewAssetLoader.AssetsPathHandler(requireContext())).build()
LICENSES -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/licenses.html")
CONTRIBUTORS -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/contributors.html")
STINGRAY -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/stingrays.html")
+ ANTIQUATED_NETWORK -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/antiquated_network.html")
NETWORK_UNKNOWN -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/network_unknown.html")
NETWORK_GPRS -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/network_gprs.html")
NETWORK_EDGE -> webView.loadUrl("https://appassets.androidplatform.net/assets/" + getString(R.string.asset_directory) + "/explanations/network_edge.html")
// Save the scroll position.
savedInstanceState.putInt(SCROLL_Y, webView.scrollY)
}
-}
\ No newline at end of file
+}