Loading src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +8 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); } Loading src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java +21 −11 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(() -> { Loading Loading @@ -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) { Loading Loading @@ -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++) { Loading src/com/android/settings/fuelgauge/ExpandDividerPreference.java +3 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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); Loading @@ -95,5 +97,6 @@ public class ExpandDividerPreference extends Preference { if (mImageView != null) { mImageView.setImageResource(iconId); } setTitle(mTitleContent); } } Loading
src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +8 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); } Loading
src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java +21 −11 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(() -> { Loading Loading @@ -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) { Loading Loading @@ -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++) { Loading
src/com/android/settings/fuelgauge/ExpandDividerPreference.java +3 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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); Loading @@ -95,5 +97,6 @@ public class ExpandDividerPreference extends Preference { if (mImageView != null) { mImageView.setImageResource(iconId); } setTitle(mTitleContent); } }