[automerge] Write default accessibility service only when user enter into corresponding page. 2p: 2f2f0e982f

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

Change-Id: Iced39d75bb57ea4cf0ba12b598c8a74193d9d8b1
This commit is contained in:
Presubmit Automerger Backend
2022-04-12 07:12:28 +00:00

View File

@@ -157,7 +157,6 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
}
}
setupDefaultShortcutIfNecessary(getPrefContext());
final int resId = getPreferenceScreenResId();
if (resId <= 0) {
final PreferenceScreen preferenceScreen = getPreferenceManager().createPreferenceScreen(
@@ -226,6 +225,8 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
if (mNeedsQSTooltipReshow) {
getView().post(this::showQuickSettingsTooltipIfNeeded);
}
writeDefaultShortcutTargetServiceToSettingsIfNeeded(getPrefContext());
}
@Override
@@ -792,8 +793,22 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
/**
* Setups a configurable default if the setting has never been set.
*
* TODO(b/228562075): Remove this function when correcting the format in config file
* `config_defaultAccessibilityService`.
*/
private static void setupDefaultShortcutIfNecessary(Context context) {
private void writeDefaultShortcutTargetServiceToSettingsIfNeeded(Context context) {
if (mComponentName == null) {
return;
}
final ComponentName defaultService = ComponentName.unflattenFromString(context.getString(
com.android.internal.R.string.config_defaultAccessibilityService));
// write default accessibility service only when user enter into corresponding page.
if (!mComponentName.equals(defaultService)) {
return;
}
final String targetKey = Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
String targetString = Settings.Secure.getString(context.getContentResolver(), targetKey);
if (!TextUtils.isEmpty(targetString)) {