Merge "Show battery percentage in QS header" into udc-dev am: a9ab5cc786

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23681798

Change-Id: Ic12cd0176622debd88744af99cfe0955d7af0885
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Shawn Lee
2023-06-15 17:46:11 +00:00
committed by Automerger Merge Worker
2 changed files with 12 additions and 15 deletions

View File

@@ -39,19 +39,12 @@ constructor(
* [cutout]. We don't show battery estimation in qqs header on the devices with center cutout.
* The result might be null when the battery icon is invisible during the qs-qqs transition
* animation.
*
* Note: short-circuiting this value until a comprehensive fix for b/282044659 is finished.
*/
@BatteryMeterView.BatteryPercentMode
fun getBatteryMode(cutout: DisplayCutout?, qsExpandedFraction: Float): Int? =
when {
qsExpandedFraction > fadeInStartFraction -> BatteryMeterView.MODE_ESTIMATE
qsExpandedFraction < fadeOutCompleteFraction ->
if (hasCenterCutout(cutout)) {
BatteryMeterView.MODE_ON
} else {
BatteryMeterView.MODE_ESTIMATE
}
else -> null
}
BatteryMeterView.MODE_ON
fun updateResources() {
fadeInStartFraction =

View File

@@ -63,36 +63,40 @@ class QsBatteryModeControllerTest : SysuiTestCase() {
@Test
fun returnsMODE_ESTIMATEforQsWithCenterCutout() {
// TODO (b/282044659): revert this test to previous behavior
assertThat(controller.getBatteryMode(CENTER_TOP_CUTOUT, QS_END_FRAME.nextFrameToFraction()))
.isEqualTo(BatteryMeterView.MODE_ESTIMATE)
.isEqualTo(BatteryMeterView.MODE_ON)
}
@Test
fun returnsMODE_ONforQqsWithCornerCutout() {
whenever(insetsProvider.currentRotationHasCornerCutout()).thenReturn(true)
// TODO (b/282044659): revert this test to previous behavior
assertThat(
controller.getBatteryMode(CENTER_TOP_CUTOUT, QQS_START_FRAME.prevFrameToFraction())
)
.isEqualTo(BatteryMeterView.MODE_ESTIMATE)
.isEqualTo(BatteryMeterView.MODE_ON)
}
@Test
fun returnsMODE_ESTIMATEforQsWithCornerCutout() {
whenever(insetsProvider.currentRotationHasCornerCutout()).thenReturn(true)
// TODO (b/282044659): revert this test to previous behavior
assertThat(controller.getBatteryMode(CENTER_TOP_CUTOUT, QS_END_FRAME.nextFrameToFraction()))
.isEqualTo(BatteryMeterView.MODE_ESTIMATE)
.isEqualTo(BatteryMeterView.MODE_ON)
}
@Test
fun returnsNullInBetween() {
// TODO (b/282044659): revert this test to previous behavior
assertThat(
controller.getBatteryMode(CENTER_TOP_CUTOUT, QQS_START_FRAME.nextFrameToFraction())
)
.isNull()
.isEqualTo(BatteryMeterView.MODE_ON)
assertThat(controller.getBatteryMode(CENTER_TOP_CUTOUT, QS_END_FRAME.prevFrameToFraction()))
.isNull()
.isEqualTo(BatteryMeterView.MODE_ON)
}
private fun Int.prevFrameToFraction(): Float = (this - 1) / MOTION_LAYOUT_MAX_FRAME.toFloat()