Loading src/com/android/settings/network/PrivateDnsModeDialogPreference.java +6 −2 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ 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_OPPORTUNISTIC; import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_PROVIDER_HOSTNAME; Loading Loading @@ -79,8 +80,11 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreference imple static final String HOSTNAME_KEY = Settings.Global.PRIVATE_DNS_SPECIFIER; public static String getModeFromSettings(ContentResolver cr) { final String mode = Settings.Global.getString(cr, MODE_KEY); return PRIVATE_DNS_MAP.containsKey(mode) ? mode : PRIVATE_DNS_MODE_OPPORTUNISTIC; 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) { Loading src/com/android/settings/network/PrivateDnsPreferenceController.java +6 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.settings.network; 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_PROVIDER_HOSTNAME; import static android.provider.Settings.Global.PRIVATE_DNS_DEFAULT_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_SPECIFIER; import android.content.Context; import android.content.ContentResolver; Loading Loading @@ -51,8 +54,9 @@ public class PrivateDnsPreferenceController extends BasePreferenceController private static final String KEY_PRIVATE_DNS_SETTINGS = "private_dns_settings"; private static final Uri[] SETTINGS_URIS = new Uri[]{ Settings.Global.getUriFor(Settings.Global.PRIVATE_DNS_MODE), Settings.Global.getUriFor(Settings.Global.PRIVATE_DNS_SPECIFIER), Settings.Global.getUriFor(PRIVATE_DNS_MODE), Settings.Global.getUriFor(PRIVATE_DNS_DEFAULT_MODE), Settings.Global.getUriFor(PRIVATE_DNS_SPECIFIER), }; private final Handler mHandler; Loading tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java +5 −7 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.network; 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_PROVIDER_HOSTNAME; import static android.provider.Settings.Global.PRIVATE_DNS_MODE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.doReturn; Loading Loading @@ -158,24 +159,21 @@ public class PrivateDnsModeDialogPreferenceTest { public void testOnClick_positiveButtonClicked_saveData() { // Set the default settings to OFF final ContentResolver contentResolver = mContext.getContentResolver(); Settings.Global.putString(contentResolver, Settings.Global.PRIVATE_DNS_MODE, ConnectivityManager.PRIVATE_DNS_MODE_OFF); Settings.Global.putString(contentResolver, PRIVATE_DNS_MODE, PRIVATE_DNS_MODE_OFF); mPreference.mMode = ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC; mPreference.onClick(null, DialogInterface.BUTTON_POSITIVE); // Change to OPPORTUNISTIC assertThat(Settings.Global.getString(contentResolver, Settings.Global.PRIVATE_DNS_MODE)).isEqualTo( ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC); assertThat(Settings.Global.getString(contentResolver, PRIVATE_DNS_MODE)).isEqualTo( PRIVATE_DNS_MODE_OPPORTUNISTIC); } @Test public void testOnClick_negativeButtonClicked_doNothing() { // Set the default settings to OFF final ContentResolver contentResolver = mContext.getContentResolver(); Settings.Global.putString(contentResolver, Settings.Global.PRIVATE_DNS_MODE, ConnectivityManager.PRIVATE_DNS_MODE_OFF); Settings.Global.putString(contentResolver, PRIVATE_DNS_MODE, PRIVATE_DNS_MODE_OFF); mPreference.mMode = ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC; mPreference.onClick(null, DialogInterface.BUTTON_NEGATIVE); Loading tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java +29 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; 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_PROVIDER_HOSTNAME; import static android.provider.Settings.Global.PRIVATE_DNS_DEFAULT_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_SPECIFIER; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -220,6 +221,34 @@ public class PrivateDnsPreferenceControllerTest { getResourceString(R.string.private_dns_mode_provider_failure)); } @Test public void getSummary_PrivateDnsDefaultMode() { // Default mode is opportunistic, unless overridden by a Settings push. setPrivateDnsMode(""); setPrivateDnsProviderHostname(""); mController.updateState(mPreference); verify(mController, atLeastOnce()).getSummary(); verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic)); reset(mController); reset(mPreference); // Pretend an emergency gservices setting has disabled default-opportunistic. Settings.Global.putString(mContentResolver, PRIVATE_DNS_DEFAULT_MODE, PRIVATE_DNS_MODE_OFF); mController.updateState(mPreference); verify(mController, atLeastOnce()).getSummary(); verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_off)); reset(mController); reset(mPreference); // The user interacting with the Private DNS menu, explicitly choosing // opportunistic mode, will be able to use despite the change to the // default setting above. setPrivateDnsMode(PRIVATE_DNS_MODE_OPPORTUNISTIC); mController.updateState(mPreference); verify(mController, atLeastOnce()).getSummary(); verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic)); } private void setPrivateDnsMode(String mode) { Settings.Global.putString(mContentResolver, PRIVATE_DNS_MODE, mode); } Loading Loading
src/com/android/settings/network/PrivateDnsModeDialogPreference.java +6 −2 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ 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_OPPORTUNISTIC; import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_PROVIDER_HOSTNAME; Loading Loading @@ -79,8 +80,11 @@ public class PrivateDnsModeDialogPreference extends CustomDialogPreference imple static final String HOSTNAME_KEY = Settings.Global.PRIVATE_DNS_SPECIFIER; public static String getModeFromSettings(ContentResolver cr) { final String mode = Settings.Global.getString(cr, MODE_KEY); return PRIVATE_DNS_MAP.containsKey(mode) ? mode : PRIVATE_DNS_MODE_OPPORTUNISTIC; 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) { Loading
src/com/android/settings/network/PrivateDnsPreferenceController.java +6 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.settings.network; 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_PROVIDER_HOSTNAME; import static android.provider.Settings.Global.PRIVATE_DNS_DEFAULT_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_SPECIFIER; import android.content.Context; import android.content.ContentResolver; Loading Loading @@ -51,8 +54,9 @@ public class PrivateDnsPreferenceController extends BasePreferenceController private static final String KEY_PRIVATE_DNS_SETTINGS = "private_dns_settings"; private static final Uri[] SETTINGS_URIS = new Uri[]{ Settings.Global.getUriFor(Settings.Global.PRIVATE_DNS_MODE), Settings.Global.getUriFor(Settings.Global.PRIVATE_DNS_SPECIFIER), Settings.Global.getUriFor(PRIVATE_DNS_MODE), Settings.Global.getUriFor(PRIVATE_DNS_DEFAULT_MODE), Settings.Global.getUriFor(PRIVATE_DNS_SPECIFIER), }; private final Handler mHandler; Loading
tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java +5 −7 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.network; 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_PROVIDER_HOSTNAME; import static android.provider.Settings.Global.PRIVATE_DNS_MODE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.doReturn; Loading Loading @@ -158,24 +159,21 @@ public class PrivateDnsModeDialogPreferenceTest { public void testOnClick_positiveButtonClicked_saveData() { // Set the default settings to OFF final ContentResolver contentResolver = mContext.getContentResolver(); Settings.Global.putString(contentResolver, Settings.Global.PRIVATE_DNS_MODE, ConnectivityManager.PRIVATE_DNS_MODE_OFF); Settings.Global.putString(contentResolver, PRIVATE_DNS_MODE, PRIVATE_DNS_MODE_OFF); mPreference.mMode = ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC; mPreference.onClick(null, DialogInterface.BUTTON_POSITIVE); // Change to OPPORTUNISTIC assertThat(Settings.Global.getString(contentResolver, Settings.Global.PRIVATE_DNS_MODE)).isEqualTo( ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC); assertThat(Settings.Global.getString(contentResolver, PRIVATE_DNS_MODE)).isEqualTo( PRIVATE_DNS_MODE_OPPORTUNISTIC); } @Test public void testOnClick_negativeButtonClicked_doNothing() { // Set the default settings to OFF final ContentResolver contentResolver = mContext.getContentResolver(); Settings.Global.putString(contentResolver, Settings.Global.PRIVATE_DNS_MODE, ConnectivityManager.PRIVATE_DNS_MODE_OFF); Settings.Global.putString(contentResolver, PRIVATE_DNS_MODE, PRIVATE_DNS_MODE_OFF); mPreference.mMode = ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC; mPreference.onClick(null, DialogInterface.BUTTON_NEGATIVE); Loading
tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java +29 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; 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_PROVIDER_HOSTNAME; import static android.provider.Settings.Global.PRIVATE_DNS_DEFAULT_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_MODE; import static android.provider.Settings.Global.PRIVATE_DNS_SPECIFIER; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -220,6 +221,34 @@ public class PrivateDnsPreferenceControllerTest { getResourceString(R.string.private_dns_mode_provider_failure)); } @Test public void getSummary_PrivateDnsDefaultMode() { // Default mode is opportunistic, unless overridden by a Settings push. setPrivateDnsMode(""); setPrivateDnsProviderHostname(""); mController.updateState(mPreference); verify(mController, atLeastOnce()).getSummary(); verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic)); reset(mController); reset(mPreference); // Pretend an emergency gservices setting has disabled default-opportunistic. Settings.Global.putString(mContentResolver, PRIVATE_DNS_DEFAULT_MODE, PRIVATE_DNS_MODE_OFF); mController.updateState(mPreference); verify(mController, atLeastOnce()).getSummary(); verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_off)); reset(mController); reset(mPreference); // The user interacting with the Private DNS menu, explicitly choosing // opportunistic mode, will be able to use despite the change to the // default setting above. setPrivateDnsMode(PRIVATE_DNS_MODE_OPPORTUNISTIC); mController.updateState(mPreference); verify(mController, atLeastOnce()).getSummary(); verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic)); } private void setPrivateDnsMode(String mode) { Settings.Global.putString(mContentResolver, PRIVATE_DNS_MODE, mode); } Loading