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

Commit 79ee7bc9 authored by Roy Chou's avatar Roy Chou Committed by Android (Google) Code Review
Browse files

Merge "chore(magnification): remove onResume overrides for controllers in...

Merge "chore(magnification): remove onResume overrides for controllers in ToggleScreenMagnificationPreferenceFragment" into main
parents a6f28338 654e43b2
Loading
Loading
Loading
Loading
+1 −30
Original line number Diff line number Diff line
@@ -22,12 +22,6 @@ import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import android.content.Context;
import android.provider.Settings;

import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.PreferenceScreen;
import androidx.preference.TwoStatePreference;

import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;

@@ -36,15 +30,12 @@ import com.android.settings.core.TogglePreferenceController;
 * feature, where the magnifier will not deactivate on Activity transitions; it will only zoom out
 * to 100%.
 */
public class MagnificationAlwaysOnPreferenceController extends TogglePreferenceController
        implements LifecycleObserver {
public class MagnificationAlwaysOnPreferenceController extends TogglePreferenceController {

    private static final String TAG =
            MagnificationAlwaysOnPreferenceController.class.getSimpleName();
    static final String PREF_KEY = Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED;

    private TwoStatePreference mSwitchPreference;

    public MagnificationAlwaysOnPreferenceController(Context context, String preferenceKey) {
        super(context, preferenceKey);
    }
@@ -71,24 +62,4 @@ public class MagnificationAlwaysOnPreferenceController extends TogglePreferenceC
    public int getSliceHighlightMenuRes() {
        return R.string.menu_key_accessibility;
    }

    @Override
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mSwitchPreference = screen.findPreference(getPreferenceKey());
    }

    // TODO(b/186731461): Remove it when this controller is used in DashBoardFragment only.
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    void onResume() {
        updateState();
    }

    /**
     * Updates the state of preference components which has been displayed by
     * {@link MagnificationAlwaysOnPreferenceController#displayPreference}.
     */
    void updateState() {
        updateState(mSwitchPreference);
    }
}
+1 −30
Original line number Diff line number Diff line
@@ -22,25 +22,16 @@ import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import android.content.Context;
import android.provider.Settings;

import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.PreferenceScreen;
import androidx.preference.TwoStatePreference;

import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;

/** Controller that accesses and switches the preference status of following typing feature */
public class MagnificationFollowTypingPreferenceController extends TogglePreferenceController
        implements LifecycleObserver {
public class MagnificationFollowTypingPreferenceController extends TogglePreferenceController {

    private static final String TAG =
            MagnificationFollowTypingPreferenceController.class.getSimpleName();
    static final String PREF_KEY = "magnification_follow_typing";

    private TwoStatePreference mFollowTypingPreference;

    public MagnificationFollowTypingPreferenceController(Context context, String preferenceKey) {
        super(context, preferenceKey);
    }
@@ -67,24 +58,4 @@ public class MagnificationFollowTypingPreferenceController extends TogglePrefere
    public int getSliceHighlightMenuRes() {
        return R.string.menu_key_accessibility;
    }

    @Override
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mFollowTypingPreference = screen.findPreference(getPreferenceKey());
    }

    // TODO(b/186731461): Remove it when this controller is used in DashBoardFragment only.
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    void onResume() {
        updateState();
    }

    /**
     * Updates the state of preference components which has been displayed by
     * {@link MagnificationFollowTypingPreferenceController#displayPreference}.
     */
    void updateState() {
        updateState(mFollowTypingPreference);
    }
}
+1 −30
Original line number Diff line number Diff line
@@ -22,27 +22,18 @@ import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import android.content.Context;
import android.provider.Settings;

import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.PreferenceScreen;
import androidx.preference.TwoStatePreference;

import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;

/**
 * Controller that accesses and switches the preference status of the magnification joystick feature
 */
public class MagnificationJoystickPreferenceController extends TogglePreferenceController
        implements LifecycleObserver {
public class MagnificationJoystickPreferenceController extends TogglePreferenceController {

    private static final String TAG =
            MagnificationJoystickPreferenceController.class.getSimpleName();
    static final String PREF_KEY = Settings.Secure.ACCESSIBILITY_MAGNIFICATION_JOYSTICK_ENABLED;

    private TwoStatePreference mSwitchPreference;

    public MagnificationJoystickPreferenceController(Context context, String preferenceKey) {
        super(context, preferenceKey);
    }
@@ -69,24 +60,4 @@ public class MagnificationJoystickPreferenceController extends TogglePreferenceC
    public int getSliceHighlightMenuRes() {
        return R.string.menu_key_accessibility;
    }

    @Override
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mSwitchPreference = screen.findPreference(getPreferenceKey());
    }

    // TODO(b/186731461): Remove it when this controller is used in DashBoardFragment only.
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    void onResume() {
        updateState();
    }

    /**
     * Updates the state of preference components which has been displayed by
     * {@link MagnificationJoystickPreferenceController#displayPreference}.
     */
    void updateState() {
        updateState(mSwitchPreference);
    }
}
+1 −8
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ import com.android.settings.core.BasePreferenceController;
import com.android.settings.utils.AnnotationSpan;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnCreate;
import com.android.settingslib.core.lifecycle.events.OnResume;
import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;

