Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Verified Commit 7ff2d420 authored by Fahim M. Choudhury's avatar Fahim M. Choudhury
Browse files

refactor: move AppInstallProcessor to install/core package

parent cc4a3e12
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
/*
 * Copyright MURENA SAS 2023
 * Apps  Quickly and easily install Android apps onto your device!
 * Copyright (C) 2026 e Foundation
 *
 * 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
@@ -14,14 +13,18 @@
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 */

package foundation.e.apps.data.install.workmanager
package foundation.e.apps.data.install.core

import foundation.e.apps.data.application.data.Application
import foundation.e.apps.data.enums.ResultStatus
import foundation.e.apps.data.install.AppInstallComponents
import foundation.e.apps.data.install.models.AppInstall
import foundation.e.apps.data.install.workmanager.AppInstallRequestFactory
import foundation.e.apps.data.install.workmanager.AppInstallStartCoordinator
import foundation.e.apps.data.install.workmanager.AppInstallWorkRunner
import foundation.e.apps.domain.model.install.Status
import javax.inject.Inject

@@ -32,7 +35,7 @@ class AppInstallProcessor @Inject constructor(
    private val appInstallRequestFactory: AppInstallRequestFactory,
) {
    /**
     * creates [AppInstall] from [Application] and enqueues into WorkManager to run install process.
     * creates [foundation.e.apps.data.install.models.AppInstall] from [foundation.e.apps.data.application.data.Application] and enqueues into WorkManager to run install process.
     * @param application represents the app info which will be installed
     * @param isAnUpdate indicates the app is requested for update or not
     *
@@ -51,7 +54,7 @@ class AppInstallProcessor @Inject constructor(
    }

    /**
     * Enqueues [AppInstall] into WorkManager to run app install process. Before enqueuing,
     * Enqueues [foundation.e.apps.data.install.models.AppInstall] into WorkManager to run app install process. Before enqueuing,
     * It validates some corner cases
     * @param appInstall represents the app downloading and installing related info, example- Installing Status,
     * Url of the APK,OBB files are needed to be downloaded and installed etc.
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ import foundation.e.apps.data.enums.ResultStatus
import foundation.e.apps.data.event.AppEvent
import foundation.e.apps.data.event.EventBus
import foundation.e.apps.data.gitlab.SystemAppsUpdatesRepository
import foundation.e.apps.data.install.workmanager.AppInstallProcessor
import foundation.e.apps.data.install.core.AppInstallProcessor
import foundation.e.apps.data.login.repository.AuthenticatorRepository
import foundation.e.apps.data.updates.UpdatesManagerRepository
import foundation.e.apps.domain.model.User
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import androidx.work.WorkerParameters
import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
import foundation.e.apps.R
import foundation.e.apps.data.install.core.AppInstallProcessor
import java.util.concurrent.atomic.AtomicInteger

@HiltWorker
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ import foundation.e.apps.data.install.AppManagerWrapper
import foundation.e.apps.data.install.models.AppInstall
import foundation.e.apps.data.install.pkg.AppLoungePackageManager
import foundation.e.apps.data.install.pkg.PwaManager
import foundation.e.apps.data.install.workmanager.AppInstallProcessor
import foundation.e.apps.data.install.core.AppInstallProcessor
import foundation.e.apps.data.login.core.AuthObject
import foundation.e.apps.data.parentalcontrol.fdroid.FDroidAntiFeatureRepository
import foundation.e.apps.data.parentalcontrol.googleplay.GPlayContentRatingRepository
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ import foundation.e.apps.data.login.core.StoreType
import foundation.e.apps.data.login.repository.AuthenticatorRepository
import foundation.e.apps.data.preference.SessionDataStore
import foundation.e.apps.data.updates.UpdatesManagerRepository
import foundation.e.apps.data.install.workmanager.AppInstallProcessor
import foundation.e.apps.data.install.core.AppInstallProcessor
import foundation.e.apps.domain.model.LoginState
import foundation.e.apps.domain.model.User
import foundation.e.apps.domain.preferences.AppPreferencesRepository
Loading