Add flag to force expire the app optimization mode event.

Bug: 347444433
Test: atest
Change-Id: Id502607ed6c07870d14346656a65ceccb756b78f
This commit is contained in:
mxyyiyi
2024-06-17 13:55:27 +08:00
parent 3576f4840d
commit 08907935df
5 changed files with 39 additions and 1 deletions

View File

@@ -26,6 +26,7 @@ import com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_RESTRICTED
import com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_UNKNOWN
import com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_UNRESTRICTED
import com.android.settings.fuelgauge.batteryusage.AppOptModeSharedPreferencesUtils.UNLIMITED_EXPIRE_TIME
import com.android.settings.testutils.FakeFeatureFactory
import com.google.common.truth.Truth.assertThat
import org.junit.After
import org.junit.Before
@@ -51,9 +52,14 @@ class AppOptModeSharedPreferencesUtilsTest {
@Spy
private var testBatteryOptimizeUtils = spy(BatteryOptimizeUtils(context, UID, PACKAGE_NAME))
private lateinit var featureFactory: FakeFeatureFactory
@Before
fun setup() {
AppOptModeSharedPreferencesUtils.clearAll(context)
featureFactory = FakeFeatureFactory.setupForTest()
whenever(featureFactory.powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled)
.thenReturn(false)
}
@After
@@ -126,6 +132,20 @@ class AppOptModeSharedPreferencesUtilsTest {
assertThat(AppOptModeSharedPreferencesUtils.getAllEvents(context)).isEmpty()
}
@Test
fun resetExpiredAppOptModeBeforeTimestamp_forceExpiredData_verifyEmptyList() {
whenever(featureFactory.powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled)
.thenReturn(true)
insertAppOptModeEventForTest(expirationTime = 1000L)
AppOptModeSharedPreferencesUtils.resetExpiredAppOptModeBeforeTimestamp(
context,
queryTimestampMs = 999L
)
assertThat(AppOptModeSharedPreferencesUtils.getAllEvents(context)).isEmpty()
}
@Test
fun resetExpiredAppOptModeBeforeTimestamp_noExpiredData_verifyData() {
insertAppOptModeEventForTest(expirationTime = 1000L)