From d8a287ae973b32d3992f1116367b2d034c443a24 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 23 Oct 2024 11:24:40 -0300 Subject: [PATCH] [app] Don't update repos twice on fresh start DbHelper#prePopulateDb() is already kicking off an index update, so MainActivity doesn't need to anymore. --- app/src/main/java/org/fdroid/fdroid/FDroidApp.java | 1 + .../org/fdroid/fdroid/views/main/MainActivity.java | 13 +------------ .../java/org/fdroid/fdroid/work/RepoUpdateWorker.kt | 1 + 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java index bb411637a..8d27f888b 100644 --- a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java +++ b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java @@ -363,6 +363,7 @@ public class FDroidApp extends Application implements androidx.work.Configuratio // force setting network state to ensure it is set before UpdateService checks it networkState = ConnectivityMonitorService.getNetworkState(this); ConnectivityMonitorService.registerAndStart(this); + Utils.debugLog(TAG, "RepoUpdateWorker.scheduleOrCancel()"); RepoUpdateWorker.scheduleOrCancel(getApplicationContext()); FDroidApp.initWifiSettings(); diff --git a/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java b/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java index f3124bd8c..78163dcc2 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java @@ -57,7 +57,6 @@ import org.fdroid.fdroid.nearby.TreeUriScannerIntentService; import org.fdroid.fdroid.nearby.WifiStateChangeService; import org.fdroid.fdroid.views.AppDetailsActivity; import org.fdroid.fdroid.views.apps.AppListActivity; -import org.fdroid.fdroid.work.RepoUpdateWorker; /** * Main view shown to users upon starting F-Droid. @@ -141,8 +140,6 @@ public class MainActivity extends AppCompatActivity { updatesBadge = bottomNavigation.getOrCreateBadge(R.id.updates); updatesBadge.setVisible(false); - initialRepoUpdateIfRequired(); - AppUpdateStatusManager.getInstance(this).getNumUpdatableApps().observe(this, this::refreshUpdatesBadge); Intent intent = getIntent(); @@ -181,14 +178,6 @@ public class MainActivity extends AppCompatActivity { } } - private void initialRepoUpdateIfRequired() { - if (Preferences.get().isIndexNeverUpdated() && - !FDroidApp.getRepoUpdateManager(this).isUpdating().getValue()) { - Utils.debugLog(TAG, "We haven't done an update yet. Forcing repo update."); - RepoUpdateWorker.updateNow(this); - } - } - @Override protected void onResume() { super.onResume(); @@ -407,4 +396,4 @@ public class MainActivity extends AppCompatActivity { return false; } } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/fdroid/fdroid/work/RepoUpdateWorker.kt b/app/src/main/java/org/fdroid/fdroid/work/RepoUpdateWorker.kt index fd2c65015..ef929f910 100644 --- a/app/src/main/java/org/fdroid/fdroid/work/RepoUpdateWorker.kt +++ b/app/src/main/java/org/fdroid/fdroid/work/RepoUpdateWorker.kt @@ -80,6 +80,7 @@ class RepoUpdateWorker( val doUpdateChecks = prefs.updateInterval != UPDATE_INTERVAL_DISABLED && !(prefs.overData == OVER_NETWORK_NEVER && prefs.overWifi == OVER_NETWORK_NEVER) if (doUpdateChecks) { + Log.i(TAG, "scheduleOrCancel: enqueueUniquePeriodicWork") val networkType = if (prefs.overData == OVER_NETWORK_ALWAYS && prefs.overWifi == OVER_NETWORK_ALWAYS ) {