Accessibility shortcut primary action - implement launched type fragment.

Bug: 142531433
Test: make RunSettingsRoboTests
Change-Id: I444bcc921b2a05483e508934c6f0b90b2cc53421
This commit is contained in:
jasonwshsu
2020-02-18 02:37:10 +08:00
parent b67d873372
commit db883712c3
4 changed files with 144 additions and 13 deletions

View File

@@ -59,6 +59,8 @@ public class ToggleAccessibilityServicePreferenceFragment extends
private LockPatternUtils mLockPatternUtils;
private AtomicBoolean mIsDialogShown = new AtomicBoolean(/* initialValue= */ false);
private static final String EMPTY_STRING = "";
private final SettingsContentObserver mSettingsContentObserver =
new SettingsContentObserver(new Handler()) {
@Override
@@ -84,7 +86,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLockPatternUtils = new LockPatternUtils(getActivity());
mLockPatternUtils = new LockPatternUtils(getPrefContext());
}
@Override
@@ -105,11 +107,11 @@ public class ToggleAccessibilityServicePreferenceFragment extends
// example, before JellyBean MR2 the user was granting the explore by touch
// one.
private AccessibilityServiceInfo getAccessibilityServiceInfo() {
List<AccessibilityServiceInfo> serviceInfos = AccessibilityManager.getInstance(
getActivity()).getInstalledAccessibilityServiceList();
final int serviceInfoCount = serviceInfos.size();
for (int i = 0; i < serviceInfoCount; i++) {
AccessibilityServiceInfo serviceInfo = serviceInfos.get(i);
final List<AccessibilityServiceInfo> infos = AccessibilityManager.getInstance(
getPrefContext()).getInstalledAccessibilityServiceList();
for (int i = 0, count = infos.size(); i < count; i++) {
AccessibilityServiceInfo serviceInfo = infos.get(i);
ResolveInfo resolveInfo = serviceInfo.getResolveInfo();
if (mComponentName.getPackageName().equals(resolveInfo.serviceInfo.packageName)
&& mComponentName.getClassName().equals(resolveInfo.serviceInfo.name)) {
@@ -191,7 +193,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
final String switchBarText = (info == null) ? "" :
getString(R.string.accessibility_service_master_switch_title,
info.getResolveInfo().loadLabel(getPackageManager()));
info.getResolveInfo().loadLabel(getPackageManager()));
switchPreference.setTitle(switchBarText);
}