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
diff --git a/src/org/omnirom/omnilib/internal/health/ChargingControlController.java b/src/org/omnirom/omnilib/internal/health/ChargingControlController.java
index 1e92542..6f246db 100644
--- a/src/org/omnirom/omnilib/internal/health/ChargingControlController.java
+++ b/src/org/omnirom/omnilib/internal/health/ChargingControlController.java
@@ -577,22 +577,24 @@
         }
 
         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");
         }