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

Commit ddbcecbb authored by Aurélien Pomini's avatar Aurélien Pomini
Browse files

Avoid any NPE in ImageWallpaper#onDestroy

In rare cases where WallpaperService#doAttachEngine throws a
RemoteException, it will call ImageWallpaper#onDestroy in a way it can
cause a NPE.

Add null checks to avoid that.

Flag: NA
Bug: 330945783
Test: treehugger
Change-Id: Icd8ff54fc765102f50fb543ab8cc4d1d4d5295fc
parent 10d37891
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.app.WallpaperManager.SetWallpaperFlags;

import android.app.WallpaperColors;
import android.app.WallpaperManager;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.RecordingCanvas;
@@ -183,8 +184,11 @@ public class ImageWallpaper extends WallpaperService {

        @Override
        public void onDestroy() {
            getDisplayContext().getSystemService(DisplayManager.class)
                    .unregisterDisplayListener(this);
            Context context = getDisplayContext();
            if (context != null) {
                DisplayManager displayManager = context.getSystemService(DisplayManager.class);
                if (displayManager != null) displayManager.unregisterDisplayListener(this);
            }
            mWallpaperLocalColorExtractor.cleanUp();
        }