Merge "[Settings] configuration for hidding SIM remove UI"

This commit is contained in:
Bonian Chen
2022-10-21 13:29:18 +00:00
committed by Android (Google) Code Review
5 changed files with 23 additions and 3 deletions

View File

@@ -63,6 +63,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.ConfirmLockPattern;
import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -375,6 +376,14 @@ public class MainClear extends InstrumentedFragment implements OnGlobalLayoutLis
mScrollView.getViewTreeObserver().addOnGlobalLayoutListener(this);
}
/**
* Whether to show any UI which is SIM related.
*/
@VisibleForTesting
boolean showAnySubscriptionInfo(Context context) {
return (context != null) && SubscriptionUtil.isSimHardwareVisible(context);
}
/**
* Whether to show strings indicating that the eUICC will be wiped.
*
@@ -384,7 +393,7 @@ public class MainClear extends InstrumentedFragment implements OnGlobalLayoutLis
@VisibleForTesting
boolean showWipeEuicc() {
Context context = getContext();
if (!isEuiccEnabled(context)) {
if (!showAnySubscriptionInfo(context) || !isEuiccEnabled(context)) {
return false;
}
ContentResolver cr = context.getContentResolver();

View File

@@ -239,6 +239,9 @@ public class ResetNetwork extends InstrumentedFragment {
}
private List<SubscriptionInfo> getActiveSubscriptionInfoList() {
if (!SubscriptionUtil.isSimHardwareVisible(getActivity())) {
return Collections.emptyList();
}
SubscriptionManager mgr = getActivity().getSystemService(SubscriptionManager.class);
if (mgr == null) {
Log.w(TAG, "No SubscriptionManager");
@@ -264,6 +267,9 @@ public class ResetNetwork extends InstrumentedFragment {
}
private boolean showEuiccSettings(Context context) {
if (!SubscriptionUtil.isSimHardwareVisible(context)) {
return false;
}
EuiccManager euiccManager =
(EuiccManager) context.getSystemService(Context.EUICC_SERVICE);
if (!euiccManager.isEnabled()) {

View File

@@ -51,7 +51,8 @@ public class EraseEuiccDataController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(
return SubscriptionUtil.isSimHardwareVisible(mContext) &&
mContext.getPackageManager().hasSystemFeature(
PackageManager.FEATURE_TELEPHONY_EUICC) ? AVAILABLE_UNSEARCHABLE
: UNSUPPORTED_ON_DEVICE;
}