diff options
author | Joe Onorato <joeo@android.com> | 2010-02-08 13:44:00 -0800 |
---|---|---|
committer | Joe Onorato <joeo@android.com> | 2010-02-12 12:18:40 -0500 |
commit | 0589f0f66ce498512c6ee47482c649d88294c9d0 (patch) | |
tree | 42d42799a5578bde35a79b18ab8b28d301c663fe /src/com/android/launcher2/ItemInfo.java | |
parent | 3e244cf9d2da4fb04ef095f8b752a2a2c6e2f287 (diff) | |
download | android_packages_apps_Trebuchet-0589f0f66ce498512c6ee47482c649d88294c9d0.tar.gz android_packages_apps_Trebuchet-0589f0f66ce498512c6ee47482c649d88294c9d0.tar.bz2 android_packages_apps_Trebuchet-0589f0f66ce498512c6ee47482c649d88294c9d0.zip |
Split ApplicationInfo into ApplicationInfo which is used for AllAppsView and ShortcutInfo which is
used for the workspace.
Consolidate the three icon resampling functions into one.
Ensure that the icons stored in LauncherProvider are the right size, so we don't have to resample
them each time we load them.
Diffstat (limited to 'src/com/android/launcher2/ItemInfo.java')
-rw-r--r-- | src/com/android/launcher2/ItemInfo.java | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/src/com/android/launcher2/ItemInfo.java b/src/com/android/launcher2/ItemInfo.java index f04880ddd..ca2ea86c8 100644 --- a/src/com/android/launcher2/ItemInfo.java +++ b/src/com/android/launcher2/ItemInfo.java @@ -112,21 +112,26 @@ class ItemInfo { } } + static byte[] flattenBitmap(Bitmap bitmap) { + // Try go guesstimate how much space the icon will take when serialized + // to avoid unnecessary allocations/copies during the write. + int size = bitmap.getWidth() * bitmap.getHeight() * 4; + ByteArrayOutputStream out = new ByteArrayOutputStream(size); + try { + bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); + out.flush(); + out.close(); + return out.toByteArray(); + } catch (IOException e) { + Log.w("Favorite", "Could not write icon"); + return null; + } + } + static void writeBitmap(ContentValues values, Bitmap bitmap) { if (bitmap != null) { - // Try go guesstimate how much space the icon will take when serialized - // to avoid unnecessary allocations/copies during the write. - int size = bitmap.getWidth() * bitmap.getHeight() * 4; - ByteArrayOutputStream out = new ByteArrayOutputStream(size); - try { - bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); - out.flush(); - out.close(); - - values.put(LauncherSettings.Favorites.ICON, out.toByteArray()); - } catch (IOException e) { - Log.w("Favorite", "Could not write icon"); - } + byte[] data = flattenBitmap(bitmap); + values.put(LauncherSettings.Favorites.ICON, data); } } |