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

Commit f11e1666 authored by Wentao Wang's avatar Wentao Wang Committed by Automerger Merge Worker
Browse files

Merge "Separate the demo user factory reset option with admin user factory...

Merge "Separate the demo user factory reset option with admin user factory reset option." into udc-qpr-dev am: 38f12abb am: 0d3ae3ed

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



Change-Id: Ie89643b620ee82e4f30ab98ca466f54bd68b8067
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents e3232dac 0d3ae3ed
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -57,5 +57,13 @@
        settings:keywords="@string/keywords_factory_data_reset"
        settings:userRestriction="no_factory_reset"
        settings:useAdminDisabledSummary="true"
        settings:controller="com.android.settings.system.FactoryResetPreferenceController"
        android:fragment="com.android.settings.MainClear" />

    <Preference
        android:key="factory_reset_demo_user"
        android:title="@string/main_clear_title"
        settings:keywords="@string/keywords_factory_data_reset"
        settings:controller="com.android.settings.system.FactoryResetDemoUserPreferenceController"
        android:fragment="com.android.settings.MainClear" />
</PreferenceScreen>
+1 −1
Original line number Diff line number Diff line
@@ -571,7 +571,7 @@ public class MainClear extends InstrumentedFragment implements OnGlobalLayoutLis
                        UserHandle.myUserId());
        if (disallow && !Utils.isDemoUser(context)) {
            return inflater.inflate(R.layout.main_clear_disallowed_screen, null);
        } else if (admin != null) {
        } else if (admin != null && !Utils.isDemoUser(context)) {
            new ActionDisabledByAdminDialogHelper(getActivity())
                    .prepareDialogBuilder(UserManager.DISALLOW_FACTORY_RESET, admin)
                    .setOnDismissListener(__ -> getActivity().finish())
+32 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License
 */
package com.android.settings.system;

import android.content.Context;
import com.android.settings.Utils;

public class FactoryResetDemoUserPreferenceController extends FactoryResetPreferenceController {

    public FactoryResetDemoUserPreferenceController(Context context, String preferenceKey) {
        super(context, preferenceKey);
    }

    /** Hide demo user specific "Factory reset" settings for non demo users. */
    @Override
    public int getAvailabilityStatus() {
        return Utils.isDemoUser(mContext) ? AVAILABLE : DISABLED_FOR_USER;
    }
}
+8 −17
Original line number Diff line number Diff line
@@ -24,35 +24,26 @@ import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.Settings;
import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settings.core.BasePreferenceController;

public class FactoryResetPreferenceController extends AbstractPreferenceController
        implements PreferenceControllerMixin {
    /** Key of the "Factory reset" preference in {@link R.xml.reset_dashboard_fragment}. */
    private static final String KEY_FACTORY_RESET = "factory_reset";
public class FactoryResetPreferenceController extends BasePreferenceController {

    private final UserManager mUm;

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

    /** Hide "Factory reset" settings for secondary users, except demo users. */
    /** Hide "Factory reset" settings for secondary users. */
    @Override
    public boolean isAvailable() {
        return mUm.isAdminUser() || Utils.isDemoUser(mContext);
    }

    @Override
    public String getPreferenceKey() {
        return KEY_FACTORY_RESET;
    public int getAvailabilityStatus() {
        return mUm.isAdminUser() ? AVAILABLE : DISABLED_FOR_USER;
    }

    @Override
    public boolean handlePreferenceTreeClick(Preference preference) {
        if (KEY_FACTORY_RESET.equals(preference.getKey())) {
        if (mPreferenceKey.equals(preference.getKey())) {
            final Intent intent = new Intent(mContext, Settings.FactoryResetActivity.class);
            mContext.startActivity(intent);
            return true;
+0 −1
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ public class ResetDashboardFragment extends DashboardFragment {
        if (SubscriptionUtil.isSimHardwareVisible(context)) {
            controllers.add(new NetworkResetPreferenceController(context));
        }
        controllers.add(new FactoryResetPreferenceController(context));
        controllers.add(new ResetAppPrefPreferenceController(context, lifecycle));
        return controllers;
    }
Loading