Show correct process dependency for providers.
Use the new API that allows us to always retrieve the desired
provider info.
Change-Id: I9265d8f169ee34c87f0ca89315ee78bb2ae49674
diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java
index 6346ec2..b8dd10e 100644
--- a/src/com/android/settings/applications/RunningServiceDetails.java
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -284,20 +284,13 @@
switch (rpi.importanceReasonCode) {
case ActivityManager.RunningAppProcessInfo.REASON_PROVIDER_IN_USE:
textid = R.string.process_provider_in_use_description;
- List<ProviderInfo> providers = null;
- if (comp != null) {
- providers = getPackageManager()
- .queryContentProviders(comp.getPackageName(),
- rpi.uid, 0);
- }
- if (providers != null) {
- for (int j=0; j<providers.size(); j++) {
- ProviderInfo prov = providers.get(j);
- if (comp.getClassName().equals(prov.name)) {
- label = RunningState.makeLabel(getPackageManager(),
- prov.name, prov);
- break;
- }
+ if (rpi.importanceReasonComponent != null) {
+ try {
+ ProviderInfo prov = getPackageManager().getProviderInfo(
+ rpi.importanceReasonComponent, 0);
+ label = RunningState.makeLabel(getPackageManager(),
+ prov.name, prov);
+ } catch (NameNotFoundException e) {
}
}
break;