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

Commit a9ac5f5c authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

Merge "wallpaper: add reportVisibility(forceReport)" into udc-dev

parents c7a54c4e 6e73ba32
Loading
Loading
Loading
Loading
+38 −19
Original line number Diff line number Diff line
@@ -1543,14 +1543,14 @@ public abstract class WallpaperService extends Service {
        void doVisibilityChanged(boolean visible) {
            if (!mDestroyed) {
                mVisible = visible;
                reportVisibility();
                reportVisibility(false);
                if (mReportedVisible) processLocalColors();
            } else {
                AnimationHandler.requestAnimatorsEnabled(visible, this);
            }
        }

        void reportVisibility() {
        void reportVisibility(boolean forceReport) {
            if (mScreenshotSurfaceControl != null && mVisible) {
                if (DEBUG) Log.v(TAG, "Frozen so don't report visibility change");
                return;
@@ -1558,10 +1558,29 @@ public abstract class WallpaperService extends Service {
            if (!mDestroyed) {
                mDisplayState = mDisplay == null ? Display.STATE_UNKNOWN : mDisplay.getState();
                boolean visible = mVisible && mDisplayState != Display.STATE_OFF;
                if (mReportedVisible != visible) {
                if (DEBUG) {
                    Log.v(
                            TAG,
                            "reportVisibility"
                                    + " mReportedVisible="
                                    + mReportedVisible
                                    + " mVisible="
                                    + mVisible
                                    + " mDisplayState="
                                    + mDisplayState);
                }
                if (mReportedVisible != visible || forceReport) {
                    mReportedVisible = visible;
                    if (DEBUG) Log.v(TAG, "onVisibilityChanged(" + visible
                            + "): " + this);
                    if (DEBUG) {
                        Log.v(
                                TAG,
                                "onVisibilityChanged("
                                        + visible
                                        + "): "
                                        + this
                                        + " forceReport="
                                        + forceReport);
                    }
                    if (visible) {
                        // If becoming visible, in preview mode the surface
                        // may have been destroyed so now we need to make
@@ -2205,21 +2224,21 @@ public abstract class WallpaperService extends Service {
            }
        }

        private final DisplayListener mDisplayListener = new DisplayListener() {
        private final DisplayListener mDisplayListener =
                new DisplayListener() {
                    @Override
                    public void onDisplayChanged(int displayId) {
                        if (mDisplay.getDisplayId() == displayId) {
                    reportVisibility();
                            boolean forceReport = mDisplay.getState() != Display.STATE_DOZE_SUSPEND;
                            reportVisibility(forceReport);
                        }
                    }

                    @Override
            public void onDisplayRemoved(int displayId) {
            }
                    public void onDisplayRemoved(int displayId) {}

                    @Override
            public void onDisplayAdded(int displayId) {
            }
                    public void onDisplayAdded(int displayId) {}
                };

        private Surface getOrCreateBLASTSurface(int width, int height, int format) {