Merge "AccessibilityManagerService not registered for removed packages."
This commit is contained in:
committed by
Android (Google) Code Review
commit
4e2134b76e
@@ -189,6 +189,22 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPackageRemoved(String packageName, int uid) {
|
||||||
|
synchronized (mLock) {
|
||||||
|
Iterator<ComponentName> it = mEnabledServices.iterator();
|
||||||
|
while (it.hasNext()) {
|
||||||
|
ComponentName comp = it.next();
|
||||||
|
String compPkg = comp.getPackageName();
|
||||||
|
if (compPkg.equals(packageName)) {
|
||||||
|
it.remove();
|
||||||
|
updateEnabledAccessibilitySerivcesSettingLocked(mEnabledServices);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onHandleForceStop(Intent intent, String[] packages,
|
public boolean onHandleForceStop(Intent intent, String[] packages,
|
||||||
int uid, boolean doit) {
|
int uid, boolean doit) {
|
||||||
@@ -209,18 +225,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changed) {
|
if (changed) {
|
||||||
it = mEnabledServices.iterator();
|
updateEnabledAccessibilitySerivcesSettingLocked(mEnabledServices);
|
||||||
StringBuilder str = new StringBuilder();
|
|
||||||
while (it.hasNext()) {
|
|
||||||
if (str.length() > 0) {
|
|
||||||
str.append(':');
|
|
||||||
}
|
|
||||||
str.append(it.next().flattenToShortString());
|
|
||||||
}
|
|
||||||
Settings.Secure.putString(mContext.getContentResolver(),
|
|
||||||
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,
|
|
||||||
str.toString());
|
|
||||||
manageServicesLocked();
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -252,6 +257,21 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
|
|||||||
|
|
||||||
super.onReceive(context, intent);
|
super.onReceive(context, intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateEnabledAccessibilitySerivcesSettingLocked(
|
||||||
|
Set<ComponentName> enabledServices) {
|
||||||
|
Iterator<ComponentName> it = enabledServices.iterator();
|
||||||
|
StringBuilder str = new StringBuilder();
|
||||||
|
while (it.hasNext()) {
|
||||||
|
if (str.length() > 0) {
|
||||||
|
str.append(':');
|
||||||
|
}
|
||||||
|
str.append(it.next().flattenToShortString());
|
||||||
|
}
|
||||||
|
Settings.Secure.putString(mContext.getContentResolver(),
|
||||||
|
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,
|
||||||
|
str.toString());
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// package changes
|
// package changes
|
||||||
|
|||||||
Reference in New Issue
Block a user