[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
This commit is contained in:
Bonian Chen
2023-02-12 14:14:50 +00:00
parent 6f76d5dc91
commit 6fa898d709
2 changed files with 4 additions and 1 deletions

View File

@@ -24,6 +24,7 @@ import androidx.preference.Preference;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.network.telephony.MobileNetworkUtils;
import com.android.settings.system.ResetDashboardFragment; import com.android.settings.system.ResetDashboardFragment;
/** /**
@@ -52,6 +53,7 @@ public class EraseEuiccDataController extends BasePreferenceController {
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return SubscriptionUtil.isSimHardwareVisible(mContext) && return SubscriptionUtil.isSimHardwareVisible(mContext) &&
(!MobileNetworkUtils.isMobileNetworkUserRestricted(mContext)) &&
mContext.getPackageManager().hasSystemFeature( mContext.getPackageManager().hasSystemFeature(
PackageManager.FEATURE_TELEPHONY_EUICC) ? AVAILABLE_UNSEARCHABLE PackageManager.FEATURE_TELEPHONY_EUICC) ? AVAILABLE_UNSEARCHABLE
: UNSUPPORTED_ON_DEVICE; : UNSUPPORTED_ON_DEVICE;

View File

@@ -57,7 +57,8 @@ public class ConfirmSimDeletionPreferenceController extends BasePreferenceContro
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
// hide if eSim is not supported on the device // 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() { private boolean getGlobalState() {