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_radius">5dp</dimen>
|
||||||
<dimen name="chartview_trapezoid_margin_start">1dp</dimen>
|
<dimen name="chartview_trapezoid_margin_start">1dp</dimen>
|
||||||
<dimen name="chartview_trapezoid_margin_bottom">2dp</dimen>
|
<dimen name="chartview_trapezoid_margin_bottom">2dp</dimen>
|
||||||
|
<dimen name="chartview_two_charts_margin">16dp</dimen>
|
||||||
|
|
||||||
<!-- Dimensions for Dream settings cards -->
|
<!-- Dimensions for Dream settings cards -->
|
||||||
<dimen name="dream_item_min_column_width">174dp</dimen>
|
<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.text.format.DateUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -361,11 +362,14 @@ public class BatteryChartPreferenceControllerV2 extends AbstractPreferenceContro
|
|||||||
if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
|
if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
|
||||||
// Multiple days are selected, hide the hourly chart view.
|
// Multiple days are selected, hide the hourly chart view.
|
||||||
mHourlyChartView.setVisibility(View.GONE);
|
mHourlyChartView.setVisibility(View.GONE);
|
||||||
|
updateMarginBetweenCharts(false);
|
||||||
} else {
|
} else {
|
||||||
mHourlyChartView.setVisibility(View.VISIBLE);
|
mHourlyChartView.setVisibility(View.VISIBLE);
|
||||||
final BatteryChartViewModel hourlyViewModel = mHourlyViewModels.get(mDailyChartIndex);
|
final BatteryChartViewModel hourlyViewModel = mHourlyViewModels.get(mDailyChartIndex);
|
||||||
hourlyViewModel.setSelectedIndex(mHourlyChartIndex);
|
hourlyViewModel.setSelectedIndex(mHourlyChartIndex);
|
||||||
mHourlyChartView.setViewModel(hourlyViewModel);
|
mHourlyChartView.setViewModel(hourlyViewModel);
|
||||||
|
|
||||||
|
updateMarginBetweenCharts(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
mHandler.post(() -> {
|
mHandler.post(() -> {
|
||||||
@@ -379,6 +383,14 @@ public class BatteryChartPreferenceControllerV2 extends AbstractPreferenceContro
|
|||||||
return true;
|
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() {
|
private void addAllPreferences() {
|
||||||
final BatteryDiffData batteryDiffData =
|
final BatteryDiffData batteryDiffData =
|
||||||
mBatteryUsageMap.get(mDailyChartIndex).get(mHourlyChartIndex);
|
mBatteryUsageMap.get(mDailyChartIndex).get(mHourlyChartIndex);
|
||||||
|
@@ -35,6 +35,7 @@ import android.os.Bundle;
|
|||||||
import android.os.LocaleList;
|
import android.os.LocaleList;
|
||||||
import android.text.format.DateUtils;
|
import android.text.format.DateUtils;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
@@ -86,6 +87,8 @@ public final class BatteryChartPreferenceControllerV2Test {
|
|||||||
private PowerGaugePreference mPowerGaugePreference;
|
private PowerGaugePreference mPowerGaugePreference;
|
||||||
@Mock
|
@Mock
|
||||||
private BatteryUtils mBatteryUtils;
|
private BatteryUtils mBatteryUtils;
|
||||||
|
@Mock
|
||||||
|
private LinearLayout.LayoutParams mLayoutParams;
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private FakeFeatureFactory mFeatureFactory;
|
private FakeFeatureFactory mFeatureFactory;
|
||||||
@@ -111,6 +114,7 @@ public final class BatteryChartPreferenceControllerV2Test {
|
|||||||
doReturn(new String[]{"com.android.gms.persistent"})
|
doReturn(new String[]{"com.android.gms.persistent"})
|
||||||
.when(mFeatureFactory.powerUsageFeatureProvider)
|
.when(mFeatureFactory.powerUsageFeatureProvider)
|
||||||
.getHideApplicationEntries(mContext);
|
.getHideApplicationEntries(mContext);
|
||||||
|
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
|
||||||
mBatteryChartPreferenceController = createController();
|
mBatteryChartPreferenceController = createController();
|
||||||
mBatteryChartPreferenceController.mPrefContext = mContext;
|
mBatteryChartPreferenceController.mPrefContext = mContext;
|
||||||
mBatteryChartPreferenceController.mAppListPrefGroup = mAppListGroup;
|
mBatteryChartPreferenceController.mAppListPrefGroup = mAppListGroup;
|
||||||
@@ -194,6 +198,7 @@ public final class BatteryChartPreferenceControllerV2Test {
|
|||||||
|
|
||||||
reset(mDailyChartView);
|
reset(mDailyChartView);
|
||||||
reset(mHourlyChartView);
|
reset(mHourlyChartView);
|
||||||
|
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
|
||||||
mBatteryChartPreferenceController.mDailyChartIndex = 0;
|
mBatteryChartPreferenceController.mDailyChartIndex = 0;
|
||||||
mBatteryChartPreferenceController.refreshUi();
|
mBatteryChartPreferenceController.refreshUi();
|
||||||
verify(mDailyChartView).setVisibility(View.VISIBLE);
|
verify(mDailyChartView).setVisibility(View.VISIBLE);
|
||||||
@@ -212,6 +217,7 @@ public final class BatteryChartPreferenceControllerV2Test {
|
|||||||
|
|
||||||
reset(mDailyChartView);
|
reset(mDailyChartView);
|
||||||
reset(mHourlyChartView);
|
reset(mHourlyChartView);
|
||||||
|
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
|
||||||
mBatteryChartPreferenceController.mDailyChartIndex = 1;
|
mBatteryChartPreferenceController.mDailyChartIndex = 1;
|
||||||
mBatteryChartPreferenceController.mHourlyChartIndex = 6;
|
mBatteryChartPreferenceController.mHourlyChartIndex = 6;
|
||||||
mBatteryChartPreferenceController.refreshUi();
|
mBatteryChartPreferenceController.refreshUi();
|
||||||
@@ -231,6 +237,7 @@ public final class BatteryChartPreferenceControllerV2Test {
|
|||||||
|
|
||||||
reset(mDailyChartView);
|
reset(mDailyChartView);
|
||||||
reset(mHourlyChartView);
|
reset(mHourlyChartView);
|
||||||
|
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
|
||||||
mBatteryChartPreferenceController.mDailyChartIndex = 2;
|
mBatteryChartPreferenceController.mDailyChartIndex = 2;
|
||||||
mBatteryChartPreferenceController.mHourlyChartIndex =
|
mBatteryChartPreferenceController.mHourlyChartIndex =
|
||||||
BatteryChartViewModel.SELECTED_INDEX_ALL;
|
BatteryChartViewModel.SELECTED_INDEX_ALL;
|
||||||
|
Reference in New Issue
Block a user