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

Commit 0780b18a authored by Chris Tate's avatar Chris Tate Committed by Gerrit Code Review
Browse files

Merge "Explicitly restart the killed wallpaper service"

parents bb5cbc53 06919216
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();