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

Commit ed633e97 authored by Vadim Tryshev's avatar Vadim Tryshev Committed by android-build-merger
Browse files

Merge "Fixing bugs with peeking a wallpaper." into nyc-dev

am: 4eeb7e2c

* commit '4eeb7e2c':
  Fixing bugs with peeking a wallpaper.
parents 33e6d759 4eeb7e2c
Loading
Loading
Loading
Loading
+16 −15
Original line number Diff line number Diff line
@@ -49,7 +49,6 @@ import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.text.TextUtils;
import android.util.Log;
import android.view.WindowManagerGlobal;
@@ -263,7 +262,8 @@ public class WallpaperManager {

    static class Globals extends IWallpaperManagerCallback.Stub {
        private IWallpaperManager mService;
        private Bitmap mWallpaper;
        private Bitmap mCachedWallpaper;
        private int mCachedWallpaperUserId;
        private Bitmap mDefaultWallpaper;

        Globals(Looper looper) {
@@ -296,33 +296,34 @@ public class WallpaperManager {
                        throw e.rethrowFromSystemServer();
                    }
                }
                if (mWallpaper != null) {
                    return mWallpaper;
                if (mCachedWallpaper != null && mCachedWallpaperUserId == userId) {
                    return mCachedWallpaper;
                }
                if (mDefaultWallpaper != null) {
                    return mDefaultWallpaper;
                }
                mWallpaper = null;
                mCachedWallpaper = null;
                mCachedWallpaperUserId = 0;
                try {
                    mWallpaper = getCurrentWallpaperLocked(userId);
                    mCachedWallpaper = getCurrentWallpaperLocked(userId);
                    mCachedWallpaperUserId = userId;
                } catch (OutOfMemoryError e) {
                    Log.w(TAG, "No memory load current wallpaper", e);
                }
                if (mCachedWallpaper != null) {
                    return mCachedWallpaper;
                }
                if (returnDefault) {
                    if (mWallpaper == null) {
                    if (mDefaultWallpaper == null) {
                        mDefaultWallpaper = getDefaultWallpaperLocked(context);
                        return mDefaultWallpaper;
                    } else {
                        mDefaultWallpaper = null;
                    }
                    return mDefaultWallpaper;
                }
                return mWallpaper;
                return null;
            }
        }

        public void forgetLoadedWallpaper() {
            synchronized (this) {
                mWallpaper = null;
                mCachedWallpaper = null;
                mCachedWallpaperUserId = 0;
                mDefaultWallpaper = null;
            }
        }