Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd0f48df authored by jackqdyulei's avatar jackqdyulei
Browse files

Update battery dashboard based on spec

Following CL will change "battery suggestion" to card layout.

Bug: 119618813
Test: Screenshot
Change-Id: If71e5c0e4a4e230358aa0c8aa584028082f31d2e
parent 0057e45e
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -22,15 +22,12 @@
    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">

@@ -39,8 +36,8 @@
            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"
@@ -49,19 +46,20 @@
            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
+3 −0
Original line number Diff line number Diff line
@@ -5226,6 +5226,9 @@
        <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] -->
+10 −3
Original line number Diff line number Diff line
@@ -21,8 +21,10 @@ import android.app.Activity;
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;
@@ -83,7 +85,7 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
    @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);
@@ -107,7 +109,7 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
    }

    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 {
@@ -133,6 +135,11 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
        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));
    }
}
+4 −3
Original line number Diff line number Diff line
@@ -140,7 +140,8 @@ public class BatteryHeaderPreferenceControllerTest {

        assertThat(((BatteryMeterView) mBatteryLayoutPref.findViewById(
                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))
                .getText().toString())
                .isEqualTo("60 %");
    }

@@ -195,7 +196,7 @@ public class BatteryHeaderPreferenceControllerTest {

        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);
    }