diff options
author | d34d <clark@cyngn.com> | 2015-07-14 17:19:16 -0700 |
---|---|---|
committer | d34d <clark@cyngn.com> | 2016-05-27 12:56:16 -0700 |
commit | 93e949f1a9931bf7188f4d2a43630603d7a388a8 (patch) | |
tree | 2a703665ea18868b7c9bb52aa3de8152dd7487c0 /WallpaperPicker/src | |
parent | cb3431d16c22bba38a6560640d1efa1807486add (diff) | |
download | android_packages_apps_Trebuchet-93e949f1a9931bf7188f4d2a43630603d7a388a8.tar.gz android_packages_apps_Trebuchet-93e949f1a9931bf7188f4d2a43630603d7a388a8.tar.bz2 android_packages_apps_Trebuchet-93e949f1a9931bf7188f4d2a43630603d7a388a8.zip |
Wallpaper: Allow multiple partners to be loaded
Current implementation only allowed for one partner, and any
additional partner wallpapers would not be loaded.
Partrner.get() still returns the first partner and a new method,
getAllPartners is introduced which returns a list of all partners.
Change-Id: I06b6cd4817d3f812e2110967f075d68ee31cb318
Diffstat (limited to 'WallpaperPicker/src')
-rw-r--r-- | WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java | 69 |
1 files changed, 38 insertions, 31 deletions
diff --git a/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java b/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java index abf202604..4047ae8d1 100644 --- a/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java +++ b/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java @@ -84,6 +84,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; +import java.util.List; public class WallpaperPickerActivity extends WallpaperCropActivity { static final String TAG = "Launcher.WallpaperPickerActivity"; @@ -927,41 +928,47 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { final PackageManager pm = getContext().getPackageManager(); final ArrayList<WallpaperTileInfo> bundled = new ArrayList<WallpaperTileInfo>(24); - Partner partner = Partner.get(pm); - if (partner != null) { - final Resources partnerRes = partner.getResources(); - final int resId = partnerRes.getIdentifier(Partner.RES_WALLPAPERS, "array", - partner.getPackageName()); - if (resId != 0) { - addWallpapers(bundled, partnerRes, partner.getPackageName(), resId); - } + List<Partner> partners = Partner.getAllPartners(pm); + boolean hideDefault = false; + if (partners != null) { + for (Partner partner : partners) { + final Resources partnerRes = partner.getResources(); + final int resId = partnerRes.getIdentifier(Partner.RES_WALLPAPERS, "array", + partner.getPackageName()); + if (resId != 0) { + addWallpapers(bundled, partnerRes, partner.getPackageName(), resId); + } - // Add system wallpapers - File systemDir = partner.getWallpaperDirectory(); - if (systemDir != null && systemDir.isDirectory()) { - for (File file : systemDir.listFiles()) { - if (!file.isFile()) { - continue; - } - String name = file.getName(); - int dotPos = name.lastIndexOf('.'); - String extension = ""; - if (dotPos >= -1) { - extension = name.substring(dotPos); - name = name.substring(0, dotPos); - } + // Add system wallpapers + File systemDir = partner.getWallpaperDirectory(); + if (systemDir != null && systemDir.isDirectory()) { + for (File file : systemDir.listFiles()) { + if (!file.isFile()) { + continue; + } + String name = file.getName(); + int dotPos = name.lastIndexOf('.'); + String extension = ""; + if (dotPos >= -1) { + extension = name.substring(dotPos); + name = name.substring(0, dotPos); + } - if (name.endsWith("_small")) { - // it is a thumbnail - continue; - } + if (name.endsWith("_small")) { + // it is a thumbnail + continue; + } - File thumbnail = new File(systemDir, name + "_small" + extension); - Bitmap thumb = BitmapFactory.decodeFile(thumbnail.getAbsolutePath()); - if (thumb != null) { - bundled.add(new FileWallpaperInfo(file, new BitmapDrawable(thumb))); + File thumbnail = new File(systemDir, name + "_small" + extension); + Bitmap thumb = BitmapFactory.decodeFile(thumbnail.getAbsolutePath()); + if (thumb != null) { + bundled.add(new FileWallpaperInfo(file, new BitmapDrawable(thumb))); + } } } + if (partner.hideDefaultWallpaper()) { + hideDefault = true; + } } } @@ -975,7 +982,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } } - if (partner == null || !partner.hideDefaultWallpaper()) { + if (!hideDefault) { // Add an entry for the default wallpaper (stored in system resources) WallpaperTileInfo defaultWallpaperInfo = Utilities.ATLEAST_KITKAT ? getDefaultWallpaper() : getPreKKDefaultWallpaperInfo(); |