Merge changes from topic "glwallpaper_cleanup"

* changes:
  Remove AOD_IMAGEWALLPAPER_ENABLED from feature flags
  Remove DrawableEngine and related logics
diff --git a/core/java/android/util/FeatureFlagUtils.java b/core/java/android/util/FeatureFlagUtils.java
index 67a4015..3e3a623 100644
--- a/core/java/android/util/FeatureFlagUtils.java
+++ b/core/java/android/util/FeatureFlagUtils.java
@@ -22,9 +22,7 @@
 import android.text.TextUtils;
 
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Map;
-import java.util.Set;
 
 /**
  * Util class to get feature flag information.
@@ -40,11 +38,9 @@
     public static final String HEARING_AID_SETTINGS = "settings_bluetooth_hearing_aid";
     public static final String SAFETY_HUB = "settings_safety_hub";
     public static final String SCREENRECORD_LONG_PRESS = "settings_screenrecord_long_press";
-    public static final String AOD_IMAGEWALLPAPER_ENABLED = "settings_aod_imagewallpaper_enabled";
     public static final String GLOBAL_ACTIONS_GRID_ENABLED = "settings_global_actions_grid_enabled";
 
     private static final Map<String, String> DEFAULT_FLAGS;
-    private static final Set<String> OBSERVABLE_FLAGS;
 
     static {
         DEFAULT_FLAGS = new HashMap<>();
@@ -60,11 +56,7 @@
         DEFAULT_FLAGS.put(HEARING_AID_SETTINGS, "false");
         DEFAULT_FLAGS.put(SAFETY_HUB, "false");
         DEFAULT_FLAGS.put(SCREENRECORD_LONG_PRESS, "false");
-        DEFAULT_FLAGS.put(AOD_IMAGEWALLPAPER_ENABLED, "false");
         DEFAULT_FLAGS.put(GLOBAL_ACTIONS_GRID_ENABLED, "false");
-
-        OBSERVABLE_FLAGS = new HashSet<>();
-        OBSERVABLE_FLAGS.add(AOD_IMAGEWALLPAPER_ENABLED);
     }
 
     /**
@@ -101,16 +93,6 @@
      */
     public static void setEnabled(Context context, String feature, boolean enabled) {
         SystemProperties.set(FFLAG_OVERRIDE_PREFIX + feature, enabled ? "true" : "false");
-
-        // Also update Settings.Global if needed so that we can observe it via observer.
-        if (OBSERVABLE_FLAGS.contains(feature)) {
-            setObservableFlag(context, feature, enabled);
-        }
-    }
-
-    private static void setObservableFlag(Context context, String feature, boolean enabled) {
-        Settings.Global.putString(
-                context.getContentResolver(), feature, enabled ? "true" : "false");
     }
 
     /**
diff --git a/packages/SystemUI/res/layout/super_status_bar.xml b/packages/SystemUI/res/layout/super_status_bar.xml
index 02062bb..34c208a 100644
--- a/packages/SystemUI/res/layout/super_status_bar.xml
+++ b/packages/SystemUI/res/layout/super_status_bar.xml
@@ -43,14 +43,6 @@
                    android:visibility="invisible" />
     </com.android.systemui.statusbar.BackDropView>
 
-    <com.android.systemui.wallpaper.AodMaskView
-        android:id="@+id/aod_mask"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:importantForAccessibility="no"
-        android:visibility="invisible"
-        sysui:ignoreRightInset="true" />
-
     <com.android.systemui.statusbar.ScrimView
         android:id="@+id/scrim_behind"
         android:layout_width="match_parent"
diff --git a/packages/SystemUI/res/values/ids.xml b/packages/SystemUI/res/values/ids.xml
index 6a68457..05cf040 100644
--- a/packages/SystemUI/res/values/ids.xml
+++ b/packages/SystemUI/res/values/ids.xml
@@ -111,11 +111,6 @@
     <!-- Optional cancel button on Keyguard -->
     <item type="id" name="cancel_button"/>
 
-    <!-- AodMaskView transition tag -->
-    <item type="id" name="aod_mask_transition_progress_tag" />
-    <item type="id" name="aod_mask_transition_progress_end_tag" />
-    <item type="id" name="aod_mask_transition_progress_start_tag" />
-
     <!-- For saving DynamicAnimation physics animations as view tags. -->
     <item type="id" name="translation_x_dynamicanimation_tag"/>
     <item type="id" name="translation_y_dynamicanimation_tag"/>
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index 7e645ab..0113d05 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -16,62 +16,26 @@
 
 package com.android.systemui;
 
-import static android.view.Display.DEFAULT_DISPLAY;
-
-import android.app.WallpaperManager;
-import android.content.ComponentCallbacks2;
 import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.RecordingCanvas;
 import android.graphics.Rect;
-import android.graphics.RectF;
-import android.graphics.Region.Op;
-import android.hardware.display.DisplayManager;
 import android.opengl.GLSurfaceView;
-import android.os.AsyncTask;
 import android.os.Build;
-import android.os.Handler;
-import android.os.Trace;
 import android.service.wallpaper.WallpaperService;
 import android.util.Log;
-import android.view.Display;
-import android.view.DisplayInfo;
-import android.view.Surface;
 import android.view.SurfaceHolder;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.systemui.glwallpaper.ImageWallpaperRenderer;
 
-import java.io.FileDescriptor;
-import java.io.IOException;
-import java.io.PrintWriter;
-
 /**
  * Default built-in wallpaper that simply shows a static image.
  */
 @SuppressWarnings({"UnusedDeclaration"})
 public class ImageWallpaper extends WallpaperService {
-    private static final String TAG = "ImageWallpaper";
-    private static final String GL_LOG_TAG = "ImageWallpaperGL";
-    private static final boolean DEBUG = false;
-    private static final String PROPERTY_KERNEL_QEMU = "ro.kernel.qemu";
-    private static final long DELAY_FORGET_WALLPAPER = 5000;
-
-    private WallpaperManager mWallpaperManager;
-    private DrawableEngine mEngine;
+    private static final String TAG = ImageWallpaper.class.getSimpleName();
 
     @Override
     public void onCreate() {
         super.onCreate();
-        mWallpaperManager = getSystemService(WallpaperManager.class);
-    }
-
-    @Override
-    public void onTrimMemory(int level) {
-        if (mEngine != null) {
-            mEngine.trimMemory(level);
-        }
     }
 
     @Override
@@ -147,495 +111,6 @@
         }
     }
 
