summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-01-11 08:14:03 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-01-11 08:14:03 +0000
commitd2399c45e3079815ca7abad74ca5bf47c1549f1e (patch)
tree9009046c0b45d9da15ce36c07f33fc6e26ce2aae
parentc6d9e530b7a74f5765f5dd6203e22c1ff88cc195 (diff)
parent3f3c8f812e812438c4fcb81c539794f37aeb49c3 (diff)
downloadbase-d2399c45e3079815ca7abad74ca5bf47c1549f1e.tar.gz
Snap for 5224434 from 3f3c8f812e812438c4fcb81c539794f37aeb49c3 to pi-b4s4-release
Change-Id: I4af5c2fbc9aea84fa60db914cbf38227bf1cb479
-rw-r--r--core/java/android/app/WallpaperManager.java28
1 files changed, 19 insertions, 9 deletions
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
index fde756c13234..a81546dc1d47 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -1874,23 +1874,33 @@ public class WallpaperManager {
* @hide
*/
public static ComponentName getDefaultWallpaperComponent(Context context) {
+ ComponentName cn = null;
+
String flat = SystemProperties.get(PROP_WALLPAPER_COMPONENT);
if (!TextUtils.isEmpty(flat)) {
- final ComponentName cn = ComponentName.unflattenFromString(flat);
- if (cn != null) {
- return cn;
+ cn = ComponentName.unflattenFromString(flat);
+ }
+
+ if (cn == null) {
+ flat = context.getString(com.android.internal.R.string.default_wallpaper_component);
+ if (!TextUtils.isEmpty(flat)) {
+ cn = ComponentName.unflattenFromString(flat);
}
}
- flat = context.getString(com.android.internal.R.string.default_wallpaper_component);
- if (!TextUtils.isEmpty(flat)) {
- final ComponentName cn = ComponentName.unflattenFromString(flat);
- if (cn != null) {
- return cn;
+ // Check if the package exists
+ if (cn != null) {
+ try {
+ final PackageManager packageManager = context.getPackageManager();
+ packageManager.getPackageInfo(cn.getPackageName(),
+ PackageManager.MATCH_DIRECT_BOOT_AWARE
+ | PackageManager.MATCH_DIRECT_BOOT_UNAWARE);
+ } catch (PackageManager.NameNotFoundException e) {
+ cn = null;
}
}
- return null;
+ return cn;
}
/**