Loading res/layout/battery_header.xml +11 −20 Original line number Diff line number Diff line Loading @@ -27,44 +27,35 @@ android:background="@drawable/selectable_card_grey" style="@style/EntityHeader"> <com.android.settings.fuelgauge.BatteryMeterView android:id="@+id/battery_header_icon" android:layout_width="@dimen/battery_meter_width" android:layout_height="@dimen/battery_meter_height"/> <LinearLayout android:layout_width="wrap_content" android:layout_width="216dp" android:layout_height="wrap_content" android:layout_marginStart="12dp" android:layout_marginStart="48dp" android:layout_marginEnd="12dp" android:orientation="vertical"> <TextView android:id="@+id/time" android:id="@+id/battery_percent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="center" android:textAppearance="@android:style/TextAppearance.Material.Medium"/> android:textAppearance="@android:style/TextAppearance.Material.Display1"/> <TextView android:id="@+id/summary1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="center" android:textAppearance="@android:style/TextAppearance.Material.Small" android:text="@string/estimated_time_left"/> <TextView android:id="@+id/summary2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="center" android:textAppearance="@android:style/TextAppearance.Material.Small" android:text="@string/estimated_time_description"/> </LinearLayout> <com.android.settings.fuelgauge.BatteryMeterView android:id="@+id/battery_header_icon" android:layout_width="@dimen/battery_meter_width" android:layout_height="@dimen/battery_meter_height" android:layout_gravity="end" android:layout_marginEnd="24dp"/> </LinearLayout> No newline at end of file res/xml/power_usage_summary.xml +13 −18 Original line number Diff line number Diff line Loading @@ -25,6 +25,19 @@ android:selectable="true" android:layout="@layout/battery_header"/> <PreferenceCategory android:key="device_usage_list"> <com.android.settings.fuelgauge.PowerGaugePreference android:key="last_full_charge" android:title="@string/battery_last_full_charge"/> <com.android.settings.fuelgauge.PowerGaugePreference android:key="screen_usage" android:title="@string/device_screen_usage"/> </PreferenceCategory> <PreferenceCategory android:key="power_management" android:title="@string/battery_power_management"> Loading Loading @@ -60,22 +73,4 @@ android:key="app_list" android:title="@string/power_usage_list_summary"/> <PreferenceCategory android:key="device_usage_list" android:title="@string/device_usage_list_summary"> <Preference android:key="screen_usage" android:title="@string/device_screen_usage"/> <Preference android:key="screen_consumption" android:title="@string/device_screen_consumption"/> <Preference android:key="cellular_network" android:title="@string/device_cellular_network"/> </PreferenceCategory> </PreferenceScreen> src/com/android/settings/fuelgauge/BatteryMeterView.java +1 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ public class BatteryMeterView extends ImageView { mDrawable = new BatteryMeterDrawable(context, frameColor); mDrawable.setColorFilter(new PorterDuffColorFilter(tintColor, PorterDuff.Mode.SRC_IN)); mDrawable.setShowPercent(true); mDrawable.setShowPercent(false); setImageDrawable(mDrawable); } Loading src/com/android/settings/fuelgauge/PowerGaugePreference.java +23 −6 Original line number Diff line number Diff line Loading @@ -29,8 +29,11 @@ import com.android.settings.TintablePreference; import com.android.settings.Utils; /** * Custom preference for displaying power consumption as a bar and an icon on * Custom preference for displaying battery usage info as a bar and an icon on * the left for the subsystem/app type. * * The battery usage info could be usage percentage or usage time. The preference * won't show any icon if it is null. */ public class PowerGaugePreference extends TintablePreference { private final int mIconSize; Loading @@ -41,7 +44,20 @@ public class PowerGaugePreference extends TintablePreference { public PowerGaugePreference(Context context, Drawable icon, CharSequence contentDescription, BatteryEntry info) { super(context, null); this(context, null, icon, contentDescription, info); } public PowerGaugePreference(Context context) { this(context, null, null, null, null); } public PowerGaugePreference(Context context, AttributeSet attrs) { this(context, attrs, null, null, null); } private PowerGaugePreference(Context context, AttributeSet attrs, Drawable icon, CharSequence contentDescription, BatteryEntry info) { super(context, attrs); setIcon(icon != null ? icon : new ColorDrawable(0)); setWidgetLayoutResource(R.layout.preference_widget_summary); mInfo = info; Loading @@ -49,10 +65,6 @@ public class PowerGaugePreference extends TintablePreference { mIconSize = context.getResources().getDimensionPixelSize(R.dimen.app_icon_size); } public PowerGaugePreference(Context context) { this(context, null, null, null); } public void setContentDescription(String name) { mContentDescription = name; notifyChanged(); Loading @@ -67,6 +79,11 @@ public class PowerGaugePreference extends TintablePreference { return mProgress.toString(); } public void setSubtitle(String subtitle) { mProgress = subtitle; notifyChanged(); } BatteryEntry getInfo() { return mInfo; } Loading src/com/android/settings/fuelgauge/PowerUsageSummary.java +35 −39 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.settings.fuelgauge; import android.annotation.StringRes; import android.app.Activity; import android.content.Context; import android.graphics.drawable.Drawable; Loading @@ -26,6 +25,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.Process; import android.os.SystemClock; import android.os.UserHandle; import android.provider.SearchIndexableResource; import android.support.annotation.VisibleForTesting; Loading @@ -39,7 +39,6 @@ import android.util.TypedValue; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; Loading @@ -60,6 +59,7 @@ import com.android.settings.display.BatteryPercentagePreferenceController; import com.android.settings.display.TimeoutPreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.FooterPreferenceMixin; import com.android.settingslib.BatteryInfo; import java.util.ArrayList; Loading Loading @@ -87,8 +87,7 @@ public class PowerUsageSummary extends PowerUsageBase { private static final int SECONDS_IN_HOUR = 60 * 60; private static final String KEY_SCREEN_USAGE = "screen_usage"; private static final String KEY_SCREEN_CONSUMPTION = "screen_consumption"; private static final String KEY_CELLULAR_NETWORK = "cellular_network"; private static final String KEY_TIME_SINCE_LAST_FULL_CHARGE = "last_full_charge"; private static final int MENU_STATS_TYPE = Menu.FIRST; Loading @@ -100,14 +99,15 @@ public class PowerUsageSummary extends PowerUsageBase { static final int MENU_TOGGLE_APPS = Menu.FIRST + 5; private static final int MENU_HELP = Menu.FIRST + 6; private final FooterPreferenceMixin mFooterPreferenceMixin = new FooterPreferenceMixin(this, getLifecycle()); @VisibleForTesting boolean mShowAllApps = false; @VisibleForTesting Preference mScreenUsagePref; @VisibleForTesting Preference mScreenConsumptionPref; PowerGaugePreference mScreenUsagePref; @VisibleForTesting Preference mCellularNetworkPref; PowerGaugePreference mLastFullChargePref; @VisibleForTesting PowerUsageFeatureProvider mPowerFeatureProvider; Loading @@ -122,9 +122,10 @@ public class PowerUsageSummary extends PowerUsageBase { mBatteryLayoutPref = (LayoutPreference) findPreference(KEY_BATTERY_HEADER); mAppListGroup = (PreferenceGroup) findPreference(KEY_APP_LIST); mScreenUsagePref = findPreference(KEY_SCREEN_USAGE); mScreenConsumptionPref = findPreference(KEY_SCREEN_CONSUMPTION); mCellularNetworkPref = findPreference(KEY_CELLULAR_NETWORK); mScreenUsagePref = (PowerGaugePreference) findPreference(KEY_SCREEN_USAGE); mLastFullChargePref = (PowerGaugePreference) findPreference( KEY_TIME_SINCE_LAST_FULL_CHARGE); mFooterPreferenceMixin.createFooterPreference().setTitle(R.string.battery_footer_summary); initFeatureProvider(); } Loading Loading @@ -417,8 +418,11 @@ public class PowerUsageSummary extends PowerUsageBase { final int dischargeAmount = USE_FAKE_DATA ? 5000 : stats != null ? stats.getDischargeAmount(mStatsType) : 0; updateScreenPreference(dischargeAmount); updateCellularPreference(dischargeAmount); final long runningTime = calculateRunningTimeBasedOnStatsType(); updateScreenPreference(); updateLastFullChargePreference(runningTime); mAppListGroup.setTitle(getString(R.string.power_usage_list_summary, Utils.formatElapsedTime(context, runningTime, false))); if (averagePower >= MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP || USE_FAKE_DATA) { final List<BatterySipper> usageList = getCoalescedUsageList( Loading Loading @@ -527,28 +531,27 @@ public class PowerUsageSummary extends PowerUsageBase { } @VisibleForTesting void updateScreenPreference(final int dischargeAmount) { void updateScreenPreference() { final BatterySipper sipper = findBatterySipperByType( mStatsHelper.getUsageList(), DrainType.SCREEN); final Context context = getContext(); final double totalPowerMah = sipper != null ? sipper.totalPowerMah : 0; final long usageTimeMs = sipper != null ? sipper.usageTimeMs : 0; final double percentOfTotal = calculatePercentage(totalPowerMah, dischargeAmount); mScreenUsagePref.setSummary(getString(R.string.battery_used_for, Utils.formatElapsedTime(context, usageTimeMs, false))); mScreenConsumptionPref.setSummary(getString(R.string.battery_overall_usage, Utils.formatPercentage(percentOfTotal, true))); mScreenUsagePref.setSubtitle(Utils.formatElapsedTime(context, usageTimeMs, false)); } @VisibleForTesting void updateCellularPreference(final int dischargeAmount) { final BatterySipper sipper = findBatterySipperByType( mStatsHelper.getUsageList(), DrainType.CELL); final double totalPowerMah = sipper != null ? sipper.totalPowerMah : 0; final double percentOfTotal = calculatePercentage(totalPowerMah, dischargeAmount); mCellularNetworkPref.setSummary(getString(R.string.battery_overall_usage, Utils.formatPercentage(percentOfTotal, true))); void updateLastFullChargePreference(long timeMs) { mLastFullChargePref.setSubtitle(getString(R.string.power_last_full_charge_summary, Utils.formatElapsedTime(getContext(), timeMs, false))); } @VisibleForTesting long calculateRunningTimeBasedOnStatsType() { final long elapsedRealtimeUs = SystemClock.elapsedRealtime() * 1000; // Return the battery time (millisecond) on status mStatsType return mStatsHelper.getStats().computeBatteryRealtime(elapsedRealtimeUs, mStatsType /* STATS_SINCE_CHARGED */) / 1000; } @VisibleForTesting Loading @@ -559,22 +562,15 @@ public class PowerUsageSummary extends PowerUsageBase { } final BatteryMeterView batteryView = (BatteryMeterView) mBatteryLayoutPref .findViewById(R.id.battery_header_icon); final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.time); final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent); final TextView summary1 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary1); final TextView summary2 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary2); final int visible = info.remainingTimeUs != 0 ? View.VISIBLE : View.INVISIBLE; final int summaryResId = info.mDischarging ? R.string.estimated_time_left : R.string.estimated_charging_time_left; if (info.remainingTimeUs != 0) { timeText.setText(Utils.formatElapsedTime(context, info.remainingTimeUs / 1000, false)); timeText.setText(Utils.formatPercentage(info.mBatteryLevel)); if (info.remainingLabel == null ) { summary1.setText(info.statusLabel); } else { timeText.setText(info.statusLabel); summary1.setText(info.remainingLabel); } summary1.setText(summaryResId); summary1.setVisibility(visible); summary2.setVisibility(visible); batteryView.setBatteryInfo(info.mBatteryLevel); } Loading Loading
res/layout/battery_header.xml +11 −20 Original line number Diff line number Diff line Loading @@ -27,44 +27,35 @@ android:background="@drawable/selectable_card_grey" style="@style/EntityHeader"> <com.android.settings.fuelgauge.BatteryMeterView android:id="@+id/battery_header_icon" android:layout_width="@dimen/battery_meter_width" android:layout_height="@dimen/battery_meter_height"/> <LinearLayout android:layout_width="wrap_content" android:layout_width="216dp" android:layout_height="wrap_content" android:layout_marginStart="12dp" android:layout_marginStart="48dp" android:layout_marginEnd="12dp" android:orientation="vertical"> <TextView android:id="@+id/time" android:id="@+id/battery_percent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="center" android:textAppearance="@android:style/TextAppearance.Material.Medium"/> android:textAppearance="@android:style/TextAppearance.Material.Display1"/> <TextView android:id="@+id/summary1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="center" android:textAppearance="@android:style/TextAppearance.Material.Small" android:text="@string/estimated_time_left"/> <TextView android:id="@+id/summary2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:gravity="center" android:textAppearance="@android:style/TextAppearance.Material.Small" android:text="@string/estimated_time_description"/> </LinearLayout> <com.android.settings.fuelgauge.BatteryMeterView android:id="@+id/battery_header_icon" android:layout_width="@dimen/battery_meter_width" android:layout_height="@dimen/battery_meter_height" android:layout_gravity="end" android:layout_marginEnd="24dp"/> </LinearLayout> No newline at end of file
res/xml/power_usage_summary.xml +13 −18 Original line number Diff line number Diff line Loading @@ -25,6 +25,19 @@ android:selectable="true" android:layout="@layout/battery_header"/> <PreferenceCategory android:key="device_usage_list"> <com.android.settings.fuelgauge.PowerGaugePreference android:key="last_full_charge" android:title="@string/battery_last_full_charge"/> <com.android.settings.fuelgauge.PowerGaugePreference android:key="screen_usage" android:title="@string/device_screen_usage"/> </PreferenceCategory> <PreferenceCategory android:key="power_management" android:title="@string/battery_power_management"> Loading Loading @@ -60,22 +73,4 @@ android:key="app_list" android:title="@string/power_usage_list_summary"/> <PreferenceCategory android:key="device_usage_list" android:title="@string/device_usage_list_summary"> <Preference android:key="screen_usage" android:title="@string/device_screen_usage"/> <Preference android:key="screen_consumption" android:title="@string/device_screen_consumption"/> <Preference android:key="cellular_network" android:title="@string/device_cellular_network"/> </PreferenceCategory> </PreferenceScreen>
src/com/android/settings/fuelgauge/BatteryMeterView.java +1 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ public class BatteryMeterView extends ImageView { mDrawable = new BatteryMeterDrawable(context, frameColor); mDrawable.setColorFilter(new PorterDuffColorFilter(tintColor, PorterDuff.Mode.SRC_IN)); mDrawable.setShowPercent(true); mDrawable.setShowPercent(false); setImageDrawable(mDrawable); } Loading
src/com/android/settings/fuelgauge/PowerGaugePreference.java +23 −6 Original line number Diff line number Diff line Loading @@ -29,8 +29,11 @@ import com.android.settings.TintablePreference; import com.android.settings.Utils; /** * Custom preference for displaying power consumption as a bar and an icon on * Custom preference for displaying battery usage info as a bar and an icon on * the left for the subsystem/app type. * * The battery usage info could be usage percentage or usage time. The preference * won't show any icon if it is null. */ public class PowerGaugePreference extends TintablePreference { private final int mIconSize; Loading @@ -41,7 +44,20 @@ public class PowerGaugePreference extends TintablePreference { public PowerGaugePreference(Context context, Drawable icon, CharSequence contentDescription, BatteryEntry info) { super(context, null); this(context, null, icon, contentDescription, info); } public PowerGaugePreference(Context context) { this(context, null, null, null, null); } public PowerGaugePreference(Context context, AttributeSet attrs) { this(context, attrs, null, null, null); } private PowerGaugePreference(Context context, AttributeSet attrs, Drawable icon, CharSequence contentDescription, BatteryEntry info) { super(context, attrs); setIcon(icon != null ? icon : new ColorDrawable(0)); setWidgetLayoutResource(R.layout.preference_widget_summary); mInfo = info; Loading @@ -49,10 +65,6 @@ public class PowerGaugePreference extends TintablePreference { mIconSize = context.getResources().getDimensionPixelSize(R.dimen.app_icon_size); } public PowerGaugePreference(Context context) { this(context, null, null, null); } public void setContentDescription(String name) { mContentDescription = name; notifyChanged(); Loading @@ -67,6 +79,11 @@ public class PowerGaugePreference extends TintablePreference { return mProgress.toString(); } public void setSubtitle(String subtitle) { mProgress = subtitle; notifyChanged(); } BatteryEntry getInfo() { return mInfo; } Loading
src/com/android/settings/fuelgauge/PowerUsageSummary.java +35 −39 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.settings.fuelgauge; import android.annotation.StringRes; import android.app.Activity; import android.content.Context; import android.graphics.drawable.Drawable; Loading @@ -26,6 +25,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.Process; import android.os.SystemClock; import android.os.UserHandle; import android.provider.SearchIndexableResource; import android.support.annotation.VisibleForTesting; Loading @@ -39,7 +39,6 @@ import android.util.TypedValue; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; Loading @@ -60,6 +59,7 @@ import com.android.settings.display.BatteryPercentagePreferenceController; import com.android.settings.display.TimeoutPreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.FooterPreferenceMixin; import com.android.settingslib.BatteryInfo; import java.util.ArrayList; Loading Loading @@ -87,8 +87,7 @@ public class PowerUsageSummary extends PowerUsageBase { private static final int SECONDS_IN_HOUR = 60 * 60; private static final String KEY_SCREEN_USAGE = "screen_usage"; private static final String KEY_SCREEN_CONSUMPTION = "screen_consumption"; private static final String KEY_CELLULAR_NETWORK = "cellular_network"; private static final String KEY_TIME_SINCE_LAST_FULL_CHARGE = "last_full_charge"; private static final int MENU_STATS_TYPE = Menu.FIRST; Loading @@ -100,14 +99,15 @@ public class PowerUsageSummary extends PowerUsageBase { static final int MENU_TOGGLE_APPS = Menu.FIRST + 5; private static final int MENU_HELP = Menu.FIRST + 6; private final FooterPreferenceMixin mFooterPreferenceMixin = new FooterPreferenceMixin(this, getLifecycle()); @VisibleForTesting boolean mShowAllApps = false; @VisibleForTesting Preference mScreenUsagePref; @VisibleForTesting Preference mScreenConsumptionPref; PowerGaugePreference mScreenUsagePref; @VisibleForTesting Preference mCellularNetworkPref; PowerGaugePreference mLastFullChargePref; @VisibleForTesting PowerUsageFeatureProvider mPowerFeatureProvider; Loading @@ -122,9 +122,10 @@ public class PowerUsageSummary extends PowerUsageBase { mBatteryLayoutPref = (LayoutPreference) findPreference(KEY_BATTERY_HEADER); mAppListGroup = (PreferenceGroup) findPreference(KEY_APP_LIST); mScreenUsagePref = findPreference(KEY_SCREEN_USAGE); mScreenConsumptionPref = findPreference(KEY_SCREEN_CONSUMPTION); mCellularNetworkPref = findPreference(KEY_CELLULAR_NETWORK); mScreenUsagePref = (PowerGaugePreference) findPreference(KEY_SCREEN_USAGE); mLastFullChargePref = (PowerGaugePreference) findPreference( KEY_TIME_SINCE_LAST_FULL_CHARGE); mFooterPreferenceMixin.createFooterPreference().setTitle(R.string.battery_footer_summary); initFeatureProvider(); } Loading Loading @@ -417,8 +418,11 @@ public class PowerUsageSummary extends PowerUsageBase { final int dischargeAmount = USE_FAKE_DATA ? 5000 : stats != null ? stats.getDischargeAmount(mStatsType) : 0; updateScreenPreference(dischargeAmount); updateCellularPreference(dischargeAmount); final long runningTime = calculateRunningTimeBasedOnStatsType(); updateScreenPreference(); updateLastFullChargePreference(runningTime); mAppListGroup.setTitle(getString(R.string.power_usage_list_summary, Utils.formatElapsedTime(context, runningTime, false))); if (averagePower >= MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP || USE_FAKE_DATA) { final List<BatterySipper> usageList = getCoalescedUsageList( Loading Loading @@ -527,28 +531,27 @@ public class PowerUsageSummary extends PowerUsageBase { } @VisibleForTesting void updateScreenPreference(final int dischargeAmount) { void updateScreenPreference() { final BatterySipper sipper = findBatterySipperByType( mStatsHelper.getUsageList(), DrainType.SCREEN); final Context context = getContext(); final double totalPowerMah = sipper != null ? sipper.totalPowerMah : 0; final long usageTimeMs = sipper != null ? sipper.usageTimeMs : 0; final double percentOfTotal = calculatePercentage(totalPowerMah, dischargeAmount); mScreenUsagePref.setSummary(getString(R.string.battery_used_for, Utils.formatElapsedTime(context, usageTimeMs, false))); mScreenConsumptionPref.setSummary(getString(R.string.battery_overall_usage, Utils.formatPercentage(percentOfTotal, true))); mScreenUsagePref.setSubtitle(Utils.formatElapsedTime(context, usageTimeMs, false)); } @VisibleForTesting void updateCellularPreference(final int dischargeAmount) { final BatterySipper sipper = findBatterySipperByType( mStatsHelper.getUsageList(), DrainType.CELL); final double totalPowerMah = sipper != null ? sipper.totalPowerMah : 0; final double percentOfTotal = calculatePercentage(totalPowerMah, dischargeAmount); mCellularNetworkPref.setSummary(getString(R.string.battery_overall_usage, Utils.formatPercentage(percentOfTotal, true))); void updateLastFullChargePreference(long timeMs) { mLastFullChargePref.setSubtitle(getString(R.string.power_last_full_charge_summary, Utils.formatElapsedTime(getContext(), timeMs, false))); } @VisibleForTesting long calculateRunningTimeBasedOnStatsType() { final long elapsedRealtimeUs = SystemClock.elapsedRealtime() * 1000; // Return the battery time (millisecond) on status mStatsType return mStatsHelper.getStats().computeBatteryRealtime(elapsedRealtimeUs, mStatsType /* STATS_SINCE_CHARGED */) / 1000; } @VisibleForTesting Loading @@ -559,22 +562,15 @@ public class PowerUsageSummary extends PowerUsageBase { } final BatteryMeterView batteryView = (BatteryMeterView) mBatteryLayoutPref .findViewById(R.id.battery_header_icon); final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.time); final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent); final TextView summary1 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary1); final TextView summary2 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary2); final int visible = info.remainingTimeUs != 0 ? View.VISIBLE : View.INVISIBLE; final int summaryResId = info.mDischarging ? R.string.estimated_time_left : R.string.estimated_charging_time_left; if (info.remainingTimeUs != 0) { timeText.setText(Utils.formatElapsedTime(context, info.remainingTimeUs / 1000, false)); timeText.setText(Utils.formatPercentage(info.mBatteryLevel)); if (info.remainingLabel == null ) { summary1.setText(info.statusLabel); } else { timeText.setText(info.statusLabel); summary1.setText(info.remainingLabel); } summary1.setText(summaryResId); summary1.setVisibility(visible); summary2.setVisibility(visible); batteryView.setBatteryInfo(info.mBatteryLevel); } Loading