Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2e03475 authored by lucaslin's avatar lucaslin Committed by Lucas Lin
Browse files

Use getPrivateDnsMode() to get the value of private DNS

PRIVATE_DNS_DEFAULT_MODE_FALLBACK has removed, use
ConnectivityManager#getPrivateDnsMode() to get the value of
private DNS instead of querying settings and implementing logic
by itself.

Bug: 172183305
Test: make RunSettingsRoboTests \
      ROBOTEST_FILTER=PrivateDnsPreferenceControllerTest
Test: make RunSettingsRoboTests \
      ROBOTEST_FILTER=PrivateDnsModeDialogPreferenceTest
Change-Id: I024c3ddfb85f4c3d177e2e99294c998d81d4e08d
Merged-In: I024c3ddfb85f4c3d177e2e99294c998d81d4e08d
parent 6b94f5ac
Loading
Loading
Loading
Loading
+2 −10
Original line number Original line Diff line number Diff line
@@ -15,7 +15,6 @@
 */
 */
package com.android.settings.network;
package com.android.settings.network;


import static android.net.ConnectivityManager.PRIVATE_DNS_DEFAULT_MODE_FALLBACK;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OFF;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OFF;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
@@ -28,6 +27,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.os.UserHandle;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.UserManager;
import android.provider.Settings;
import android.provider.Settings;
@@ -84,14 +84,6 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
    @VisibleForTesting
    @VisibleForTesting
    static final String HOSTNAME_KEY = Settings.Global.PRIVATE_DNS_SPECIFIER;
    static final String HOSTNAME_KEY = Settings.Global.PRIVATE_DNS_SPECIFIER;


    public static String getModeFromSettings(ContentResolver cr) {
        String mode = Settings.Global.getString(cr, MODE_KEY);
        if (!PRIVATE_DNS_MAP.containsKey(mode)) {
            mode = Settings.Global.getString(cr, Settings.Global.PRIVATE_DNS_DEFAULT_MODE);
        }
        return PRIVATE_DNS_MAP.containsKey(mode) ? mode : PRIVATE_DNS_DEFAULT_MODE_FALLBACK;
    }

    public static String getHostnameFromSettings(ContentResolver cr) {
    public static String getHostnameFromSettings(ContentResolver cr) {
        return Settings.Global.getString(cr, HOSTNAME_KEY);
        return Settings.Global.getString(cr, HOSTNAME_KEY);
    }
    }
@@ -168,7 +160,7 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat
        final Context context = getContext();
        final Context context = getContext();
        final ContentResolver contentResolver = context.getContentResolver();
        final ContentResolver contentResolver = context.getContentResolver();


        mMode = getModeFromSettings(context.getContentResolver());
        mMode = ConnectivityManager.getPrivateDnsMode(contentResolver);


        mEditText = view.findViewById(R.id.private_dns_mode_provider_hostname);
        mEditText = view.findViewById(R.id.private_dns_mode_provider_hostname);
        mEditText.addTextChangedListener(this);
        mEditText.addTextChangedListener(this);
+1 −1
Original line number Original line Diff line number Diff line
@@ -118,7 +118,7 @@ public class PrivateDnsPreferenceController extends BasePreferenceController
    public CharSequence getSummary() {
    public CharSequence getSummary() {
        final Resources res = mContext.getResources();
        final Resources res = mContext.getResources();
        final ContentResolver cr = mContext.getContentResolver();
        final ContentResolver cr = mContext.getContentResolver();
        final String mode = PrivateDnsModeDialogPreference.getModeFromSettings(cr);
        final String mode = ConnectivityManager.getPrivateDnsMode(cr);
        final LinkProperties lp = mLatestLinkProperties;
        final LinkProperties lp = mLatestLinkProperties;
        final List<InetAddress> dnses = (lp == null) ? null : lp.getValidatedPrivateDnsServers();
        final List<InetAddress> dnses = (lp == null) ? null : lp.getValidatedPrivateDnsServers();
        final boolean dnsesResolved = !ArrayUtils.isEmpty(dnses);
        final boolean dnsesResolved = !ArrayUtils.isEmpty(dnses);