Loading src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java +23 −2 Original line number Original line Diff line number Diff line Loading @@ -267,6 +267,11 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll refreshUi(); refreshUi(); }); }); Log.d(TAG, "getBatteryLevelData: " + batteryLevelData); Log.d(TAG, "getBatteryLevelData: " + batteryLevelData); mMetricsFeatureProvider.action( mPrefContext, SettingsEnums.ACTION_BATTERY_HISTORY_LOADED, getTotalHours(batteryLevelData)); if (batteryLevelData == null) { if (batteryLevelData == null) { mDailyTimestampFullTexts = null; mDailyTimestampFullTexts = null; mDailyViewModel = null; mDailyViewModel = null; Loading Loading @@ -313,7 +318,12 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll mDailyChartIndex = trapezoidIndex; mDailyChartIndex = trapezoidIndex; mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL; mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL; refreshUi(); refreshUi(); // TODO: Change to log daily data. mMetricsFeatureProvider.action( mPrefContext, trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL ? SettingsEnums.ACTION_BATTERY_USAGE_DAILY_SHOW_ALL : SettingsEnums.ACTION_BATTERY_USAGE_DAILY_TIME_SLOT, mDailyChartIndex); }); }); mHourlyChartView = hourlyChartView; mHourlyChartView = hourlyChartView; mHourlyChartView.setOnSelectListener(trapezoidIndex -> { mHourlyChartView.setOnSelectListener(trapezoidIndex -> { Loading @@ -327,7 +337,8 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll mPrefContext, mPrefContext, trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT); : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT, mHourlyChartIndex); }); }); refreshUi(); refreshUi(); } } Loading Loading @@ -623,6 +634,16 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll && mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL; && mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL; } } @VisibleForTesting static int getTotalHours(final BatteryLevelData batteryLevelData) { if (batteryLevelData == null) { return 0; } List<Long> dailyTimestamps = batteryLevelData.getDailyBatteryLevels().getTimestamps(); return (int) ((dailyTimestamps.get(dailyTimestamps.size() - 1) - dailyTimestamps.get(0)) / DateUtils.HOUR_IN_MILLIS); } private static List<String> generateTimestampDayOfWeekTexts(@NonNull final Context context, private static List<String> generateTimestampDayOfWeekTexts(@NonNull final Context context, @NonNull final List<Long> timestamps, final boolean isAbbreviation) { @NonNull final List<Long> timestamps, final boolean isAbbreviation) { final ArrayList<String> texts = new ArrayList<>(); final ArrayList<String> texts = new ArrayList<>(); Loading tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java +12 −0 Original line number Original line Diff line number Diff line Loading @@ -630,6 +630,18 @@ public final class BatteryChartPreferenceControllerTest { .isFalse(); .isFalse(); } } @Test public void getTotalHours_getExpectedResult() { Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = createBatteryHistoryMap(60); BatteryLevelData batteryLevelData = DataProcessor.getBatteryLevelData(mContext, null, batteryHistoryMap, null); final int totalHour = BatteryChartPreferenceController.getTotalHours(batteryLevelData); // Only calculate the even hours. assertThat(totalHour).isEqualTo(58); } private static Long generateTimestamp(int index) { private static Long generateTimestamp(int index) { // "2021-04-23 07:00:00 UTC" + index hours // "2021-04-23 07:00:00 UTC" + index hours return 1619247600000L + index * DateUtils.HOUR_IN_MILLIS; return 1619247600000L + index * DateUtils.HOUR_IN_MILLIS; Loading Loading
src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java +23 −2 Original line number Original line Diff line number Diff line Loading @@ -267,6 +267,11 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll refreshUi(); refreshUi(); }); }); Log.d(TAG, "getBatteryLevelData: " + batteryLevelData); Log.d(TAG, "getBatteryLevelData: " + batteryLevelData); mMetricsFeatureProvider.action( mPrefContext, SettingsEnums.ACTION_BATTERY_HISTORY_LOADED, getTotalHours(batteryLevelData)); if (batteryLevelData == null) { if (batteryLevelData == null) { mDailyTimestampFullTexts = null; mDailyTimestampFullTexts = null; mDailyViewModel = null; mDailyViewModel = null; Loading Loading @@ -313,7 +318,12 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll mDailyChartIndex = trapezoidIndex; mDailyChartIndex = trapezoidIndex; mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL; mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL; refreshUi(); refreshUi(); // TODO: Change to log daily data. mMetricsFeatureProvider.action( mPrefContext, trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL ? SettingsEnums.ACTION_BATTERY_USAGE_DAILY_SHOW_ALL : SettingsEnums.ACTION_BATTERY_USAGE_DAILY_TIME_SLOT, mDailyChartIndex); }); }); mHourlyChartView = hourlyChartView; mHourlyChartView = hourlyChartView; mHourlyChartView.setOnSelectListener(trapezoidIndex -> { mHourlyChartView.setOnSelectListener(trapezoidIndex -> { Loading @@ -327,7 +337,8 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll mPrefContext, mPrefContext, trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT); : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT, mHourlyChartIndex); }); }); refreshUi(); refreshUi(); } } Loading Loading @@ -623,6 +634,16 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll && mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL; && mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL; } } @VisibleForTesting static int getTotalHours(final BatteryLevelData batteryLevelData) { if (batteryLevelData == null) { return 0; } List<Long> dailyTimestamps = batteryLevelData.getDailyBatteryLevels().getTimestamps(); return (int) ((dailyTimestamps.get(dailyTimestamps.size() - 1) - dailyTimestamps.get(0)) / DateUtils.HOUR_IN_MILLIS); } private static List<String> generateTimestampDayOfWeekTexts(@NonNull final Context context, private static List<String> generateTimestampDayOfWeekTexts(@NonNull final Context context, @NonNull final List<Long> timestamps, final boolean isAbbreviation) { @NonNull final List<Long> timestamps, final boolean isAbbreviation) { final ArrayList<String> texts = new ArrayList<>(); final ArrayList<String> texts = new ArrayList<>(); Loading
tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java +12 −0 Original line number Original line Diff line number Diff line Loading @@ -630,6 +630,18 @@ public final class BatteryChartPreferenceControllerTest { .isFalse(); .isFalse(); } } @Test public void getTotalHours_getExpectedResult() { Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = createBatteryHistoryMap(60); BatteryLevelData batteryLevelData = DataProcessor.getBatteryLevelData(mContext, null, batteryHistoryMap, null); final int totalHour = BatteryChartPreferenceController.getTotalHours(batteryLevelData); // Only calculate the even hours. assertThat(totalHour).isEqualTo(58); } private static Long generateTimestamp(int index) { private static Long generateTimestamp(int index) { // "2021-04-23 07:00:00 UTC" + index hours // "2021-04-23 07:00:00 UTC" + index hours return 1619247600000L + index * DateUtils.HOUR_IN_MILLIS; return 1619247600000L + index * DateUtils.HOUR_IN_MILLIS; Loading