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

Commit 5ac6ed8f authored by Christine Franks's avatar Christine Franks Committed by Android (Google) Code Review
Browse files

Merge "Allow factory reset in carrier demo mode"

parents c2ff3b97 1478222c
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -326,11 +326,13 @@ public class MasterClear extends OptionsMenuFragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(
                getActivity(), UserManager.DISALLOW_FACTORY_RESET, UserHandle.myUserId());
        final UserManager um = UserManager.get(getActivity());
        if (!um.isAdminUser() || RestrictedLockUtils.hasBaseUserRestriction(getActivity(),
                UserManager.DISALLOW_FACTORY_RESET, UserHandle.myUserId())) {
        final Context context = getContext();
        final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(context,
                UserManager.DISALLOW_FACTORY_RESET, UserHandle.myUserId());
        final UserManager um = UserManager.get(context);
        final boolean disallow = !um.isAdminUser() || RestrictedLockUtils.hasBaseUserRestriction(
                context, UserManager.DISALLOW_FACTORY_RESET, UserHandle.myUserId());
        if (disallow && !Utils.isCarrierDemoUser(context)) {
            return inflater.inflate(R.layout.master_clear_disallowed_screen, null);
        } else if (admin != null) {
            View view = inflater.inflate(R.layout.admin_support_details_empty_view, null);
+2 −1
Original line number Diff line number Diff line
@@ -968,7 +968,8 @@ public class SettingsActivity extends SettingsDrawerActivity

        // Enable/disable backup settings depending on whether the user is admin.
        setTileEnabled(new ComponentName(packageName,
                BackupSettingsActivity.class.getName()), true, isAdmin);
                BackupSettingsActivity.class.getName()), true,
                isAdmin || Utils.isCarrierDemoUser(this));
        setTileEnabled(new ComponentName(packageName,
                "com.android.settings.BackupResetDashboardAlias"), true, isAdmin);

+9 −0
Original line number Diff line number Diff line
@@ -1245,4 +1245,13 @@ public final class Utils extends com.android.settingslib.Utils {
        }
    }

    public static boolean isCarrierDemoUser(Context context) {
        final String carrierDemoModeSetting =
                context.getString(com.android.internal.R.string.config_carrierDemoModeSetting);
        return UserManager.isDeviceInDemoMode(context)
                && getUserManager(context).isDemoUser()
                && !TextUtils.isEmpty(carrierDemoModeSetting)
                && (Settings.Secure.getInt(context.getContentResolver(),
                        carrierDemoModeSetting, 0) == 1);
    }
}