From b70b3a9a06b862b3ab244d252ee532c41d8daede Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 26 May 2023 17:25:14 -0300 Subject: [PATCH] [app] Use RepoManager for enabling/disabling repos --- .../java/org/fdroid/fdroid/views/ManageReposActivity.java | 5 ++++- .../src/main/java/org/fdroid/index/RepoManager.kt | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/fdroid/fdroid/views/ManageReposActivity.java b/app/src/main/java/org/fdroid/fdroid/views/ManageReposActivity.java index 15a226954..232fe9043 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/ManageReposActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/ManageReposActivity.java @@ -63,6 +63,7 @@ import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.data.App; import org.fdroid.fdroid.data.DBHelper; import org.fdroid.fdroid.data.NewRepoConfig; +import org.fdroid.index.RepoManager; import org.fdroid.index.v1.IndexV1UpdaterKt; import java.io.File; @@ -107,6 +108,7 @@ public class ManageReposActivity extends AppCompatActivity implements RepoAdapte } private RepositoryDao repositoryDao; + private RepoManager repoManager; /** * True if activity started with an intent such as from QR code. False if @@ -123,6 +125,7 @@ public class ManageReposActivity extends AppCompatActivity implements RepoAdapte fdroidApp.applyPureBlackBackgroundInDarkTheme(this); repositoryDao = DBHelper.getDb(this).getRepositoryDao(); + repoManager = FDroidApp.getRepoManager(this); super.onCreate(savedInstanceState); @@ -873,7 +876,7 @@ public class ManageReposActivity extends AppCompatActivity implements RepoAdapte public void onSetEnabled(Repository repo, boolean isEnabled) { if (repo.getEnabled() != isEnabled) { runOffUiThread(() -> { - repositoryDao.setRepositoryEnabled(repo.getRepoId(), isEnabled); + repoManager.setRepositoryEnabled(repo.getRepoId(), isEnabled); return true; }); diff --git a/libs/database/src/main/java/org/fdroid/index/RepoManager.kt b/libs/database/src/main/java/org/fdroid/index/RepoManager.kt index 2c0a3e803..635057c57 100644 --- a/libs/database/src/main/java/org/fdroid/index/RepoManager.kt +++ b/libs/database/src/main/java/org/fdroid/index/RepoManager.kt @@ -71,6 +71,14 @@ public class RepoManager @JvmOverloads constructor( return repositoriesState.value } + /** + * Enables or disables the repository with the given [repoId]. + * Data from disabled repositories is ignored in many queries. + */ + @WorkerThread + public fun setRepositoryEnabled(repoId: Long, enabled: Boolean): Unit = + repositoryDao.setRepositoryEnabled(repoId, enabled) + /** * Removes a Repository with the given repoId with all associated data from the database. */