Add type service in settings advanced page.

Currently it only includes the gms service

Bug: 35317876
Test: RunSettingsRoboTests
Change-Id: I20a2a9d320efe4aed036552d450f59c89e81584a
This commit is contained in:
jackqdyulei
2017-02-13 15:14:51 -08:00
parent 07eaca52f4
commit acc195fdde
4 changed files with 47 additions and 0 deletions

View File

@@ -14,6 +14,7 @@
package com.android.settings.fuelgauge;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Process;
import android.provider.SearchIndexableResource;
@@ -61,6 +62,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
UsageType.APP};
private BatteryHistoryPreference mHistPref;
private PreferenceGroup mUsageListGroup;
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
private PackageManager mPackageManager;
@Override
public void onCreate(Bundle icicle) {
@@ -68,6 +71,9 @@ public class PowerUsageAdvanced extends PowerUsageBase {
mHistPref = (BatteryHistoryPreference) findPreference(KEY_BATTERY_GRAPH);
mUsageListGroup = (PreferenceGroup) findPreference(KEY_BATTERY_USAGE_LIST);
mPowerUsageFeatureProvider = FeatureFactory.getFactory(getContext())
.getPowerUsageFeatureProvider(getContext());
mPackageManager = getContext().getPackageManager();
}
@Override
@@ -133,6 +139,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
return UsageType.CELL;
} else if (uid == Process.SYSTEM_UID || uid == Process.ROOT_UID) {
return UsageType.SYSTEM;
} else if (mPowerUsageFeatureProvider.isTypeService(sipper.mPackages)) {
return UsageType.SERVICE;
} else {
return UsageType.APP;
}
@@ -149,6 +157,7 @@ public class PowerUsageAdvanced extends PowerUsageBase {
// Accumulate power usage based on usage type
for (final BatterySipper sipper : batterySippers) {
sipper.mPackages = mPackageManager.getPackagesForUid(sipper.getUid());
final PowerUsageData usageData = batteryDataMap.get(extractUsageType(sipper));
usageData.totalPowerMah += sipper.totalPowerMah;
}
@@ -165,6 +174,16 @@ public class PowerUsageAdvanced extends PowerUsageBase {
return batteryDataList;
}
@VisibleForTesting
void setPackageManager(PackageManager packageManager) {
mPackageManager = packageManager;
}
@VisibleForTesting
void setPowerUsageFeatureProvider(PowerUsageFeatureProvider provider) {
mPowerUsageFeatureProvider = provider;
}
/**
* Class that contains data used in {@link PowerGaugePreference}.
*/