ChargingControlNotification: fix system server crash
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.intent.action.ACTION_POWER_CONNECTED flg=0x4000010 (has extras) } in org.lineageos.platform.internal.health.ChargingControlController$1@bf90f01
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0(LoadedApk.java:1837)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.$r8$lambda$mcNAAl1SQ4MyJPyDg8TJ2x2h0Rk(Unknown Source:0)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:991)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:232)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at android.os.Looper.loop(Looper.java:317)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at com.android.server.SystemServer.run(SystemServer.java:1016)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at com.android.server.SystemServer.main(SystemServer.java:689)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:889)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: Caused by: java.util.IllegalFormatConversionException: d != java.lang.String
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4608)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:3123)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at java.util.Formatter$FormatSpecifier.print(Formatter.java:3078)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at java.util.Formatter.format(Formatter.java:2710)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at java.util.Formatter.format(Formatter.java:2640)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at java.lang.String.format(String.java:4037)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at org.lineageos.platform.internal.health.ChargingControlNotification.postChargingControlNotification(ChargingControlNotification.java:112)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at org.lineageos.platform.internal.health.ChargingControlNotification.post(ChargingControlNotification.java:82)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at org.lineageos.platform.internal.health.ChargingControlController.updateChargeControl(ChargingControlController.java:419)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at org.lineageos.platform.internal.health.ChargingControlController.onPowerStatus(ChargingControlController.java:338)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at org.lineageos.platform.internal.health.ChargingControlController.-$$Nest$monPowerStatus(Unknown Source:0)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at org.lineageos.platform.internal.health.ChargingControlController$1.onReceive(ChargingControlController.java:241)
04-15 00:34:22.797 1000 1361 1361 E AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0(LoadedApk.java:1829)
Change-Id: I6b1aae55c0740af80e3ed499a5210ab41bddf418
This commit is contained in:
@@ -107,15 +107,24 @@ public class ChargingControlNotification {
|
||||
|
||||
private void postChargingControlNotification(Long targetTime, int limit) {
|
||||
String title = mContext.getString(R.string.charging_control_notification_title);
|
||||
String message;
|
||||
if (targetTime != null) {
|
||||
message = String.format(
|
||||
mContext.getString(R.string.charging_control_notification_content_target),
|
||||
msToString(mContext, targetTime));
|
||||
} else {
|
||||
message = String.format(
|
||||
mContext.getString(R.string.charging_control_notification_content_limit),
|
||||
limit);
|
||||
String message = null;
|
||||
|
||||
try {
|
||||
if (targetTime != null) {
|
||||
message = String.format(
|
||||
mContext.getString(R.string.charging_control_notification_content_target),
|
||||
msToString(mContext, targetTime));
|
||||
} else {
|
||||
message = String.format(
|
||||
mContext.getString(R.string.charging_control_notification_content_limit),
|
||||
limit);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
message = null;
|
||||
}
|
||||
|
||||
if (message == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Intent mainIntent = new Intent(INTENT_PARTS);
|
||||
|
||||
Reference in New Issue
Block a user