diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java index 669965bcbea59..25115200ba19a 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java @@ -115,7 +115,7 @@ public class DozeLog implements Dumpable { } /** - * Appends dozing event to the logs + * Appends dozing event to the logs. Logs current dozing state when entering/exiting AOD. * @param dozing true if dozing, else false */ public void traceDozing(boolean dozing) { @@ -123,6 +123,14 @@ public class DozeLog implements Dumpable { mPulsing = false; } + /** + * Appends dozing event to the logs when dozing has changed in AOD. + * @param dozing true if we're now dozing, else false + */ + public void traceDozingChanged(boolean dozing) { + mLogger.logDozingChanged(dozing); + } + /** * Appends dozing event to the logs * @param suppressed true if dozing is suppressed diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt b/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt index d79bf22cced2f..4ba6b51c83c8b 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt @@ -66,6 +66,14 @@ class DozeLogger @Inject constructor( }) } + fun logDozingChanged(isDozing: Boolean) { + buffer.log(TAG, INFO, { + bool1 = isDozing + }, { + "Dozing changed dozing=$bool1" + }) + } + fun logDozingSuppressed(isDozingSuppressed: Boolean) { buffer.log(TAG, INFO, { bool1 = isDozingSuppressed diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java index 21c3e5e0a8d00..7de4668abe28e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java @@ -21,7 +21,6 @@ import android.os.Handler; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; -import com.android.systemui.Dependency; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.doze.DozeHost; import com.android.systemui.doze.DozeLog; @@ -92,10 +91,14 @@ public class DozeScrimController implements StateListener { }; @Inject - public DozeScrimController(DozeParameters dozeParameters, DozeLog dozeLog) { + public DozeScrimController( + DozeParameters dozeParameters, + DozeLog dozeLog, + StatusBarStateController statusBarStateController + ) { mDozeParameters = dozeParameters; - //Never expected to be destroyed - Dependency.get(StatusBarStateController.class).addCallback(this); + // Never expected to be destroyed + statusBarStateController.addCallback(this); mDozeLog = dozeLog; } @@ -219,6 +222,10 @@ public class DozeScrimController implements StateListener { @Override public void onDozingChanged(boolean isDozing) { + if (mDozing != isDozing) { + mDozeLog.traceDozingChanged(isDozing); + } + setDozing(isDozing); } } \ No newline at end of file diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeScrimControllerTest.java index 1ce336e5f37dd..34c43ef52a008 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeScrimControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeScrimControllerTest.java @@ -28,6 +28,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.doze.DozeHost; import com.android.systemui.doze.DozeLog; +import com.android.systemui.plugins.statusbar.StatusBarStateController; import org.junit.Before; import org.junit.Test; @@ -44,12 +45,15 @@ public class DozeScrimControllerTest extends SysuiTestCase { private DozeParameters mDozeParameters; @Mock private DozeLog mDozeLog; + @Mock + private StatusBarStateController mStatusBarStateController; private DozeScrimController mDozeScrimController; @Before public void setup() { MockitoAnnotations.initMocks(this); - mDozeScrimController = new DozeScrimController(mDozeParameters, mDozeLog); + mDozeScrimController = new DozeScrimController(mDozeParameters, mDozeLog, + mStatusBarStateController); mDozeScrimController.setDozing(true); }