Wrap and carry clicked slot information data for restriction page

Refresh category title by different time slot condition

Bug: 177406865
Test: make SettingsRoboTests
Test: make SettingsGoogleRoboTests
Change-Id: I006f6825fdb471f863c0355c65bfc4ca9d980191
This commit is contained in:
ykhung
2021-04-25 17:07:58 +08:00
committed by YUKAI HUNG
parent 5e578ddd13
commit 75c5fc5906
3 changed files with 32 additions and 14 deletions

View File

@@ -151,21 +151,22 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
final PowerGaugePreference powerPref = (PowerGaugePreference) preference;
final BatteryDiffEntry diffEntry = powerPref.getBatteryDiffEntry();
final BatteryHistEntry histEntry = diffEntry.mBatteryHistEntry;
final String packageName = histEntry.mPackageName;
// Checks whether the package is installed or not.
boolean isValidPackage = true;
if (histEntry.isAppEntry()) {
if (mBatteryUtils == null) {
mBatteryUtils = BatteryUtils.getInstance(mPrefContext);
}
isValidPackage = mBatteryUtils.getPackageUid(histEntry.mPackageName)
isValidPackage = mBatteryUtils.getPackageUid(packageName)
!= BatteryUtils.UID_NULL;
}
Log.d(TAG, String.format("handleClick() label=%s key=%s isValid:%b %s",
diffEntry.getAppLabel(), histEntry.getKey(), isValidPackage,
histEntry.mPackageName));
diffEntry.getAppLabel(), histEntry.getKey(), isValidPackage, packageName));
if (isValidPackage) {
AdvancedPowerUsageDetail.startBatteryDetailPage(
mActivity, mFragment, diffEntry, powerPref.getPercent());
mActivity, mFragment, diffEntry, powerPref.getPercent(),
isValidToShowSummary(packageName), getSlotInformation());
return true;
}
return false;
@@ -267,8 +268,8 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
|| (mTrapezoidIndex == trapezoidIndex && !isForce)) {
return false;
}
Log.d(TAG, String.format("refreshUi: index=%d batteryIndexedMap.size=%d",
mTrapezoidIndex, mBatteryIndexedMap.size()));
Log.d(TAG, String.format("refreshUi: index=%d size=%d isForce:%b",
trapezoidIndex, mBatteryIndexedMap.size(), isForce));
mTrapezoidIndex = trapezoidIndex;
mHandler.post(() -> {
@@ -471,11 +472,9 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
final long backgroundUsageTimeInMs = entry.mBackgroundUsageTimeInMs;
final long totalUsageTimeInMs = foregroundUsageTimeInMs + backgroundUsageTimeInMs;
// Checks whether the package is allowed to show summary or not.
for (CharSequence notAllowPackageName : mNotAllowShowSummaryPackages) {
if (TextUtils.equals(entry.getPackageName(), notAllowPackageName)) {
preference.setSummary(null);
return;
}
if (!isValidToShowSummary(entry.getPackageName())) {
preference.setSummary(null);
return;
}
String usageTimeSummary = null;
// Not shows summary for some system components without usage time.
@@ -515,6 +514,17 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
return mPrefContext.getString(resourceId, timeSequence);
}
private boolean isValidToShowSummary(String packageName) {
if (mNotAllowShowSummaryPackages != null) {
for (CharSequence notAllowPackageName : mNotAllowShowSummaryPackages) {
if (TextUtils.equals(packageName, notAllowPackageName)) {
return false;
}
}
}
return true;
}
private static String utcToLocalTime(long[] timestamps) {
final StringBuilder builder = new StringBuilder();
for (int index = 0; index < timestamps.length; index++) {