Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 478c873f authored by Misha Wagner's avatar Misha Wagner
Browse files

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
parent d05b1901
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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;
    }
+4 −2
Original line number Diff line number Diff line
@@ -95,7 +95,9 @@ public class KernelCpuThreadReaderSettingsObserver extends ContentObserver {
                KernelCpuThreadReader.create(
                        NUM_BUCKETS_DEFAULT, UidPredicate.fromString(COLLECTED_UIDS_DEFAULT));
        mKernelCpuThreadReaderDiff =
                new KernelCpuThreadReaderDiff(
                mKernelCpuThreadReader == null
                        ? null
                        : new KernelCpuThreadReaderDiff(
                                mKernelCpuThreadReader, MINIMUM_TOTAL_CPU_USAGE_MILLIS_DEFAULT);
    }