Fix NullPointerException in KernelCpuThreadReaders.
If KernelCpuThreadReader init failed, then the null instance was passed
to KernelCpuThreadReaderDiff, which then failed when invoked.
Test: Build only (bug is difficult to reproduce).
Bug: 150988957
Change-Id: Id46d466b931d816dda85c4f068a4bec53c6f3032
(cherry picked from commit 478c873fe4)
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.internal.os;
|
||||
|
||||
import static com.android.internal.util.Preconditions.checkNotNull;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.Slog;
|
||||
@@ -99,7 +101,7 @@ public class KernelCpuThreadReaderDiff {
|
||||
|
||||
@VisibleForTesting
|
||||
public KernelCpuThreadReaderDiff(KernelCpuThreadReader reader, int minimumTotalCpuUsageMillis) {
|
||||
mReader = reader;
|
||||
mReader = checkNotNull(reader);
|
||||
mMinimumTotalCpuUsageMillis = minimumTotalCpuUsageMillis;
|
||||
mPreviousCpuUsage = null;
|
||||
}
|
||||
|
||||
@@ -95,8 +95,10 @@ public class KernelCpuThreadReaderSettingsObserver extends ContentObserver {
|
||||
KernelCpuThreadReader.create(
|
||||
NUM_BUCKETS_DEFAULT, UidPredicate.fromString(COLLECTED_UIDS_DEFAULT));
|
||||
mKernelCpuThreadReaderDiff =
|
||||
new KernelCpuThreadReaderDiff(
|
||||
mKernelCpuThreadReader, MINIMUM_TOTAL_CPU_USAGE_MILLIS_DEFAULT);
|
||||
mKernelCpuThreadReader == null
|
||||
? null
|
||||
: new KernelCpuThreadReaderDiff(
|
||||
mKernelCpuThreadReader, MINIMUM_TOTAL_CPU_USAGE_MILLIS_DEFAULT);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user