Loading app/src/main/java/foundation/e/apps/AppLoungeApplication.kt +0 −2 Original line number Diff line number Diff line Loading @@ -36,7 +36,6 @@ import foundation.e.apps.di.qualifiers.IoCoroutineScope import foundation.e.apps.install.pkg.AppLoungePackageManager import foundation.e.apps.install.pkg.PkgManagerBR import foundation.e.apps.install.updates.UpdatesWorkManager import foundation.e.apps.install.workmanager.InstallWorkManager import foundation.e.apps.ui.setup.tos.TOS_VERSION import foundation.e.apps.utils.CustomUncaughtExceptionHandler import foundation.e.lib.telemetry.Telemetry Loading Loading @@ -86,7 +85,6 @@ class AppLoungeApplication : Application(), Configuration.Provider { Thread.setDefaultUncaughtExceptionHandler(uncaughtExceptionHandler) InstallWorkManager.context = this // Register broadcast receiver for package manager registerReceiver(pkgManagerBR, appLoungePackageManager.getFilter(), RECEIVER_EXPORTED) Loading app/src/main/java/foundation/e/apps/data/install/AppManagerWrapper.kt +3 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ package foundation.e.apps.data.install import android.content.Context import androidx.lifecycle.LiveData import dagger.hilt.android.qualifiers.ApplicationContext import foundation.e.apps.OpenForTesting import foundation.e.apps.data.Constants.MIN_VALID_RATING import foundation.e.apps.data.application.data.Application Loading @@ -36,6 +37,7 @@ private const val PERCENTAGE_MULTIPLIER = 100 @Singleton @OpenForTesting class AppManagerWrapper @Inject constructor( @ApplicationContext private val context: Context, private val appManager: AppManager, private val fDroidRepository: FDroidRepository ) { Loading Loading @@ -79,6 +81,7 @@ class AppManagerWrapper @Inject constructor( appInstall: AppInstall ) = existingAppInstall != null && InstallWorkManager.checkWorkIsAlreadyAvailable( context, appInstall.id ) Loading app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -141,7 +141,7 @@ class AppInstallProcessor @Inject constructor( if (!canEnqueue(appInstall)) return false appInstallComponents.appManagerWrapper.updateAwaiting(appInstall) InstallWorkManager.enqueueWork(appInstall, isAnUpdate) InstallWorkManager.enqueueWork(context, appInstall, isAnUpdate) true } catch (e: Exception) { Timber.e( Loading app/src/main/java/foundation/e/apps/install/workmanager/InstallWorkManager.kt +4 −5 Original line number Diff line number Diff line package foundation.e.apps.install.workmanager import android.app.Application import android.content.Context import androidx.work.Data import androidx.work.ExistingWorkPolicy import androidx.work.OneTimeWorkRequestBuilder Loading @@ -11,9 +11,8 @@ import java.lang.Exception object InstallWorkManager { const val INSTALL_WORK_NAME = "APP_LOUNGE_INSTALL_APP" lateinit var context: Application fun enqueueWork(appInstall: AppInstall, isUpdateWork: Boolean = false) { fun enqueueWork(context: Context, appInstall: AppInstall, isUpdateWork: Boolean = false) { WorkManager.getInstance(context).enqueueUniqueWork( INSTALL_WORK_NAME, ExistingWorkPolicy.APPEND_OR_REPLACE, Loading @@ -27,11 +26,11 @@ object InstallWorkManager { ) } fun cancelWork(tag: String) { fun cancelWork(context: Context, tag: String) { WorkManager.getInstance(context).cancelAllWorkByTag(tag) } fun checkWorkIsAlreadyAvailable(tag: String): Boolean { fun checkWorkIsAlreadyAvailable(context: Context, tag: String): Boolean { val works = WorkManager.getInstance(context).getWorkInfosByTag(tag) try { works.get().forEach { Loading app/src/test/java/foundation/e/apps/data/install/AppManagerWrapperProgressTest.kt +3 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package foundation.e.apps.data.install import android.content.Context import foundation.e.apps.data.enums.Status import foundation.e.apps.data.fdroid.FDroidRepository import foundation.e.apps.data.install.models.AppInstall Loading @@ -28,9 +29,10 @@ import org.junit.Test class AppManagerWrapperProgressTest { private val context = mockk<Context>(relaxed = true) private val appManager = mockk<AppManager>(relaxed = true) private val fdroidRepository = mockk<FDroidRepository>(relaxed = true) private val appManagerWrapper = AppManagerWrapper(appManager, fdroidRepository) private val appManagerWrapper = AppManagerWrapper(context, appManager, fdroidRepository) @Test fun calculateProgress_emptyDownloadIds_returnsZero() = runTest { Loading Loading
app/src/main/java/foundation/e/apps/AppLoungeApplication.kt +0 −2 Original line number Diff line number Diff line Loading @@ -36,7 +36,6 @@ import foundation.e.apps.di.qualifiers.IoCoroutineScope import foundation.e.apps.install.pkg.AppLoungePackageManager import foundation.e.apps.install.pkg.PkgManagerBR import foundation.e.apps.install.updates.UpdatesWorkManager import foundation.e.apps.install.workmanager.InstallWorkManager import foundation.e.apps.ui.setup.tos.TOS_VERSION import foundation.e.apps.utils.CustomUncaughtExceptionHandler import foundation.e.lib.telemetry.Telemetry Loading Loading @@ -86,7 +85,6 @@ class AppLoungeApplication : Application(), Configuration.Provider { Thread.setDefaultUncaughtExceptionHandler(uncaughtExceptionHandler) InstallWorkManager.context = this // Register broadcast receiver for package manager registerReceiver(pkgManagerBR, appLoungePackageManager.getFilter(), RECEIVER_EXPORTED) Loading
app/src/main/java/foundation/e/apps/data/install/AppManagerWrapper.kt +3 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ package foundation.e.apps.data.install import android.content.Context import androidx.lifecycle.LiveData import dagger.hilt.android.qualifiers.ApplicationContext import foundation.e.apps.OpenForTesting import foundation.e.apps.data.Constants.MIN_VALID_RATING import foundation.e.apps.data.application.data.Application Loading @@ -36,6 +37,7 @@ private const val PERCENTAGE_MULTIPLIER = 100 @Singleton @OpenForTesting class AppManagerWrapper @Inject constructor( @ApplicationContext private val context: Context, private val appManager: AppManager, private val fDroidRepository: FDroidRepository ) { Loading Loading @@ -79,6 +81,7 @@ class AppManagerWrapper @Inject constructor( appInstall: AppInstall ) = existingAppInstall != null && InstallWorkManager.checkWorkIsAlreadyAvailable( context, appInstall.id ) Loading
app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -141,7 +141,7 @@ class AppInstallProcessor @Inject constructor( if (!canEnqueue(appInstall)) return false appInstallComponents.appManagerWrapper.updateAwaiting(appInstall) InstallWorkManager.enqueueWork(appInstall, isAnUpdate) InstallWorkManager.enqueueWork(context, appInstall, isAnUpdate) true } catch (e: Exception) { Timber.e( Loading
app/src/main/java/foundation/e/apps/install/workmanager/InstallWorkManager.kt +4 −5 Original line number Diff line number Diff line package foundation.e.apps.install.workmanager import android.app.Application import android.content.Context import androidx.work.Data import androidx.work.ExistingWorkPolicy import androidx.work.OneTimeWorkRequestBuilder Loading @@ -11,9 +11,8 @@ import java.lang.Exception object InstallWorkManager { const val INSTALL_WORK_NAME = "APP_LOUNGE_INSTALL_APP" lateinit var context: Application fun enqueueWork(appInstall: AppInstall, isUpdateWork: Boolean = false) { fun enqueueWork(context: Context, appInstall: AppInstall, isUpdateWork: Boolean = false) { WorkManager.getInstance(context).enqueueUniqueWork( INSTALL_WORK_NAME, ExistingWorkPolicy.APPEND_OR_REPLACE, Loading @@ -27,11 +26,11 @@ object InstallWorkManager { ) } fun cancelWork(tag: String) { fun cancelWork(context: Context, tag: String) { WorkManager.getInstance(context).cancelAllWorkByTag(tag) } fun checkWorkIsAlreadyAvailable(tag: String): Boolean { fun checkWorkIsAlreadyAvailable(context: Context, tag: String): Boolean { val works = WorkManager.getInstance(context).getWorkInfosByTag(tag) try { works.get().forEach { Loading
app/src/test/java/foundation/e/apps/data/install/AppManagerWrapperProgressTest.kt +3 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package foundation.e.apps.data.install import android.content.Context import foundation.e.apps.data.enums.Status import foundation.e.apps.data.fdroid.FDroidRepository import foundation.e.apps.data.install.models.AppInstall Loading @@ -28,9 +29,10 @@ import org.junit.Test class AppManagerWrapperProgressTest { private val context = mockk<Context>(relaxed = true) private val appManager = mockk<AppManager>(relaxed = true) private val fdroidRepository = mockk<FDroidRepository>(relaxed = true) private val appManagerWrapper = AppManagerWrapper(appManager, fdroidRepository) private val appManagerWrapper = AppManagerWrapper(context, appManager, fdroidRepository) @Test fun calculateProgress_emptyDownloadIds_returnsZero() = runTest { Loading