Provide getBatteryLast24HrUsageData() method for application info

Bug: 178197718
Test: make SettingsRoboTests
Change-Id: Iaa5f0c1bdead1a5380129f63987bbae3b4461633
This commit is contained in:
ykhung
2022-03-14 11:57:15 +08:00
parent cc28c27eaa
commit ffba705f8d
2 changed files with 30 additions and 31 deletions

View File

@@ -43,7 +43,6 @@ import com.android.settings.fuelgauge.BatteryDiffEntry;
import com.android.settings.fuelgauge.BatteryEntry;
import com.android.settings.fuelgauge.BatteryUsageStatsLoader;
import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.fuelgauge.ConvertUtils;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -118,11 +117,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController
}
if (mBatteryDiffEntry != null) {
Log.i(TAG, "BatteryDiffEntry not null, launch : "
+ mBatteryDiffEntry.getPackageName()
+ " | uid : "
+ mBatteryDiffEntry.mBatteryHistEntry.mUid
+ " with DiffEntry data");
Log.i(TAG, "handlePreferenceTreeClick():\n" + mBatteryDiffEntry);
AdvancedPowerUsageDetail.startBatteryDetailPage(
mParent.getActivity(),
mParent,
@@ -176,30 +171,11 @@ public class AppBatteryPreferenceController extends BasePreferenceController
if (mPackageName == null) {
return null;
}
final List<BatteryDiffEntry> batteryDiffEntries =
BatteryChartPreferenceController.getBatteryLast24HrUsageData(mContext);
if (batteryDiffEntries == null) {
return null;
}
// Filter entry with consumer type to avoid system app,
// then use user id to divide normal app and work profile app,
// return target application from filter list by package name.
return batteryDiffEntries.stream()
.filter(entry -> entry.mBatteryHistEntry.mConsumerType
== ConvertUtils.CONSUMER_TYPE_UID_BATTERY)
.filter(entry -> entry.mBatteryHistEntry.mUserId == mUserId)
.filter(entry -> {
if (mPackageName.equals(entry.getPackageName())) {
Log.i(TAG, "Return target application: "
+ entry.mBatteryHistEntry.mPackageName
+ " | uid: " + entry.mBatteryHistEntry.mUid
+ " | userId: " + entry.mBatteryHistEntry.mUserId);
return true;
}
return false;
})
.findFirst()
.orElse(/* other */null);
final BatteryDiffEntry entry =
BatteryChartPreferenceController.getBatteryLast24HrUsageData(
mContext, mPackageName, mUserId);
Log.d(TAG, "loadBatteryDiffEntries():\n" + entry);
return entry;
}
@Override