Merge "Show battery percentage in QS header" into udc-dev
This commit is contained in:
@@ -39,19 +39,12 @@ constructor(
|
|||||||
* [cutout]. We don't show battery estimation in qqs header on the devices with center cutout.
|
* [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
|
* The result might be null when the battery icon is invisible during the qs-qqs transition
|
||||||
* animation.
|
* animation.
|
||||||
|
*
|
||||||
|
* Note: short-circuiting this value until a comprehensive fix for b/282044659 is finished.
|
||||||
*/
|
*/
|
||||||
@BatteryMeterView.BatteryPercentMode
|
@BatteryMeterView.BatteryPercentMode
|
||||||
fun getBatteryMode(cutout: DisplayCutout?, qsExpandedFraction: Float): Int? =
|
fun getBatteryMode(cutout: DisplayCutout?, qsExpandedFraction: Float): Int? =
|
||||||
when {
|
BatteryMeterView.MODE_ON
|
||||||
qsExpandedFraction > fadeInStartFraction -> BatteryMeterView.MODE_ESTIMATE
|
|
||||||
qsExpandedFraction < fadeOutCompleteFraction ->
|
|
||||||
if (hasCenterCutout(cutout)) {
|
|
||||||
BatteryMeterView.MODE_ON
|
|
||||||
} else {
|
|
||||||
BatteryMeterView.MODE_ESTIMATE
|
|
||||||
}
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
|
|
||||||
fun updateResources() {
|
fun updateResources() {
|
||||||
fadeInStartFraction =
|
fadeInStartFraction =
|
||||||
|
|||||||
@@ -63,36 +63,40 @@ class QsBatteryModeControllerTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun returnsMODE_ESTIMATEforQsWithCenterCutout() {
|
fun returnsMODE_ESTIMATEforQsWithCenterCutout() {
|
||||||
|
// TODO (b/282044659): revert this test to previous behavior
|
||||||
assertThat(controller.getBatteryMode(CENTER_TOP_CUTOUT, QS_END_FRAME.nextFrameToFraction()))
|
assertThat(controller.getBatteryMode(CENTER_TOP_CUTOUT, QS_END_FRAME.nextFrameToFraction()))
|
||||||
.isEqualTo(BatteryMeterView.MODE_ESTIMATE)
|
.isEqualTo(BatteryMeterView.MODE_ON)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun returnsMODE_ONforQqsWithCornerCutout() {
|
fun returnsMODE_ONforQqsWithCornerCutout() {
|
||||||
whenever(insetsProvider.currentRotationHasCornerCutout()).thenReturn(true)
|
whenever(insetsProvider.currentRotationHasCornerCutout()).thenReturn(true)
|
||||||
|
|
||||||
|
// TODO (b/282044659): revert this test to previous behavior
|
||||||
assertThat(
|
assertThat(
|
||||||
controller.getBatteryMode(CENTER_TOP_CUTOUT, QQS_START_FRAME.prevFrameToFraction())
|
controller.getBatteryMode(CENTER_TOP_CUTOUT, QQS_START_FRAME.prevFrameToFraction())
|
||||||
)
|
)
|
||||||
.isEqualTo(BatteryMeterView.MODE_ESTIMATE)
|
.isEqualTo(BatteryMeterView.MODE_ON)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun returnsMODE_ESTIMATEforQsWithCornerCutout() {
|
fun returnsMODE_ESTIMATEforQsWithCornerCutout() {
|
||||||
whenever(insetsProvider.currentRotationHasCornerCutout()).thenReturn(true)
|
whenever(insetsProvider.currentRotationHasCornerCutout()).thenReturn(true)
|
||||||
|
|
||||||
|
// TODO (b/282044659): revert this test to previous behavior
|
||||||
assertThat(controller.getBatteryMode(CENTER_TOP_CUTOUT, QS_END_FRAME.nextFrameToFraction()))
|
assertThat(controller.getBatteryMode(CENTER_TOP_CUTOUT, QS_END_FRAME.nextFrameToFraction()))
|
||||||
.isEqualTo(BatteryMeterView.MODE_ESTIMATE)
|
.isEqualTo(BatteryMeterView.MODE_ON)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun returnsNullInBetween() {
|
fun returnsNullInBetween() {
|
||||||
|
// TODO (b/282044659): revert this test to previous behavior
|
||||||
assertThat(
|
assertThat(
|
||||||
controller.getBatteryMode(CENTER_TOP_CUTOUT, QQS_START_FRAME.nextFrameToFraction())
|
controller.getBatteryMode(CENTER_TOP_CUTOUT, QQS_START_FRAME.nextFrameToFraction())
|
||||||
)
|
)
|
||||||
.isNull()
|
.isEqualTo(BatteryMeterView.MODE_ON)
|
||||||
assertThat(controller.getBatteryMode(CENTER_TOP_CUTOUT, QS_END_FRAME.prevFrameToFraction()))
|
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()
|
private fun Int.prevFrameToFraction(): Float = (this - 1) / MOTION_LAYOUT_MAX_FRAME.toFloat()
|
||||||
|
|||||||
Reference in New Issue
Block a user