Merge "Protect entry points to add an eSIM when admin restricted" into qt-r1-dev
am: 4685c785b9
Change-Id: I5792ff5333005e2e0c66fd24d594b79bf67d140c
diff --git a/res/xml/mobile_network_list.xml b/res/xml/mobile_network_list.xml
index 13f9a59..01ddb28 100644
--- a/res/xml/mobile_network_list.xml
+++ b/res/xml/mobile_network_list.xml
@@ -20,9 +20,11 @@
android:key="mobile_network_list_screen"
android:title="@string/network_settings_title">
- <Preference
+ <com.android.settingslib.RestrictedPreference
android:key="add_more"
settings:isPreferenceVisible="false"
+ settings:userRestriction="no_config_mobile_networks"
+ settings:useAdminDisabledSummary="true"
android:title="@string/mobile_network_list_add_more"
android:icon="@drawable/ic_menu_add_activated_tint"
android:order="100" >
@@ -30,6 +32,6 @@
<extra android:name="android.telephony.euicc.extra.FORCE_PROVISION"
android:value="true"/>
</intent>
- </Preference>
+ </com.android.settingslib.RestrictedPreference>
</PreferenceScreen>
diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java
index 0f76f24..bd3e2ef 100644
--- a/src/com/android/settings/network/MobileNetworkSummaryController.java
+++ b/src/com/android/settings/network/MobileNetworkSummaryController.java
@@ -130,7 +130,7 @@
}
private void update() {
- if (mPreference == null) {
+ if (mPreference == null || mPreference.isDisabledByAdmin()) {
return;
}
refreshSummary(mPreference);
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
index 99c9134..e24b0f2 100644
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
@@ -42,6 +42,7 @@
import com.android.settings.network.telephony.MobileNetworkActivity;
import com.android.settings.widget.AddPreference;
+import com.android.settingslib.RestrictedLockUtils;
import org.junit.After;
import org.junit.Before;
@@ -373,4 +374,12 @@
verify(mPreference, atLeastOnce()).setAddWidgetEnabled(captor.capture());
assertThat(captor.getValue()).isTrue();
}
+
+ @Test
+ public void onResume_disabledByAdmin_prefStaysDisabled() {
+ mPreference.setDisabledByAdmin(new RestrictedLockUtils.EnforcedAdmin());
+ mController.displayPreference(mPreferenceScreen);
+ mController.onResume();
+ verify(mPreference, never()).setEnabled(eq(true));
+ }
}