-    // TODO: Remove this engine, tracking on b/123617158.
-    class DrawableEngine extends Engine {
-        private final Runnable mUnloadWallpaperCallback = () -> {
-            unloadWallpaper(false /* forgetSize */);
-        };
-
-        // Surface is rejected if size below a threshold on some devices (ie. 8px on elfin)
-        // set min to 64 px (CTS covers this)
-        @VisibleForTesting
-        static final int MIN_BACKGROUND_WIDTH = 64;
-        @VisibleForTesting
-        static final int MIN_BACKGROUND_HEIGHT = 64;
-
-        Bitmap mBackground;
-        int mBackgroundWidth = -1, mBackgroundHeight = -1;
-        int mLastSurfaceWidth = -1, mLastSurfaceHeight = -1;
-        int mLastRotation = -1;
-        float mXOffset = 0f;
-        float mYOffset = 0f;
-        float mScale = 1f;
-
-        private Display mDisplay;
-        private final DisplayInfo mTmpDisplayInfo = new DisplayInfo();
-
-        boolean mVisible = true;
-        boolean mOffsetsChanged;
-        int mLastXTranslation;
-        int mLastYTranslation;
-
-        private int mRotationAtLastSurfaceSizeUpdate = -1;
-        private int mDisplayWidthAtLastSurfaceSizeUpdate = -1;
-        private int mDisplayHeightAtLastSurfaceSizeUpdate = -1;
-
-        private int mLastRequestedWidth = -1;
-        private int mLastRequestedHeight = -1;
-        private AsyncTask<Void, Void, Bitmap> mLoader;
-        private boolean mNeedsDrawAfterLoadingWallpaper;
-        private boolean mSurfaceValid;
-        private boolean mSurfaceRedrawNeeded;
-
-        DrawableEngine() {
-            super();
-            setFixedSizeAllowed(true);
-        }
-
-        void trimMemory(int level) {
-            if (level >= ComponentCallbacks2.TRIM_MEMORY_RUNNING_LOW
-                    && level <= ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL
-                    && mBackground != null) {
-                if (DEBUG) {
-                    Log.d(TAG, "trimMemory");
-                }
-                unloadWallpaper(true /* forgetSize */);
-            }
-        }
-
-        @Override
-        public void onCreate(SurfaceHolder surfaceHolder) {
-            if (DEBUG) {
-                Log.d(TAG, "onCreate");
-            }
-
-            super.onCreate(surfaceHolder);
-
-            //noinspection ConstantConditions
-            final Context displayContext = getDisplayContext();
-            final int displayId = displayContext == null ? DEFAULT_DISPLAY :
-                    displayContext.getDisplayId();
-            DisplayManager dm = getSystemService(DisplayManager.class);
-            if (dm != null) {
-                mDisplay = dm.getDisplay(displayId);
-                if (mDisplay == null) {
-                    Log.e(TAG, "Cannot find display! Fallback to default.");
-                    mDisplay = dm.getDisplay(DEFAULT_DISPLAY);
-                }
-            }
-            setOffsetNotificationsEnabled(false);
-
-            updateSurfaceSize(surfaceHolder, getDisplayInfo(), false /* forDraw */);
-        }
-
-        @Override
-        public void onDestroy() {
-            super.onDestroy();
-            mBackground = null;
-            unloadWallpaper(true /* forgetSize */);
-        }
-
-        boolean updateSurfaceSize(SurfaceHolder surfaceHolder, DisplayInfo displayInfo,
-                boolean forDraw) {
-            boolean hasWallpaper = true;
-
-            // Load background image dimensions, if we haven't saved them yet
-            if (mBackgroundWidth <= 0 || mBackgroundHeight <= 0) {
-                // Need to load the image to get dimensions
-                loadWallpaper(forDraw);
-                if (DEBUG) {
-                    Log.d(TAG, "Reloading, redoing updateSurfaceSize later.");
-                }
-                hasWallpaper = false;
-            }
-
-            // Expected surface size.
-            int surfaceWidth = Math.max(displayInfo.logicalWidth, mBackgroundWidth);
-            int surfaceHeight = Math.max(displayInfo.logicalHeight, mBackgroundHeight);
-
-            // Calculate the minimum drawing area of the surface, which saves memory and does not
-            // distort the image.
-            final float scale = Math.min(
-                    (float) mBackgroundHeight / (float) surfaceHeight,
-                    (float) mBackgroundWidth / (float) surfaceWidth);
-            surfaceHeight = (int) (scale * surfaceHeight);
-            surfaceWidth = (int) (scale * surfaceWidth);
-
-            // Set surface size to at least MIN size.
-            if (surfaceWidth < MIN_BACKGROUND_WIDTH || surfaceHeight < MIN_BACKGROUND_HEIGHT) {
-                final float scaleUp = Math.max(
-                        (float) MIN_BACKGROUND_WIDTH / (float) surfaceWidth,
-                        (float) MIN_BACKGROUND_HEIGHT / (float) surfaceHeight);
-                surfaceWidth = (int) ((float) surfaceWidth * scaleUp);
-                surfaceHeight = (int) ((float) surfaceHeight * scaleUp);
-            }
-
-            // Used a fixed size surface, because we are special.  We can do
-            // this because we know the current design of window animations doesn't
-            // cause this to break.
-            surfaceHolder.setFixedSize(surfaceWidth, surfaceHeight);
-            mLastRequestedWidth = surfaceWidth;
-            mLastRequestedHeight = surfaceHeight;
-
-            return hasWallpaper;
-        }
-
-        @Override
-        public void onVisibilityChanged(boolean visible) {
-            if (DEBUG) {
-                Log.d(TAG, "onVisibilityChanged: mVisible, visible=" + mVisible + ", " + visible);
-            }
-
-            if (mVisible != visible) {
-                if (DEBUG) {
-                    Log.d(TAG, "Visibility changed to visible=" + visible);
-                }
-                mVisible = visible;
-                if (visible) {
-                    drawFrame();
-                }
-            }
-        }
-
-        @Override
-        public void onOffsetsChanged(float xOffset, float yOffset,
-                float xOffsetStep, float yOffsetStep,
-                int xPixels, int yPixels) {
-            if (DEBUG) {
-                Log.d(TAG, "onOffsetsChanged: xOffset=" + xOffset + ", yOffset=" + yOffset
-                        + ", xOffsetStep=" + xOffsetStep + ", yOffsetStep=" + yOffsetStep
-                        + ", xPixels=" + xPixels + ", yPixels=" + yPixels);
-            }
-
-            if (mXOffset != xOffset || mYOffset != yOffset) {
-                if (DEBUG) {
-                    Log.d(TAG, "Offsets changed to (" + xOffset + "," + yOffset + ").");
-                }
-                mXOffset = xOffset;
-                mYOffset = yOffset;
-                mOffsetsChanged = true;
-            }
-            drawFrame();
-        }
-
-        @Override
-        public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) {
-            if (DEBUG) {
-                Log.d(TAG, "onSurfaceChanged: width=" + width + ", height=" + height);
-            }
-
-            super.onSurfaceChanged(holder, format, width, height);
-
-            drawFrame();
-        }
-
-        @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
-        public void onSurfaceRedrawNeeded(SurfaceHolder holder) {
-            if (DEBUG) {
-                Log.d(TAG, "onSurfaceRedrawNeeded");
-            }
-            super.onSurfaceRedrawNeeded(holder);
-            // At the end of this method we should have drawn into the surface.
-            // This means that the bitmap should be loaded synchronously if
-            // it was already unloaded.
-            if (mBackground == null) {
-                updateBitmap(mWallpaperManager.getBitmap(true /* hardware */));
-            }
-            mSurfaceRedrawNeeded = true;
-            drawFrame();
-        }
-
-        @VisibleForTesting
-        DisplayInfo getDisplayInfo() {
-            mDisplay.getDisplayInfo(mTmpDisplayInfo);
-            return mTmpDisplayInfo;
-        }
-
-        void drawFrame() {
-            if (!mSurfaceValid) {
-                return;
-            }
-            try {
-                Trace.traceBegin(Trace.TRACE_TAG_VIEW, "drawWallpaper");
-                DisplayInfo displayInfo = getDisplayInfo();
-                int newRotation = displayInfo.rotation;
-
-                // Sometimes a wallpaper is not large enough to cover the screen in one dimension.
-                // Call updateSurfaceSize -- it will only actually do the update if the dimensions
-                // should change
-                if (newRotation != mLastRotation
-                        || mDisplayWidthAtLastSurfaceSizeUpdate != displayInfo.logicalWidth
-                        || mDisplayHeightAtLastSurfaceSizeUpdate != displayInfo.logicalHeight) {
-                    // Update surface size (if necessary)
-                    if (!updateSurfaceSize(getSurfaceHolder(), displayInfo, true /* forDraw */)) {
-                        return; // had to reload wallpaper, will retry later
-                    }
-                    mRotationAtLastSurfaceSizeUpdate = newRotation;
-                    mDisplayWidthAtLastSurfaceSizeUpdate = displayInfo.logicalWidth;
-                    mDisplayHeightAtLastSurfaceSizeUpdate = displayInfo.logicalHeight;
-                }
-                SurfaceHolder sh = getSurfaceHolder();
-                final Rect frame = sh.getSurfaceFrame();
-                final int dw = frame.width();
-                final int dh = frame.height();
-                boolean surfaceDimensionsChanged = dw != mLastSurfaceWidth
-                        || dh != mLastSurfaceHeight;
-
-                boolean redrawNeeded = surfaceDimensionsChanged || newRotation != mLastRotation
-                        || mSurfaceRedrawNeeded || mNeedsDrawAfterLoadingWallpaper;
-                if (!redrawNeeded && !mOffsetsChanged) {
-                    if (DEBUG) {
-                        Log.d(TAG, "Suppressed drawFrame since redraw is not needed "
-                                + "and offsets have not changed.");
-                    }
-                    return;
-                }
-                mLastRotation = newRotation;
-                mSurfaceRedrawNeeded = false;
-
-                // Load bitmap if it is not yet loaded
-                if (mBackground == null) {
-                    loadWallpaper(true);
-                    if (DEBUG) {
-                        Log.d(TAG, "Reloading, resuming draw later");
-                    }
-                    return;
-                }
-
-                // Left align the scaled image
-                mScale = Math.max(1f, Math.max(dw / (float) mBackground.getWidth(),
-                        dh / (float) mBackground.getHeight()));
-                final int availw = (int) (mBackground.getWidth() * mScale) - dw;
-                final int availh = (int) (mBackground.getHeight() * mScale) - dh;
-                int xPixels = (int) (availw * mXOffset);
-                int yPixels = (int) (availh * mYOffset);
-
-                mOffsetsChanged = false;
-                if (surfaceDimensionsChanged) {
-                    mLastSurfaceWidth = dw;
-                    mLastSurfaceHeight = dh;
-                }
-                if (!redrawNeeded && xPixels == mLastXTranslation && yPixels == mLastYTranslation) {
-                    if (DEBUG) {
-                        Log.d(TAG, "Suppressed drawFrame since the image has not "
-                                + "actually moved an integral number of pixels.");
-                    }
-                    return;
-                }
-                mLastXTranslation = xPixels;
-                mLastYTranslation = yPixels;
-
-                if (DEBUG) {
-                    Log.d(TAG, "Redrawing wallpaper");
-                }
-
-                drawWallpaperWithCanvas(sh, availw, availh, xPixels, yPixels);
-                scheduleUnloadWallpaper();
-            } finally {
-                Trace.traceEnd(Trace.TRACE_TAG_VIEW);
-            }
-        }
-
-        /**
-         * Loads the wallpaper on background thread and schedules updating the surface frame,
-         * and if {@param needsDraw} is set also draws a frame.
-         *
-         * If loading is already in-flight, subsequent loads are ignored (but needDraw is or-ed to
-         * the active request).
-         *
-         * If {@param needsReset} is set also clears the cache in WallpaperManager first.
-         */
-        private void loadWallpaper(boolean needsDraw) {
-            mNeedsDrawAfterLoadingWallpaper |= needsDraw;
-            if (mLoader != null) {
-                if (DEBUG) {
-                    Log.d(TAG, "Skipping loadWallpaper, already in flight ");
-                }
-                return;
-            }
-            mLoader = new AsyncTask<Void, Void, Bitmap>() {
-                @Override
-                protected Bitmap doInBackground(Void... params) {
-                    Throwable exception;
-                    try {
-                        Bitmap wallpaper = mWallpaperManager.getBitmap(true /* hardware */);
-                        if (wallpaper != null
-                                && wallpaper.getByteCount() > RecordingCanvas.MAX_BITMAP_SIZE) {
-                            throw new RuntimeException("Wallpaper is too large to draw!");
-                        }
-                        return wallpaper;
-                    } catch (RuntimeException | OutOfMemoryError e) {
-                        exception = e;
-                    }
-
-                    if (isCancelled()) {
-                        return null;
-                    }
-
-                    // Note that if we do fail at this, and the default wallpaper can't
-                    // be loaded, we will go into a cycle.  Don't do a build where the
-                    // default wallpaper can't be loaded.
-                    Log.w(TAG, "Unable to load wallpaper!", exception);
-                    try {
-                        mWallpaperManager.clear();
-                    } catch (IOException ex) {
-                        // now we're really screwed.
-                        Log.w(TAG, "Unable reset to default wallpaper!", ex);
-                    }
-
-                    if (isCancelled()) {
-                        return null;
-                    }
-
-                    try {
-                        return mWallpaperManager.getBitmap(true /* hardware */);
-                    } catch (RuntimeException | OutOfMemoryError e) {
-                        Log.w(TAG, "Unable to load default wallpaper!", e);
-                    }
-                    return null;
-                }
-
-                @Override
-                protected void onPostExecute(Bitmap b) {
-                    updateBitmap(b);
-
-                    if (mNeedsDrawAfterLoadingWallpaper) {
-                        drawFrame();
-                    }
-
-                    mLoader = null;
-                    mNeedsDrawAfterLoadingWallpaper = false;
-                }
-            }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-        }
-
-        @VisibleForTesting
-        void updateBitmap(Bitmap bitmap) {
-            mBackground = null;
-            mBackgroundWidth = -1;
-            mBackgroundHeight = -1;
-
-            if (bitmap != null) {
-                mBackground = bitmap;
-                mBackgroundWidth = mBackground.getWidth();
-                mBackgroundHeight = mBackground.getHeight();
-            }
-
-            if (DEBUG) {
-                Log.d(TAG, "Wallpaper loaded: " + mBackground);
-            }
-            updateSurfaceSize(getSurfaceHolder(), getDisplayInfo(),
-                    false /* forDraw */);
-        }
-
-        private void unloadWallpaper(boolean forgetSize) {
-            if (mLoader != null) {
-                mLoader.cancel(false);
-                mLoader = null;
-            }
-            mBackground = null;
-            if (forgetSize) {
-                mBackgroundWidth = -1;
-                mBackgroundHeight = -1;
-            }
-
-            final Surface surface = getSurfaceHolder().getSurface();
-            surface.hwuiDestroy();
-
-            mWallpaperManager.forgetLoadedWallpaper();
-        }
-
-        private void scheduleUnloadWallpaper() {
-            Handler handler = getMainThreadHandler();
-            handler.removeCallbacks(mUnloadWallpaperCallback);
-            handler.postDelayed(mUnloadWallpaperCallback, DELAY_FORGET_WALLPAPER);
-        }
-
-        @Override
-        protected void dump(String prefix, FileDescriptor fd, PrintWriter out, String[] args) {
-            super.dump(prefix, fd, out, args);
-
-            out.print(prefix); out.println("ImageWallpaper.DrawableEngine:");
-            out.print(prefix); out.print(" mBackground="); out.print(mBackground);
-            out.print(" mBackgroundWidth="); out.print(mBackgroundWidth);
-            out.print(" mBackgroundHeight="); out.println(mBackgroundHeight);
-
-            out.print(prefix); out.print(" mLastRotation="); out.print(mLastRotation);
-            out.print(" mLastSurfaceWidth="); out.print(mLastSurfaceWidth);
-            out.print(" mLastSurfaceHeight="); out.println(mLastSurfaceHeight);
-
-            out.print(prefix); out.print(" mXOffset="); out.print(mXOffset);
-            out.print(" mYOffset="); out.println(mYOffset);
-
-            out.print(prefix); out.print(" mVisible="); out.print(mVisible);
-            out.print(" mOffsetsChanged="); out.println(mOffsetsChanged);
-
-            out.print(prefix); out.print(" mLastXTranslation="); out.print(mLastXTranslation);
-            out.print(" mLastYTranslation="); out.print(mLastYTranslation);
-            out.print(" mScale="); out.println(mScale);
-
-            out.print(prefix); out.print(" mLastRequestedWidth="); out.print(mLastRequestedWidth);
-            out.print(" mLastRequestedHeight="); out.println(mLastRequestedHeight);
-
-            out.print(prefix); out.println(" DisplayInfo at last updateSurfaceSize:");
-            out.print(prefix);
-            out.print("  rotation="); out.print(mRotationAtLastSurfaceSizeUpdate);
-            out.print("  width="); out.print(mDisplayWidthAtLastSurfaceSizeUpdate);
-            out.print("  height="); out.println(mDisplayHeightAtLastSurfaceSizeUpdate);
-        }
-
-        private void drawWallpaperWithCanvas(SurfaceHolder sh, int w, int h, int left, int top) {
-            Canvas c = sh.lockHardwareCanvas();
-            if (c != null) {
-                try {
-                    if (DEBUG) {
-                        Log.d(TAG, "Redrawing: left=" + left + ", top=" + top);
-                    }
-
-                    final float right = left + mBackground.getWidth() * mScale;
-                    final float bottom = top + mBackground.getHeight() * mScale;
-                    if (w < 0 || h < 0) {
-                        c.save(Canvas.CLIP_SAVE_FLAG);
-                        c.clipRect(left, top, right, bottom,
-                                Op.DIFFERENCE);
-                        c.drawColor(0xff000000);
-                        c.restore();
-                    }
-                    if (mBackground != null) {
-                        RectF dest = new RectF(left, top, right, bottom);
-                        Log.i(TAG, "Redrawing in rect: " + dest + " with surface size: "
-                                + mLastRequestedWidth + "x" + mLastRequestedHeight);
-                        c.drawBitmap(mBackground, null, dest, null);
-                    }
-                } finally {
-                    sh.unlockCanvasAndPost(c);
-                }
-            }
-        }
-    }
-
     /**
      * A listener to trace status of image wallpaper.
      */
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
index 0f85c18..bbeebd6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
@@ -214,14 +214,6 @@
     public void prepare(ScrimState previousState) {
     }
 
