From 2b59462ac6dce2d812a676e01a7c1cfc1ef5027b Mon Sep 17 00:00:00 2001 From: Tommy Webb Date: Fri, 23 Jun 2023 09:45:51 -0400 Subject: [PATCH] ChargingControl: Retry setting deadline if it fails Do not save the target time unless setting deadline succeeds, effectively allowing it to be retried later. Change-Id: I572b935b088170d56623a33c5efd2292b1a67126 --- .../platform/internal/health/ChargingControlController.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/health/ChargingControlController.java b/lineage/lib/main/java/org/lineageos/platform/internal/health/ChargingControlController.java index 5e30998c..74aed731 100644 --- a/lineage/lib/main/java/org/lineageos/platform/internal/health/ChargingControlController.java +++ b/lineage/lib/main/java/org/lineageos/platform/internal/health/ChargingControlController.java @@ -578,22 +578,24 @@ public class ChargingControlController extends LineageHealthFeature { } long deadline = 0; + final long targetTime; final ChargeTime t = getChargeTime(); if (!mConfigEnabled || t == null || mIsControlCancelledOnce) { deadline = -1; + targetTime = 0; } else { if (t.getTargetTime() == mSavedTargetTime) { return; } - mSavedTargetTime = t.getTargetTime(); - final long targetTime = t.getTargetTime(); + targetTime = t.getTargetTime(); final long currentTime = System.currentTimeMillis(); deadline = (targetTime - currentTime) / 1000; } try { mChargingControl.setChargingDeadline(deadline); + mSavedTargetTime = targetTime; } catch (IllegalStateException | RemoteException | UnsupportedOperationException e) { Log.e(TAG, "Failed to set charge deadline"); }