Merge "Remove uses of deprecated class BatterySipper also, remove the obsolete class FakeUid"

This commit is contained in:
Dmitri Plotnikov
2021-08-31 22:36:55 +00:00
committed by Android (Google) Code Review
5 changed files with 13 additions and 506 deletions

View File

@@ -491,8 +491,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
use = 450;
for (int i = 0; i < 100; i++) {
builder.getOrCreateUidBatteryConsumerBuilder(
new FakeUid(Process.FIRST_APPLICATION_UID + i))
builder.getOrCreateUidBatteryConsumerBuilder(Process.FIRST_APPLICATION_UID + i)
.setTimeInStateMs(UidBatteryConsumer.STATE_FOREGROUND, 10000 + i * 1000)
.setTimeInStateMs(UidBatteryConsumer.STATE_BACKGROUND, 20000 + i * 2000)
.setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, use);
@@ -500,18 +499,17 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
}
// Simulate dex2oat process.
builder.getOrCreateUidBatteryConsumerBuilder(new FakeUid(Process.FIRST_APPLICATION_UID))
builder.getOrCreateUidBatteryConsumerBuilder(Process.FIRST_APPLICATION_UID)
.setUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_CPU, 100000)
.setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, 1000.0)
.setPackageWithHighestDrain("dex2oat");
builder.getOrCreateUidBatteryConsumerBuilder(new FakeUid(Process.FIRST_APPLICATION_UID + 1))
builder.getOrCreateUidBatteryConsumerBuilder(Process.FIRST_APPLICATION_UID + 1)
.setUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_CPU, 100000)
.setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, 1000.0)
.setPackageWithHighestDrain("dex2oat");
builder.getOrCreateUidBatteryConsumerBuilder(
new FakeUid(UserHandle.getSharedAppGid(Process.LOG_UID)))
builder.getOrCreateUidBatteryConsumerBuilder(UserHandle.getSharedAppGid(Process.LOG_UID))
.setUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_CPU, 100000)
.setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, 900.0);

View File

@@ -1,432 +0,0 @@
/*
* 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;
import android.os.BatteryStats.Counter;
import android.os.BatteryStats.Timer;
import android.os.BatteryStats.Uid;
import android.util.ArrayMap;
import android.util.SparseArray;
import android.util.SparseIntArray;
/**
* Fake UID for testing power usage screen.
*/
public class FakeUid extends Uid {
private final int mUid;
public FakeUid(int uid) {
mUid = uid;
}
@Override
public int getUid() {
return mUid;
}
@Override
public ArrayMap<String, ? extends Wakelock> getWakelockStats() {
return null;
}
@Override
public Timer getAggregatedPartialWakelockTimer() {
return null;
}
@Override
public Timer getMulticastWakelockStats() {
return null;
}
@Override
public ArrayMap<String, ? extends Timer> getSyncStats() {
return null;
}
@Override
public ArrayMap<String, ? extends Timer> getJobStats() {
return null;
}
@Override
public ArrayMap<String, SparseIntArray> getJobCompletionStats() {
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 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 Timer getWifiScanTimer() {
return null;
}
@Override
public int getWifiScanBackgroundCount(int which) {
return 0;
}
@Override
public long getWifiScanActualTime(long elapsedRealtimeUs) {
return 0;
}
@Override
public long getWifiScanBackgroundTime(long elapsedRealtimeUs) {
return 0;
}
@Override
public Timer getWifiScanBackgroundTimer() {
return null;
}
@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 Timer getForegroundServiceTimer() {
return null;
}
@Override
public long getProcessStateTime(int state, long elapsedRealtimeUs, int which) {
return 0;
}
@Override
public Timer getProcessStateTimer(int state) {
return null;
}
@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 cluster, int step, int which) {
return 0;
}
@Override
public BatteryStats.ControllerActivityCounter getWifiControllerActivity() {
return null;
}
@Override
public BatteryStats.ControllerActivityCounter getBluetoothControllerActivity() {
return null;
}
@Override
public BatteryStats.ControllerActivityCounter getModemControllerActivity() {
return null;
}
@Override
public Timer getBluetoothScanTimer() {
return null;
}
@Override
public Timer getBluetoothScanBackgroundTimer() {
return null;
}
@Override
public Timer getBluetoothUnoptimizedScanTimer() {
return null;
}
@Override
public Timer getBluetoothUnoptimizedScanBackgroundTimer() {
return null;
}
@Override
public Counter getBluetoothScanResultCounter() {
return null;
}
@Override
public Counter getBluetoothScanResultBgCounter() {
return null;
}
@Override
public long getWifiRadioApWakeupCount(int which) {
return 0;
}
@Override
public void getDeferredJobsCheckinLineLocked(StringBuilder sb, int which) {
}
@Override
public void getDeferredJobsLineLocked(StringBuilder sb, int which) {
}
@Override
public long getBluetoothMeasuredBatteryConsumptionUC() {
return 0;
}
@Override
public long getCpuMeasuredBatteryConsumptionUC() {
return 0;
}
@Override
public long getGnssMeasuredBatteryConsumptionUC() {
return 0;
}
@Override
public long getMobileRadioMeasuredBatteryConsumptionUC() {
return 0;
}
@Override
public long getScreenOnMeasuredBatteryConsumptionUC() {
return 0;
}
@Override
public long getWifiMeasuredBatteryConsumptionUC() {
return 0;
}
@Override
public long[] getCustomConsumerMeasuredBatteryConsumptionUC() {
return null;
}
@Override
public long getMobileRadioApWakeupCount(int which) {
return 0;
}
@Override
public long[] getCpuFreqTimes(int which) {
return null;
}
@Override
public long[] getScreenOffCpuFreqTimes(int which) {
return null;
}
@Override
public long getCpuActiveTime() {
return 0;
}
@Override
public long[] getCpuClusterTimes() {
return null;
}
@Override
public long[] getCpuFreqTimes(int procState, int which) {
return null;
}
@Override
public long[] getScreenOffCpuFreqTimes(int procState, int which) {
return null;
}
@Override
public double getProportionalSystemServiceUsage() {
return 0;
}
}

