android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="horizontal"
- android:paddingTop="24dp"
- android:paddingBottom="24dp"
style="@style/EntityHeader">
<LinearLayout
- android:layout_width="0dp"
+ android:layout_width="170dp"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:layout_marginStart="56dp"
+ android:layout_marginStart="72dp"
android:layout_marginEnd="8dp"
android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
- android:fontFamily="@*android:string/config_headlineFontFamily"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Display1"/>
+ android:textAppearance="@style/TextAppearance.EntityHeaderTitle"
+ android:textSize="36sp" />
<TextView
android:id="@+id/summary1"
android:layout_marginTop="8dp"
android:minLines="2"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"/>
+ android:textColor="?android:attr/textColorPrimary"/>
<TextView
android:id="@+id/summary2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"/>
-
+ android:textColor="?android:attr/textColorPrimary"/>
</LinearLayout>
<com.android.settings.fuelgauge.BatteryMeterView
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_marginEnd="16dp"/>
+ android:layout_gravity="center"/>
</LinearLayout>
\ No newline at end of file
<item quantity="other">%1$d apps restricted</item>
</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] -->
<string name="dialog_stop_title">Stop app?</string>
<!-- Message body for force stop dialog [CHAR LIMIT=NONE] -->
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.icu.text.NumberFormat;
import android.os.BatteryManager;
import android.os.PowerManager;
+import android.text.TextUtils;
import android.widget.TextView;
import androidx.annotation.VisibleForTesting;
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
- mBatteryLayoutPref = (LayoutPreference) screen.findPreference(getPreferenceKey());
+ mBatteryLayoutPref = screen.findPreference(getPreferenceKey());
mBatteryMeterView = mBatteryLayoutPref
.findViewById(R.id.battery_header_icon);
mBatteryPercentText = mBatteryLayoutPref.findViewById(R.id.battery_percent);
}
public void updateHeaderPreference(BatteryInfo info) {
- mBatteryPercentText.setText(Utils.formatPercentage(info.batteryLevel));
+ mBatteryPercentText.setText(formatBatteryPercentageText(info.batteryLevel));
if (info.remainingLabel == null) {
mSummary1.setText(info.statusLabel);
} else {
mBatteryMeterView.setBatteryLevel(batteryLevel);
mBatteryMeterView.setCharging(!discharging);
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));
}
}
assertThat(((BatteryMeterView) mBatteryLayoutPref.findViewById(
R.id.battery_header_icon)).getBatteryLevel()).isEqualTo(BATTERY_LEVEL);
- assertThat(((TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent)).getText())
- .isEqualTo("60%");
+ assertThat(((TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent))
+ .getText().toString())
+ .isEqualTo("60 %");
}
@Test
assertThat(mBatteryMeterView.getBatteryLevel()).isEqualTo(BATTERY_LEVEL);
assertThat(mBatteryMeterView.getCharging()).isTrue();
- assertThat(mBatteryPercentText.getText()).isEqualTo("60%");
+ assertThat(mBatteryPercentText.getText().toString()).isEqualTo("60 %");
assertThat(mSummary.getText()).isEqualTo(BATTERY_STATUS);
assertThat(mSummary2.getText()).isEqualTo(BATTERY_STATUS);
}