Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c200d097 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Only allow clearing of Euicc Data by owner or demo user" into main am:...

Merge "Only allow clearing of Euicc Data by owner or demo user" into main am: f1cbe74e am: ad49e33f

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2264402



Change-Id: I46d8bdaac17ed33fffedeefbfbfc01e1aa1b145c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents a00e9399 ad49e33f
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -18,10 +18,12 @@ package com.android.settings.network;

import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import android.text.TextUtils;

import androidx.preference.Preference;

import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.network.telephony.MobileNetworkUtils;
@@ -33,8 +35,11 @@ import com.android.settings.system.ResetDashboardFragment;
public class EraseEuiccDataController extends BasePreferenceController {
    private ResetDashboardFragment mHostFragment;

    private final UserManager mUm;

    public EraseEuiccDataController(Context context, String preferenceKey) {
        super(context, preferenceKey);
        mUm = context.getSystemService(UserManager.class);
    }

    public void setFragment(ResetDashboardFragment hostFragment) {
@@ -52,10 +57,12 @@ public class EraseEuiccDataController extends BasePreferenceController {

    @Override
    public int getAvailabilityStatus() {
        return SubscriptionUtil.isSimHardwareVisible(mContext) &&
                (!MobileNetworkUtils.isMobileNetworkUserRestricted(mContext)) &&
                mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_TELEPHONY_EUICC) ? AVAILABLE_UNSEARCHABLE
                : UNSUPPORTED_ON_DEVICE;
        boolean isAllowedUser = (mUm.isAdminUser() || Utils.isDemoUser(mContext))
                && !MobileNetworkUtils.isMobileNetworkUserRestricted(mContext);
        boolean hasEuiccFeature = mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_TELEPHONY_EUICC);
        return SubscriptionUtil.isSimHardwareVisible(mContext)
                && isAllowedUser
                && hasEuiccFeature ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
    }
}