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:
@@ -113,6 +113,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
private String mUsagePercent;
|
||||
private String mPackageName;
|
||||
private String mAppLabel;
|
||||
private String mSlotInformation;
|
||||
private int mUid;
|
||||
private int mIconId;
|
||||
private int mConsumedPower;
|
||||
@@ -124,18 +125,22 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
/** Launches battery details page for an individual battery consumer. */
|
||||
public static void startBatteryDetailPage(
|
||||
Activity caller, InstrumentedPreferenceFragment fragment,
|
||||
BatteryDiffEntry diffEntry, String usagePercent) {
|
||||
BatteryDiffEntry diffEntry, String usagePercent,
|
||||
boolean isValidToShowSummary, String slotInformation) {
|
||||
final BatteryHistEntry histEntry = diffEntry.mBatteryHistEntry;
|
||||
final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs();
|
||||
// configure the launch argument.
|
||||
launchArgs.mUsagePercent = usagePercent;
|
||||
launchArgs.mPackageName = diffEntry.getPackageName();
|
||||
launchArgs.mAppLabel = diffEntry.getAppLabel();
|
||||
launchArgs.mSlotInformation = slotInformation;
|
||||
launchArgs.mUid = (int) histEntry.mUid;
|
||||
launchArgs.mIconId = diffEntry.getAppIconId();
|
||||
launchArgs.mConsumedPower = (int) diffEntry.mConsumePower;
|
||||
launchArgs.mForegroundTimeMs = diffEntry.mForegroundUsageTimeInMs;
|
||||
launchArgs.mBackgroundTimeMs = diffEntry.mBackgroundUsageTimeInMs;
|
||||
launchArgs.mForegroundTimeMs =
|
||||
isValidToShowSummary ? diffEntry.mForegroundUsageTimeInMs : 0;
|
||||
launchArgs.mBackgroundTimeMs =
|
||||
isValidToShowSummary ? diffEntry.mBackgroundUsageTimeInMs : 0;
|
||||
launchArgs.mIsUserEntry = histEntry.isUserEntry();
|
||||
startBatteryDetailPage(caller, fragment, launchArgs);
|
||||
}
|
||||
|
@@ -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,12 +472,10 @@ 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)) {
|
||||
if (!isValidToShowSummary(entry.getPackageName())) {
|
||||
preference.setSummary(null);
|
||||
return;
|
||||
}
|
||||
}
|
||||
String usageTimeSummary = null;
|
||||
// Not shows summary for some system components without usage time.
|
||||
if (totalUsageTimeInMs == 0) {
|
||||
@@ -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++) {
|
||||
|
@@ -38,6 +38,7 @@ public class ExpandDividerPreference extends Preference {
|
||||
private OnExpandListener mOnExpandListener;
|
||||
|
||||
private boolean mIsExpanded = false;
|
||||
private String mTitleContent = null;
|
||||
|
||||
/** A callback listener for expand state is changed by users. */
|
||||
public interface OnExpandListener {
|
||||
@@ -72,6 +73,7 @@ public class ExpandDividerPreference extends Preference {
|
||||
}
|
||||
|
||||
void setTitle(final String titleContent) {
|
||||
mTitleContent = titleContent;
|
||||
if (mTextView != null) {
|
||||
mTextView.postDelayed(
|
||||
() -> mTextView.setText(titleContent), 50);
|
||||
@@ -95,5 +97,6 @@ public class ExpandDividerPreference extends Preference {
|
||||
if (mImageView != null) {
|
||||
mImageView.setImageResource(iconId);
|
||||
}
|
||||
setTitle(mTitleContent);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user