diff --git a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java index f0285bc4a46..8d293010238 100644 --- a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java @@ -173,6 +173,9 @@ public class AppBatteryPreferenceController extends BasePreferenceController new AsyncTask() { @Override protected BatteryDiffEntry doInBackground(Void... unused) { + if (mPackageName == null) { + return null; + } final List batteryDiffEntries = BatteryChartPreferenceController.getBatteryLast24HrUsageData(mContext); if (batteryDiffEntries == null) { @@ -186,8 +189,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController == ConvertUtils.CONSUMER_TYPE_UID_BATTERY) .filter(entry -> entry.mBatteryHistEntry.mUserId == mUserId) .filter(entry -> { - if (entry.mBatteryHistEntry.mPackageName - .equals(mPackageName)) { + if (mPackageName.equals(entry.getPackageName())) { Log.i(TAG, "Return target application: " + entry.mBatteryHistEntry.mPackageName + " | uid: " + entry.mBatteryHistEntry.mUid diff --git a/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java index 3bb8448878a..f075c7b8314 100644 --- a/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java @@ -226,8 +226,8 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll new Pair(ConvertUtils.METRIC_KEY_PACKAGE, packageName), new Pair(ConvertUtils.METRIC_KEY_BATTERY_LEVEL, histEntry.mBatteryLevel), new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, powerPref.getPercent())); - Log.d(TAG, String.format("handleClick() label=%s key=%s enntry=\n%s", - diffEntry.getAppLabel(), histEntry.getKey(), histEntry)); + Log.d(TAG, String.format("handleClick() label=%s key=%s package=%s", + diffEntry.getAppLabel(), histEntry.getKey(), histEntry.mPackageName)); AdvancedPowerUsageDetail.startBatteryDetailPage( mActivity, mFragment, diffEntry, powerPref.getPercent(), isValidToShowSummary(packageName), getSlotInformation()); @@ -285,9 +285,10 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll } forceRefreshUi(); Log.d(TAG, String.format( - "setBatteryHistoryMap() size=%d\nkeys=%s\nlevels=%s", + "setBatteryHistoryMap() size=%d key=%s\nlevels=%s", batteryHistoryMap.size(), - utcToLocalTime(mPrefContext, mBatteryHistoryKeys), + ConvertUtils.utcToLocalTime(mPrefContext, + mBatteryHistoryKeys[mBatteryHistoryKeys.length - 1]), Arrays.toString(mBatteryHistoryLevels))); // Loads item icon and label in the background. @@ -403,14 +404,14 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll final String appLabel = entry.getAppLabel(); final Drawable appIcon = entry.getAppIcon(); if (TextUtils.isEmpty(appLabel) || appIcon == null) { - Log.w(TAG, "cannot find app resource for\n" + entry); + Log.w(TAG, "cannot find app resource for:" + entry.getPackageName()); continue; } final String prefKey = entry.mBatteryHistEntry.getKey(); PowerGaugePreference pref = mAppListPrefGroup.findPreference(prefKey); if (pref != null) { isAdded = true; - Log.w(TAG, "preference should be removed for\n" + entry); + Log.w(TAG, "preference should be removed for:" + entry.getPackageName()); } else { pref = (PowerGaugePreference) mPreferenceCache.get(prefKey); } @@ -587,15 +588,6 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll mHandler.post(() -> mPreferenceScreen.addPreference(mFooterPreference)); } - private static String utcToLocalTime(Context context, long[] timestamps) { - final StringBuilder builder = new StringBuilder(); - for (int index = 0; index < timestamps.length; index++) { - builder.append(String.format("%s| ", - ConvertUtils.utcToLocalTime(context, timestamps[index]))); - } - return builder.toString(); - } - private static boolean contains(String target, CharSequence[] packageNames) { if (target != null && packageNames != null) { for (CharSequence packageName : packageNames) { diff --git a/src/com/android/settings/fuelgauge/BatteryChartView.java b/src/com/android/settings/fuelgauge/BatteryChartView.java index b721f14be71..a98c644b22a 100644 --- a/src/com/android/settings/fuelgauge/BatteryChartView.java +++ b/src/com/android/settings/fuelgauge/BatteryChartView.java @@ -139,6 +139,7 @@ public class BatteryChartView extends AppCompatImageView implements View.OnClick /** Sets all levels value to draw the trapezoid shape */ public void setLevels(int[] levels) { + Log.d(TAG, "setLevels() " + (levels == null ? "null" : levels.length)); if (levels == null) { mLevels = null; return; diff --git a/src/com/android/settings/fuelgauge/BatteryHistEntry.java b/src/com/android/settings/fuelgauge/BatteryHistEntry.java index 4c8ecee6c8e..45f9e9f018c 100644 --- a/src/com/android/settings/fuelgauge/BatteryHistEntry.java +++ b/src/com/android/settings/fuelgauge/BatteryHistEntry.java @@ -22,6 +22,7 @@ import java.time.Duration; /** A container class to carry data from {@link ContentValues}. */ public class BatteryHistEntry { + private static final boolean DEBUG = false; private static final String TAG = "BatteryHistEntry"; /** Keys for accessing {@link ContentValues} or {@link Cursor}. */ @@ -316,9 +317,11 @@ public class BatteryHistEntry { if (upperHistEntry.mConsumePower < consumePower || upperHistEntry.mForegroundUsageTimeInMs < foregroundUsageTimeInMs || upperHistEntry.mBackgroundUsageTimeInMs < backgroundUsageTimeInMs) { - Log.w(TAG, String.format( - "abnormal interpolation:\nupper:%s\nlower:%s", - upperHistEntry, lowerHistEntry)); + if (DEBUG) { + Log.w(TAG, String.format( + "abnormal interpolation:\nupper:%s\nlower:%s", + upperHistEntry, lowerHistEntry)); + } } final double batteryLevel = lowerHistEntry == null diff --git a/src/com/android/settings/fuelgauge/ConvertUtils.java b/src/com/android/settings/fuelgauge/ConvertUtils.java index 01f510eca6d..001e9e912a4 100644 --- a/src/com/android/settings/fuelgauge/ConvertUtils.java +++ b/src/com/android/settings/fuelgauge/ConvertUtils.java @@ -41,6 +41,7 @@ import java.util.TimeZone; /** A utility class to convert data into another types. */ public final class ConvertUtils { + private static final boolean DEBUG = false; private static final String TAG = "ConvertUtils"; private static final Map EMPTY_BATTERY_MAP = new HashMap<>(); private static final BatteryHistEntry EMPTY_BATTERY_HIST_ENTRY = @@ -259,10 +260,12 @@ public final class ConvertUtils { foregroundUsageTimeInMs + backgroundUsageTimeInMs; if (totalUsageTimeInMs > TOTAL_TIME_THRESHOLD) { final float ratio = TOTAL_TIME_THRESHOLD / totalUsageTimeInMs; - Log.w(TAG, String.format("abnormal usage time %d|%d for:\n%s", - Duration.ofMillis(foregroundUsageTimeInMs).getSeconds(), - Duration.ofMillis(backgroundUsageTimeInMs).getSeconds(), - currentEntry)); + if (DEBUG) { + Log.w(TAG, String.format("abnormal usage time %d|%d for:\n%s", + Duration.ofMillis(foregroundUsageTimeInMs).getSeconds(), + Duration.ofMillis(backgroundUsageTimeInMs).getSeconds(), + currentEntry)); + } foregroundUsageTimeInMs = Math.round(foregroundUsageTimeInMs * ratio); backgroundUsageTimeInMs =