OSDN Git Service

Fix null pointer when mColorFadeEnabled is false
authorLucas Dupin <dupin@google.com>
Tue, 15 Aug 2017 22:56:50 +0000 (15:56 -0700)
committerLucas Dupin <dupin@google.com>
Wed, 16 Aug 2017 16:37:54 +0000 (09:37 -0700)
mColorFadeOffAnimator and mColorFadeOnAnimator won't ever
be initialized if mColorFadeEnabled is set to false.
This means that we can't assume that these animators always exist.

Test: Manual, lock, unlock device
Change-Id: I0cb7a10f7d311bc992c4a3e1b4943b454e39ec1a
Fixes: 64726143

services/core/java/com/android/server/display/DisplayPowerController.java

index fb8ae12..e316fff 100644 (file)
@@ -1010,7 +1010,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
             // contents of the screen.
             mPowerState.prepareColorFade(mContext,
                     mColorFadeFadesConfig ? ColorFade.MODE_FADE : ColorFade.MODE_WARM_UP);
-            mColorFadeOffAnimator.end();
+            if (mColorFadeOffAnimator != null) {
+                mColorFadeOffAnimator.end();
+            }
             // Some display hardware will blank itself on the transition between doze and non-doze
             // but still on display states. In this case we want to report to policy that the
             // display has turned off so it can prepare the appropriate power on animation, but we