[Settings] Avoid from Guest user to access UI which requires permission
for changing mobile networi configurations
1. Confirm eSIM deletion should not be accessible by the end user
2. Erase eSIMs UI should should not be accessible by the end user
Bug: 260726944
Test: local
Change-Id: I45792fd451dbdc8a0788922480a7fa51f1267a68
diff --git a/src/com/android/settings/network/EraseEuiccDataController.java b/src/com/android/settings/network/EraseEuiccDataController.java
index 091b6d7..3dc3ab5 100644
--- a/src/com/android/settings/network/EraseEuiccDataController.java
+++ b/src/com/android/settings/network/EraseEuiccDataController.java
@@ -24,6 +24,7 @@
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.network.telephony.MobileNetworkUtils;
import com.android.settings.system.ResetDashboardFragment;
/**
@@ -52,6 +53,7 @@
@Override
public int getAvailabilityStatus() {
return SubscriptionUtil.isSimHardwareVisible(mContext) &&
+ (!MobileNetworkUtils.isMobileNetworkUserRestricted(mContext)) &&
mContext.getPackageManager().hasSystemFeature(
PackageManager.FEATURE_TELEPHONY_EUICC) ? AVAILABLE_UNSEARCHABLE
: UNSUPPORTED_ON_DEVICE;
diff --git a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
index 3bf1563..2712a02 100644
--- a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
+++ b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
@@ -57,7 +57,8 @@
@Override
public int getAvailabilityStatus() {
// hide if eSim is not supported on the device
- return MobileNetworkUtils.showEuiccSettings(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ return (!MobileNetworkUtils.isMobileNetworkUserRestricted(mContext)) &&
+ MobileNetworkUtils.showEuiccSettings(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
private boolean getGlobalState() {