From e4822ff56951b54b500cfb99f9ff3ec17590e8a1 Mon Sep 17 00:00:00 2001 From: Michael W Date: Thu, 2 Apr 2020 13:13:32 +0200 Subject: [PATCH] Updater: Delete updates only after refreshing the notification * Looks like we first need to process the notification before we can delete an update Change-Id: I49f6c03a109f908e8a7b01f02b821a68ab273af3 --- .../updater/controller/ABUpdateInstaller.java | 7 ------- .../lineageos/updater/controller/UpdaterService.java | 10 ++++++++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/org/lineageos/updater/controller/ABUpdateInstaller.java b/src/org/lineageos/updater/controller/ABUpdateInstaller.java index 6be515c7..a4597c0e 100644 --- a/src/org/lineageos/updater/controller/ABUpdateInstaller.java +++ b/src/org/lineageos/updater/controller/ABUpdateInstaller.java @@ -89,13 +89,6 @@ class ABUpdateInstaller { update.setInstallProgress(0); update.setStatus(UpdateStatus.INSTALLED); mUpdaterController.notifyUpdateChange(mDownloadId); - SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences( - mContext); - boolean deleteUpdate = pref.getBoolean(Constants.PREF_AUTO_DELETE_UPDATES, - false); - if (deleteUpdate) { - mUpdaterController.deleteUpdate(mDownloadId); - } } break; diff --git a/src/org/lineageos/updater/controller/UpdaterService.java b/src/org/lineageos/updater/controller/UpdaterService.java index 794b021f..61db18ae 100644 --- a/src/org/lineageos/updater/controller/UpdaterService.java +++ b/src/org/lineageos/updater/controller/UpdaterService.java @@ -23,6 +23,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; import android.os.Binder; import android.os.Bundle; import android.os.IBinder; @@ -31,11 +32,13 @@ import android.util.Log; import androidx.core.app.NotificationCompat; import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import androidx.preference.PreferenceManager; import org.lineageos.updater.R; import org.lineageos.updater.UpdaterReceiver; import org.lineageos.updater.UpdatesActivity; import org.lineageos.updater.misc.BuildInfoUtils; +import org.lineageos.updater.misc.Constants; import org.lineageos.updater.misc.StringGenerator; import org.lineageos.updater.misc.Utils; import org.lineageos.updater.model.UpdateInfo; @@ -400,6 +403,13 @@ public class UpdaterService extends Service { mNotificationBuilder.setOngoing(false); mNotificationBuilder.setAutoCancel(true); mNotificationManager.notify(NOTIFICATION_ID, mNotificationBuilder.build()); + + SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); + boolean deleteUpdate = pref.getBoolean(Constants.PREF_AUTO_DELETE_UPDATES, false); + if (deleteUpdate) { + mUpdaterController.deleteUpdate(update.getDownloadId()); + } + tryStopSelf(); break; }