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

Commit 1f9fef65 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
(cherry picked from commit 478c873f)
parent 5191bb75
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);
    }