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(
Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS,
mContext.getContentResolver(), mShortcutEnabledObserver, newUserId);
mOneHandedSettingsUtil.registerSettingsKeyObserver(
Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE,
mContext.getContentResolver(), mShortcutEnabledObserver, newUserId);
}
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.
*/
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);
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;
}
/**