From 2a76f5982a638806fedd6e028276355565609846 Mon Sep 17 00:00:00 2001 From: Tommy Webb Date: Thu, 31 Aug 2023 18:44:03 +0330 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 Signed-off-by: Mohammad Hasan Keramat J --- .../server/lineage/health/ChargingControlController.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/lineage/health/ChargingControlController.java b/services/core/java/com/android/server/lineage/health/ChargingControlController.java index 3099f182f78b..75b5073e5e83 100644 --- a/services/core/java/com/android/server/lineage/health/ChargingControlController.java +++ b/services/core/java/com/android/server/lineage/health/ChargingControlController.java @@ -578,22 +578,24 @@ private void updateChargeDeadline() { } 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"); }