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

Commit 9a064998 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 10296703 from 3b9bd623 to udc-qpr1-release

Change-Id: I4d74dcec7de71c51b572ca8a3a7c1c8cf3f5d2bc
parents c16d0fa1 3b9bd623
Loading
Loading
Loading
Loading
+4408 −1152

File changed.

Preview size limit exceeded, changes collapsed.

+982 −39

File changed.

Preview size limit exceeded, changes collapsed.

+2231 −1819

File changed.

Preview size limit exceeded, changes collapsed.

+177 −42

File changed.

Preview size limit exceeded, changes collapsed.

+50 −9
Original line number Diff line number Diff line
@@ -2933,19 +2933,60 @@ public class WallpaperManager {
            }
        }

        // Check if the package exists
        if (cn != null) {
        if (!isComponentExist(context, cn)) {
            cn = null;
        }

        return cn;
    }

    /**
     * Return {@link ComponentName} of the CMF default wallpaper, or
     * {@link #getDefaultWallpaperComponent(Context)} if none is defined.
     *
     * @hide
     */
    public static ComponentName getCmfDefaultWallpaperComponent(Context context) {
        ComponentName cn = null;
        String[] cmfWallpaperMap = context.getResources().getStringArray(
                com.android.internal.R.array.default_wallpaper_component_per_device_color);
        if (cmfWallpaperMap == null || cmfWallpaperMap.length == 0) {
            Log.d(TAG, "No CMF wallpaper config");
            return getDefaultWallpaperComponent(context);
        }

        for (String entry : cmfWallpaperMap) {
            String[] cmfWallpaper;
            if (!TextUtils.isEmpty(entry)) {
                cmfWallpaper = entry.split(",");
                if (cmfWallpaper != null && cmfWallpaper.length == 2 && VALUE_CMF_COLOR.equals(
                        cmfWallpaper[0]) && !TextUtils.isEmpty(cmfWallpaper[1])) {
                    cn = ComponentName.unflattenFromString(cmfWallpaper[1]);
                    break;
                }
            }
        }

        if (!isComponentExist(context, cn)) {
            cn = null;
        }

        return cn;
    }

    private static boolean isComponentExist(Context context, ComponentName cn) {
        if (cn == null) {
            return false;
        }
        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 false;
        }

        return cn;
        return true;
    }

    /**
Loading