Fix b/265364507: Merge GPU and TPU into Others in battery usage system components list

Bug: 265364507
Fix: 265364507
Test: manual
Change-Id: Ia428a0854c42dacff130c2492ae11642643043b0
This commit is contained in:
Zaiyue Xue
2023-02-23 15:59:15 +08:00
parent da1f2578a0
commit cbd5223bc7
3 changed files with 18 additions and 1 deletions

View File

@@ -152,6 +152,11 @@ public interface PowerUsageFeatureProvider {
*/
Set<Integer> getOthersSystemComponentSet();
/**
* Returns {@link Set} for the custom system component names which are combined into others
*/
Set<String> getOthersCustomComponentNameSet();
/**
* Returns {@link Set} for hiding system component ids in the usage screen
*/

View File

@@ -172,6 +172,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
return new ArraySet<>();
}
@Override
public Set<String> getOthersCustomComponentNameSet() {
return new ArraySet<>();
}
@Override
public Set<Integer> getHideSystemComponentSet() {
return new ArraySet<>();

View File

@@ -17,6 +17,7 @@
package com.android.settings.fuelgauge.batteryusage;
import android.content.Context;
import android.os.BatteryConsumer;
import androidx.annotation.NonNull;
@@ -151,11 +152,17 @@ public class BatteryDiffData {
final PowerUsageFeatureProvider featureProvider,
final List<BatteryDiffEntry> systemEntries) {
final Set<Integer> othersSystemComponentSet = featureProvider.getOthersSystemComponentSet();
final Set<String> othersCustomComponentNameSet =
featureProvider.getOthersCustomComponentNameSet();
BatteryDiffEntry.OthersBatteryDiffEntry othersDiffEntry = null;
final Iterator<BatteryDiffEntry> systemListIterator = systemEntries.iterator();
while (systemListIterator.hasNext()) {
final BatteryDiffEntry batteryDiffEntry = systemListIterator.next();
if (othersSystemComponentSet.contains(batteryDiffEntry.mBatteryHistEntry.mDrainType)) {
final int componentId = batteryDiffEntry.mBatteryHistEntry.mDrainType;
if (othersSystemComponentSet.contains(componentId) || (
componentId >= BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID
&& othersCustomComponentNameSet.contains(
batteryDiffEntry.getAppLabel()))) {
if (othersDiffEntry == null) {
othersDiffEntry = new BatteryDiffEntry.OthersBatteryDiffEntry(context);
}