Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df6ccf81 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Resizing the bitmap before caching it in the DB

> The icon size in the backup can be different that what is
  required by the device. We should resize the icon, before
  caching it.

Bug: 22413328
Change-Id: Id77c53edf8ea5e95a2d32dbe22be553120279ebd
parent e3fe3f89
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -649,7 +649,7 @@ public class IconCache {
     * @param dpi the native density of the icon
     */
    public void preloadIcon(ComponentName componentName, Bitmap icon, int dpi, String label,
            long userSerial) {
            long userSerial, InvariantDeviceProfile idp) {
        // TODO rescale to the correct native DPI
        try {
            PackageManager packageManager = mContext.getPackageManager();
@@ -660,7 +660,9 @@ public class IconCache {
            // pass
        }

        ContentValues values = newContentValues(icon, label, Color.TRANSPARENT);
        ContentValues values = newContentValues(
                Bitmap.createScaledBitmap(icon, idp.iconBitmapSize, idp.iconBitmapSize, true),
                label, Color.TRANSPARENT);
        values.put(IconDB.COLUMN_COMPONENT, componentName.flattenToString());
        values.put(IconDB.COLUMN_USER, userSerial);
        mIconDb.getWritableDatabase().insertWithOnConflict(IconDB.TABLE_NAME, null, values,
+5 −4
Original line number Diff line number Diff line
@@ -601,10 +601,11 @@ public class LauncherBackupHelper implements BackupHelper {
        Bitmap icon = BitmapFactory.decodeByteArray(res.data, 0, res.data.length);
        if (icon == null) {
            Log.w(TAG, "failed to unpack icon for " + key.name);
        }
        } else {
            if (VERBOSE) Log.v(TAG, "saving restored icon as: " + key.name);
            mIconCache.preloadIcon(ComponentName.unflattenFromString(key.name), icon, res.dpi,
                "" /* label */, mUserSerial);
                    "" /* label */, mUserSerial, mIdp);
        }
    }

    /**
@@ -685,7 +686,7 @@ public class LauncherBackupHelper implements BackupHelper {
                Log.w(TAG, "failed to unpack widget icon for " + key.name);
            } else {
                mIconCache.preloadIcon(ComponentName.unflattenFromString(widget.provider),
                        icon, widget.icon.dpi, widget.label, mUserSerial);
                        icon, widget.icon.dpi, widget.label, mUserSerial, mIdp);
            }
        }