Change the parameter type from ContentResolver to Context
Context is more useful than ContentResolver, it can provide more information if we want to change the behavior in the future. Bug: 172183305 Test: atest FrameworksNetTests Change-Id: I5702c7d74b862a76558b94f1abe2c6df9eb7f097 Merged-In: I5702c7d74b862a76558b94f1abe2c6df9eb7f097
This commit is contained in:
@@ -8,7 +8,7 @@ package android.net {
|
|||||||
public class ConnectivityManager {
|
public class ConnectivityManager {
|
||||||
method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public java.util.List<android.net.NetworkStateSnapshot> getAllNetworkStateSnapshot();
|
method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public java.util.List<android.net.NetworkStateSnapshot> getAllNetworkStateSnapshot();
|
||||||
method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange();
|
method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange();
|
||||||
method @NonNull public static String getPrivateDnsMode(@NonNull android.content.ContentResolver);
|
method @NonNull public static String getPrivateDnsMode(@NonNull android.content.Context);
|
||||||
method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerSystemDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
|
method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerSystemDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
|
||||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void requestBackgroundNetwork(@NonNull android.net.NetworkRequest, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback);
|
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void requestBackgroundNetwork(@NonNull android.net.NetworkRequest, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback);
|
||||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle);
|
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle);
|
||||||
|
|||||||
@@ -5124,7 +5124,8 @@ public class ConnectivityManager {
|
|||||||
/**
|
/**
|
||||||
* Get private DNS mode from settings.
|
* Get private DNS mode from settings.
|
||||||
*
|
*
|
||||||
* @param cr The ContentResolver to query private DNS mode from settings.
|
* @param context The Context to get its ContentResolver to query the private DNS mode from
|
||||||
|
* settings.
|
||||||
* @return A string of private DNS mode as one of the PRIVATE_DNS_MODE_* constants.
|
* @return A string of private DNS mode as one of the PRIVATE_DNS_MODE_* constants.
|
||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
@@ -5132,7 +5133,8 @@ public class ConnectivityManager {
|
|||||||
@SystemApi(client = MODULE_LIBRARIES)
|
@SystemApi(client = MODULE_LIBRARIES)
|
||||||
@NonNull
|
@NonNull
|
||||||
@PrivateDnsMode
|
@PrivateDnsMode
|
||||||
public static String getPrivateDnsMode(@NonNull ContentResolver cr) {
|
public static String getPrivateDnsMode(@NonNull Context context) {
|
||||||
|
final ContentResolver cr = context.getContentResolver();
|
||||||
String mode = Settings.Global.getString(cr, PRIVATE_DNS_MODE);
|
String mode = Settings.Global.getString(cr, PRIVATE_DNS_MODE);
|
||||||
if (TextUtils.isEmpty(mode)) mode = Settings.Global.getString(cr, PRIVATE_DNS_DEFAULT_MODE);
|
if (TextUtils.isEmpty(mode)) mode = Settings.Global.getString(cr, PRIVATE_DNS_DEFAULT_MODE);
|
||||||
// If both PRIVATE_DNS_MODE and PRIVATE_DNS_DEFAULT_MODE are not set, choose
|
// If both PRIVATE_DNS_MODE and PRIVATE_DNS_DEFAULT_MODE are not set, choose
|
||||||
|
|||||||
@@ -127,13 +127,17 @@ public class DnsManager {
|
|||||||
private static final int DNS_RESOLVER_DEFAULT_MIN_SAMPLES = 8;
|
private static final int DNS_RESOLVER_DEFAULT_MIN_SAMPLES = 8;
|
||||||
private static final int DNS_RESOLVER_DEFAULT_MAX_SAMPLES = 64;
|
private static final int DNS_RESOLVER_DEFAULT_MAX_SAMPLES = 64;
|
||||||
|
|
||||||
public static PrivateDnsConfig getPrivateDnsConfig(ContentResolver cr) {
|
/**
|
||||||
final String mode = ConnectivityManager.getPrivateDnsMode(cr);
|
* Get PrivateDnsConfig.
|
||||||
|
*/
|
||||||
|
public static PrivateDnsConfig getPrivateDnsConfig(Context context) {
|
||||||
|
final String mode = ConnectivityManager.getPrivateDnsMode(context);
|
||||||
|
|
||||||
final boolean useTls = !TextUtils.isEmpty(mode) && !PRIVATE_DNS_MODE_OFF.equals(mode);
|
final boolean useTls = !TextUtils.isEmpty(mode) && !PRIVATE_DNS_MODE_OFF.equals(mode);
|
||||||
|
|
||||||
if (PRIVATE_DNS_MODE_PROVIDER_HOSTNAME.equals(mode)) {
|
if (PRIVATE_DNS_MODE_PROVIDER_HOSTNAME.equals(mode)) {
|
||||||
final String specifier = getStringSetting(cr, PRIVATE_DNS_SPECIFIER);
|
final String specifier = getStringSetting(context.getContentResolver(),
|
||||||
|
PRIVATE_DNS_SPECIFIER);
|
||||||
return new PrivateDnsConfig(specifier, null);
|
return new PrivateDnsConfig(specifier, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -268,7 +272,7 @@ public class DnsManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PrivateDnsConfig getPrivateDnsConfig() {
|
public PrivateDnsConfig getPrivateDnsConfig() {
|
||||||
return getPrivateDnsConfig(mContentResolver);
|
return getPrivateDnsConfig(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeNetwork(Network network) {
|
public void removeNetwork(Network network) {
|
||||||
|
|||||||
@@ -312,14 +312,14 @@ public class DnsManagerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testOverrideDefaultMode() throws Exception {
|
public void testOverrideDefaultMode() throws Exception {
|
||||||
// Hard-coded default is opportunistic mode.
|
// Hard-coded default is opportunistic mode.
|
||||||
final PrivateDnsConfig cfgAuto = DnsManager.getPrivateDnsConfig(mContentResolver);
|
final PrivateDnsConfig cfgAuto = DnsManager.getPrivateDnsConfig(mCtx);
|
||||||
assertTrue(cfgAuto.useTls);
|
assertTrue(cfgAuto.useTls);
|
||||||
assertEquals("", cfgAuto.hostname);
|
assertEquals("", cfgAuto.hostname);
|
||||||
assertEquals(new InetAddress[0], cfgAuto.ips);
|
assertEquals(new InetAddress[0], cfgAuto.ips);
|
||||||
|
|
||||||
// Pretend a gservices push sets the default to "off".
|
// Pretend a gservices push sets the default to "off".
|
||||||
Settings.Global.putString(mContentResolver, PRIVATE_DNS_DEFAULT_MODE, "off");
|
Settings.Global.putString(mContentResolver, PRIVATE_DNS_DEFAULT_MODE, "off");
|
||||||
final PrivateDnsConfig cfgOff = DnsManager.getPrivateDnsConfig(mContentResolver);
|
final PrivateDnsConfig cfgOff = DnsManager.getPrivateDnsConfig(mCtx);
|
||||||
assertFalse(cfgOff.useTls);
|
assertFalse(cfgOff.useTls);
|
||||||
assertEquals("", cfgOff.hostname);
|
assertEquals("", cfgOff.hostname);
|
||||||
assertEquals(new InetAddress[0], cfgOff.ips);
|
assertEquals(new InetAddress[0], cfgOff.ips);
|
||||||
@@ -328,7 +328,7 @@ public class DnsManagerTest {
|
|||||||
Settings.Global.putString(
|
Settings.Global.putString(
|
||||||
mContentResolver, PRIVATE_DNS_MODE, PRIVATE_DNS_MODE_PROVIDER_HOSTNAME);
|
mContentResolver, PRIVATE_DNS_MODE, PRIVATE_DNS_MODE_PROVIDER_HOSTNAME);
|
||||||
Settings.Global.putString(mContentResolver, PRIVATE_DNS_SPECIFIER, "strictmode.com");
|
Settings.Global.putString(mContentResolver, PRIVATE_DNS_SPECIFIER, "strictmode.com");
|
||||||
final PrivateDnsConfig cfgStrict = DnsManager.getPrivateDnsConfig(mContentResolver);
|
final PrivateDnsConfig cfgStrict = DnsManager.getPrivateDnsConfig(mCtx);
|
||||||
assertTrue(cfgStrict.useTls);
|
assertTrue(cfgStrict.useTls);
|
||||||
assertEquals("strictmode.com", cfgStrict.hostname);
|
assertEquals("strictmode.com", cfgStrict.hostname);
|
||||||
assertEquals(new InetAddress[0], cfgStrict.ips);
|
assertEquals(new InetAddress[0], cfgStrict.ips);
|
||||||
|
|||||||
Reference in New Issue
Block a user