From d65aeaa2bbd0f01f9a4ba3ff616484322d2c5eae Mon Sep 17 00:00:00 2001 From: Fabian Devel Date: Thu, 1 Feb 2024 13:00:20 +0100 Subject: [PATCH] Create package for update managers --- .../InAppUpdateManager.kt | 4 ++- .../updatemanagers/WorkerUpdateManager.kt | 25 +++++++++++++++++++ Stores/src/main/java/AppUpdateWorker.kt | 1 + .../InAppUpdateManager.kt | 5 +++- .../updatemanagers}/WorkerUpdateManager.kt | 3 ++- 5 files changed, 35 insertions(+), 3 deletions(-) rename Stores/src/fdroid/java/com.infomaniak.lib.stores/{ => updatemanagers}/InAppUpdateManager.kt (92%) create mode 100644 Stores/src/fdroid/java/com.infomaniak.lib.stores/updatemanagers/WorkerUpdateManager.kt rename Stores/src/standard/java/com.infomaniak.lib.stores/{ => updatemanagers}/InAppUpdateManager.kt (96%) rename Stores/src/{main/java => standard/java/com.infomaniak.lib.stores/updatemanagers}/WorkerUpdateManager.kt (93%) diff --git a/Stores/src/fdroid/java/com.infomaniak.lib.stores/InAppUpdateManager.kt b/Stores/src/fdroid/java/com.infomaniak.lib.stores/updatemanagers/InAppUpdateManager.kt similarity index 92% rename from Stores/src/fdroid/java/com.infomaniak.lib.stores/InAppUpdateManager.kt rename to Stores/src/fdroid/java/com.infomaniak.lib.stores/updatemanagers/InAppUpdateManager.kt index c8158fef..09572658 100644 --- a/Stores/src/fdroid/java/com.infomaniak.lib.stores/InAppUpdateManager.kt +++ b/Stores/src/fdroid/java/com.infomaniak.lib.stores/updatemanagers/InAppUpdateManager.kt @@ -15,12 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.infomaniak.lib.stores +package com.infomaniak.lib.stores.updatemanagers import androidx.fragment.app.FragmentActivity import androidx.lifecycle.lifecycleScope import com.infomaniak.lib.core.fdroidTools.FdroidApiTools import com.infomaniak.lib.core.utils.SentryLog +import com.infomaniak.lib.stores.BaseInAppUpdateManager +import com.infomaniak.lib.stores.StoreUtils import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/Stores/src/fdroid/java/com.infomaniak.lib.stores/updatemanagers/WorkerUpdateManager.kt b/Stores/src/fdroid/java/com.infomaniak.lib.stores/updatemanagers/WorkerUpdateManager.kt new file mode 100644 index 00000000..8a4bdf02 --- /dev/null +++ b/Stores/src/fdroid/java/com.infomaniak.lib.stores/updatemanagers/WorkerUpdateManager.kt @@ -0,0 +1,25 @@ +/* + * Infomaniak Core - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.lib.stores.updateManagers + +import android.content.Context + +class WorkerUpdateManager(appContext: Context) { + + fun installDownloadedUpdate(onInstallFailure: (Exception) -> Unit, onInstallSuccess: () -> Unit) = Unit +} diff --git a/Stores/src/main/java/AppUpdateWorker.kt b/Stores/src/main/java/AppUpdateWorker.kt index ef1a0057..c2c67612 100644 --- a/Stores/src/main/java/AppUpdateWorker.kt +++ b/Stores/src/main/java/AppUpdateWorker.kt @@ -22,6 +22,7 @@ import androidx.concurrent.futures.CallbackToFutureAdapter import androidx.work.* import com.google.common.util.concurrent.ListenableFuture import com.infomaniak.lib.core.utils.SentryLog +import com.infomaniak.lib.stores.updateManagers.WorkerUpdateManager import io.sentry.Sentry import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/Stores/src/standard/java/com.infomaniak.lib.stores/InAppUpdateManager.kt b/Stores/src/standard/java/com.infomaniak.lib.stores/updatemanagers/InAppUpdateManager.kt similarity index 96% rename from Stores/src/standard/java/com.infomaniak.lib.stores/InAppUpdateManager.kt rename to Stores/src/standard/java/com.infomaniak.lib.stores/updatemanagers/InAppUpdateManager.kt index 03aa53bc..c62e2b7b 100644 --- a/Stores/src/standard/java/com.infomaniak.lib.stores/InAppUpdateManager.kt +++ b/Stores/src/standard/java/com.infomaniak.lib.stores/updatemanagers/InAppUpdateManager.kt @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.infomaniak.lib.stores +package com.infomaniak.lib.stores.updatemanagers import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.IntentSenderRequest @@ -31,6 +31,9 @@ import com.google.android.play.core.install.InstallStateUpdatedListener import com.google.android.play.core.install.model.InstallStatus import com.google.android.play.core.install.model.UpdateAvailability import com.infomaniak.lib.core.utils.SentryLog +import com.infomaniak.lib.stores.BaseInAppUpdateManager +import com.infomaniak.lib.stores.StoreUtils +import com.infomaniak.lib.stores.StoresViewModel class InAppUpdateManager( private val activity: FragmentActivity, diff --git a/Stores/src/main/java/WorkerUpdateManager.kt b/Stores/src/standard/java/com.infomaniak.lib.stores/updatemanagers/WorkerUpdateManager.kt similarity index 93% rename from Stores/src/main/java/WorkerUpdateManager.kt rename to Stores/src/standard/java/com.infomaniak.lib.stores/updatemanagers/WorkerUpdateManager.kt index afcd92df..0af73317 100644 --- a/Stores/src/main/java/WorkerUpdateManager.kt +++ b/Stores/src/standard/java/com.infomaniak.lib.stores/updatemanagers/WorkerUpdateManager.kt @@ -15,10 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.infomaniak.lib.stores +package com.infomaniak.lib.stores.updateManagers import android.content.Context import com.google.android.play.core.appupdate.AppUpdateManagerFactory +import com.infomaniak.lib.stores.StoresLocalSettings class WorkerUpdateManager(appContext: Context) {