]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/activities/ViewSourceActivity.kt
Update the night mode red text color. https://redmine.stoutner.com/issues/691
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / activities / ViewSourceActivity.kt
index 532eda553eb258e2c0809f8a14f762214b5a41b1..8868697a37d875e30001b014d3a373ce4d02ff23 100644 (file)
@@ -1,25 +1,24 @@
 /*
- * Copyright © 2017-2021 Soren Stoutner <soren@stoutner.com>.
+ * Copyright 2017-2022 Soren Stoutner <soren@stoutner.com>.
  *
- * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+ * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
  *
- * Privacy Browser is free software: you can redistribute it and/or modify
+ * Privacy Browser Android is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation, either version 3 of the License, or
  * (at your option) any later version.
  *
- * Privacy Browser is distributed in the hope that it will be useful,
+ * Privacy Browser Android is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>.
+ * along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 package com.stoutner.privacybrowser.activities
 
-import android.content.res.Configuration
 import android.os.Build
 import android.os.Bundle
 import android.text.SpannableStringBuilder
@@ -58,7 +57,7 @@ import com.stoutner.privacybrowser.viewmodels.WebViewSource
 
 import java.util.Locale
 
-// Declare the public constants.
+// Define the public constants.
 const val CURRENT_URL = "current_url"
 const val USER_AGENT = "user_agent"
 
@@ -91,9 +90,6 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
             window.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
         }
 
-        // Set the theme.
-        setTheme(R.style.PrivacyBrowser)
-
         // Run the default commands.
         super.onCreate(savedInstanceState)
 
@@ -121,7 +117,7 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
         val actionBar = supportActionBar!!
 
         // Add the custom layout to the action bar.
-        actionBar.setCustomView(R.layout.view_source_app_bar)
+        actionBar.setCustomView(R.layout.view_source_appbar_custom_view)
 
         // Instruct the action bar to display a custom layout.
         actionBar.displayOptions = ActionBar.DISPLAY_SHOW_CUSTOM
@@ -134,7 +130,7 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
         requestHeadersTextView = findViewById(R.id.request_headers_textview)
         responseMessageTitleTextView = findViewById(R.id.response_message_title_textview)
         responseMessageTextView = findViewById(R.id.response_message_textview)
-        responseHeadersTitleTextView = findViewById(R.id.response_headers_title_textivew)
+        responseHeadersTitleTextView = findViewById(R.id.response_headers_title_textview)
         val responseHeadersTextView = findViewById<TextView>(R.id.response_headers_textview)
         responseBodyTitleTextView = findViewById(R.id.response_body_title_textview)
         val responseBodyTextView = findViewById<TextView>(R.id.response_body_textview)
@@ -142,23 +138,10 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
         // Populate the URL text box.
         urlEditText.setText(currentUrl)
 
-        // Initialize the gray foreground color spans for highlighting the URLs.  The deprecated `getColor()` must be used until the minimum API >= 23.
-        @Suppress("DEPRECATION")
-        initialGrayColorSpan = ForegroundColorSpan(resources.getColor(R.color.gray_500))
-        @Suppress("DEPRECATION")
-        finalGrayColorSpan = ForegroundColorSpan(resources.getColor(R.color.gray_500))
-
-        // Get the current theme status.
-        val currentThemeStatus = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
-
-        // Set the red color span according to the theme.  The deprecated `getColor()` must be used until the minimum API >= 23.
-        redColorSpan = if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-            @Suppress("DEPRECATION")
-            ForegroundColorSpan(resources.getColor(R.color.red_a700))
-        } else {
-            @Suppress("DEPRECATION")
-            ForegroundColorSpan(resources.getColor(R.color.red_900))
-        }
+        // Initialize the gray foreground color spans for highlighting the URLs.
+        initialGrayColorSpan = ForegroundColorSpan(getColor(R.color.gray_500))
+        finalGrayColorSpan = ForegroundColorSpan(getColor(R.color.gray_500))
+        redColorSpan = ForegroundColorSpan(getColor(R.color.red_text))
 
         // Apply text highlighting to the URL.
         highlightUrlText()
@@ -186,11 +169,7 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
         }
 
         // Set the refresh color scheme according to the theme.
-        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-            swipeRefreshLayout.setColorSchemeResources(R.color.blue_700)
-        } else {
-            swipeRefreshLayout.setColorSchemeResources(R.color.violet_500)
-        }
+        swipeRefreshLayout.setColorSchemeResources(R.color.blue_text)
 
         // Initialize a color background typed value.
         val colorBackgroundTypedValue = TypedValue()
@@ -281,10 +260,10 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
         val webViewSourceFactory: ViewModelProvider.Factory = WebViewSourceFactory(currentUrl, userAgent, localeString, proxy, contentResolver, MainWebViewActivity.executorService)
 
         // Instantiate the WebView source view model class.
-        webViewSource = ViewModelProvider(this, webViewSourceFactory).get(WebViewSource::class.java)
+        webViewSource = ViewModelProvider(this, webViewSourceFactory)[WebViewSource::class.java]
 
         // Create a source observer.
-        webViewSource.observeSource().observe(this, { sourceStringArray: Array<SpannableStringBuilder> ->
+        webViewSource.observeSource().observe(this) { sourceStringArray: Array<SpannableStringBuilder> ->
             // Populate the text views.  This can take a long time, and freezes the user interface, if the response body is particularly large.
             requestHeadersTextView.text = sourceStringArray[0]
             responseMessageTextView.text = sourceStringArray[1]
@@ -297,10 +276,10 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
 
             //Stop the swipe to refresh indicator if it is running
             swipeRefreshLayout.isRefreshing = false
-        })
+        }
 
         // Create an error observer.
-        webViewSource.observeErrors().observe(this, { errorString: String ->
+        webViewSource.observeErrors().observe(this) { errorString: String ->
             // Display an error snackbar if the string is not `""`.
             if (errorString != "") {
                 if (errorString.startsWith("javax.net.ssl.SSLHandshakeException")) {
@@ -314,7 +293,7 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
                     Snackbar.make(swipeRefreshLayout, errorString, Snackbar.LENGTH_LONG).show()
                 }
             }
-        })
+        }
 
         // Implement swipe to refresh.
         swipeRefreshLayout.setOnRefreshListener {
@@ -479,4 +458,4 @@ class ViewSourceActivity: AppCompatActivity(), UntrustedSslCertificateListener {
             responseBodyTitleTextView.setText(R.string.response_body)
         }
     }
-}
\ No newline at end of file
+}