Update battery dashboard based on spec
Following CL will change "battery suggestion" to card layout. Bug: 119618813 Test: Screenshot Change-Id: If71e5c0e4a4e230358aa0c8aa584028082f31d2e
This commit is contained in:
@@ -22,15 +22,12 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:paddingTop="24dp"
|
|
||||||
android:paddingBottom="24dp"
|
|
||||||
style="@style/EntityHeader">
|
style="@style/EntityHeader">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="0dp"
|
android:layout_width="170dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_marginStart="72dp"
|
||||||
android:layout_marginStart="56dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
@@ -39,8 +36,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="12dp"
|
android:layout_marginTop="12dp"
|
||||||
android:fontFamily="@*android:string/config_headlineFontFamily"
|
android:textAppearance="@style/TextAppearance.EntityHeaderTitle"
|
||||||
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Display1"/>
|
android:textSize="36sp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/summary1"
|
android:id="@+id/summary1"
|
||||||
@@ -49,19 +46,20 @@
|
|||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:minLines="2"
|
android:minLines="2"
|
||||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"/>
|
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"/>
|
||||||
|
android:textColor="?android:attr/textColorPrimary"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/summary2"
|
android:id="@+id/summary2"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"/>
|
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"/>
|
||||||
|
android:textColor="?android:attr/textColorPrimary"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<com.android.settings.fuelgauge.BatteryMeterView
|
<com.android.settings.fuelgauge.BatteryMeterView
|
||||||
android:id="@+id/battery_header_icon"
|
android:id="@+id/battery_header_icon"
|
||||||
android:layout_width="@dimen/battery_meter_width"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/battery_meter_height"
|
android:layout_height="@dimen/battery_meter_height"
|
||||||
android:layout_marginEnd="16dp"/>
|
android:layout_gravity="center"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@@ -5226,6 +5226,9 @@
|
|||||||
<item quantity="other">%1$d apps restricted</item>
|
<item quantity="other">%1$d apps restricted</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
|
||||||
|
<!-- Title to display the battery percentage. [CHAR LIMIT=24] -->
|
||||||
|
<string name="battery_header_title_alternate"><xliff:g id="number" example="88">^1</xliff:g><small> <font size="20"><xliff:g id="unit" example="%">%</xliff:g></font></small></string>
|
||||||
|
|
||||||
<!-- Title for force stop dialog [CHAR LIMIT=30] -->
|
<!-- Title for force stop dialog [CHAR LIMIT=30] -->
|
||||||
<string name="dialog_stop_title">Stop app?</string>
|
<string name="dialog_stop_title">Stop app?</string>
|
||||||
<!-- Message body for force stop dialog [CHAR LIMIT=NONE] -->
|
<!-- Message body for force stop dialog [CHAR LIMIT=NONE] -->
|
||||||
|
@@ -21,8 +21,10 @@ import android.app.Activity;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
|
import android.icu.text.NumberFormat;
|
||||||
import android.os.BatteryManager;
|
import android.os.BatteryManager;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -83,7 +85,7 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
|
|||||||
@Override
|
@Override
|
||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mBatteryLayoutPref = (LayoutPreference) screen.findPreference(getPreferenceKey());
|
mBatteryLayoutPref = screen.findPreference(getPreferenceKey());
|
||||||
mBatteryMeterView = mBatteryLayoutPref
|
mBatteryMeterView = mBatteryLayoutPref
|
||||||
.findViewById(R.id.battery_header_icon);
|
.findViewById(R.id.battery_header_icon);
|
||||||
mBatteryPercentText = mBatteryLayoutPref.findViewById(R.id.battery_percent);
|
mBatteryPercentText = mBatteryLayoutPref.findViewById(R.id.battery_percent);
|
||||||
@@ -107,7 +109,7 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void updateHeaderPreference(BatteryInfo info) {
|
public void updateHeaderPreference(BatteryInfo info) {
|
||||||
mBatteryPercentText.setText(Utils.formatPercentage(info.batteryLevel));
|
mBatteryPercentText.setText(formatBatteryPercentageText(info.batteryLevel));
|
||||||
if (info.remainingLabel == null) {
|
if (info.remainingLabel == null) {
|
||||||
mSummary1.setText(info.statusLabel);
|
mSummary1.setText(info.statusLabel);
|
||||||
} else {
|
} else {
|
||||||
@@ -133,6 +135,11 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
|
|||||||
mBatteryMeterView.setBatteryLevel(batteryLevel);
|
mBatteryMeterView.setBatteryLevel(batteryLevel);
|
||||||
mBatteryMeterView.setCharging(!discharging);
|
mBatteryMeterView.setCharging(!discharging);
|
||||||
mBatteryMeterView.setPowerSave(mPowerManager.isPowerSaveMode());
|
mBatteryMeterView.setPowerSave(mPowerManager.isPowerSaveMode());
|
||||||
mBatteryPercentText.setText(Utils.formatPercentage(batteryLevel));
|
mBatteryPercentText.setText(formatBatteryPercentageText(batteryLevel));
|
||||||
|
}
|
||||||
|
|
||||||
|
private CharSequence formatBatteryPercentageText(int batteryLevel) {
|
||||||
|
return TextUtils.expandTemplate(mContext.getText(R.string.battery_header_title_alternate),
|
||||||
|
NumberFormat.getIntegerInstance().format(batteryLevel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -140,8 +140,9 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
|
|
||||||
assertThat(((BatteryMeterView) mBatteryLayoutPref.findViewById(
|
assertThat(((BatteryMeterView) mBatteryLayoutPref.findViewById(
|
||||||
R.id.battery_header_icon)).getBatteryLevel()).isEqualTo(BATTERY_LEVEL);
|
R.id.battery_header_icon)).getBatteryLevel()).isEqualTo(BATTERY_LEVEL);
|
||||||
assertThat(((TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent)).getText())
|
assertThat(((TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent))
|
||||||
.isEqualTo("60%");
|
.getText().toString())
|
||||||
|
.isEqualTo("60 %");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -195,7 +196,7 @@ public class BatteryHeaderPreferenceControllerTest {
|
|||||||
|
|
||||||
assertThat(mBatteryMeterView.getBatteryLevel()).isEqualTo(BATTERY_LEVEL);
|
assertThat(mBatteryMeterView.getBatteryLevel()).isEqualTo(BATTERY_LEVEL);
|
||||||
assertThat(mBatteryMeterView.getCharging()).isTrue();
|
assertThat(mBatteryMeterView.getCharging()).isTrue();
|
||||||
assertThat(mBatteryPercentText.getText()).isEqualTo("60%");
|
assertThat(mBatteryPercentText.getText().toString()).isEqualTo("60 %");
|
||||||
assertThat(mSummary.getText()).isEqualTo(BATTERY_STATUS);
|
assertThat(mSummary.getText()).isEqualTo(BATTERY_STATUS);
|
||||||
assertThat(mSummary2.getText()).isEqualTo(BATTERY_STATUS);
|
assertThat(mSummary2.getText()).isEqualTo(BATTERY_STATUS);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user