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

Commit 9298af37 authored by Chris Tate's avatar Chris Tate Committed by android-build-merger
Browse files

Merge "Explicitly restart the killed wallpaper service"

am: 0780b18a

Change-Id: I7759fc380ef9555cb58f9ab593248e69cd798c70
parents e05aa02d 0780b18a
Loading
Loading
Loading
Loading
+18 −7
Original line number Diff line number Diff line
@@ -847,6 +847,17 @@ public class WallpaperManagerService extends IWallpaperManager.Stub {
            }
        }

        public void scheduleTimeoutLocked() {
            // If we didn't reset it right away, do so after we couldn't connect to
            // it for an extended amount of time to avoid having a black wallpaper.
            final Handler fgHandler = FgThread.getHandler();
            fgHandler.removeCallbacks(mResetRunnable);
            fgHandler.postDelayed(mResetRunnable, WALLPAPER_RECONNECT_TIMEOUT_MS);
            if (DEBUG_LIVE) {
                Slog.i(TAG, "Started wallpaper reconnect timeout for " + mWallpaper.wallpaperComponent);
            }
        }

        private void processDisconnect(final ServiceConnection connection) {
            synchronized (mLock) {
                // The wallpaper disappeared.  If this isn't a system-default one, track
@@ -871,13 +882,13 @@ public class WallpaperManagerService extends IWallpaperManager.Stub {
                        } else {
                            mWallpaper.lastDiedTime = SystemClock.uptimeMillis();

                            // If we didn't reset it right away, do so after we couldn't connect to
                            // it for an extended amount of time to avoid having a black wallpaper.
                            final Handler fgHandler = FgThread.getHandler();
                            fgHandler.removeCallbacks(mResetRunnable);
                            fgHandler.postDelayed(mResetRunnable, WALLPAPER_RECONNECT_TIMEOUT_MS);
                            if (DEBUG_LIVE) {
                                Slog.i(TAG, "Started wallpaper reconnect timeout for " + wpService);
                            clearWallpaperComponentLocked(mWallpaper);
                            if (bindWallpaperComponentLocked(
                                    wpService, false, false, mWallpaper, null)) {
                                mWallpaper.connection.scheduleTimeoutLocked();
                            } else {
                                Slog.w(TAG, "Reverting to built-in wallpaper!");
                                clearWallpaperLocked(true, FLAG_SYSTEM, mWallpaper.userId, null);
                            }
                        }
                        final String flattened = wpService.flattenToString();