diff --git a/res/values/config.xml b/res/values/config.xml index 222215671d2..876af371986 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -456,4 +456,7 @@ false + + + false diff --git a/src/com/android/settings/development/EnhancedConnectivityPreferenceController.java b/src/com/android/settings/development/EnhancedConnectivityPreferenceController.java index dc6597384d2..54cfdc630bc 100644 --- a/src/com/android/settings/development/EnhancedConnectivityPreferenceController.java +++ b/src/com/android/settings/development/EnhancedConnectivityPreferenceController.java @@ -23,6 +23,7 @@ import androidx.preference.Preference; import androidx.preference.SwitchPreference; import com.android.internal.annotations.VisibleForTesting; +import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.development.DeveloperOptionsPreferenceController; @@ -70,6 +71,11 @@ public class EnhancedConnectivityPreferenceController extends enhancedConnectivityEnabled == ENHANCED_CONNECTIVITY_ON); } + @Override + public boolean isAvailable() { + return mContext.getResources().getBoolean(R.bool.config_show_enhanced_connectivity); + } + @Override protected void onDeveloperOptionsSwitchDisabled() { super.onDeveloperOptionsSwitchDisabled(); diff --git a/tests/robotests/src/com/android/settings/development/EnhancedConnectivityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/EnhancedConnectivityPreferenceControllerTest.java index 171fc6bc5de..db0b0db2dcc 100644 --- a/tests/robotests/src/com/android/settings/development/EnhancedConnectivityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/EnhancedConnectivityPreferenceControllerTest.java @@ -27,16 +27,19 @@ import android.provider.Settings; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; +import com.android.settings.R; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; @RunWith(RobolectricTestRunner.class) public class EnhancedConnectivityPreferenceControllerTest { - @Mock + @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mContext; @Mock @@ -97,6 +100,29 @@ public class EnhancedConnectivityPreferenceControllerTest { assertThat(isSettingEnabled()).isTrue(); } + @Test + public void isAvailable_enhancedConnectivityShown_shouldReturnTrue() { + enableEnhancedConnectivityPreference(true); + + boolean availability = mController.isAvailable(); + + assertThat(availability).isTrue(); + } + + @Test + public void isAvailable_enhancedConnectivityNotShown_shouldReturnFalse() { + enableEnhancedConnectivityPreference(false); + + boolean availability = mController.isAvailable(); + + assertThat(availability).isFalse(); + } + + private void enableEnhancedConnectivityPreference(boolean enable) { + when(mContext.getResources().getBoolean(R.bool.config_show_enhanced_connectivity)) + .thenReturn(enable); + } + private boolean isSettingEnabled() { return Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.ENHANCED_CONNECTIVITY_ENABLED,