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

Commit 784a9ec8 authored by Nicolo' Mazzucato's avatar Nicolo' Mazzucato Committed by Nicolò Mazzucato
Browse files

Check for nullness in WallpaperService onDestroy

There are cases where the WallpaperService API is misused and an instance is created manually. In those cases, onCreate is not called as expected, but onDestroy is.
As mBackgroundThread was being created `onCreate`, it ended up being null in onDestroy.

Adding a null check to avoid breaking those places.

Bug: 275361339
Test: androidx.wear.watchface.editor.EditorSessionTest#commitWithPreviewImage
Change-Id: I89076da179493fa282f3e59895cfa4f4bfb6bdfc
Merged-In: I89076da179493fa282f3e59895cfa4f4bfb6bdfc
parent f54e5f90
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -2610,7 +2610,12 @@ public abstract class WallpaperService extends Service {
            mActiveEngines.get(i).detach();
        }
        mActiveEngines.clear();
        if (mBackgroundThread != null) {
            // onDestroy might be called without a previous onCreate if WallpaperService was
            // instantiated manually. While this is a misuse of the API, some things break
            // if here we don't take into consideration this scenario.
            mBackgroundThread.quitSafely();
        }
        Trace.endSection();
    }