Loading res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -447,6 +447,9 @@ <!-- Whether top_level_battery should be shown or not. --> <bool name="config_show_top_level_battery">true</bool> <!-- Whether to use compact battery status string. --> <bool name="config_use_compact_battery_status">false</bool> <!-- Whether top_level_connected_devices should be shown or not. --> <bool name="config_show_top_level_connected_devices">true</bool> Loading src/com/android/settings/fuelgauge/BatteryInfo.java +32 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.UsageView; import com.android.settingslib.R; import com.android.settingslib.fuelgauge.BatteryStatus; import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.fuelgauge.EstimateKt; import com.android.settingslib.utils.PowerUtil; Loading Loading @@ -253,7 +254,7 @@ public class BatteryInfo { BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN) == BatteryManager.BATTERY_HEALTH_OVERHEAT; info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast); info.statusLabel = getBatteryStatus(context, batteryBroadcast); info.batteryStatus = batteryBroadcast.getIntExtra( BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); if (!info.mCharging) { Loading Loading @@ -291,7 +292,7 @@ public class BatteryInfo { R.string.power_remaining_charging_duration_only, timeString); info.chargeLabel = context.getString(resId, info.batteryPercentString, timeString); } else { final String chargeStatusLabel = Utils.getBatteryStatus(context, batteryBroadcast); final String chargeStatusLabel = getBatteryStatus(context, batteryBroadcast); info.remainingLabel = null; info.chargeLabel = info.batteryLevel == 100 ? info.batteryPercentString : resources.getString(R.string.power_charging, info.batteryPercentString, Loading Loading @@ -325,6 +326,35 @@ public class BatteryInfo { } } private static String getBatteryStatus(Context context, Intent batteryChangedIntent) { final Resources res = context.getResources(); final boolean isShortStatus = res.getBoolean(com.android.settings.R.bool.config_use_compact_battery_status); if (!isShortStatus) { return Utils.getBatteryStatus(context, batteryChangedIntent); } final int status = batteryChangedIntent.getIntExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); final BatteryStatus batteryStatus = new BatteryStatus(batteryChangedIntent); String statusString = res.getString(R.string.battery_info_status_unknown); if (batteryStatus.isCharged()) { statusString = res.getString(R.string.battery_info_status_full); } else { if (status == BatteryManager.BATTERY_STATUS_CHARGING) { statusString = res.getString(R.string.battery_info_status_charging); } else if (status == BatteryManager.BATTERY_STATUS_DISCHARGING) { statusString = res.getString(R.string.battery_info_status_discharging); } else if (status == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { statusString = res.getString(R.string.battery_info_status_not_charging); } } return statusString; } public interface BatteryDataParser { void onParsingStarted(long startTime, long endTime); Loading Loading
res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -447,6 +447,9 @@ <!-- Whether top_level_battery should be shown or not. --> <bool name="config_show_top_level_battery">true</bool> <!-- Whether to use compact battery status string. --> <bool name="config_use_compact_battery_status">false</bool> <!-- Whether top_level_connected_devices should be shown or not. --> <bool name="config_show_top_level_connected_devices">true</bool> Loading
src/com/android/settings/fuelgauge/BatteryInfo.java +32 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.UsageView; import com.android.settingslib.R; import com.android.settingslib.fuelgauge.BatteryStatus; import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.fuelgauge.EstimateKt; import com.android.settingslib.utils.PowerUtil; Loading Loading @@ -253,7 +254,7 @@ public class BatteryInfo { BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN) == BatteryManager.BATTERY_HEALTH_OVERHEAT; info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast); info.statusLabel = getBatteryStatus(context, batteryBroadcast); info.batteryStatus = batteryBroadcast.getIntExtra( BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); if (!info.mCharging) { Loading Loading @@ -291,7 +292,7 @@ public class BatteryInfo { R.string.power_remaining_charging_duration_only, timeString); info.chargeLabel = context.getString(resId, info.batteryPercentString, timeString); } else { final String chargeStatusLabel = Utils.getBatteryStatus(context, batteryBroadcast); final String chargeStatusLabel = getBatteryStatus(context, batteryBroadcast); info.remainingLabel = null; info.chargeLabel = info.batteryLevel == 100 ? info.batteryPercentString : resources.getString(R.string.power_charging, info.batteryPercentString, Loading Loading @@ -325,6 +326,35 @@ public class BatteryInfo { } } private static String getBatteryStatus(Context context, Intent batteryChangedIntent) { final Resources res = context.getResources(); final boolean isShortStatus = res.getBoolean(com.android.settings.R.bool.config_use_compact_battery_status); if (!isShortStatus) { return Utils.getBatteryStatus(context, batteryChangedIntent); } final int status = batteryChangedIntent.getIntExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); final BatteryStatus batteryStatus = new BatteryStatus(batteryChangedIntent); String statusString = res.getString(R.string.battery_info_status_unknown); if (batteryStatus.isCharged()) { statusString = res.getString(R.string.battery_info_status_full); } else { if (status == BatteryManager.BATTERY_STATUS_CHARGING) { statusString = res.getString(R.string.battery_info_status_charging); } else if (status == BatteryManager.BATTERY_STATUS_DISCHARGING) { statusString = res.getString(R.string.battery_info_status_discharging); } else if (status == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { statusString = res.getString(R.string.battery_info_status_not_charging); } } return statusString; } public interface BatteryDataParser { void onParsingStarted(long startTime, long endTime); Loading