示例#1
0
  public IconCache(Context context) {
    ActivityManager activityManager =
        (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

    mContext = context;
    mPackageManager = context.getPackageManager();
    mUserManager = UserManagerCompat.getInstance(mContext);
    //        mLauncherApps = LauncherAppsCompat.getInstance(mContext);
    mIconDpi = activityManager.getLauncherLargeIconDensity();

    // need to set mIconDpi before getting default icon
    UserHandleCompat myUser = UserHandleCompat.myUserHandle();
    mDefaultIcons.put(myUser, makeDefaultIcon(myUser));
  }
示例#2
0
 private Bitmap makeDefaultIcon(UserHandleCompat user) {
   Drawable unbadged = getFullResDefaultActivityIcon();
   Drawable d = mUserManager.getBadgedDrawableForUser(unbadged, user);
   Bitmap b =
       Bitmap.createBitmap(
           Math.max(d.getIntrinsicWidth(), 1),
           Math.max(d.getIntrinsicHeight(), 1),
           Bitmap.Config.ARGB_8888);
   Canvas c = new Canvas(b);
   d.setBounds(0, 0, b.getWidth(), b.getHeight());
   d.draw(c);
   c.setBitmap(null);
   return b;
 }