View File

@@ -21,7 +21,6 @@ import android.content.Intent;
import android.net.Uri;
import android.util.SparseIntArray;
import com.android.internal.os.BatterySipper;
import com.android.settingslib.fuelgauge.Estimate;
import java.util.List;
@@ -55,12 +54,7 @@ public interface PowerUsageFeatureProvider {
/**
* Check whether it is type service
*/
boolean isTypeService(BatterySipper sipper);
/**
* Check whether it is type system
*/
boolean isTypeSystem(BatterySipper sipper);
boolean isTypeService(int uid);
/**
* Check whether it is type system

View File

@@ -23,7 +23,6 @@ import android.net.Uri;
import android.os.Process;
import android.util.SparseIntArray;
import com.android.internal.os.BatterySipper;
import com.android.internal.util.ArrayUtils;
import com.android.settingslib.fuelgauge.Estimate;
@@ -48,25 +47,7 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
}
@Override
public boolean isTypeService(BatterySipper sipper) {
return false;
}
@Override
public boolean isTypeSystem(BatterySipper sipper) {
final int uid = sipper.uidObj == null ? -1 : sipper.getUid();
sipper.mPackages = mPackageManager.getPackagesForUid(uid);
// Classify all the sippers to type system if the range of uid is 0...FIRST_APPLICATION_UID
if (uid >= Process.ROOT_UID && uid < Process.FIRST_APPLICATION_UID) {
return true;
} else if (sipper.mPackages != null) {
for (final String packageName : sipper.mPackages) {
if (ArrayUtils.contains(PACKAGES_SYSTEM, packageName)) {
return true;
}
}
}
public boolean isTypeService(int uid) {
return false;
}

View File

@@ -24,8 +24,6 @@ import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Process;
import com.android.internal.os.BatterySipper;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -48,8 +46,6 @@ public class PowerUsageFeatureProviderImplTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@Mock
private BatterySipper mBatterySipper;
@Mock
private PackageManager mPackageManager;
private PowerUsageFeatureProviderImpl mPowerFeatureProvider;
@@ -63,71 +59,41 @@ public class PowerUsageFeatureProviderImplTest {
when(mPackageManager.getPackagesForUid(UID_MEDIA)).thenReturn(PACKAGES_MEDIA);
when(mPackageManager.getPackagesForUid(UID_SYSTEMUI)).thenReturn(PACKAGES_SYSTEMUI);
mPowerFeatureProvider.mPackageManager = mPackageManager;
mBatterySipper.uidObj = new FakeUid(UID_OTHER);
}
@Test
public void testIsTypeSystem_uidRoot_returnTrue() {
mBatterySipper.drainType = BatterySipper.DrainType.APP;
when(mBatterySipper.getUid()).thenReturn(Process.ROOT_UID);
assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isTrue();
assertThat(mPowerFeatureProvider.isTypeSystem(Process.ROOT_UID, null)).isTrue();
}
@Test
public void testIsTypeSystem_uidSystem_returnTrue() {
mBatterySipper.drainType = BatterySipper.DrainType.APP;
when(mBatterySipper.getUid()).thenReturn(Process.SYSTEM_UID);
assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isTrue();
assertThat(mPowerFeatureProvider.isTypeSystem(Process.SYSTEM_UID, null)).isTrue();
}
@Test
public void testIsTypeSystem_uidMedia_returnTrue() {
mBatterySipper.drainType = BatterySipper.DrainType.APP;
when(mBatterySipper.getUid()).thenReturn(Process.MEDIA_UID);
assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isTrue();
assertThat(mPowerFeatureProvider.isTypeSystem(Process.MEDIA_UID, null)).isTrue();
}
@Test
public void testIsTypeSystem_appCalendar_returnTrue() {
mBatterySipper.drainType = BatterySipper.DrainType.APP;
when(mBatterySipper.getUid()).thenReturn(UID_CALENDAR);
assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isTrue();
assertThat(mPowerFeatureProvider.isTypeSystem(UID_CALENDAR, null)).isTrue();
}
@Test
public void testIsTypeSystem_appMedia_returnTrue() {
mBatterySipper.drainType = BatterySipper.DrainType.APP;
when(mBatterySipper.getUid()).thenReturn(UID_MEDIA);
assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isTrue();
assertThat(mPowerFeatureProvider.isTypeSystem(UID_MEDIA, null)).isTrue();
}
@Test
public void testIsTypeSystem_appSystemUi_returnTrue() {
mBatterySipper.drainType = BatterySipper.DrainType.APP;
when(mBatterySipper.getUid()).thenReturn(UID_SYSTEMUI);
assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isTrue();
assertThat(mPowerFeatureProvider.isTypeSystem(UID_SYSTEMUI, null)).isTrue();
}
@Test
public void testIsTypeSystem_uidOther_returnFalse() {
mBatterySipper.drainType = BatterySipper.DrainType.APP;
when(mBatterySipper.getUid()).thenReturn(UID_OTHER);
assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isFalse();
}
@Test
public void testIsTypeSystem_uidObjNull_returnFalse() {
mBatterySipper.drainType = BatterySipper.DrainType.APP;
mBatterySipper.uidObj = null;
assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isFalse();
assertThat(mPowerFeatureProvider.isTypeSystem(UID_OTHER, null)).isFalse();
}
@Test