Replaces getBatteryHistoryUri and getBatteryHistorySinceLastFullCharge
with the new functions in DatabaseUtils.
Bug: 253395332
Test: make RunSettingsRoboTests + manually
Change-Id: I5f60cef80d1e9ba3f87ab6f84492463152a40276
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 1720845..f6d153b 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -18,7 +18,6 @@
import android.content.Context;
import android.content.Intent;
-import android.net.Uri;
import android.util.SparseIntArray;
import com.android.settings.fuelgauge.batteryusage.BatteryHistEntry;
@@ -155,16 +154,6 @@
Map<Long, Map<String, BatteryHistEntry>> getBatteryHistory(Context context);
/**
- * Returns battery history data since last full charge with corresponding timestamp key.
- */
- Map<Long, Map<String, BatteryHistEntry>> getBatteryHistorySinceLastFullCharge(Context context);
-
- /**
- * Returns {@link Uri} to monitor battery history data is update.
- */
- Uri getBatteryHistoryUri();
-
- /**
* Returns {@link Set} for hidding applications background usage time.
*/
Set<CharSequence> getHideBackgroundUsageTimeSet(Context context);
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index 48f4421..ed6b622 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -19,7 +19,6 @@
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
-import android.net.Uri;
import android.os.Process;
import android.util.ArraySet;
import android.util.SparseIntArray;
@@ -170,17 +169,6 @@
}
@Override
- public Map<Long, Map<String, BatteryHistEntry>> getBatteryHistorySinceLastFullCharge(
- Context context) {
- return null;
- }
-
- @Override
- public Uri getBatteryHistoryUri() {
- return null;
- }
-
- @Override
public Set<CharSequence> getHideBackgroundUsageTimeSet(Context context) {
return new ArraySet<>();
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
index 419ae90..6dd59b7 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
@@ -58,6 +58,7 @@
import com.android.settingslib.widget.FooterPreference;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -760,9 +761,7 @@
public static List<BatteryDiffEntry> getAppBatteryUsageData(Context context) {
final long start = System.currentTimeMillis();
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
- FeatureFactory.getFactory(context)
- .getPowerUsageFeatureProvider(context)
- .getBatteryHistorySinceLastFullCharge(context);
+ DatabaseUtils.getHistoryMapSinceLastFullCharge(context, Calendar.getInstance());
if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
return null;
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
index 83b2615..9a0e410 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
@@ -17,10 +17,9 @@
import android.content.Context;
-import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
-import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.utils.AsyncLoaderCompat;
+import java.util.Calendar;
import java.util.Map;
/** Loader that can be used to load battery history information. */
@@ -41,8 +40,6 @@
@Override
public Map<Long, Map<String, BatteryHistEntry>> loadInBackground() {
- final PowerUsageFeatureProvider powerUsageFeatureProvider =
- FeatureFactory.getFactory(mContext).getPowerUsageFeatureProvider(mContext);
- return powerUsageFeatureProvider.getBatteryHistorySinceLastFullCharge(mContext);
+ return DatabaseUtils.getHistoryMapSinceLastFullCharge(mContext, Calendar.getInstance());
}
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
index b88d85d..1c1e6a5 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
@@ -123,7 +123,7 @@
super.onPause();
// Resets the flag to reload usage data in onResume() callback.
mIsChartDataLoaded = false;
- final Uri uri = mPowerUsageFeatureProvider.getBatteryHistoryUri();
+ final Uri uri = DatabaseUtils.BATTERY_CONTENT_URI;
if (uri != null) {
getContext().getContentResolver().unregisterContentObserver(mBatteryObserver);
}
@@ -132,7 +132,7 @@
@Override
public void onResume() {
super.onResume();
- final Uri uri = mPowerUsageFeatureProvider.getBatteryHistoryUri();
+ final Uri uri = DatabaseUtils.BATTERY_CONTENT_URI;
if (uri != null) {
getContext().getContentResolver().registerContentObserver(
uri, /*notifyForDescendants*/ true, mBatteryObserver);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java
deleted file mode 100644
index 5717857..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.fuelgauge.batteryusage;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-
-import android.content.Context;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.HashMap;
-import java.util.Map;
-
-@RunWith(RobolectricTestRunner.class)
-public final class BatteryHistoryLoaderTest {
-
- private Context mContext;
- private FakeFeatureFactory mFeatureFactory;
- private BatteryHistoryLoader mBatteryHistoryLoader;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
-
- mContext = RuntimeEnvironment.application;
- mFeatureFactory = FakeFeatureFactory.setupForTest();
- mBatteryHistoryLoader = new BatteryHistoryLoader(mContext);
- }
-
- @Test
- public void testLoadIBackground_returnsMapFromPowerFeatureProvider() {
- final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
- doReturn(batteryHistoryMap).when(mFeatureFactory.powerUsageFeatureProvider)
- .getBatteryHistorySinceLastFullCharge(mContext);
-
- assertThat(mBatteryHistoryLoader.loadInBackground())
- .isSameInstanceAs(batteryHistoryMap);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
index 2ae73b1..46ef7bc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
@@ -336,21 +336,6 @@
// Verifies the fake data is cleared out.
assertThat(entryList.get(0).getPackageName())
.isNotEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
-
- // Adds lacked data into the battery history map.
- final int remainingSize = 25 - batteryHistoryKeys.length;
- for (int index = 0; index < remainingSize; index++) {
- batteryHistoryMap.put(105L + index + 1, new HashMap<>());
- }
- when(mPowerUsageFeatureProvider.getBatteryHistorySinceLastFullCharge(mContext))
- .thenReturn(batteryHistoryMap);
-
- final List<BatteryDiffEntry> batteryDiffEntryList =
- BatteryChartPreferenceController.getAppBatteryUsageData(mContext);
-
- assertThat(batteryDiffEntryList).isNotEmpty();
- final BatteryDiffEntry resultEntry = batteryDiffEntryList.get(0);
- assertThat(resultEntry.getPackageName()).isEqualTo("package2");
}
@Test