From 183b0e714d55138815d4dda229f5a8d19e4df039 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sun, 8 Feb 2026 16:56:48 +0000 Subject: [PATCH] Garmin: Display blocked internet domains --- .../devices/garmin/GarminCoordinator.java | 1 + .../garmin/GarminSettingsCustomizer.java | 19 +++++++++++++++++++ app/src/main/res/values/strings.xml | 2 ++ ..._internet_firewall_blacklisted_domains.xml | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 app/src/main/res/xml/devicesettings_device_internet_firewall_blacklisted_domains.xml diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/GarminCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/GarminCoordinator.java index 5ba80ad863..26f338855c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/GarminCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/GarminCoordinator.java @@ -287,6 +287,7 @@ public abstract class GarminCoordinator extends AbstractBLEDeviceCoordinator { final List internet = deviceSpecificSettings.addRootScreen(DeviceSpecificSettingsScreen.INTERNET); internet.add(R.xml.devicesettings_device_internet_access); internet.add(R.xml.devicesettings_device_internet_firewall); + internet.add(R.xml.devicesettings_device_internet_firewall_blacklisted_domains); } final List developer = deviceSpecificSettings.addRootScreen(DeviceSpecificSettingsScreen.DEVELOPER); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/GarminSettingsCustomizer.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/GarminSettingsCustomizer.java index 746a39738b..b5d47b8438 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/GarminSettingsCustomizer.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/GarminSettingsCustomizer.java @@ -228,6 +228,25 @@ public class GarminSettingsCustomizer implements DeviceSpecificSettingsCustomize prefAgpsHeader.addPreference(prefUpdateTime); } } + + final PreferenceCategory blacklistedDomains = handler.findPreference("pref_category_internet_firewall_blacklisted_domains"); + if (blacklistedDomains != null) { + final Preference url1 = new Preference(handler.getContext()); + url1.setKey("pref_blacklisted_url_garmin_com"); + url1.setPersistent(false); + url1.setSelectable(false); + url1.setIcon(R.drawable.ic_block); + url1.setSummary("garmin.com"); + blacklistedDomains.addPreference(url1); + + final Preference url2 = new Preference(handler.getContext()); + url2.setKey("pref_blacklisted_url_dciwx_com"); + url2.setPersistent(false); + url2.setSelectable(false); + url2.setIcon(R.drawable.ic_block); + url2.setSummary("dciwx.com"); + blacklistedDomains.addPreference(url2); + } } private void selectAgpsFile(final DeviceSpecificSettingsHandler handler, final Prefs prefs, final String url, final Preference prefLocalFile) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 94e6483740..11dbe6166f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4549,6 +4549,8 @@ No domain rules found. Default action: %s Add domain Edit domain + Blocked domains + The following domains and all their subdomains will ignore the setting above and always be blocked. Download failed, wrong content-type: %1$s Download failed: %1$s Fetching app info failed, wrong content-type: %1$s diff --git a/app/src/main/res/xml/devicesettings_device_internet_firewall_blacklisted_domains.xml b/app/src/main/res/xml/devicesettings_device_internet_firewall_blacklisted_domains.xml new file mode 100644 index 0000000000..264e5d53bb --- /dev/null +++ b/app/src/main/res/xml/devicesettings_device_internet_firewall_blacklisted_domains.xml @@ -0,0 +1,16 @@ + + + + + + +