From 6e86debd1176052ceb167578df6ec9845c5f0ae1 Mon Sep 17 00:00:00 2001 From: Adam Lawson Date: Tue, 4 Jan 2022 08:45:51 +0000 Subject: [PATCH] Settings: Add AdGuard DNS as a private DNS Provider Change-Id: Ieeff83515a273dd5ec06c853bcd0d5e4b51e0bc3 --- res/layout/private_dns_mode_dialog.xml | 4 ++++ res/values/strings.xml | 6 ++++++ .../settings/network/PrivateDnsModeDialogPreference.java | 7 +++++++ .../settings/network/PrivateDnsPreferenceController.java | 5 +++++ 4 files changed, 22 insertions(+) diff --git a/res/layout/private_dns_mode_dialog.xml b/res/layout/private_dns_mode_dialog.xml index 7c765d5a22f9..347463b8d3d0 100644 --- a/res/layout/private_dns_mode_dialog.xml +++ b/res/layout/private_dns_mode_dialog.xml @@ -39,6 +39,10 @@ android:id="@+id/private_dns_mode_cloudflare" layout="@layout/preference_widget_dialog_radiobutton"/> + + diff --git a/res/values/strings.xml b/res/values/strings.xml index f28d9e985ed7..5292fb02d881 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -13645,4 +13645,10 @@ Don\u2019t connect Connect + + + Cloudflare DNS + + + AdGuard DNS diff --git a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java index e7ea036ef00e..f878c6a0d15a 100644 --- a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java +++ b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java @@ -74,11 +74,13 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat // Must match ConnectivitySettingsUtils private static final int PRIVATE_DNS_MODE_CLOUDFLARE = 4; + private static final int PRIVATE_DNS_MODE_ADGUARD = 5; static { PRIVATE_DNS_MAP = new HashMap<>(); PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_OFF, R.id.private_dns_mode_off); PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_CLOUDFLARE, R.id.private_dns_mode_cloudflare); + PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_ADGUARD, R.id.private_dns_mode_adguard); PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_OPPORTUNISTIC, R.id.private_dns_mode_opportunistic); PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_PROVIDER_HOSTNAME, R.id.private_dns_mode_provider); } @@ -180,6 +182,9 @@ protected void onBindDialogView(View view) { final RadioButton cloudflareRadioButton = view.findViewById(R.id.private_dns_mode_cloudflare); cloudflareRadioButton.setText(R.string.private_dns_mode_cloudflare); + final RadioButton adguardRadioButton = + view.findViewById(R.id.private_dns_mode_adguard); + adguardRadioButton.setText(R.string.private_dns_mode_adguard); final RadioButton opportunisticRadioButton = view.findViewById(R.id.private_dns_mode_opportunistic); opportunisticRadioButton.setText(R.string.private_dns_mode_opportunistic); @@ -221,6 +226,8 @@ public void onCheckedChanged(RadioGroup group, int checkedId) { mMode = PRIVATE_DNS_MODE_OFF; } else if (checkedId == R.id.private_dns_mode_cloudflare) { mMode = PRIVATE_DNS_MODE_CLOUDFLARE; + } else if (checkedId == R.id.private_dns_mode_adguard) { + mMode = PRIVATE_DNS_MODE_ADGUARD; } else if (checkedId == R.id.private_dns_mode_opportunistic) { mMode = PRIVATE_DNS_MODE_OPPORTUNISTIC; } else if (checkedId == R.id.private_dns_mode_provider) { diff --git a/src/com/android/settings/network/PrivateDnsPreferenceController.java b/src/com/android/settings/network/PrivateDnsPreferenceController.java index 1d38fb767c55..7909b365a99a 100644 --- a/src/com/android/settings/network/PrivateDnsPreferenceController.java +++ b/src/com/android/settings/network/PrivateDnsPreferenceController.java @@ -67,6 +67,7 @@ public class PrivateDnsPreferenceController extends BasePreferenceController // Must match ConnectivitySettingsUtils private static final int PRIVATE_DNS_MODE_CLOUDFLARE = 4; + private static final int PRIVATE_DNS_MODE_ADGUARD = 5; private final Handler mHandler; private final ContentObserver mSettingsObserver; @@ -136,6 +137,10 @@ public CharSequence getSummary() { return dnsesResolved ? res.getString(R.string.private_dns_mode_cloudflare) : res.getString(R.string.private_dns_mode_provider_failure); + case PRIVATE_DNS_MODE_ADGUARD: + return dnsesResolved + ? res.getString(R.string.private_dns_mode_adguard) + : res.getString(R.string.private_dns_mode_provider_failure); case PRIVATE_DNS_MODE_OPPORTUNISTIC: return dnsesResolved ? res.getString(R.string.private_dns_mode_on) : res.getString(R.string.private_dns_mode_opportunistic);