import java.util.ArrayList;
@@ -55,7 +54,7 @@ import java.util.List;

/** Controller that shows the magnification area mode summary and the preference click behavior. */
public class MagnificationModePreferenceController extends BasePreferenceController implements
        DialogCreatable, LifecycleObserver, OnCreate, OnResume, OnSaveInstanceState {
        DialogCreatable, LifecycleObserver, OnCreate, OnSaveInstanceState {

    static final String PREF_KEY = "screen_magnification_mode";
    private static final int DIALOG_ID_BASE = 10;
@@ -297,12 +296,6 @@ public class MagnificationModePreferenceController extends BasePreferenceControl
        updateCapabilitiesAndSummary(mModeCache);
    }

    // TODO(b/186731461): Remove it when this controller is used in DashBoardFragment only.
    @Override
    public void onResume() {
        updateState(mModePreference);
    }

    /**
     * An interface to help the delegate to show the dialog. It will be injected to the delegate.
     */
+18 −17
Original line number Diff line number Diff line
@@ -206,22 +206,9 @@ public class ToggleScreenMagnificationPreferenceFragment extends
        magnificationModePreferenceController.setDialogHelper(this);
        getSettingsLifecycle().addObserver(magnificationModePreferenceController);
        magnificationModePreferenceController.displayPreference(getPreferenceScreen());
        addPreferenceController(magnificationModePreferenceController);

        mFollowingTypingSwitchPreference = new SwitchPreferenceCompat(getPrefContext());
        mFollowingTypingSwitchPreference.setTitle(
                R.string.accessibility_screen_magnification_follow_typing_title);
        mFollowingTypingSwitchPreference.setSummary(
                R.string.accessibility_screen_magnification_follow_typing_summary);
        mFollowingTypingSwitchPreference.setKey(
                MagnificationFollowTypingPreferenceController.PREF_KEY);
        generalCategory.addPreference(mFollowingTypingSwitchPreference);

        mFollowTypingPreferenceController = new MagnificationFollowTypingPreferenceController(
                getContext(), MagnificationFollowTypingPreferenceController.PREF_KEY);
        getSettingsLifecycle().addObserver(mFollowTypingPreferenceController);
        mFollowTypingPreferenceController.displayPreference(getPreferenceScreen());
        addPreferenceController(mFollowTypingPreferenceController);

        addFollowTypingSetting(generalCategory);
        addAlwaysOnSetting(generalCategory);
        addJoystickSetting(generalCategory);
    }
@@ -250,6 +237,22 @@ public class ToggleScreenMagnificationPreferenceFragment extends
        super.onProcessArguments(arguments);
    }

    private void addFollowTypingSetting(PreferenceCategory generalCategory) {
        var followTypingSwitchPreference = new SwitchPreferenceCompat(getPrefContext());
        followTypingSwitchPreference.setTitle(
                R.string.accessibility_screen_magnification_follow_typing_title);
        followTypingSwitchPreference.setSummary(
                R.string.accessibility_screen_magnification_follow_typing_summary);
        followTypingSwitchPreference.setKey(
                MagnificationFollowTypingPreferenceController.PREF_KEY);
        generalCategory.addPreference(followTypingSwitchPreference);

        var followTypingPreferenceController = new MagnificationFollowTypingPreferenceController(
                getContext(), MagnificationFollowTypingPreferenceController.PREF_KEY);
        followTypingPreferenceController.displayPreference(getPreferenceScreen());
        addPreferenceController(followTypingPreferenceController);
    }

    private boolean isAlwaysOnSettingEnabled() {
        final boolean defaultValue = getContext().getResources().getBoolean(
                com.android.internal.R.bool.config_magnification_always_on_enabled);
@@ -276,7 +279,6 @@ public class ToggleScreenMagnificationPreferenceFragment extends

        var alwaysOnPreferenceController = new MagnificationAlwaysOnPreferenceController(
                getContext(), MagnificationAlwaysOnPreferenceController.PREF_KEY);
        getSettingsLifecycle().addObserver(alwaysOnPreferenceController);
        alwaysOnPreferenceController.displayPreference(getPreferenceScreen());
        addPreferenceController(alwaysOnPreferenceController);
    }
@@ -304,7 +306,6 @@ public class ToggleScreenMagnificationPreferenceFragment extends
                        getContext(),
                        MagnificationJoystickPreferenceController.PREF_KEY
                );
        getSettingsLifecycle().addObserver(joystickPreferenceController);
        joystickPreferenceController.displayPreference(getPreferenceScreen());
        addPreferenceController(joystickPreferenceController);
    }
Loading