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

Commit 8c8908db authored by Hasib Prince's avatar Hasib Prince
Browse files

fixed: app is downloaded but not installed case

parent 89920c78
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -12,6 +12,9 @@
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"
        tools:ignore="ProtectedPermissions" />
    <uses-permission
        android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
        tools:ignore="ScopedStorage" />
+22 −0
Original line number Diff line number Diff line
@@ -159,4 +159,26 @@ class DownloadManager @Inject constructor(
        }
        return DownloadManager.STATUS_FAILED
    }

    suspend fun checkDownloadProcess(downloadingIds: LongArray, handleFailed: suspend ()->Unit) {
        try {
            downloadManager.query(downloadManagerQuery.setFilterById(*downloadingIds))
                .use { cursor ->
                    if (cursor.moveToFirst()) {
                        while (!cursor.isAfterLast) {
                            val status =
                                cursor.getInt(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS))

                            if (status == DownloadManager.STATUS_FAILED) {
                                handleFailed()
                            }

                            cursor.moveToNext()
                        }
                    }
                }
        } catch (e: Exception) {
            Timber.e(e)
        }
    }
}
+2 −10
Original line number Diff line number Diff line
@@ -44,11 +44,7 @@ import com.google.android.material.button.MaterialButton
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.textview.MaterialTextView
import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.AppInfoFetchViewModel
import foundation.e.apps.MainActivity
import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.PrivacyInfoViewModel
import foundation.e.apps.R
import foundation.e.apps.*
import foundation.e.apps.api.cleanapk.CleanAPKInterface
import foundation.e.apps.api.fused.data.FusedApp
import foundation.e.apps.application.model.ApplicationScreenshotsRVAdapter
@@ -57,11 +53,7 @@ import foundation.e.apps.databinding.FragmentApplicationBinding
import foundation.e.apps.login.AuthObject
import foundation.e.apps.manager.download.data.DownloadProgress
import foundation.e.apps.manager.pkg.PkgManagerModule
import foundation.e.apps.utils.enums.Origin
import foundation.e.apps.utils.enums.ResultStatus
import foundation.e.apps.utils.enums.Status
import foundation.e.apps.utils.enums.User
import foundation.e.apps.utils.enums.isInitialized
import foundation.e.apps.utils.enums.*
import foundation.e.apps.utils.exceptions.GPlayLoginException
import foundation.e.apps.utils.modules.CommonUtilsModule.LIST_OF_NULL
import foundation.e.apps.utils.modules.PWAManagerModule
+0 −7
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ import foundation.e.apps.home.model.HomeChildRVAdapter
import foundation.e.apps.home.model.HomeParentRVAdapter
import foundation.e.apps.login.AuthObject
import foundation.e.apps.manager.download.data.DownloadProgress
import foundation.e.apps.manager.pkg.PkgManagerModule
import foundation.e.apps.utils.enums.Status
import foundation.e.apps.utils.exceptions.GPlayException
import foundation.e.apps.utils.exceptions.GPlayLoginException
@@ -69,9 +68,6 @@ class HomeFragment : TimeoutFragment(R.layout.fragment_home), FusedAPIInterface
    private val appProgressViewModel: AppProgressViewModel by viewModels()
    private val appInfoFetchViewModel: AppInfoFetchViewModel by viewModels()

    @Inject
    lateinit var pkgManagerModule: PkgManagerModule

    @Inject
    lateinit var pwaManagerModule: PWAManagerModule

@@ -108,9 +104,6 @@ class HomeFragment : TimeoutFragment(R.layout.fragment_home), FusedAPIInterface

    private fun initHomeParentRVAdapter() = HomeParentRVAdapter(
        this,
        pkgManagerModule,
        pwaManagerModule,
        mainActivityViewModel.getUser(),
        mainActivityViewModel, appInfoFetchViewModel, viewLifecycleOwner
    ) { fusedApp ->
        if (!mainActivityViewModel.shouldShowPaidAppsSnackBar(fusedApp)) {
+0 −6
Original line number Diff line number Diff line
@@ -30,15 +30,9 @@ import foundation.e.apps.api.fused.FusedAPIInterface
import foundation.e.apps.api.fused.data.FusedApp
import foundation.e.apps.api.fused.data.FusedHome
import foundation.e.apps.databinding.HomeParentListItemBinding
import foundation.e.apps.manager.pkg.PkgManagerModule
import foundation.e.apps.utils.enums.User
import foundation.e.apps.utils.modules.PWAManagerModule

class HomeParentRVAdapter(
    private val fusedAPIInterface: FusedAPIInterface,
    private val pkgManagerModule: PkgManagerModule,
    private val pwaManagerModule: PWAManagerModule,
    private val user: User,
    private val mainActivityViewModel: MainActivityViewModel,
    private val appInfoFetchViewModel: AppInfoFetchViewModel,
    private var lifecycleOwner: LifecycleOwner?,
Loading