-    /**
-     * Check if lockscreen wallpaper or music album art exists.
-     * @return true if lockscreen wallpaper or music album art exists.
-     */
-    public boolean hasBackdrop() {
-        return mHasBackdrop;
-    }
-
     public int getIndex() {
         return mIndex;
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 51ffc1d..13d4489 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -70,7 +70,6 @@
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Configuration;
 import android.content.res.Resources;
-import android.database.ContentObserver;
 import android.graphics.Point;
 import android.graphics.PointF;
 import android.graphics.Rect;
@@ -99,7 +98,6 @@
 import android.service.notification.StatusBarNotification;
 import android.util.DisplayMetrics;
 import android.util.EventLog;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.util.Slog;
 import android.view.Display;
@@ -474,9 +472,6 @@
             WallpaperInfo info = wallpaperManager.getWallpaperInfo(UserHandle.USER_CURRENT);
             final boolean deviceSupportsAodWallpaper = mContext.getResources().getBoolean(
                     com.android.internal.R.bool.config_dozeSupportsAodWallpaper);
-            final boolean aodImageWallpaperEnabled = FeatureFlagUtils.isEnabled(mContext,
-                    FeatureFlagUtils.AOD_IMAGEWALLPAPER_ENABLED);
-            updateAodMaskVisibility(deviceSupportsAodWallpaper && aodImageWallpaperEnabled);
             // If WallpaperInfo is null, it must be ImageWallpaper.
             final boolean supportsAmbientMode = deviceSupportsAodWallpaper
                     && (info == null || info.supportsAmbientMode());
@@ -580,7 +575,6 @@
     protected NotificationPresenter mPresenter;
     private NotificationActivityStarter mNotificationActivityStarter;
     private boolean mPulsing;
-    private ContentObserver mFeatureFlagObserver;
     protected BubbleController mBubbleController;
     private final BubbleController.BubbleExpandListener mBubbleExpandListener =
             (isExpanding, key) -> {
@@ -705,9 +699,6 @@
         mContext.registerReceiverAsUser(mWallpaperChangedReceiver, UserHandle.ALL,
                 wallpaperChangedFilter, null /* broadcastPermission */, null /* scheduler */);
         mWallpaperChangedReceiver.onReceive(mContext, null);
-        mFeatureFlagObserver = new FeatureFlagObserver(
-                FeatureFlagUtils.AOD_IMAGEWALLPAPER_ENABLED /* feature */,
-                () -> mWallpaperChangedReceiver.onReceive(mContext, null) /* callback */);
 
         // Set up the initial notification state. This needs to happen before CommandQueue.disable()
         setUpPresenter();
@@ -4426,32 +4417,4 @@
         return mStatusBarMode;
     }
 
-    private void updateAodMaskVisibility(boolean supportsAodWallpaper) {
-        View mask = mStatusBarWindow.findViewById(R.id.aod_mask);
-        if (mask != null) {
-            mask.setVisibility(supportsAodWallpaper ? View.VISIBLE : View.INVISIBLE);
-        }
-    }
-
-    private final class FeatureFlagObserver extends ContentObserver {
-        private final Runnable mCallback;
-
-        FeatureFlagObserver(String feature, Runnable callback) {
-            this(null, feature, callback);
-        }
-
-        private FeatureFlagObserver(Handler handler, String feature, Runnable callback) {
-            super(handler);
-            mCallback = callback;
-            mContext.getContentResolver().registerContentObserver(
-                    Settings.Global.getUriFor(feature), false, this);
-        }
-
-        @Override
-        public void onChange(boolean selfChange) {
-            if (mCallback != null) {
-                mStatusBarWindow.post(mCallback);
-            }
-        }
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/wallpaper/AodMaskView.java b/packages/SystemUI/src/com/android/systemui/wallpaper/AodMaskView.java
deleted file mode 100644
index f446cef..0000000
--- a/packages/SystemUI/src/com/android/systemui/wallpaper/AodMaskView.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.wallpaper;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.app.WallpaperManager;
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.RectF;
-import android.hardware.display.DisplayManager;
-import android.hardware.display.DisplayManager.DisplayListener;
-import android.util.AttributeSet;
-import android.util.FeatureFlagUtils;
-import android.util.Log;
-import android.view.Display;
-import android.view.DisplayInfo;
-import android.widget.ImageView;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.systemui.Dependency;
-import com.android.systemui.R;
-import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.statusbar.notification.AnimatableProperty;
-import com.android.systemui.statusbar.notification.PropertyAnimator;
-import com.android.systemui.statusbar.notification.stack.AnimationProperties;
-import com.android.systemui.statusbar.phone.ScrimState;
-
-/**
- * A view that draws mask upon either image wallpaper or music album art in AOD.
- */
-public class AodMaskView extends ImageView implements StatusBarStateController.StateListener,
-        ImageWallpaperTransformer.TransformationListener {
-    private static final String TAG = AodMaskView.class.getSimpleName();
-    private static final int TRANSITION_DURATION = 1000;
-
-    private static final AnimatableProperty TRANSITION_PROGRESS = AnimatableProperty.from(
-            "transition_progress",
-            AodMaskView::setTransitionAmount,
-            AodMaskView::getTransitionAmount,
-            R.id.aod_mask_transition_progress_tag,
-            R.id.aod_mask_transition_progress_start_tag,
-            R.id.aod_mask_transition_progress_end_tag
-    );
-
-    private final AnimationProperties mTransitionProperties = new AnimationProperties();
-    private final ImageWallpaperTransformer mTransformer;
-    private final RectF mBounds = new RectF();
-    private boolean mChangingStates;
-    private boolean mNeedMask;
-    private float mTransitionAmount;
-    private final WallpaperManager mWallpaperManager;
-    private final DisplayManager mDisplayManager;
-    private DisplayListener mDisplayListener = new DisplayListener() {
-        @Override
-        public void onDisplayAdded(int displayId) {
-        }
-
-        @Override
-        public void onDisplayRemoved(int displayId) {
-        }
-
-        @Override
-        public void onDisplayChanged(int displayId) {
-            // We just support DEFAULT_DISPLAY currently.
-            if (displayId == Display.DEFAULT_DISPLAY) {
-                mTransformer.updateDisplayInfo(getDisplayInfo(displayId));
-            }
-        }
-    };
-
-    public AodMaskView(Context context) {
-        this(context, null);
-    }
-
-    public AodMaskView(Context context, AttributeSet attrs) {
-        this(context, attrs, null);
-    }
-
-    @VisibleForTesting
-    public AodMaskView(Context context, AttributeSet attrs, ImageWallpaperTransformer transformer) {
-        super(context, attrs);
-        setClickable(false);
-
-        StatusBarStateController controller = Dependency.get(StatusBarStateController.class);
-        if (controller != null) {
-            controller.addCallback(this);
-        } else {
-            Log.d(TAG, "Can not get StatusBarStateController!");
-        }
-
-        mDisplayManager = (DisplayManager) getContext().getSystemService(Context.DISPLAY_SERVICE);
-        mDisplayManager.registerDisplayListener(mDisplayListener, null);
-        mWallpaperManager =
-                (WallpaperManager) getContext().getSystemService(Context.WALLPAPER_SERVICE);
-
-        if (transformer == null) {
-            mTransformer = new ImageWallpaperTransformer(this);
-            mTransformer.addFilter(new ScrimFilter());
-            mTransformer.addFilter(new VignetteFilter());
-            mTransformer.updateOffsets();
-            mTransformer.updateDisplayInfo(getDisplayInfo(Display.DEFAULT_DISPLAY));
-
-            mTransitionProperties.setDuration(TRANSITION_DURATION);
-            mTransitionProperties.setAnimationFinishListener(new AnimatorListenerAdapter() {
-                @Override
-                public void onAnimationEnd(Animator animation) {
-                    mTransformer.setIsTransiting(false);
-                }
-
-                @Override
-                public void onAnimationStart(Animator animation) {
-                    mTransformer.setIsTransiting(true);
-                }
-            });
-        } else {
-            // This part should only be hit by test cases.
-            mTransformer = transformer;
-        }
-    }
-
-    private DisplayInfo getDisplayInfo(int displayId) {
-        DisplayInfo displayInfo = new DisplayInfo();
-        mDisplayManager.getDisplay(displayId).getDisplayInfo(displayInfo);
-        return displayInfo;
-    }
-
-    @Override
-    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-        super.onSizeChanged(w, h, oldw, oldh);
-        mBounds.set(0, 0, w, h);
-        mTransformer.updateOffsets();
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        super.onDraw(canvas);
-        if (mNeedMask) {
-            mTransformer.drawTransformedImage(canvas, null /* target */, null /* src */, mBounds);
-        }
-    }
-
-    private boolean checkIfNeedMask() {
-        // We need mask for ImageWallpaper / LockScreen Wallpaper (Music album art).
-        // Because of conflicting with another wallpaper feature,
-        // we only support LockScreen wallpaper currently.
-        return mWallpaperManager.getWallpaperInfo() == null || ScrimState.AOD.hasBackdrop();
-    }
-
-    @Override
-    public void onStatePreChange(int oldState, int newState) {
-        mChangingStates = oldState != newState;
-        mNeedMask = checkIfNeedMask();
-    }
-
-    @Override
-    public void onStatePostChange() {
-        mChangingStates = false;
-    }
-
-    @Override
-    public void onStateChanged(int newState) {
-    }
-
-    @Override
-    public void onDozingChanged(boolean isDozing) {
-        if (!mNeedMask) {
-            return;
-        }
-
-        boolean enabled = checkFeatureIsEnabled();
-        mTransformer.updateAmbientModeState(enabled && isDozing);
-
-        if (enabled && !mChangingStates) {
-            setAnimatorProperty(isDozing);
-        } else {
-            invalidate();
-        }
-    }
-
-    private boolean checkFeatureIsEnabled() {
-        return FeatureFlagUtils.isEnabled(
-                getContext(), FeatureFlagUtils.AOD_IMAGEWALLPAPER_ENABLED);
-    }
-
-    @VisibleForTesting
-    void setAnimatorProperty(boolean isDozing) {
-        PropertyAnimator.setProperty(
-                this,
-                TRANSITION_PROGRESS,
-                isDozing ? 1f : 0f /* newEndValue */,
-                mTransitionProperties,
-                true /* animated */);
-    }
-
-    @Override
-    public void onTransformationUpdated() {
-        invalidate();
-    }
-
-    private void setTransitionAmount(float amount) {
-        mTransitionAmount = amount;
-        mTransformer.updateTransitionAmount(amount);
-    }
-
-    private float getTransitionAmount() {
-        return mTransitionAmount;
-    }
-
-}
diff --git a/packages/SystemUI/src/com/android/systemui/wallpaper/ImageWallpaperFilter.java b/packages/SystemUI/src/com/android/systemui/wallpaper/ImageWallpaperFilter.java
deleted file mode 100644
index d457dac..0000000
--- a/packages/SystemUI/src/com/android/systemui/wallpaper/ImageWallpaperFilter.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.wallpaper;
-
-import android.animation.ValueAnimator;
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Rect;
-import android.graphics.RectF;
-
-/**
- * Abstract filter used by static image wallpaper.
- */
-abstract class ImageWallpaperFilter {
-    protected static final boolean DEBUG = false;
-
-    private ImageWallpaperTransformer mTransformer;
-
-    /**
-     * Apply this filter to the bitmap before drawing on canvas.
-     * @param c      The canvas that will draw to.
-     * @param bitmap The bitmap to apply this filter.
-     * @param src    The subset of the bitmap to be drawn.
-     * @param dest   The rectangle that the bitmap will be scaled/translated to fit into.
-     */
-    public abstract void apply(@NonNull Canvas c, @Nullable Bitmap bitmap,
-            @Nullable Rect src, @NonNull RectF dest);
-
-    /**
-     * Notifies the occurrence of built-in transition of the animation.
-     * @param animator The animator which was animated.
-     */
-    public abstract void onAnimatorUpdate(ValueAnimator animator);
-
-    /**
-     * Notifies the occurrence of another transition of the animation.
-     * @param amount The transition amount.
-     */
-    public abstract void onTransitionAmountUpdate(float amount);
-
-    /**
-     * To set the associated transformer.
-     * @param transformer The transformer that is associated with this filter.
-     */
-    public void setTransformer(ImageWallpaperTransformer transformer) {
-        if (transformer != null) {
-            mTransformer = transformer;
-        }
-    }
-
-    protected ImageWallpaperTransformer getTransformer() {
-        return mTransformer;
-    }
-
-    /**
-     * Notifies the changing of the offset value of the ImageWallpaper.
-     * @param force True to force re-evaluate offsets.
-     * @param xOffset X offset of the ImageWallpaper in percentage.
-     * @param yOffset Y offset of the ImageWallpaper in percentage.
-     */
-    public void onOffsetsUpdate(boolean force, float xOffset, float yOffset) {
-        // No-op
-    }
-
-}
diff --git a/packages/SystemUI/src/com/android/systemui/wallpaper/ImageWallpaperTransformer.java b/packages/SystemUI/src/com/android/systemui/wallpaper/ImageWallpaperTransformer.java
deleted file mode 100644
index 25b0b0a..0000000
--- a/packages/SystemUI/src/com/android/systemui/wallpaper/ImageWallpaperTransformer.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.wallpaper;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.view.DisplayInfo;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class is used to manage the filters that will be applied.
- */
-public class ImageWallpaperTransformer {
-    private static final String TAG = ImageWallpaperTransformer.class.getSimpleName();
-
-    private DisplayInfo mDisplayInfo;
-    private final List<ImageWallpaperFilter> mFilters;
-    private final TransformationListener mListener;
-    private boolean mIsInAmbientMode;
-    private boolean mIsTransiting;
-
-    /**
-     * Constructor.
-     * @param listener A listener to inform you the transformation has updated.
-     */
-    public ImageWallpaperTransformer(TransformationListener listener) {
-        mFilters = new ArrayList<>();
-        mListener = listener;
-    }
-
-    /**
-     * Claim that we want to use the specified filter.
-     * @param filter The filter will be used.
-     */
-    public void addFilter(ImageWallpaperFilter filter) {
-        if (filter != null) {
-            filter.setTransformer(this);
-            mFilters.add(filter);
-        }
-    }
-
-    /**
-     * Check if any transition is running.
-     * @return True if the transition is running, false otherwise.
-     */
-    boolean isTransiting() {
-        return mIsTransiting;
-    }
-
-    /**
-     * Indicate if any transition is running. <br/>
-     * @param isTransiting True if the transition is running.
-     */
-    void setIsTransiting(boolean isTransiting) {
-        mIsTransiting = isTransiting;
-    }
-
-    /**
-     * Check if the device is in ambient mode.
-     * @return True if the device is in ambient mode, false otherwise.
-     */
-    public boolean isInAmbientMode() {
-        return mIsInAmbientMode;
-    }
-
-    /**
-     * Update current state of ambient mode.
-     * @param isInAmbientMode Current ambient mode state.
-     */
-    public void updateAmbientModeState(boolean isInAmbientMode) {
-        mIsInAmbientMode = isInAmbientMode;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        int idx = 0;
-        for (ImageWallpaperFilter filter : mFilters) {
-            sb.append(idx++).append(": ").append(filter.getClass().getSimpleName()).append("\n");
-        }
-        if (sb.length() == 0) {
-            sb.append("No filters applied");
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Set a new display info.
-     * @param displayInfo New display info.
-     */
-    public void updateDisplayInfo(DisplayInfo displayInfo) {
-        mDisplayInfo = displayInfo;
-    }
-
-    /**
-     * To get current display info.
-     * @return Current display info.
-     */
-    public DisplayInfo getDisplayInfo() {
-        return mDisplayInfo;
-    }
-
-    /**
-     * Update the offsets with default value.
-     */
-    public void updateOffsets() {
-        this.updateOffsets(true, 0f, .5f);
-    }
-
-    /**
-     * To notify the filters that the offset of the ImageWallpaper changes.
-     * @param force True to force re-evaluate offsets.
-     * @param offsetX X offset of the ImageWallpaper in percentage.
-     * @param offsetY Y offset of the ImageWallpaper in percentage.
-     */
-    public void updateOffsets(boolean force, float offsetX, float offsetY) {
-        mFilters.forEach(filter -> filter.onOffsetsUpdate(force, offsetX, offsetY));
-    }
-
-    /**
-     * Apply all specified filters to the bitmap then draw to the canvas.
-     * @param c      The canvas that will draw to.
-     * @param target The bitmap to apply filters.
-     * @param src    The subset of the bitmap to be drawn
-     * @param dest   The rectangle that the bitmap will be scaled/translated to fit into.
-     */
-    void drawTransformedImage(@NonNull Canvas c, @Nullable Bitmap target,
-            @Nullable Rect src, @NonNull RectF dest) {
-        mFilters.forEach(filter -> filter.apply(c, target, src, dest));
-    }
-
-    /**
-     * Update the transition amount. <br/>
-     * Must invoke this to update transition amount if not running built-in transition.
-     * @param amount The transition amount.
-     */
-    void updateTransitionAmount(float amount) {
-        mFilters.forEach(filter -> filter.onTransitionAmountUpdate(amount));
-        if (mListener != null) {
-            mListener.onTransformationUpdated();
-        }
-    }
-
-    /**
-     * An interface that informs the transformation status.
-     */
-    public interface TransformationListener {
-        /**
-         * Notifies the update of the transformation.
-         */
-        void onTransformationUpdated();
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/wallpaper/ScrimFilter.java b/packages/SystemUI/src/com/android/systemui/wallpaper/ScrimFilter.java
deleted file mode 100644
index 637e48e..0000000
--- a/packages/SystemUI/src/com/android/systemui/wallpaper/ScrimFilter.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.wallpaper;
-
-import android.animation.ValueAnimator;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.graphics.RectF;
-
-/**
- * A filter that implements 70% black scrim effect.
- */
-public class ScrimFilter extends ImageWallpaperFilter {
-    private static final int MAX_ALPHA = (int) (255 * .7f);
-    private static final int MIN_ALPHA = 0;
-
-    private final Paint mPaint;
-
-    public ScrimFilter() {
-        mPaint = new Paint();
-        mPaint.setColor(Color.BLACK);
-        mPaint.setAlpha(MAX_ALPHA);
-    }
-
-    @Override
-    public void apply(Canvas c, Bitmap bitmap, Rect src, RectF dest) {
-        ImageWallpaperTransformer transformer = getTransformer();
-
-        // If it is not in the transition, we need to set the property according to aod state.
-        if (!transformer.isTransiting()) {
-            mPaint.setAlpha(transformer.isInAmbientMode() ? MAX_ALPHA : MIN_ALPHA);
-        }
-
-        c.drawRect(dest, mPaint);
-    }
-
-    @Override
-    public void onAnimatorUpdate(ValueAnimator animator) {
-        ImageWallpaperTransformer transformer = getTransformer();
-        float fraction = animator.getAnimatedFraction();
-        float factor = transformer.isInAmbientMode() ? fraction : 1f - fraction;
-        mPaint.setAlpha((int) (factor * MAX_ALPHA));
-    }
-
-    @Override
-    public void onTransitionAmountUpdate(float amount) {
-        mPaint.setAlpha((int) (amount * MAX_ALPHA));
-    }
-
-}
diff --git a/packages/SystemUI/src/com/android/systemui/wallpaper/VignetteFilter.java b/packages/SystemUI/src/com/android/systemui/wallpaper/VignetteFilter.java
deleted file mode 100644
index ad0b98b..0000000
--- a/packages/SystemUI/src/com/android/systemui/wallpaper/VignetteFilter.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.wallpaper;
-
-import android.animation.ValueAnimator;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.PointF;
-import android.graphics.RadialGradient;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.graphics.Shader;
-import android.util.Log;
-import android.view.DisplayInfo;
-
-import com.android.internal.annotations.VisibleForTesting;
-
-/**
- * A filter that implements vignette effect.
- */
-public class VignetteFilter extends ImageWallpaperFilter {
-    private static final String TAG = VignetteFilter.class.getSimpleName();
-    private static final int MAX_ALPHA = 255;
-    private static final int MIN_ALPHA = 0;
-
-    private final Paint mPaint;
-    private final Matrix mMatrix;
-    private final Shader mShader;
-
-    private float mXOffset;
-    private float mYOffset;
-    private float mCenterX;
-    private float mCenterY;
-    private float mStretchX;
-    private float mStretchY;
-    private boolean mCalculateOffsetNeeded;
-
-    public VignetteFilter() {
-        mPaint = new Paint();
-        mMatrix = new Matrix();
-        mShader = new RadialGradient(0, 0, 1,
-                Color.TRANSPARENT, Color.BLACK, Shader.TileMode.CLAMP);
-    }
-
-    @Override
-    public void apply(Canvas c, Bitmap bitmap, Rect src, RectF dest) {
-        DisplayInfo info = getTransformer().getDisplayInfo();
-
-        if (mCalculateOffsetNeeded) {
-            int lw = info.logicalWidth;
-            int lh = info.logicalHeight;
-            mCenterX = lw / 2 + (dest.width() - lw) * mXOffset;
-            mCenterY = lh / 2 + (dest.height() - lh) * mYOffset;
-            mStretchX = info.logicalWidth / 2;
-            mStretchY = info.logicalHeight / 2;
-            mCalculateOffsetNeeded = false;
-        }
-
-        if (DEBUG) {
-            Log.d(TAG, "apply: lw=" + info.logicalWidth + ", lh=" + info.logicalHeight
-                    + ", center=(" + mCenterX + "," + mCenterY + ")"
-                    + ", stretch=(" + mStretchX + "," + mStretchY + ")");
-        }
-
-        mMatrix.reset();
-        mMatrix.postTranslate(mCenterX, mCenterY);
-        mMatrix.postScale(mStretchX, mStretchY, mCenterX, mCenterY);
-        mShader.setLocalMatrix(mMatrix);
-        mPaint.setShader(mShader);
-
-        ImageWallpaperTransformer transformer = getTransformer();
-
-        // If it is not in the transition, we need to set the property according to aod state.
-        if (!transformer.isTransiting()) {
-            mPaint.setAlpha(transformer.isInAmbientMode() ? MAX_ALPHA : MIN_ALPHA);
-        }
-
-        c.drawRect(dest, mPaint);
-    }
-
-    @Override
-    public void onAnimatorUpdate(ValueAnimator animator) {
-        ImageWallpaperTransformer transformer = getTransformer();
-        float fraction = animator.getAnimatedFraction();
-        float factor = transformer.isInAmbientMode() ? fraction : 1f - fraction;
-        mPaint.setAlpha((int) (factor * MAX_ALPHA));
-    }
-
-    @Override
-    public void onTransitionAmountUpdate(float amount) {
-        mPaint.setAlpha((int) (amount * MAX_ALPHA));
-    }
-
-    @Override
-    public void onOffsetsUpdate(boolean force, float xOffset, float yOffset) {
-        if (force || mXOffset != xOffset || mYOffset != yOffset) {
-            mXOffset = xOffset;
-            mYOffset = yOffset;
-            mCalculateOffsetNeeded = true;
-        }
-    }
-
-    @VisibleForTesting
-    public PointF getCenterPoint() {
-        return new PointF(mCenterX, mCenterY);
-    }
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java b/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
index fc57909..e4d56d7 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
@@ -16,24 +16,12 @@
 
 package com.android.systemui;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.graphics.Bitmap;
 import android.support.test.runner.AndroidJUnit4;
 import android.test.suitebuilder.annotation.SmallTest;
-import android.view.DisplayInfo;
-import android.view.SurfaceHolder;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
 import java.util.concurrent.CountDownLatch;
@@ -42,115 +30,20 @@
 @RunWith(AndroidJUnit4.class)
 public class ImageWallpaperTest extends SysuiTestCase {
 
-    private static final int BMP_WIDTH = 128;
-    private static final int BMP_HEIGHT = 128;
-
-    private static final int INVALID_BMP_WIDTH = 1;
-    private static final int INVALID_BMP_HEIGHT = 1;
-
-    private ImageWallpaper mImageWallpaper;
-
-    @Mock private SurfaceHolder mSurfaceHolder;
-    @Mock private DisplayInfo mDisplayInfo;
-
     private CountDownLatch mEventCountdown;
     private CountDownLatch mAmbientEventCountdown;
 
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
-
         mEventCountdown = new CountDownLatch(1);
         mAmbientEventCountdown = new CountDownLatch(2);
-
-        mImageWallpaper = new ImageWallpaper() {
-            @Override
-            public Engine onCreateEngine() {
-                return new DrawableEngine() {
-                    @Override
-                    DisplayInfo getDisplayInfo() {
-                        return mDisplayInfo;
-                    }
-
-                    @Override
-                    public SurfaceHolder getSurfaceHolder() {
-                        return mSurfaceHolder;
-                    }
-
-                    @Override
-                    public void setFixedSizeAllowed(boolean allowed) {
-                        super.setFixedSizeAllowed(allowed);
-                        assertTrue("mFixedSizeAllowed should be true", allowed);
-                        mEventCountdown.countDown();
-                    }
-
-                    @Override
-                    public void onAmbientModeChanged(boolean inAmbientMode, long duration) {
-                        mAmbientEventCountdown.countDown();
-                    }
-                };
-            }
-        };
-    }
-
-    @Test
-    public void testSetValidBitmapWallpaper() {
-        ImageWallpaper.DrawableEngine wallpaperEngine =
-                (ImageWallpaper.DrawableEngine) mImageWallpaper.onCreateEngine();
-
-        assertEquals("setFixedSizeAllowed should have been called.",
-                0, mEventCountdown.getCount());
-
-        Bitmap mockedBitmap = mock(Bitmap.class);
-        when(mockedBitmap.getWidth()).thenReturn(BMP_WIDTH);
-        when(mockedBitmap.getHeight()).thenReturn(BMP_HEIGHT);
-
-        wallpaperEngine.updateBitmap(mockedBitmap);
-
-        assertEquals(BMP_WIDTH, wallpaperEngine.mBackgroundWidth);
-        assertEquals(BMP_HEIGHT, wallpaperEngine.mBackgroundHeight);
-
-        verify(mSurfaceHolder, times(1)).setFixedSize(BMP_WIDTH, BMP_HEIGHT);
-
-    }
-
-    @Test
-    public void testSetTooSmallBitmapWallpaper() {
-        ImageWallpaper.DrawableEngine wallpaperEngine =
-                (ImageWallpaper.DrawableEngine) mImageWallpaper.onCreateEngine();
-
-        assertEquals("setFixedSizeAllowed should have been called.",
-                0, mEventCountdown.getCount());
-
-        Bitmap mockedBitmap = mock(Bitmap.class);
-        when(mockedBitmap.getWidth()).thenReturn(INVALID_BMP_WIDTH);
-        when(mockedBitmap.getHeight()).thenReturn(INVALID_BMP_HEIGHT);
-
-        wallpaperEngine.updateBitmap(mockedBitmap);
-
-        assertEquals(INVALID_BMP_WIDTH, wallpaperEngine.mBackgroundWidth);
-        assertEquals(INVALID_BMP_HEIGHT, wallpaperEngine.mBackgroundHeight);
-
-        verify(mSurfaceHolder, times(1)).setFixedSize(ImageWallpaper.DrawableEngine.MIN_BACKGROUND_WIDTH, ImageWallpaper.DrawableEngine.MIN_BACKGROUND_HEIGHT);
     }
 
     @Test
     public void testDeliversAmbientModeChanged() {
-        ImageWallpaper.DrawableEngine wallpaperEngine =
-                (ImageWallpaper.DrawableEngine) mImageWallpaper.onCreateEngine();
-
-        assertEquals("setFixedSizeAllowed should have been called.",
-                0, mEventCountdown.getCount());
-
-        wallpaperEngine.setCreated(true);
-        wallpaperEngine.doAmbientModeChanged(false, 1000);
-        assertFalse("ambient mode should be false", wallpaperEngine.isInAmbientMode());
-        assertEquals("onAmbientModeChanged should have been called.",
-                1, mAmbientEventCountdown.getCount());
-
-        wallpaperEngine.doAmbientModeChanged(true, 1000);
-        assertTrue("ambient mode should be true", wallpaperEngine.isInAmbientMode());
-        assertEquals("onAmbientModeChanged should have been called.",
-                0, mAmbientEventCountdown.getCount());
+        //TODO: We need add tests for GLEngine.
     }
+
+    // TODO: Add more test cases for GLEngine, tracing in b/124838911.
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/wallpaper/AodMaskViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/wallpaper/AodMaskViewTest.java
deleted file mode 100644
index c44a366..0000000
--- a/packages/SystemUI/tests/src/com/android/systemui/wallpaper/AodMaskViewTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.wallpaper;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import android.app.WallpaperManager;
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.RectF;
-import android.hardware.display.DisplayManager;
-import android.support.test.runner.AndroidJUnit4;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.util.FeatureFlagUtils;
-import android.view.DisplayInfo;
-import android.view.WindowManager;
-
-import com.android.systemui.SysuiTestCase;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@SmallTest
-@RunWith(AndroidJUnit4.class)
-public class AodMaskViewTest extends SysuiTestCase {
-    private AodMaskView mMaskView;
-    private DisplayInfo mDisplayInfo;
-    private ImageWallpaperTransformer mTransformer;
-
-    @Before
-    public void setUp() throws Exception {
-        DisplayManager displayManager =
-                spy((DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE));
-        doNothing().when(displayManager).registerDisplayListener(any(), any());
-        mContext.addMockSystemService(DisplayManager.class, displayManager);
-
-        WallpaperManager wallpaperManager =
-                spy((WallpaperManager) mContext.getSystemService(Context.WALLPAPER_SERVICE));
-        doReturn(null).when(wallpaperManager).getWallpaperInfo();
-        mContext.addMockSystemService(WallpaperManager.class, wallpaperManager);
-
-        mTransformer = spy(new ImageWallpaperTransformer(null /* listener */));
-        mMaskView = spy(new AodMaskView(getContext(), null /* attrs */, mTransformer));
-        mDisplayInfo = new DisplayInfo();
-
-        ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE))
-                .getDefaultDisplay().getDisplayInfo(mDisplayInfo);
-
-        FeatureFlagUtils.setEnabled(
-                mContext, FeatureFlagUtils.AOD_IMAGEWALLPAPER_ENABLED, true);
-    }
-
-    @After
-    public void tearDown() {
-        FeatureFlagUtils.setEnabled(
-                mContext, FeatureFlagUtils.AOD_IMAGEWALLPAPER_ENABLED, false);
-    }
-
-    @Test
-    public void testCreateMaskView_TransformerIsNotNull() {
-        assertNotNull("mTransformer should not be null", mTransformer);
-    }
-
-    @Test
-    public void testAodMaskView_ShouldNotClickable() {
-        assertFalse("MaskView should not be clickable", mMaskView.isClickable());
-    }
-
-    @Test
-    public void testAodMaskView_OnSizeChange_ShouldUpdateTransformerOffsets() {
-        mMaskView.onSizeChanged(mDisplayInfo.logicalWidth, mDisplayInfo.logicalHeight, 0, 0);
-        verify(mTransformer, times(1)).updateOffsets();
-    }
-
-    @Test
-    public void testAodMaskView_OnDraw_ShouldDrawTransformedImage() {
-        Canvas c = new Canvas();
-        RectF bounds = new RectF(0, 0, mDisplayInfo.logicalWidth, mDisplayInfo.logicalHeight);
-        mMaskView.onSizeChanged(mDisplayInfo.logicalWidth, mDisplayInfo.logicalHeight, 0, 0);
-        mMaskView.onStatePreChange(0, 1);
-        mMaskView.onDraw(c);
-        verify(mTransformer, times(1)).drawTransformedImage(c, null, null, bounds);
-    }
-
-    @Test
-    public void testAodMaskView_IsDozing_ShouldUpdateAmbientModeState() {
-        doNothing().when(mMaskView).setAnimatorProperty(anyBoolean());
-        mMaskView.onStatePreChange(0, 1);
-        mMaskView.onDozingChanged(true);
-        verify(mTransformer, times(1)).updateAmbientModeState(true);
-    }
-
-    @Test
-    public void testAodMaskView_IsDozing_ShouldDoTransitionOrDrawFinalFrame() {
-        doNothing().when(mMaskView).setAnimatorProperty(anyBoolean());
-        mMaskView.onStatePreChange(0, 1);
-        mMaskView.onDozingChanged(true);
-        mMaskView.onStatePostChange();
-        mMaskView.onDozingChanged(false);
-        verify(mMaskView, times(1)).invalidate();
-        verify(mMaskView, times(1)).setAnimatorProperty(false);
-    }
-
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/wallpaper/ImageWallpaperTransformerTest.java b/packages/SystemUI/tests/src/com/android/systemui/wallpaper/ImageWallpaperTransformerTest.java
deleted file mode 100644
index 55b0aae..0000000
--- a/packages/SystemUI/tests/src/com/android/systemui/wallpaper/ImageWallpaperTransformerTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.wallpaper;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.PointF;
-import android.graphics.RectF;
-import android.support.test.runner.AndroidJUnit4;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.view.DisplayInfo;
-import android.view.WindowManager;
-
-import com.android.systemui.SysuiTestCase;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@SmallTest
-@RunWith(AndroidJUnit4.class)
-public class ImageWallpaperTransformerTest extends SysuiTestCase {
-    private DisplayInfo mDisplayInfo;
-    private Bitmap mBitmap;
-    private Canvas mCanvas;
-    private RectF mDestination;
-
-    @Before
-    public void setUp() throws Exception {
-        mDisplayInfo = new DisplayInfo();
-        ((WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE))
-                .getDefaultDisplay().getDisplayInfo(mDisplayInfo);
-        int dimension = Math.max(mDisplayInfo.logicalHeight, mDisplayInfo.logicalWidth);
-        mBitmap = Bitmap.createBitmap(dimension, dimension, Bitmap.Config.ARGB_8888);
-        mCanvas = new Canvas(mBitmap);
-        mCanvas.drawColor(Color.RED);
-        mDestination = new RectF(0, 0, mBitmap.getWidth(), mBitmap.getHeight());
-    }
-
-    @Test
-    public void testVignetteFilter() {
-        VignetteFilter vignette = new VignetteFilter();
-
-        ImageWallpaperTransformer transformer = getTransformer(vignette);
-        transformer.drawTransformedImage(mCanvas, mBitmap, null, mDestination);
-
-        PointF center = vignette.getCenterPoint();
-        int p1 = mBitmap.getPixel((int) center.x, (int) center.y);
-        int p2 = mBitmap.getPixel(0, 0);
-        int p3 = mBitmap.getPixel(mBitmap.getWidth() - 1, mBitmap.getHeight() - 1);
-
-        assertThat(p1).isEqualTo(Color.RED);
-        assertThat(p2 | p3).isEqualTo(Color.BLACK);
-    }
-
-    @Test
-    public void testScrimFilter() {
-        getTransformer(new ScrimFilter())
-                .drawTransformedImage(mCanvas, mBitmap, null, mDestination);
-
-        int pixel = mBitmap.getPixel(0, 0);
-
-        // 0xff4d0000 is the result of 70% alpha pre-multiplied which is 0.7*(0,0,0)+0.3*(255,0,0).
-        assertThat(pixel).isEqualTo(0xff4d0000);
-    }
-
-    private ImageWallpaperTransformer getTransformer(ImageWallpaperFilter filter) {
-        ImageWallpaperTransformer transformer = new ImageWallpaperTransformer(null);
-        transformer.addFilter(filter);
-        transformer.updateDisplayInfo(mDisplayInfo);
-        transformer.updateOffsets();
-        transformer.updateAmbientModeState(true);
-        return transformer;
-    }
-}
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index 071dde7..4aeba153 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -84,7 +84,6 @@
 import android.system.ErrnoException;
 import android.system.Os;
 import android.util.EventLog;
-import android.util.FeatureFlagUtils;
 import android.util.Slog;
 import android.util.SparseArray;
 import android.util.SparseBooleanArray;
@@ -2262,10 +2261,6 @@
         }
     }
 
-    private boolean isAodImageWallpaperEnabled() {
-        return FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.AOD_IMAGEWALLPAPER_ENABLED);
-    }
-
     @Override
     public boolean setLockWallpaperCallback(IWallpaperManagerCallback cb) {
         checkPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW);