Merge "chore(magnification): remove onResume overrides for controllers in ToggleScreenMagnificationPreferenceFragment" into main

This commit is contained in:
Roy Chou
2024-03-05 01:32:33 +00:00
committed by Android (Google) Code Review
10 changed files with 211 additions and 209 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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.
*/

View File

@@ -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);
}