Clear cache data to recalculate usage slot after receiving timezone change intent.

- Clear usage slot & even hour calculate event.

Bug: 355084572
Test: atest BootBroadcastReceiverTest
Test: atest BatteryEventDaoTest
Flag: EXEMPT bug fix
Change-Id: I0bc8b71219ce8cea3987a7bfc39b69e0c6047e3d
This commit is contained in:
mxyyiyi
2024-07-24 13:58:07 +08:00
parent 83f934b5b0
commit 9933688333
5 changed files with 99 additions and 26 deletions

View File

@@ -43,6 +43,8 @@ import com.android.settings.fuelgauge.batteryusage.WarningBannerInfo;
import com.android.settings.fuelgauge.batteryusage.WarningItemInfo;
import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventDao;
import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
import com.android.settings.fuelgauge.batteryusage.db.BatteryEventDao;
import com.android.settings.fuelgauge.batteryusage.db.BatteryEventEntity;
import com.android.settings.fuelgauge.batteryusage.db.BatteryState;
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDao;
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
@@ -184,6 +186,15 @@ public class BatteryTestUtils {
}
}
/** Inserts a fake data into the database for testing. */
public static void insertDataToBatteryEventTable(
Context context, long timestamp, int batteryEventType, int batteryLevel) {
final BatteryEventEntity entity =
new BatteryEventEntity(timestamp, batteryEventType, batteryLevel);
BatteryEventDao dao = BatteryStateDatabase.getInstance(context).batteryEventDao();
dao.insert(entity);
}
/** Gets customized battery changed intent. */
public static Intent getCustomBatteryIntent(int plugged, int level, int scale, int status) {
Intent intent = new Intent();