Settings: Add more DNS providers
Co-authored-by: Hưng Phan <phandinhhungvp2001@gmail.com> Co-authored-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This commit is contained in:
@@ -45,6 +45,18 @@
|
||||
android:id="@+id/private_dns_mode_adguard"
|
||||
layout="@layout/preference_widget_dialog_radiobutton"/>
|
||||
|
||||
<include
|
||||
android:id="@+id/private_dns_mode_open_dns"
|
||||
layout="@layout/preference_widget_dialog_radiobutton"/>
|
||||
|
||||
<include
|
||||
android:id="@+id/private_dns_mode_cleanbrowsing"
|
||||
layout="@layout/preference_widget_dialog_radiobutton"/>
|
||||
|
||||
<include
|
||||
android:id="@+id/private_dns_mode_quad9"
|
||||
layout="@layout/preference_widget_dialog_radiobutton"/>
|
||||
|
||||
<include
|
||||
android:id="@+id/private_dns_mode_opportunistic"
|
||||
layout="@layout/preference_widget_dialog_radiobutton"/>
|
||||
|
||||
@@ -32,4 +32,19 @@
|
||||
<string name="private_dns_mode_adguard" translatable="false">AdGuard DNS</string>
|
||||
<!-- AdGuard DNS hostname -->
|
||||
<string name="private_dns_hostname_adguard" translatable="false">dns.adguard.com</string>
|
||||
|
||||
<!-- Open DNS Option -->
|
||||
<string name="private_dns_mode_open_dns" translatable="false">Open DNS</string>
|
||||
<!-- Open DNS hostname -->
|
||||
<string name="private_dns_hostname_open_dns" translatable="false">dns.opendns.com</string>
|
||||
|
||||
<!-- Cleanbrowsing DNS Option -->
|
||||
<string name="private_dns_mode_cleanbrowsing" translatable="false">Cleanbrowsing DNS</string>
|
||||
<!-- Cleanbrowsing DNS hostname -->
|
||||
<string name="private_dns_hostname_cleanbrowsing" translatable="false">security-filter-dns.cleanbrowsing.org</string>
|
||||
|
||||
<!-- Quad9 DNS Option -->
|
||||
<string name="private_dns_mode_quad9" translatable="false">Quad9 DNS</string>
|
||||
<!-- Quad9 DNS hostname -->
|
||||
<string name="private_dns_hostname_quad9" translatable="false">dns.quad9.net</string>
|
||||
</resources>
|
||||
|
||||
@@ -74,12 +74,18 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
|
||||
// Only used in Settings, update on additions to ConnectivitySettingsUtils
|
||||
private static final int PRIVATE_DNS_MODE_CLOUDFLARE = 4;
|
||||
private static final int PRIVATE_DNS_MODE_ADGUARD = 5;
|
||||
private static final int PRIVATE_DNS_MODE_OPEN_DNS = 6;
|
||||
private static final int PRIVATE_DNS_MODE_CLEANBROWSING = 7;
|
||||
private static final int PRIVATE_DNS_MODE_QUAD9 = 8;
|
||||
|
||||
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_OPEN_DNS, R.id.private_dns_mode_open_dns);
|
||||
PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_CLEANBROWSING, R.id.private_dns_mode_cleanbrowsing);
|
||||
PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_QUAD9, R.id.private_dns_mode_quad9);
|
||||
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);
|
||||
}
|
||||
@@ -149,10 +155,22 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
|
||||
context.getString(R.string.private_dns_hostname_cloudflare);
|
||||
final String adguardHostname =
|
||||
context.getString(R.string.private_dns_hostname_adguard);
|
||||
final String opendnsHostname =
|
||||
context.getString(R.string.private_dns_hostname_open_dns);
|
||||
final String cleanbrowsingHostname =
|
||||
context.getString(R.string.private_dns_hostname_cleanbrowsing);
|
||||
final String quad9Hostname =
|
||||
context.getString(R.string.private_dns_hostname_quad9);
|
||||
if (privateDnsHostname.equals(cloudflareHostname)) {
|
||||
mMode = PRIVATE_DNS_MODE_CLOUDFLARE;
|
||||
} else if (privateDnsHostname.equals(adguardHostname)) {
|
||||
mMode = PRIVATE_DNS_MODE_ADGUARD;
|
||||
} else if (privateDnsHostname.equals(opendnsHostname)) {
|
||||
mMode = PRIVATE_DNS_MODE_OPEN_DNS;
|
||||
} else if (privateDnsHostname.equals(cleanbrowsingHostname)) {
|
||||
mMode = PRIVATE_DNS_MODE_CLEANBROWSING;
|
||||
} else if (privateDnsHostname.equals(quad9Hostname)) {
|
||||
mMode = PRIVATE_DNS_MODE_QUAD9;
|
||||
}
|
||||
}
|
||||
mRadioGroup = view.findViewById(R.id.private_dns_radio_group);
|
||||
@@ -168,6 +186,15 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
|
||||
final RadioButton adguardRadioButton =
|
||||
view.findViewById(R.id.private_dns_mode_adguard);
|
||||
adguardRadioButton.setText(R.string.private_dns_mode_adguard);
|
||||
final RadioButton opendnsRadioButton =
|
||||
view.findViewById(R.id.private_dns_mode_open_dns);
|
||||
opendnsRadioButton.setText(R.string.private_dns_mode_open_dns);
|
||||
final RadioButton cleanbrowsingRadioButton =
|
||||
view.findViewById(R.id.private_dns_mode_cleanbrowsing);
|
||||
cleanbrowsingRadioButton.setText(R.string.private_dns_mode_cleanbrowsing);
|
||||
final RadioButton quad9RadioButton =
|
||||
view.findViewById(R.id.private_dns_mode_quad9);
|
||||
quad9RadioButton.setText(R.string.private_dns_mode_quad9);
|
||||
final RadioButton opportunisticRadioButton =
|
||||
view.findViewById(R.id.private_dns_mode_opportunistic);
|
||||
opportunisticRadioButton.setText(
|
||||
@@ -207,6 +234,12 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
|
||||
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_open_dns) {
|
||||
mMode = PRIVATE_DNS_MODE_OPEN_DNS;
|
||||
} else if (checkedId == R.id.private_dns_mode_cleanbrowsing) {
|
||||
mMode = PRIVATE_DNS_MODE_CLEANBROWSING;
|
||||
} else if (checkedId == R.id.private_dns_mode_quad9) {
|
||||
mMode = PRIVATE_DNS_MODE_QUAD9;
|
||||
} else if (checkedId == R.id.private_dns_mode_opportunistic) {
|
||||
mMode = PRIVATE_DNS_MODE_OPPORTUNISTIC;
|
||||
} else if (checkedId == R.id.private_dns_mode_provider) {
|
||||
@@ -307,6 +340,21 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
|
||||
context.getString(R.string.private_dns_hostname_adguard);
|
||||
ConnectivitySettingsManager.setPrivateDnsHostname(context, adguardHostname);
|
||||
modeToSet = PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
|
||||
} else if (mMode == PRIVATE_DNS_MODE_OPEN_DNS) {
|
||||
final String opendnsHostname =
|
||||
context.getString(R.string.private_dns_hostname_open_dns);
|
||||
ConnectivitySettingsManager.setPrivateDnsHostname(context, opendnsHostname);
|
||||
modeToSet = PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
|
||||
} else if (mMode == PRIVATE_DNS_MODE_CLEANBROWSING) {
|
||||
final String cleanbrowsingHostname =
|
||||
context.getString(R.string.private_dns_hostname_cleanbrowsing);
|
||||
ConnectivitySettingsManager.setPrivateDnsHostname(context, cleanbrowsingHostname);
|
||||
modeToSet = PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
|
||||
} else if (mMode == PRIVATE_DNS_MODE_QUAD9) {
|
||||
final String quad9Hostname =
|
||||
context.getString(R.string.private_dns_hostname_quad9);
|
||||
ConnectivitySettingsManager.setPrivateDnsHostname(context, quad9Hostname);
|
||||
modeToSet = PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
|
||||
}
|
||||
|
||||
ConnectivitySettingsManager.setPrivateDnsMode(context, modeToSet);
|
||||
|
||||
@@ -68,6 +68,9 @@ public class PrivateDnsPreferenceController extends BasePreferenceController
|
||||
// Only used in Settings, update on additions to ConnectivitySettingsUtils
|
||||
private static final int PRIVATE_DNS_MODE_CLOUDFLARE = 4;
|
||||
private static final int PRIVATE_DNS_MODE_ADGUARD = 5;
|
||||
private static final int PRIVATE_DNS_MODE_OPEN_DNS = 6;
|
||||
private static final int PRIVATE_DNS_MODE_CLEANBROWSING = 7;
|
||||
private static final int PRIVATE_DNS_MODE_QUAD9 = 8;
|
||||
|
||||
private final Handler mHandler;
|
||||
private final ContentObserver mSettingsObserver;
|
||||
@@ -135,6 +138,9 @@ public class PrivateDnsPreferenceController extends BasePreferenceController
|
||||
return res.getString(com.android.settingslib.R.string.private_dns_mode_off);
|
||||
case PRIVATE_DNS_MODE_CLOUDFLARE:
|
||||
case PRIVATE_DNS_MODE_ADGUARD:
|
||||
case PRIVATE_DNS_MODE_OPEN_DNS:
|
||||
case PRIVATE_DNS_MODE_CLEANBROWSING:
|
||||
case PRIVATE_DNS_MODE_QUAD9:
|
||||
case PRIVATE_DNS_MODE_OPPORTUNISTIC:
|
||||
return dnsesResolved ? res.getString(R.string.private_dns_mode_on)
|
||||
: res.getString(
|
||||
@@ -150,10 +156,22 @@ public class PrivateDnsPreferenceController extends BasePreferenceController
|
||||
res.getString(R.string.private_dns_hostname_cloudflare);
|
||||
final String adguardHostname =
|
||||
res.getString(R.string.private_dns_hostname_adguard);
|
||||
final String opendnsHostname =
|
||||
res.getString(R.string.private_dns_hostname_open_dns);
|
||||
final String cleanbrowsingHostname =
|
||||
res.getString(R.string.private_dns_hostname_cleanbrowsing);
|
||||
final String quad9Hostname =
|
||||
res.getString(R.string.private_dns_hostname_quad9);
|
||||
if (privateDnsHostname.equals(cloudflareHostname)) {
|
||||
return res.getString(R.string.private_dns_mode_cloudflare);
|
||||
} else if (privateDnsHostname.equals(adguardHostname)) {
|
||||
return res.getString(R.string.private_dns_mode_adguard);
|
||||
} else if (privateDnsHostname.equals(opendnsHostname)) {
|
||||
return res.getString(R.string.private_dns_mode_open_dns);
|
||||
} else if (privateDnsHostname.equals(cleanbrowsingHostname)) {
|
||||
return res.getString(R.string.private_dns_mode_cleanbrowsing);
|
||||
} else if (privateDnsHostname.equals(quad9Hostname)) {
|
||||
return res.getString(R.string.private_dns_mode_quad9);
|
||||
}
|
||||
return privateDnsHostname;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user