From 153f2acfee7c9a51a231cae6120b01be15bc20dc Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Tue, 13 Apr 2021 22:08:45 -0700 Subject: [PATCH] Fix NullPointerException in BatteryUsageStats Bug: 185287730 Test: Build and launch Settings on a crosshatch Change-Id: Iccdd8a0f3839b98dbb5c09599f35ac15985daa4c --- core/java/android/os/BatteryUsageStats.java | 8 +++----- core/java/com/android/internal/os/BatteryStatsImpl.java | 4 ++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/core/java/android/os/BatteryUsageStats.java b/core/java/android/os/BatteryUsageStats.java index 48f4ca4035ce2..8ea59ce370183 100644 --- a/core/java/android/os/BatteryUsageStats.java +++ b/core/java/android/os/BatteryUsageStats.java @@ -24,7 +24,6 @@ import com.android.internal.os.BatteryStatsHistory; import com.android.internal.os.BatteryStatsHistoryIterator; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** @@ -233,8 +232,6 @@ public final class BatteryUsageStats implements Parcelable { mHistoryBuffer = null; mHistoryTagPool = null; } - System.out.println("From Parcel = " + Arrays.toString( - mCustomPowerComponentNames)); } @Override @@ -293,6 +290,7 @@ public final class BatteryUsageStats implements Parcelable { * Builder for BatteryUsageStats. */ public static final class Builder { + @NonNull private final String[] mCustomPowerComponentNames; private final int mCustomTimeComponentCount; private final boolean mIncludePowerModels; @@ -311,11 +309,11 @@ public final class BatteryUsageStats implements Parcelable { private Parcel mHistoryBuffer; private List mHistoryTagPool; - public Builder(String[] customPowerComponentNames, int customTimeComponentCount) { + public Builder(@NonNull String[] customPowerComponentNames, int customTimeComponentCount) { this(customPowerComponentNames, customTimeComponentCount, false); } - public Builder(String[] customPowerComponentNames, int customTimeComponentCount, + public Builder(@NonNull String[] customPowerComponentNames, int customTimeComponentCount, boolean includePowerModels) { mCustomPowerComponentNames = customPowerComponentNames; mCustomTimeComponentCount = customTimeComponentCount; diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index e83f365738da0..cb1900f300c02 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -6951,9 +6951,9 @@ public class BatteryStatsImpl extends BatteryStats { /** * Returns the names of custom power components. */ - public @Nullable String[] getCustomPowerComponentNames() { + public @NonNull String[] getCustomPowerComponentNames() { if (mGlobalMeasuredEnergyStats == null) { - return null; + return new String[0]; } final String[] names = mGlobalMeasuredEnergyStats.getCustomBucketNames(); for (int i = 0; i < names.length; i++) {