Loading app/src/main/AndroidManifest.xml +3 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading app/src/main/java/foundation/e/apps/api/DownloadManager.kt +22 −0 Original line number Diff line number Diff line Loading @@ -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) } } } app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt +2 −10 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading app/src/main/java/foundation/e/apps/home/HomeFragment.kt +0 −7 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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)) { Loading app/src/main/java/foundation/e/apps/home/model/HomeParentRVAdapter.kt +0 −6 Original line number Diff line number Diff line Loading @@ -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 Loading
app/src/main/AndroidManifest.xml +3 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading
app/src/main/java/foundation/e/apps/api/DownloadManager.kt +22 −0 Original line number Diff line number Diff line Loading @@ -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) } } }
app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt +2 −10 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading
app/src/main/java/foundation/e/apps/home/HomeFragment.kt +0 −7 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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)) { Loading
app/src/main/java/foundation/e/apps/home/model/HomeParentRVAdapter.kt +0 −6 Original line number Diff line number Diff line Loading @@ -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