Add margin between battery daily and hourly charts
screenshot: https://drive.google.com/file/d/1vXL4XO9HezZ4fTJ5wh6Fi13oXf54yc9q/view?usp=sharing&resourcekey=0--k4_Qk4e9ELyENeAySlYFw Bug: 236101166 Test: manual Change-Id: Ib4f5705661d2799cc74f6a957ce715ebb93b28b8
This commit is contained in:
@@ -473,6 +473,7 @@
|
||||
<dimen name="chartview_trapezoid_radius">5dp</dimen>
|
||||
<dimen name="chartview_trapezoid_margin_start">1dp</dimen>
|
||||
<dimen name="chartview_trapezoid_margin_bottom">2dp</dimen>
|
||||
<dimen name="chartview_two_charts_margin">16dp</dimen>
|
||||
|
||||
<!-- Dimensions for Dream settings cards -->
|
||||
<dimen name="dream_item_min_column_width">174dp</dimen>
|
||||
|
@@ -28,6 +28,7 @@ import android.text.format.DateFormat;
|
||||
import android.text.format.DateUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -361,11 +362,14 @@ public class BatteryChartPreferenceControllerV2 extends AbstractPreferenceContro
|
||||
if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
|
||||
// Multiple days are selected, hide the hourly chart view.
|
||||
mHourlyChartView.setVisibility(View.GONE);
|
||||
updateMarginBetweenCharts(false);
|
||||
} else {
|
||||
mHourlyChartView.setVisibility(View.VISIBLE);
|
||||
final BatteryChartViewModel hourlyViewModel = mHourlyViewModels.get(mDailyChartIndex);
|
||||
hourlyViewModel.setSelectedIndex(mHourlyChartIndex);
|
||||
mHourlyChartView.setViewModel(hourlyViewModel);
|
||||
|
||||
updateMarginBetweenCharts(true);
|
||||
}
|
||||
|
||||
mHandler.post(() -> {
|
||||
@@ -379,6 +383,14 @@ public class BatteryChartPreferenceControllerV2 extends AbstractPreferenceContro
|
||||
return true;
|
||||
}
|
||||
|
||||
private void updateMarginBetweenCharts(boolean addMargin) {
|
||||
final LinearLayout.LayoutParams layoutParams =
|
||||
(LinearLayout.LayoutParams) mDailyChartView.getLayoutParams();
|
||||
layoutParams.bottomMargin = addMargin ? Math.round(
|
||||
mContext.getResources().getDimension(R.dimen.chartview_two_charts_margin)) : 0;
|
||||
mDailyChartView.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
private void addAllPreferences() {
|
||||
final BatteryDiffData batteryDiffData =
|
||||
mBatteryUsageMap.get(mDailyChartIndex).get(mHourlyChartIndex);
|
||||
|
@@ -35,6 +35,7 @@ import android.os.Bundle;
|
||||
import android.os.LocaleList;
|
||||
import android.text.format.DateUtils;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
@@ -86,6 +87,8 @@ public final class BatteryChartPreferenceControllerV2Test {
|
||||
private PowerGaugePreference mPowerGaugePreference;
|
||||
@Mock
|
||||
private BatteryUtils mBatteryUtils;
|
||||
@Mock
|
||||
private LinearLayout.LayoutParams mLayoutParams;
|
||||
|
||||
private Context mContext;
|
||||
private FakeFeatureFactory mFeatureFactory;
|
||||
@@ -111,6 +114,7 @@ public final class BatteryChartPreferenceControllerV2Test {
|
||||
doReturn(new String[]{"com.android.gms.persistent"})
|
||||
.when(mFeatureFactory.powerUsageFeatureProvider)
|
||||
.getHideApplicationEntries(mContext);
|
||||
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
|
||||
mBatteryChartPreferenceController = createController();
|
||||
mBatteryChartPreferenceController.mPrefContext = mContext;
|
||||
mBatteryChartPreferenceController.mAppListPrefGroup = mAppListGroup;
|
||||
@@ -194,6 +198,7 @@ public final class BatteryChartPreferenceControllerV2Test {
|
||||
|
||||
reset(mDailyChartView);
|
||||
reset(mHourlyChartView);
|
||||
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
|
||||
mBatteryChartPreferenceController.mDailyChartIndex = 0;
|
||||
mBatteryChartPreferenceController.refreshUi();
|
||||
verify(mDailyChartView).setVisibility(View.VISIBLE);
|
||||
@@ -212,6 +217,7 @@ public final class BatteryChartPreferenceControllerV2Test {
|
||||
|
||||
reset(mDailyChartView);
|
||||
reset(mHourlyChartView);
|
||||
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
|
||||
mBatteryChartPreferenceController.mDailyChartIndex = 1;
|
||||
mBatteryChartPreferenceController.mHourlyChartIndex = 6;
|
||||
mBatteryChartPreferenceController.refreshUi();
|
||||
@@ -231,6 +237,7 @@ public final class BatteryChartPreferenceControllerV2Test {
|
||||
|
||||
reset(mDailyChartView);
|
||||
reset(mHourlyChartView);
|
||||
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
|
||||
mBatteryChartPreferenceController.mDailyChartIndex = 2;
|
||||
mBatteryChartPreferenceController.mHourlyChartIndex =
|
||||
BatteryChartViewModel.SELECTED_INDEX_ALL;
|
||||
|
Reference in New Issue
Block a user