Files
cromite/build/patches/00110-Timezone-customization.patch
T
2023-02-08 21:03:14 +01:00

110 lines
6.4 KiB
Diff

From: Your Name <you@example.com>
Date: Wed, 8 Feb 2023 13:29:03 +0000
Subject: 110 Timezone customization
---
.../site_settings/SingleCategorySettings.java | 33 +++++++++++--------
...imezoneOverrideSiteSettingsPreference.java | 3 +-
2 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -153,7 +153,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
// The websites that are currently displayed to the user.
private List<WebsitePreference> mWebsites;
// Whether tri-state ContentSetting is required.
- private @GlobalToggleLayout int mGlobalToggleLayout = GlobalToggleLayout.BINARY_TOGGLE; ADD TIMEZONE
+ private @GlobalToggleLayout int mGlobalToggleLayout = GlobalToggleLayout.BINARY_TOGGLE;
// The "notifications_quiet_ui" preference to allow hiding/showing it.
private ChromeBaseCheckBoxPreference mNotificationsQuietUiPref;
// The "desktop_site_peripheral" preference to allow hiding/showing it.
@@ -791,7 +791,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
resource = WebsitePreferenceBridge.isCategoryEnabled(
browserContextHandle, ContentSettingsType.TIMEZONE_OVERRIDE)
? R.string.website_settings_category_timezone_override_allowed
- : R.string.website_settings_category_timezone_override_blocked;
+ : R.string.website_settings_category_timezone_override_allowed;
break;
}
if (resource == 0)
@@ -914,6 +914,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
case SiteSettingsCategory.Type.THIRD_PARTY_COOKIES:
allowSpecifyingExceptions = getCookieControlsMode() != CookieControlsMode.OFF;
break;
+ case SiteSettingsCategory.Type.TIMEZONE_OVERRIDE:
+ allowSpecifyingExceptions = true;
+ break;
default:
break;
}
@@ -1135,6 +1138,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
PreferenceGroup blockedGroup = screen.findPreference(BLOCKED_GROUP);
PreferenceGroup managedGroup = screen.findPreference(MANAGED_GROUP);
boolean permissionBlockedByOs = mCategory.showPermissionBlockedMessage(getContext());
+ TimezoneOverrideSiteSettingsPreference timeOverrideStatePreference =
+ (TimezoneOverrideSiteSettingsPreference) screen.findPreference(
+ TIMEOVERRIDE_STATE_TOGGLE_KEY);
if (mGlobalToggleLayout != GlobalToggleLayout.BINARY_TOGGLE) {
screen.removePreference(binaryToggle);
@@ -1153,6 +1159,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
configureBinaryToggle(binaryToggle, contentType);
break;
case GlobalToggleLayout.TRI_STATE_TOGGLE:
+ if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
+ configureTimeOverrideStateToggle(timeOverrideStatePreference);
+ break;
+ }
configureTriStateToggle(triStateToggle, contentType);
break;
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
@@ -1179,6 +1189,13 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else {
screen.removePreference(infoText);
}
+
+ if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
+ screen.removePreference(triStateToggle);
+ } else {
+ screen.removePreference(timeOverrideStatePreference);
+ }
+
BromiteCustomContentSettingImpl.configureGlobalToggles(mCategory, screen);
if (permissionBlockedByOs) {
@@ -1249,18 +1266,6 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
mListView.setFocusable(true);
}
- TimezoneOverrideSiteSettingsPreference timeOverrideStatePreference =
- (TimezoneOverrideSiteSettingsPreference) screen.findPreference(
- TIMEOVERRIDE_STATE_TOGGLE_KEY);
- if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
- screen.removePreference(triStateToggle);
- configureTimeOverrideStateToggle(timeOverrideStatePreference);
- }
- else {
- screen.removePreference(timeOverrideStatePreference);
- configureTriStateToggle(triStateToggle, contentType);
- }
-
// When this menu opens, make sure the Blocked list is collapsed.
if (!mGroupByAllowBlock) {
mBlockListExpanded = false;
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java
@@ -103,7 +103,8 @@ public class TimezoneOverrideSiteSettingsPreference
mRadioGroup = (RadioGroup) holder.findViewById(R.id.radio_button_layout);
mRadioGroup.setOnCheckedChangeListener(this);
- mAsk.setPrimaryText(WebsitePreferenceBridge.getCustomTimezone(mBrowserContextHandle));
+ if (mBrowserContextHandle != null)
+ mAsk.setPrimaryText(WebsitePreferenceBridge.getCustomTimezone(mBrowserContextHandle));
mAsk.addTextChangeListener(this);
ListView listView = (ListView)holder.findViewById(R.id.listView);
--
2.25.1