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

Commit 4100ca01 authored by Vania Desmonda's avatar Vania Desmonda
Browse files

Fix null pointer exception crashes caused by a mutable variable.

Test: atest WallpaperManagerTest
Bug: 216055454
Change-Id: I3ebf6a70a58863d7cde006638c272a3942299112
parent 8b3a90c8
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -905,11 +905,12 @@ public abstract class WallpaperService extends Service {
            if (!ENABLE_WALLPAPER_DIMMING || mBbqSurfaceControl == null) {
                return;
            }

            SurfaceControl.Transaction surfaceControlTransaction = new SurfaceControl.Transaction();
            // TODO: apply the dimming to preview as well once surface transparency works in
            // preview mode.
            if (!isPreview() && mShouldDim) {
                Log.v(TAG, "Setting wallpaper dimming: " + mWallpaperDimAmount);
                SurfaceControl.Transaction surfaceControl = new SurfaceControl.Transaction();

                // Animate dimming to gradually change the wallpaper alpha from the previous
                // dim amount to the new amount only if the dim amount changed.
@@ -919,16 +920,15 @@ public abstract class WallpaperService extends Service {
                        ? 0 : DIMMING_ANIMATION_DURATION_MS);
                animator.addUpdateListener((ValueAnimator va) -> {
                    final float dimValue = (float) va.getAnimatedValue();
                    surfaceControl
                            .setAlpha(mBbqSurfaceControl, 1 - dimValue)
                            .apply();
                    if (mBbqSurfaceControl != null) {
                        surfaceControlTransaction
                                .setAlpha(mBbqSurfaceControl, 1 - dimValue).apply();
                    }
                });
                animator.start();
            } else {
                Log.v(TAG, "Setting wallpaper dimming: " + 0);
                new SurfaceControl.Transaction()
                        .setAlpha(mBbqSurfaceControl, 1.0f)
                        .apply();
                surfaceControlTransaction.setAlpha(mBbqSurfaceControl, 1.0f).apply();
            }
        }