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

Commit a1f28d94 authored by Jason Monk's avatar Jason Monk Committed by The Android Automerger
Browse files

Fix crash in battery screen

Also add a fake app item

Bug: 21624653
Change-Id: I1a8598472e014f773d2396a9a08fd03e8e32b400
parent 7c4a0fed
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ public class TintablePreference extends Preference {
        super.onBindView(view);

        if (mTintColor != 0) {
            ((ImageView) view.findViewById(R.id.icon)).setImageTintList(
            ((ImageView) view.findViewById(android.R.id.icon)).setImageTintList(
                    ColorStateList.valueOf(mTintColor));
        }
    }
+246 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.settings.fuelgauge;

import android.os.BatteryStats.Timer;
import android.os.BatteryStats.Uid;
import android.os.Process;
import android.util.ArrayMap;
import android.util.SparseArray;

/**
 * Fake UID for testing power usage screen.
 */
public class FakeUid extends Uid {

    @Override
    public int getUid() {
        return Process.FIRST_APPLICATION_UID;
    }

    @Override
    public ArrayMap<String, ? extends Wakelock> getWakelockStats() {
        return null;
    }

    @Override
    public ArrayMap<String, ? extends Timer> getSyncStats() {
        return null;
    }

    @Override
    public ArrayMap<String, ? extends Timer> getJobStats() {
        return null;
    }

    @Override
    public SparseArray<? extends Sensor> getSensorStats() {
        return null;
    }

    @Override
    public SparseArray<? extends Pid> getPidStats() {
        return null;
    }

    @Override
    public ArrayMap<String, ? extends Proc> getProcessStats() {
        return null;
    }

    @Override
    public ArrayMap<String, ? extends Pkg> getPackageStats() {
        return null;
    }

    @Override
    public long getWifiControllerActivity(int type, int which) {
        return 0;
    }

    @Override
    public void noteWifiRunningLocked(long elapsedRealtime) {
    }

    @Override
    public void noteWifiStoppedLocked(long elapsedRealtime) {
    }

    @Override
    public void noteFullWifiLockAcquiredLocked(long elapsedRealtime) {
    }

    @Override
    public void noteFullWifiLockReleasedLocked(long elapsedRealtime) {
    }

    @Override
    public void noteWifiScanStartedLocked(long elapsedRealtime) {
    }

    @Override
    public void noteWifiScanStoppedLocked(long elapsedRealtime) {
    }

    @Override
    public void noteWifiBatchedScanStartedLocked(int csph, long elapsedRealtime) {
    }

    @Override
    public void noteWifiBatchedScanStoppedLocked(long elapsedRealtime) {
    }

    @Override
    public void noteWifiMulticastEnabledLocked(long elapsedRealtime) {
    }

    @Override
    public void noteWifiMulticastDisabledLocked(long elapsedRealtime) {
    }

    @Override
    public void noteActivityResumedLocked(long elapsedRealtime) {
    }

    @Override
    public void noteActivityPausedLocked(long elapsedRealtime) {
    }

    @Override
    public long getWifiRunningTime(long elapsedRealtimeUs, int which) {
        return 0;
    }

    @Override
    public long getFullWifiLockTime(long elapsedRealtimeUs, int which) {
        return 0;
    }

    @Override
    public long getWifiScanTime(long elapsedRealtimeUs, int which) {
        return 0;
    }

    @Override
    public int getWifiScanCount(int which) {
        return 0;
    }

    @Override
    public long getWifiBatchedScanTime(int csphBin, long elapsedRealtimeUs, int which) {
        return 0;
    }

    @Override
    public int getWifiBatchedScanCount(int csphBin, int which) {
        return 0;
    }

    @Override
    public long getWifiMulticastTime(long elapsedRealtimeUs, int which) {
        return 0;
    }

    @Override
    public Timer getAudioTurnedOnTimer() {
        return null;
    }

    @Override
    public Timer getVideoTurnedOnTimer() {
        return null;
    }

    @Override
    public Timer getFlashlightTurnedOnTimer() {
        return null;
    }

    @Override
    public Timer getCameraTurnedOnTimer() {
        return null;
    }

    @Override
    public Timer getForegroundActivityTimer() {
        return null;
    }

    @Override
    public long getProcessStateTime(int state, long elapsedRealtimeUs, int which) {
        return 0;
    }

    @Override
    public Timer getVibratorOnTimer() {
        return null;
    }

    @Override
    public void noteUserActivityLocked(int type) {
    }

    @Override
    public boolean hasUserActivity() {
        return false;
    }

    @Override
    public int getUserActivityCount(int type, int which) {
        return 0;
    }

    @Override
    public boolean hasNetworkActivity() {
        return false;
    }

    @Override
    public long getNetworkActivityBytes(int type, int which) {
        return 0;
    }

    @Override
    public long getNetworkActivityPackets(int type, int which) {
        return 0;
    }

    @Override
    public long getMobileRadioActiveTime(int which) {
        return 0;
    }

    @Override
    public int getMobileRadioActiveCount(int which) {
        return 0;
    }

    @Override
    public long getUserCpuTimeUs(int which) {
        return 0;
    }

    @Override
    public long getSystemCpuTimeUs(int which) {
        return 0;
    }

    @Override
    public long getTimeAtCpuSpeed(int step, int which) {
        return 0;
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -35,8 +35,8 @@ import android.view.MenuItem;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.PowerProfile;
import com.android.internal.os.BatterySipper.DrainType;
import com.android.internal.os.PowerProfile;
import com.android.settings.HelpUtils;
import com.android.settings.R;
import com.android.settings.Settings.HighPowerApplicationsActivity;
@@ -282,6 +282,8 @@ public class PowerUsageSummary extends PowerUsageBase {
            stats.add(new BatterySipper(type, null, use));
            use += 5;
        }
        BatterySipper sipper = new BatterySipper(DrainType.APP, new FakeUid(), use);
        stats.add(sipper);
        return stats;
    }