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

Commit 9780020f authored by Roy Chou's avatar Roy Chou
Browse files

chore(magnification suw): create MagnificationFeaturePreferenceController

Add a new abstract class MagnificationFeaturePreferenceController
that extends TogglePreferenceController, to wrap inSetupWizard
setter/getter. Then for magnification feature preference controllers
like alwaysOn or followTyping, they can just check isInSetupWizard to
decide whether hiding in setup wizard.

Besides, in ToggleScreenMagnificationPreferenceFragment we cache a flag
mInSetupWizard when fragment created, so we can pass the info to the
preferece controllers when creating them.

Bug: 340721852
Flag: NONE
Test: build pass
Change-Id: I05c59a766219862117d2a6ede775d68a4c3dedac
parent 2164352e
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.accessibility;

import android.content.Context;

import com.android.settings.core.TogglePreferenceController;

/**
 * A base preference controller of magnification feature with common methods.
 */
public abstract class MagnificationFeaturePreferenceController extends TogglePreferenceController {

    private boolean mInSetupWizard;

    protected MagnificationFeaturePreferenceController(Context context,
            String preferenceKey) {
        super(context, preferenceKey);
    }

    protected final boolean isInSetupWizard() {
        return mInSetupWizard;
    }

    protected final void setInSetupWizard(boolean inSetupWizard) {
        mInSetupWizard = inSetupWizard;
    }
}
+4 −1
Original line number Diff line number Diff line
@@ -92,10 +92,13 @@ public class ToggleScreenMagnificationPreferenceFragment extends
    @Nullable private CheckBox mTwoFingerTripleTapTypeCheckBox;
    private DialogCreatable mDialogDelegate;

    private boolean mInSetupWizard;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActivity().setTitle(R.string.accessibility_screen_magnification_title);
        mInSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
    }

    @Override
@@ -169,7 +172,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
                        .showAccessibilityGestureTutorialDialog(getPrefContext());
            case DialogEnums.MAGNIFICATION_EDIT_SHORTCUT:
                final CharSequence dialogTitle = getShortcutTitle();
                final int dialogType = WizardManagerHelper.isAnySetupWizard(getIntent())
                final int dialogType = mInSetupWizard
                        ? DialogType.EDIT_SHORTCUT_MAGNIFICATION_SUW
                        : DialogType.EDIT_SHORTCUT_MAGNIFICATION;
                mDialog = AccessibilityDialogUtils.showEditShortcutDialog(getPrefContext(),