From 0e9c157c36f9ef7f085bb13638908531adc81309 Mon Sep 17 00:00:00 2001 From: David Jacobo Date: Fri, 5 May 2023 19:51:35 -0700 Subject: [PATCH] Add flag to control Internet preference This CL adds a flag named config_show_internet_settings so access to Internet preference can be easily customized as Wi-fi preference was in the past, this level of customization was lost when Internet preference was introduced here ag/13053253. Bug: 271203982 Test: make -j32 Settings Test: atest -c InternetPreferenceControllerTest (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:0af54a1d3cfa26ba5f23b5d8c74ade2bb582f76f) Merged-In: Iaf9a18f9389be089304d11bd3206d6917ab85124 Change-Id: Iaf9a18f9389be089304d11bd3206d6917ab85124 --- res/values/config.xml | 3 +++ .../settings/network/InternetPreferenceController.java | 2 +- .../android/settings/network/NetworkProviderSettings.java | 6 ++++++ .../settings/network/InternetPreferenceControllerTest.java | 6 ++++-- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/res/values/config.xml b/res/values/config.xml index e3d8e7dd8ba..fad7acc0869 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -387,6 +387,9 @@ true + + true + true diff --git a/src/com/android/settings/network/InternetPreferenceController.java b/src/com/android/settings/network/InternetPreferenceController.java index 1f5042fc917..aed44d531e5 100644 --- a/src/com/android/settings/network/InternetPreferenceController.java +++ b/src/com/android/settings/network/InternetPreferenceController.java @@ -180,7 +180,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i @Override public boolean isAvailable() { - return true; + return mContext.getResources().getBoolean(R.bool.config_show_internet_settings); } @Override diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java index 0bc426c9887..5c639ed4580 100644 --- a/src/com/android/settings/network/NetworkProviderSettings.java +++ b/src/com/android/settings/network/NetworkProviderSettings.java @@ -295,6 +295,12 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); + final Context context = getContext(); + if (context != null && !context.getResources().getBoolean( + R.bool.config_show_internet_settings)) { + finish(); + return; + } mAirplaneModeEnabler = new AirplaneModeEnabler(getContext(), this); // TODO(b/37429702): Add animations and preference comparator back after initial screen is diff --git a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java index 4ba12cbd769..8a4acd28f38 100644 --- a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java @@ -49,6 +49,7 @@ import androidx.test.annotation.UiThreadTest; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.android.settings.R; import com.android.settings.testutils.ResourcesUtils; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settings.wifi.WifiSummaryUpdater; @@ -188,8 +189,9 @@ public class InternetPreferenceControllerTest { } @Test - public void isAvailable_shouldBeTrue() { - assertThat(mController.isAvailable()).isTrue(); + public void isAvailable_shouldMatchPrefFlag() { + assertThat(mController.isAvailable()).isEqualTo( + mContext.getResources().getBoolean(R.bool.config_show_internet_settings)); } @Test