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
This commit is contained in:
Tommy Webb
2023-06-23 09:45:51 -04:00
committed by Michael Bestas
parent 3c3140b8e0
commit 2b59462ac6

View File

@@ -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");
}