]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java
Manually handle changes in screen layout. https://redmine.stoutner.com/issues/447
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / fragments / SettingsFragment.java
index 37225fb6f4c176725786eef4eecfa70b78a9604e..7dab898e383cb203bd84609b33cd6943cffc22ba 100644 (file)
@@ -73,6 +73,8 @@ public class SettingsFragment extends PreferenceFragment {
         Preference ultraPrivacyPreference = findPreference("ultraprivacy");
         Preference blockAllThirdPartyRequestsPreference = findPreference("block_all_third_party_requests");
         Preference googleAnalyticsPreference = findPreference("google_analytics");
+        Preference facebookClickIdsPreference = findPreference("facebook_click_ids");
+        Preference twitterAmpRedirectsPreference = findPreference("twitter_amp_redirects");
         Preference proxyThroughOrbotPreference = findPreference("proxy_through_orbot");
         Preference torHomepagePreference = findPreference("tor_homepage");
         Preference torSearchPreference = findPreference("tor_search");
@@ -95,6 +97,7 @@ public class SettingsFragment extends PreferenceFragment {
         Preference downloadWithExternalAppPreference = findPreference("download_with_external_app");
         Preference darkThemePreference = findPreference("dark_theme");
         Preference nightModePreference = findPreference("night_mode");
+        Preference wideViewportPreference = findPreference("wide_viewport");
         Preference displayWebpageImagesPreference = findPreference("display_webpage_images");
 
         // Set dependencies.
@@ -458,7 +461,7 @@ public class SettingsFragment extends PreferenceFragment {
             }
         }
 
-        // Set the Google Analytics icons according to the theme.
+        // Set the Google Analytics icon according to the theme.
         if (savedPreferences.getBoolean("google_analytics", true)) {
             if (darkTheme) {
                 googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_dark);
@@ -473,6 +476,36 @@ public class SettingsFragment extends PreferenceFragment {
             }
         }
 
+        // Set the Facebook Click IDs icon according to the theme.
+        if (savedPreferences.getBoolean("facebook_click_ids", true)) {
+            if (darkTheme) {
+                facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+            } else {
+                facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_light);
+            }
+        } else {
+            if (darkTheme) {
+                facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+            } else {
+                facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_light);
+            }
+        }
+
+        // Set the Twitter AMP redirects icon according to the theme.
+        if (savedPreferences.getBoolean("twitter_amp_redirects", true)) {
+            if (darkTheme) {
+                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+            } else {
+                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_light);
+            }
+        } else {
+            if (darkTheme) {
+                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+            } else {
+                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_light);
+            }
+        }
+
         // Set the Tor icons according to the theme.
         if (proxyThroughOrbot) {  // Proxying is enabled.
             if (darkTheme) {
@@ -717,6 +750,21 @@ public class SettingsFragment extends PreferenceFragment {
             }
         }
 
+        // Set the wide viewport preference icon.
+        if (savedPreferences.getBoolean("wide_viewport", true)) {
+            if (darkTheme) {
+                wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_dark);
+            } else {
+                wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_light);
+            }
+        } else {
+            if (darkTheme) {
+                wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_dark);
+            } else {
+                wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_light);
+            }
+        }
+
         // Set the display webpage images preference icon.
         if (savedPreferences.getBoolean("display_webpage_images", true)) {
             if (darkTheme) {
@@ -990,8 +1038,8 @@ public class SettingsFragment extends PreferenceFragment {
                         System.exit(0);
                     };
 
-                    // Restart the activity after 100 milliseconds, so that the app has enough time to save the change to the preference.
-                    allowScreenshotsRestartHandler.postDelayed(allowScreenshotsRestartRunnable, 100);
+                    // Restart the activity after 150 milliseconds, so that the app has enough time to save the change to the preference.
+                    allowScreenshotsRestartHandler.postDelayed(allowScreenshotsRestartRunnable, 150);
                     break;
 
                 case "easylist":
@@ -1143,6 +1191,40 @@ public class SettingsFragment extends PreferenceFragment {
                     }
                     break;
 
+                case "facebook_click_ids":
+                    // Update the icon.
+                    if (sharedPreferences.getBoolean("facebook_click_ids", true)) {
+                        if (darkTheme) {
+                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+                        } else {
+                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_light);
+                        }
+                    } else {
+                        if (darkTheme) {
+                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+                        } else {
+                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_light);
+                        }
+                    }
+                    break;
+
+                case "twitter_amp_redirects":
+                    // Update the icon.
+                    if (sharedPreferences.getBoolean("twitter_amp_redirects", true)) {
+                        if (darkTheme) {
+                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+                        } else {
+                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_light);
+                        }
+                    } else {
+                        if (darkTheme) {
+                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+                        } else {
+                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_light);
+                        }
+                    }
+                    break;
+
                 case "proxy_through_orbot":
                     // Get current settings.
                     boolean currentProxyThroughOrbot = sharedPreferences.getBoolean("proxy_through_orbot", false);
@@ -1576,8 +1658,8 @@ public class SettingsFragment extends PreferenceFragment {
                         System.exit(0);
                     };
 
-                    // Restart the activity after 100 milliseconds, so that the app has enough time to save the change to the preference.
-                    changeThemeRestartHandler.postDelayed(changeThemeRestartRunnable, 100);
+                    // Restart the activity after 150 milliseconds, so that the app has enough time to save the change to the preference.
+                    changeThemeRestartHandler.postDelayed(changeThemeRestartRunnable, 150);
                     break;
 
                 case "night_mode":
@@ -1631,16 +1713,32 @@ public class SettingsFragment extends PreferenceFragment {
                     }
                     break;
 
+                case "wide_viewport":
+                    // Update the icon.
+                    if (sharedPreferences.getBoolean("wide_viewport", true)) {
+                        if (darkTheme) {
+                            wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_dark);
+                        } else {
+                            wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_light);
+                        }
+                    } else {
+                        if (darkTheme) {
+                            wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_dark);
+                        } else {
+                            wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_light);
+                        }
+                    }
+                    break;
+
                 case "display_webpage_images":
+                    // Update the icon.
                     if (sharedPreferences.getBoolean("display_webpage_images", true)) {
-                        // Update the icon.
                         if (darkTheme) {
                             displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_dark);
                         } else {
                             displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_light);
                         }
                     } else {
-                        // Update the icon.
                         if (darkTheme) {
                             displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_dark);
                         } else {
@@ -1667,4 +1765,4 @@ public class SettingsFragment extends PreferenceFragment {
         super.onResume();
         savedPreferences.registerOnSharedPreferenceChangeListener(preferencesListener);
     }
-}
+}
\ No newline at end of file