Merge "Fix the description of one-handed mode doesn't change immediately in Gestures page after users turn on/off in Quick Settings" into tm-dev am: a72b9398fb am: be39eb0ad1 am: dfd4ecad02

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

Change-Id: I8d9a525010599ba4bcd537ebdfc7f7fbead6d994
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-04-27 01:18:48 +00:00
committed by Automerger Merge Worker

View File

@@ -17,17 +17,29 @@
package com.android.settings.gestures;
import android.content.Context;
import android.net.Uri;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
/**
* Preference controller for One-handed mode shortcut settings
*/
public class OneHandedEnablePreferenceController extends BasePreferenceController {
public class OneHandedEnablePreferenceController extends BasePreferenceController
implements OneHandedSettingsUtils.TogglesCallback, LifecycleObserver, OnStart, OnStop {
private final OneHandedSettingsUtils mUtils;
private Preference mPreference;
public OneHandedEnablePreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
mUtils = new OneHandedSettingsUtils(context);
}
@Override
@@ -41,4 +53,30 @@ public class OneHandedEnablePreferenceController extends BasePreferenceControlle
OneHandedSettingsUtils.isOneHandedModeEnabled(mContext)
? R.string.gesture_setting_on : R.string.gesture_setting_off);
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(getPreferenceKey());
}
@Override
public void onStart() {
mUtils.registerToggleAwareObserver(this);
}
@Override
public void onStop() {
mUtils.unregisterToggleAwareObserver();
}
@Override
public void onChange(Uri uri) {
if (mPreference == null) {
return;
}
if (uri.equals(OneHandedSettingsUtils.ONE_HANDED_MODE_ENABLED_URI)) {
refreshSummary(mPreference);
}
}
}