summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/PackageUtil.java
diff options
context:
space:
mode:
authorKenny Guy <kennyguy@google.com>2014-06-03 17:50:38 +0100
committerKenny Guy <kennyguy@google.com>2014-07-10 16:37:55 +0100
commit596ce64f71011e7600ee2be66d977dafb86b9da3 (patch)
treea6f63132b25528b6b0631dabdddc1ec36ee0615c /src/com/android/packageinstaller/PackageUtil.java
parent365b378c1770a5bc75da34c2bb26cc48f4c49c5c (diff)
downloadandroid_packages_apps_PackageInstaller-596ce64f71011e7600ee2be66d977dafb86b9da3.tar.gz
android_packages_apps_PackageInstaller-596ce64f71011e7600ee2be66d977dafb86b9da3.tar.bz2
android_packages_apps_PackageInstaller-596ce64f71011e7600ee2be66d977dafb86b9da3.zip
Support uninstalling apps for other profiles.
Allow client to pick which user the package will be removed for, checking its a profile of the current user. Inform user if package is blocked from being removed and let them knows its due to an admin. Add check to stop non owner asking to uninstall for all users. Bug: 14127299 Change-Id: I60504224f5271272a390320a0fa62aa7f5de4e54
Diffstat (limited to 'src/com/android/packageinstaller/PackageUtil.java')
-rw-r--r--src/com/android/packageinstaller/PackageUtil.java27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/com/android/packageinstaller/PackageUtil.java b/src/com/android/packageinstaller/PackageUtil.java
index 63121e4a..bb445824 100644
--- a/src/com/android/packageinstaller/PackageUtil.java
+++ b/src/com/android/packageinstaller/PackageUtil.java
@@ -18,6 +18,7 @@
package com.android.packageinstaller;
import android.app.Activity;
+import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -30,6 +31,8 @@ import android.util.DisplayMetrics;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
+import android.os.UserHandle;
+import android.os.UserManager;
import java.io.File;
import java.util.List;
@@ -91,11 +94,33 @@ public class PackageUtil {
*/
public static View initSnippetForInstalledApp(Activity pContext,
ApplicationInfo appInfo, View snippetView) {
+ return initSnippetForInstalledApp(pContext, appInfo, snippetView, null);
+ }
+
+ /**
+ * Utility method to display a snippet of an installed application.
+ * The content view should have been set on context before invoking this method.
+ * appSnippet view should include R.id.app_icon and R.id.app_name
+ * defined on it.
+ *
+ * @param pContext context of package that can load the resources
+ * @param componentInfo ComponentInfo object whose resources are to be loaded
+ * @param snippetView the snippet view
+ * @param UserHandle user that the app si installed for.
+ */
+ public static View initSnippetForInstalledApp(Activity pContext,
+ ApplicationInfo appInfo, View snippetView, UserHandle user) {
final PackageManager pm = pContext.getPackageManager();
+ Drawable icon = appInfo.loadIcon(pm);
+ if (user != null) {
+ final UserManager userManager = (UserManager) pContext.getSystemService(
+ Context.USER_SERVICE);
+ icon = userManager.getBadgedDrawableForUser(icon, user);
+ }
return initSnippet(
snippetView,
appInfo.loadLabel(pm),
- appInfo.loadIcon(pm));
+ icon);
}
/**