diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-10-10 16:20:46 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2012-10-10 16:20:46 -0700 |
commit | 0e092f4eb010976349e3fd1e49e41e14b1a33aaa (patch) | |
tree | 83b2f7ac7f55198dfdd29799a8c213434d8cd662 /src | |
parent | e656031ff8c48dffafe965b5859c5c82a5f23fe7 (diff) | |
download | packages_apps_settings-0e092f4eb010976349e3fd1e49e41e14b1a33aaa.zip packages_apps_settings-0e092f4eb010976349e3fd1e49e41e14b1a33aaa.tar.gz packages_apps_settings-0e092f4eb010976349e3fd1e49e41e14b1a33aaa.tar.bz2 |
Switch to IPackageManager.getServiceInfo().
Bug: 7095093
Change-Id: I79b9f077c9d69c5629b7dd0071a11ccda50839cd
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/settings/applications/RunningState.java | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/src/com/android/settings/applications/RunningState.java b/src/com/android/settings/applications/RunningState.java index 9f92b0a..5797dfa 100644 --- a/src/com/android/settings/applications/RunningState.java +++ b/src/com/android/settings/applications/RunningState.java @@ -21,6 +21,7 @@ import com.android.settings.users.UserUtils; import android.app.ActivityManager; import android.app.ActivityManagerNative; +import android.app.ActivityThread; import android.content.ComponentName; import android.content.Context; import android.content.pm.ApplicationInfo; @@ -29,7 +30,6 @@ import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.content.pm.UserInfo; -import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Handler; @@ -449,8 +449,8 @@ public class RunningState { } } - boolean updateService(Context userContext, ActivityManager.RunningServiceInfo service) { - final PackageManager pm = userContext.getPackageManager(); + boolean updateService(Context context, ActivityManager.RunningServiceInfo service) { + final PackageManager pm = context.getPackageManager(); boolean changed = false; ServiceItem si = mServices.get(service.service); @@ -459,9 +459,10 @@ public class RunningState { si = new ServiceItem(mUserId); si.mRunningService = service; try { - si.mServiceInfo = pm.getServiceInfo(service.service, - PackageManager.GET_UNINSTALLED_PACKAGES); - } catch (PackageManager.NameNotFoundException e) { + si.mServiceInfo = ActivityThread.getPackageManager().getServiceInfo( + service.service, PackageManager.GET_UNINSTALLED_PACKAGES, + UserHandle.getUserId(service.uid)); + } catch (RemoteException e) { } si.mDisplayLabel = makeLabel(pm, si.mRunningService.service.getClassName(), si.mServiceInfo); @@ -484,7 +485,7 @@ public class RunningState { try { Resources clientr = pm.getResourcesForApplication(service.clientPackage); String label = clientr.getString(service.clientLabel); - si.mDescription = userContext.getResources().getString( + si.mDescription = context.getResources().getString( R.string.service_client_name, label); } catch (PackageManager.NameNotFoundException e) { si.mDescription = null; @@ -494,7 +495,7 @@ public class RunningState { si.mShownAsStarted = true; changed = true; } - si.mDescription = userContext.getResources().getString( + si.mDescription = context.getResources().getString( R.string.service_started_by_app); } @@ -903,15 +904,6 @@ public class RunningState { for (int i=0; i<NS; i++) { ActivityManager.RunningServiceInfo si = services.get(i); - final Context userContext; - try { - userContext = context.createPackageContextAsUser( - "android", 0, new UserHandle(UserHandle.getUserId(si.uid))); - } catch (NameNotFoundException e) { - // Should always have "android" package - throw new RuntimeException(e); - } - // If this service's process is in use at a higher importance // due to another process bound to one of its services, then we // won't put it in the top-level list of services. Instead we @@ -953,7 +945,7 @@ public class RunningState { ProcessItem proc = procs.get(si.process); if (proc == null) { changed = true; - proc = new ProcessItem(userContext, si.uid, si.process); + proc = new ProcessItem(context, si.uid, si.process); procs.put(si.process, proc); } @@ -974,7 +966,7 @@ public class RunningState { proc.mDependentProcesses.clear(); proc.mCurSeq = mSequence; } - changed |= proc.updateService(userContext, si); + changed |= proc.updateService(context, si); } // Now update the map of other processes that are running (but |