From 81400f76c9a82592f487a6d5987df2ef5dd8fa35 Mon Sep 17 00:00:00 2001 From: d34d Date: Thu, 23 Jul 2015 10:25:28 -0700 Subject: Properly account for lock wallpaper previews Previews for themes with both regular wallpaper and lock screen wallpapers were being incorrectly generated such that the lock screen wallpaper was showing up for both. Change-Id: If9838cd000a9555364b645e063f17bac543b6dd2 --- .../provider/util/WallpaperPreviewGenerator.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/org/cyanogenmod/themes/provider/util/WallpaperPreviewGenerator.java b/src/org/cyanogenmod/themes/provider/util/WallpaperPreviewGenerator.java index 894d710..e204640 100644 --- a/src/org/cyanogenmod/themes/provider/util/WallpaperPreviewGenerator.java +++ b/src/org/cyanogenmod/themes/provider/util/WallpaperPreviewGenerator.java @@ -23,9 +23,9 @@ import android.content.res.AssetManager; import android.content.res.Resources; import android.content.res.ThemeConfig; import android.graphics.Bitmap; - -import android.provider.ThemesContract; +import android.provider.ThemesContract.PreviewColumns; import android.text.TextUtils; + import org.cyanogenmod.themes.provider.R; import java.io.File; @@ -63,7 +63,7 @@ public class WallpaperPreviewGenerator { } preview = BitmapUtils.decodeResource(res, com.android.internal.R.drawable.default_wallpaper, mPreviewSize, mPreviewSize); - item = createWallpaperItems(0, baseDir, null, pkgName, preview); + item = createWallpaperItems(0, baseDir, null, pkgName, preview, false); if (item != null) { items.wallpapers.add(item); items.lockscreen = item; @@ -82,7 +82,7 @@ public class WallpaperPreviewGenerator { } preview = BitmapUtils.getBitmapFromAsset(themeContext, path, mPreviewSize, mPreviewSize); - item = createWallpaperItems(id, baseDir, path, pkgName, preview); + item = createWallpaperItems(id, baseDir, path, pkgName, preview, false); if (item != null) { items.wallpapers.add(item); id++; @@ -97,14 +97,14 @@ public class WallpaperPreviewGenerator { } preview = BitmapUtils.getBitmapFromAsset(themeContext, path, mPreviewSize, mPreviewSize); - items.lockscreen = createWallpaperItems(0, baseDir, path, pkgName, preview); + items.lockscreen = createWallpaperItems(0, baseDir, path, pkgName, preview, true); } } return items; } private WallpaperItem createWallpaperItems(int id, String baseDir, String assetPath, - String pkgName, Bitmap preview) { + String pkgName, Bitmap preview, boolean isLockWallpaper) { if (TextUtils.isEmpty(assetPath) && preview == null) { return null; } @@ -114,11 +114,15 @@ public class WallpaperPreviewGenerator { item.assetPath = assetPath; if (preview != null) { - String fileName = ThemesContract.PreviewColumns.WALLPAPER_PREVIEW + componentID; + String filePrefix = isLockWallpaper ? PreviewColumns.LOCK_WALLPAPER_PREVIEW : + PreviewColumns.WALLPAPER_PREVIEW; + String fileName = filePrefix + componentID; item.previewPath = PreviewUtils.compressAndSaveJpg(preview, baseDir, pkgName, fileName); Bitmap thumbnail = Bitmap.createScaledBitmap(preview, mThumbnailSize, mThumbnailSize, true); - fileName = ThemesContract.PreviewColumns.WALLPAPER_THUMBNAIL + componentID; + filePrefix = isLockWallpaper ? PreviewColumns.LOCK_WALLPAPER_THUMBNAIL : + PreviewColumns.LOCK_WALLPAPER_THUMBNAIL; + fileName = filePrefix + componentID; item.thumbnailPath = PreviewUtils.compressAndSavePng(thumbnail, baseDir, pkgName, fileName); } -- cgit v1.2.3