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

Commit 6c902d04 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Change retail mode wallpaper (1/2)

Change-Id: I7ce5711e57bc39edf10fc7151f26168c6183d71e
Fixes: 30830249
parent e5036b3c
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -44,7 +44,7 @@ interface IWallpaperManager {
     */
     */
    ParcelFileDescriptor setWallpaper(String name, in String callingPackage,
    ParcelFileDescriptor setWallpaper(String name, in String callingPackage,
            in Rect cropHint, boolean allowBackup, out Bundle extras, int which,
            in Rect cropHint, boolean allowBackup, out Bundle extras, int which,
            IWallpaperManagerCallback completion);
            IWallpaperManagerCallback completion, int userId);


    /**
    /**
     * Set the live wallpaper. This only affects the system wallpaper.
     * Set the live wallpaper. This only affects the system wallpaper.
+18 −3
Original line number Original line Diff line number Diff line
@@ -48,6 +48,7 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.IBinder;
import android.os.Looper;
import android.os.Looper;
import android.os.ParcelFileDescriptor;
import android.os.ParcelFileDescriptor;
import android.os.Process;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManager;
import android.os.SystemProperties;
import android.os.SystemProperties;
@@ -939,7 +940,8 @@ public class WallpaperManager {
            /* Set the wallpaper to the default values */
            /* Set the wallpaper to the default values */
            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(
            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(
                    "res:" + resources.getResourceName(resid),
                    "res:" + resources.getResourceName(resid),
                    mContext.getOpPackageName(), null, false, result, which, completion);
                    mContext.getOpPackageName(), null, false, result, which, completion,
                    UserHandle.myUserId());
            if (fd != null) {
            if (fd != null) {
                FileOutputStream fos = null;
                FileOutputStream fos = null;
                boolean ok = false;
                boolean ok = false;
@@ -1040,6 +1042,19 @@ public class WallpaperManager {
    public int setBitmap(Bitmap fullImage, Rect visibleCropHint,
    public int setBitmap(Bitmap fullImage, Rect visibleCropHint,
            boolean allowBackup, @SetWallpaperFlags int which)
            boolean allowBackup, @SetWallpaperFlags int which)
            throws IOException {
            throws IOException {
        return setBitmap(fullImage, visibleCropHint, allowBackup, which,
                UserHandle.myUserId());
    }

    /**
     * Like {@link #setBitmap(Bitmap, Rect, boolean, int)}, but allows to pass in an explicit user
     * id. If the user id doesn't match the user id the process is running under, calling this
     * requires permission {@link android.Manifest.permission#INTERACT_ACROSS_USERS_FULL}.
     * @hide
     */
    public int setBitmap(Bitmap fullImage, Rect visibleCropHint,
            boolean allowBackup, @SetWallpaperFlags int which, int userId)
            throws IOException {
        validateRect(visibleCropHint);
        validateRect(visibleCropHint);
        if (sGlobals.mService == null) {
        if (sGlobals.mService == null) {
            Log.w(TAG, "WallpaperService not running");
            Log.w(TAG, "WallpaperService not running");
@@ -1050,7 +1065,7 @@ public class WallpaperManager {
        try {
        try {
            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(null,
            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(null,
                    mContext.getOpPackageName(), visibleCropHint, allowBackup,
                    mContext.getOpPackageName(), visibleCropHint, allowBackup,
                    result, which, completion);
                    result, which, completion, userId);
            if (fd != null) {
            if (fd != null) {
                FileOutputStream fos = null;
                FileOutputStream fos = null;
                try {
                try {
@@ -1176,7 +1191,7 @@ public class WallpaperManager {
        try {
        try {
            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(null,
            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(null,
                    mContext.getOpPackageName(), visibleCropHint, allowBackup,
                    mContext.getOpPackageName(), visibleCropHint, allowBackup,
                    result, which, completion);
                    result, which, completion, UserHandle.myUserId());
            if (fd != null) {
            if (fd != null) {
                FileOutputStream fos = null;
                FileOutputStream fos = null;
                try {
                try {
+3 −3
Original line number Original line Diff line number Diff line
@@ -1350,7 +1350,9 @@ public class WallpaperManagerService extends IWallpaperManager.Stub {
    @Override
    @Override
    public ParcelFileDescriptor setWallpaper(String name, String callingPackage,
    public ParcelFileDescriptor setWallpaper(String name, String callingPackage,
            Rect cropHint, boolean allowBackup, Bundle extras, int which,
            Rect cropHint, boolean allowBackup, Bundle extras, int which,
            IWallpaperManagerCallback completion) {
            IWallpaperManagerCallback completion, int userId) {
        userId = ActivityManager.handleIncomingUser(getCallingPid(), getCallingUid(), userId,
                false /* all */, true /* full */, "changing wallpaper", null /* pkg */);
        checkPermission(android.Manifest.permission.SET_WALLPAPER);
        checkPermission(android.Manifest.permission.SET_WALLPAPER);


        if ((which & (FLAG_LOCK|FLAG_SYSTEM)) == 0) {
        if ((which & (FLAG_LOCK|FLAG_SYSTEM)) == 0) {
@@ -1374,8 +1376,6 @@ public class WallpaperManagerService extends IWallpaperManager.Stub {
            }
            }
        }
        }


        final int userId = UserHandle.getCallingUserId();

        synchronized (mLock) {
        synchronized (mLock) {
            if (DEBUG) Slog.v(TAG, "setWallpaper which=0x" + Integer.toHexString(which));
            if (DEBUG) Slog.v(TAG, "setWallpaper which=0x" + Integer.toHexString(which));
            WallpaperData wallpaper;
            WallpaperData wallpaper;