From 2c881718abeb244a90303583d336207c1b9bf37c Mon Sep 17 00:00:00 2001 From: haanhvu Date: Mon, 27 Jan 2025 20:21:20 +0700 Subject: [PATCH] Chromium: Disable Strict mode in Enhanced Tracking Protection in Privacy and Security settings Chromium doesn't support Strict Tracking Protection, so we disable this in Privacy and Security settings for Chromium. Fixes #1714 --- .../wolvic/ui/views/settings/RadioGroupSetting.java | 2 ++ .../wolvic/ui/widgets/settings/PrivacyOptionsView.java | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/app/src/common/shared/com/igalia/wolvic/ui/views/settings/RadioGroupSetting.java b/app/src/common/shared/com/igalia/wolvic/ui/views/settings/RadioGroupSetting.java index f6ddaca975e..b47352f9fd8 100644 --- a/app/src/common/shared/com/igalia/wolvic/ui/views/settings/RadioGroupSetting.java +++ b/app/src/common/shared/com/igalia/wolvic/ui/views/settings/RadioGroupSetting.java @@ -151,6 +151,8 @@ public int getIdForValue(Object value) { return 0; } + public RadioGroup getRadioGroup() {return mRadioGroup;} + public int getCheckedRadioButtonId() { return mRadioGroup.getCheckedRadioButtonId(); } diff --git a/app/src/common/shared/com/igalia/wolvic/ui/widgets/settings/PrivacyOptionsView.java b/app/src/common/shared/com/igalia/wolvic/ui/widgets/settings/PrivacyOptionsView.java index 145f38ea3d2..a71fea0e395 100644 --- a/app/src/common/shared/com/igalia/wolvic/ui/widgets/settings/PrivacyOptionsView.java +++ b/app/src/common/shared/com/igalia/wolvic/ui/widgets/settings/PrivacyOptionsView.java @@ -17,6 +17,7 @@ import androidx.databinding.DataBindingUtil; +import com.igalia.wolvic.BuildConfig; import com.igalia.wolvic.R; import com.igalia.wolvic.browser.SettingsStore; import com.igalia.wolvic.browser.api.WRuntime; @@ -32,6 +33,8 @@ import com.igalia.wolvic.utils.DeviceType; import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; class PrivacyOptionsView extends SettingsView { @@ -168,6 +171,12 @@ protected void updateUI() { mWidgetManager.openNewTabForeground(url); exitWholeSettings(); }); + if (BuildConfig.FLAVOR_backend.equals("chromium")) { + String[] trackingProtectionOptions = getResources().getStringArray(R.array.privacy_options_tracking); + List trackingProtectionOptionsList = Arrays.asList(trackingProtectionOptions); + int i = trackingProtectionOptionsList.indexOf(getResources().getString(R.string.privacy_options_tracking_strict)); + mBinding.trackingProtectionRadio.getRadioGroup().getChildAt(i).setVisibility(View.GONE); + } int etpLevel = SettingsStore.getInstance(getContext()).getTrackingProtectionLevel(); mBinding.trackingProtectionRadio.setOnCheckedChangeListener(mTrackingProtectionListener); setTrackingProtection(mBinding.trackingProtectionRadio.getIdForValue(etpLevel), false);