Merge "Fix OHM H/W key shortcut dosn't work appropriately" into sc-qpr1-dev

This commit is contained in:
TreeHugger Robot
2021-09-16 00:40:58 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 2 deletions

View File

@@ -445,6 +445,9 @@ public class OneHandedController implements RemoteCallable<OneHandedController>
mOneHandedSettingsUtil.registerSettingsKeyObserver( mOneHandedSettingsUtil.registerSettingsKeyObserver(
Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS,
mContext.getContentResolver(), mShortcutEnabledObserver, newUserId); mContext.getContentResolver(), mShortcutEnabledObserver, newUserId);
mOneHandedSettingsUtil.registerSettingsKeyObserver(
Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE,
mContext.getContentResolver(), mShortcutEnabledObserver, newUserId);
} }
private void unregisterSettingObservers() { private void unregisterSettingObservers() {

View File

@@ -171,9 +171,22 @@ public final class OneHandedSettingsUtil {
* @return true if user enabled one-handed shortcut in settings, false otherwise. * @return true if user enabled one-handed shortcut in settings, false otherwise.
*/ */
public boolean getShortcutEnabled(ContentResolver resolver, int userId) { public boolean getShortcutEnabled(ContentResolver resolver, int userId) {
final String targets = Settings.Secure.getStringForUser(resolver, // Checks SOFTWARE_SHORTCUT_KEY
final String targetsSwKey = Settings.Secure.getStringForUser(resolver,
Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, userId); Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, userId);
return TextUtils.isEmpty(targets) ? false : targets.contains(ONE_HANDED_MODE_TARGET_NAME); if (!TextUtils.isEmpty(targetsSwKey) && targetsSwKey.contains(
ONE_HANDED_MODE_TARGET_NAME)) {
return true;
}
// Checks HARDWARE_SHORTCUT_KEY
final String targetsHwKey = Settings.Secure.getStringForUser(resolver,
Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE, userId);
if (!TextUtils.isEmpty(targetsHwKey) && targetsHwKey.contains(
ONE_HANDED_MODE_TARGET_NAME)) {
return true;
}
return false;
} }
/** /**