Loading src/com/android/settings/fuelgauge/PowerUsageAdvanced.java +4 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ package com.android.settings.fuelgauge; import android.content.Context; import android.content.pm.PackageManager; import android.os.BatteryStats; import android.os.Bundle; import android.provider.SearchIndexableResource; import android.support.annotation.ColorInt; Loading Loading @@ -46,6 +47,7 @@ public class PowerUsageAdvanced extends PowerUsageBase { private static final String TAG = "AdvancedBatteryUsage"; private static final String KEY_BATTERY_GRAPH = "battery_graph"; private static final String KEY_BATTERY_USAGE_LIST = "battery_usage_list"; private static final int STATUS_TYPE = BatteryStats.STATS_SINCE_CHARGED; @VisibleForTesting final int[] mUsageTypes = { Loading Loading @@ -165,9 +167,10 @@ public class PowerUsageAdvanced extends PowerUsageBase { // TODO(b/35396770): add logic to extract the summary final List<PowerUsageData> batteryDataList = new ArrayList<>(batteryDataMap.values()); final int dischargeAmount = statusHelper.getStats().getDischargeAmount(STATUS_TYPE); final double totalPower = statusHelper.getTotalPower(); for (final PowerUsageData usageData : batteryDataList) { usageData.percentage = (usageData.totalPowerMah / totalPower) * 100; usageData.percentage = (usageData.totalPowerMah / totalPower) * dischargeAmount; } Collections.sort(batteryDataList); Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java +9 −4 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.settings.fuelgauge.PowerUsageAdvanced.PowerUsageData.UsageTyp import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; Loading @@ -38,6 +39,7 @@ import java.util.Set; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) Loading @@ -45,6 +47,7 @@ import static org.mockito.Mockito.when; public class PowerUsageAdvancedTest { private static final int FAKE_UID_1 = 50; private static final int FAKE_UID_2 = 100; private static final int DISCHARGE_AMOUNT = 60; private static final double TYPE_APP_USAGE = 80; private static final double TYPE_BLUETOOTH_USAGE = 50; private static final double TYPE_WIFI_USAGE = 0; Loading @@ -53,7 +56,7 @@ public class PowerUsageAdvancedTest { private static final double PRECISION = 0.001; @Mock private BatterySipper mBatterySipper; @Mock @Mock(answer = Answers.RETURNS_DEEP_STUBS) private BatteryStatsHelper mBatteryStatsHelper; @Mock private PowerUsageFeatureProvider mPowerUsageFeatureProvider; Loading @@ -76,6 +79,8 @@ public class PowerUsageAdvancedTest { batterySippers.add(new BatterySipper(DrainType.WIFI, new FakeUid(FAKE_UID_1), TYPE_WIFI_USAGE)); when(mBatteryStatsHelper.getStats().getDischargeAmount(anyInt())).thenReturn( DISCHARGE_AMOUNT); when(mBatteryStatsHelper.getUsageList()).thenReturn(batterySippers); when(mBatteryStatsHelper.getTotalPower()).thenReturn(TOTAL_USAGE); mPowerUsageAdvanced.setPackageManager(mPackageManager); Loading Loading @@ -118,9 +123,9 @@ public class PowerUsageAdvancedTest { @Test public void testParsePowerUsageData_PercentageCalculatedCorrectly() { final double percentApp = TYPE_APP_USAGE * 2 / TOTAL_USAGE * 100; final double percentWifi = TYPE_WIFI_USAGE / TOTAL_USAGE * 100; final double percentBluetooth = TYPE_BLUETOOTH_USAGE / TOTAL_USAGE * 100; final double percentApp = TYPE_APP_USAGE * 2 / TOTAL_USAGE * DISCHARGE_AMOUNT; final double percentWifi = TYPE_WIFI_USAGE / TOTAL_USAGE * DISCHARGE_AMOUNT; final double percentBluetooth = TYPE_BLUETOOTH_USAGE / TOTAL_USAGE * DISCHARGE_AMOUNT; List<PowerUsageData> batteryData = mPowerUsageAdvanced.parsePowerUsageData(mBatteryStatsHelper); Loading Loading
src/com/android/settings/fuelgauge/PowerUsageAdvanced.java +4 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ package com.android.settings.fuelgauge; import android.content.Context; import android.content.pm.PackageManager; import android.os.BatteryStats; import android.os.Bundle; import android.provider.SearchIndexableResource; import android.support.annotation.ColorInt; Loading Loading @@ -46,6 +47,7 @@ public class PowerUsageAdvanced extends PowerUsageBase { private static final String TAG = "AdvancedBatteryUsage"; private static final String KEY_BATTERY_GRAPH = "battery_graph"; private static final String KEY_BATTERY_USAGE_LIST = "battery_usage_list"; private static final int STATUS_TYPE = BatteryStats.STATS_SINCE_CHARGED; @VisibleForTesting final int[] mUsageTypes = { Loading Loading @@ -165,9 +167,10 @@ public class PowerUsageAdvanced extends PowerUsageBase { // TODO(b/35396770): add logic to extract the summary final List<PowerUsageData> batteryDataList = new ArrayList<>(batteryDataMap.values()); final int dischargeAmount = statusHelper.getStats().getDischargeAmount(STATUS_TYPE); final double totalPower = statusHelper.getTotalPower(); for (final PowerUsageData usageData : batteryDataList) { usageData.percentage = (usageData.totalPowerMah / totalPower) * 100; usageData.percentage = (usageData.totalPowerMah / totalPower) * dischargeAmount; } Collections.sort(batteryDataList); Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java +9 −4 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.settings.fuelgauge.PowerUsageAdvanced.PowerUsageData.UsageTyp import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; Loading @@ -38,6 +39,7 @@ import java.util.Set; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) Loading @@ -45,6 +47,7 @@ import static org.mockito.Mockito.when; public class PowerUsageAdvancedTest { private static final int FAKE_UID_1 = 50; private static final int FAKE_UID_2 = 100; private static final int DISCHARGE_AMOUNT = 60; private static final double TYPE_APP_USAGE = 80; private static final double TYPE_BLUETOOTH_USAGE = 50; private static final double TYPE_WIFI_USAGE = 0; Loading @@ -53,7 +56,7 @@ public class PowerUsageAdvancedTest { private static final double PRECISION = 0.001; @Mock private BatterySipper mBatterySipper; @Mock @Mock(answer = Answers.RETURNS_DEEP_STUBS) private BatteryStatsHelper mBatteryStatsHelper; @Mock private PowerUsageFeatureProvider mPowerUsageFeatureProvider; Loading @@ -76,6 +79,8 @@ public class PowerUsageAdvancedTest { batterySippers.add(new BatterySipper(DrainType.WIFI, new FakeUid(FAKE_UID_1), TYPE_WIFI_USAGE)); when(mBatteryStatsHelper.getStats().getDischargeAmount(anyInt())).thenReturn( DISCHARGE_AMOUNT); when(mBatteryStatsHelper.getUsageList()).thenReturn(batterySippers); when(mBatteryStatsHelper.getTotalPower()).thenReturn(TOTAL_USAGE); mPowerUsageAdvanced.setPackageManager(mPackageManager); Loading Loading @@ -118,9 +123,9 @@ public class PowerUsageAdvancedTest { @Test public void testParsePowerUsageData_PercentageCalculatedCorrectly() { final double percentApp = TYPE_APP_USAGE * 2 / TOTAL_USAGE * 100; final double percentWifi = TYPE_WIFI_USAGE / TOTAL_USAGE * 100; final double percentBluetooth = TYPE_BLUETOOTH_USAGE / TOTAL_USAGE * 100; final double percentApp = TYPE_APP_USAGE * 2 / TOTAL_USAGE * DISCHARGE_AMOUNT; final double percentWifi = TYPE_WIFI_USAGE / TOTAL_USAGE * DISCHARGE_AMOUNT; final double percentBluetooth = TYPE_BLUETOOTH_USAGE / TOTAL_USAGE * DISCHARGE_AMOUNT; List<PowerUsageData> batteryData = mPowerUsageAdvanced.parsePowerUsageData(mBatteryStatsHelper); Loading