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

Commit 05be517f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "ImageWallpaper: Only draw on valid surfaces" into nyc-dev

parents 4d33455c 53560f1c
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@ public class ImageWallpaper extends WallpaperService {
        private int mLastRequestedHeight = -1;
        private AsyncTask<Void, Void, Bitmap> mLoader;
        private boolean mNeedsDrawAfterLoadingWallpaper;
        private boolean mSurfaceValid;

        public DrawableEngine() {
            super();
@@ -248,11 +249,6 @@ public class ImageWallpaper extends WallpaperService {
            }
        }

        @Override
        public void onTouchEvent(MotionEvent event) {
            super.onTouchEvent(event);
        }

        @Override
        public void onOffsetsChanged(float xOffset, float yOffset,
                float xOffsetStep, float yOffsetStep,
@@ -288,13 +284,23 @@ public class ImageWallpaper extends WallpaperService {
        @Override
        public void onSurfaceDestroyed(SurfaceHolder holder) {
            super.onSurfaceDestroyed(holder);
            if (DEBUG) {
                Log.i(TAG, "onSurfaceDestroyed");
            }

            mLastSurfaceWidth = mLastSurfaceHeight = -1;
            mSurfaceValid = false;
        }

        @Override
        public void onSurfaceCreated(SurfaceHolder holder) {
            super.onSurfaceCreated(holder);
            if (DEBUG) {
                Log.i(TAG, "onSurfaceCreated");
            }

            mLastSurfaceWidth = mLastSurfaceHeight = -1;
            mSurfaceValid = true;
        }

        @Override
@@ -314,6 +320,9 @@ public class ImageWallpaper extends WallpaperService {
        }

        void drawFrame() {
            if (!mSurfaceValid) {
                return;
            }
            try {
                DisplayInfo displayInfo = getDefaultDisplayInfo();
                int newRotation = displayInfo.rotation;