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

Commit 3ece0fd6 authored by Hasib Prince's avatar Hasib Prince
Browse files

Merge branch '1709-search_download_api' into 'main'

1709 search download api

See merge request !405
parents 8acbda98 75bd1d0b
Loading
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -12,9 +12,7 @@
    <ID>ImplicitDefaultLocale:UpdatesFragment.kt$UpdatesFragment$String.format("%d%%", progress)</ID>
    <ID>InstanceOfCheckForException:GPlayHttpClient.kt$GPlayHttpClient$e is SocketTimeoutException</ID>
    <ID>InvalidPackageDeclaration:Trackers.kt$package foundation.e.apps.data.exodus</ID>
    <ID>LargeClass:ApplicationApiImpl.kt$ApplicationApiImpl : ApplicationApi</ID>
    <ID>LargeClass:ApplicationFragment.kt$ApplicationFragment : TimeoutFragment</ID>
    <ID>LongParameterList:ApplicationApiImpl.kt$ApplicationApiImpl$( private val pkgManagerModule: PkgManagerModule, private val pwaManagerModule: PWAManagerModule, private val preferenceManagerModule: PreferenceManagerModule, @Named("gplayRepository") private val gplayRepository: PlayStoreRepository, @Named("cleanApkAppsRepository") private val cleanApkAppsRepository: CleanApkRepository, @Named("cleanApkPWARepository") private val cleanApkPWARepository: CleanApkRepository, @ApplicationContext private val context: Context )</ID>
    <ID>LongParameterList:ApplicationDialogFragment.kt$ApplicationDialogFragment$( drawable: Int = -1, title: String, message: String, positiveButtonText: String = "", positiveButtonAction: (() -&gt; Unit)? = null, cancelButtonText: String = "", cancelButtonAction: (() -&gt; Unit)? = null, cancellable: Boolean = true, onDismissListener: (() -&gt; Unit)? = null, )</ID>
    <ID>LongParameterList:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$( private val applicationInstaller: ApplicationInstaller, private val privacyInfoViewModel: PrivacyInfoViewModel, private val appInfoFetchViewModel: AppInfoFetchViewModel, private val mainActivityViewModel: MainActivityViewModel, private val currentDestinationId: Int, private var lifecycleOwner: LifecycleOwner?, private var paidAppHandler: ((Application) -&gt; Unit)? = null )</ID>
    <ID>LongParameterList:ApplicationViewModel.kt$ApplicationViewModel$( id: String, packageName: String, origin: Origin, isFdroidLink: Boolean, authObjectList: List&lt;AuthObject&gt;, retryBlock: (failedObjects: List&lt;AuthObject&gt;) -&gt; Boolean, )</ID>
@@ -71,8 +69,6 @@
    <ID>MaxLineLength:AppInstallProcessor.kt$AppInstallProcessor$"Enqueuing App install work is failed for ${fusedDownload.packageName} exception: ${e.localizedMessage}"</ID>
    <ID>MaxLineLength:AppInstallProcessor.kt$AppInstallProcessor$fusedDownload.areFilesDownloaded() &amp;&amp; (!fusedManagerRepository.isFusedDownloadInstalled(fusedDownload) || fusedDownload.status == Status.INSTALLING)</ID>
    <ID>MaxLineLength:AppPrivacyInfo.kt$AppPrivacyInfo</ID>
    <ID>MaxLineLength:ApplicationApi.kt$ApplicationApi$suspend fun getGplayAppsByCategory(authData: AuthData, category: String, pageUrl: String?): ResultSupreme&lt;Pair&lt;List&lt;Application&gt;, String&gt;&gt;</ID>
    <ID>MaxLineLength:ApplicationApiImpl.kt$ApplicationApiImpl$(cleanApkAppsRepository.getAppDetails(result.apps[0]._id) as Response&lt;CleanApkApplication&gt;).body()?.app</ID>
    <ID>MaxLineLength:ApplicationFragment.kt$ApplicationFragment.Companion$"https://gitlab.e.foundation/e/os/apps/-/blob/main/app/src/main/java/foundation/e/apps/data/exodus/repositories/PrivacyScoreRepositoryImpl.kt"</ID>
    <ID>MaxLineLength:CommonUtilsModule.kt$CommonUtilsModule$*</ID>
    <ID>MaxLineLength:DownloadManager.kt$DownloadManager$Timber.e("Download Issue: $downloadId : DownloadManager returns status: $status but the failed because: reason: $reason")</ID>
@@ -113,7 +109,6 @@
    <ID>ReturnCount:AppInstallProcessor.kt$AppInstallProcessor$suspend fun enqueueFusedDownload( fusedDownload: FusedDownload, isAnUpdate: Boolean = false )</ID>
    <ID>ReturnCount:AppPrivacyInfoRepositoryImpl.kt$AppPrivacyInfoRepositoryImpl$override suspend fun getAppPrivacyInfo( application: Application, appHandle: String ): Result&lt;AppPrivacyInfo&gt;</ID>
    <ID>ReturnCount:AppPrivacyInfoRepositoryImpl.kt$AppPrivacyInfoRepositoryImpl$private fun getAppPrivacyInfo( application: Application, appTrackerData: List&lt;Report&gt;, ): AppPrivacyInfo</ID>
    <ID>ReturnCount:ApplicationApiImpl.kt$ApplicationApiImpl$override fun isAnyFusedAppUpdated( newApplications: List&lt;Application&gt;, oldApplications: List&lt;Application&gt; ): Boolean</ID>
    <ID>ReturnCount:DownloadManager.kt$DownloadManager$fun getSizeRequired(downloadId: Long): Long</ID>
    <ID>ReturnCount:DownloadManager.kt$DownloadManager$private fun sanitizeStatus(downloadId: Long, status: Int, reason: Int): Int</ID>
    <ID>ReturnCount:Extensions.kt$fun Context.isNetworkAvailable(): Boolean</ID>
@@ -141,7 +136,6 @@
    <ID>TooGenericExceptionCaught:ApkSignatureManager.kt$ApkSignatureManager$e: Exception</ID>
    <ID>TooGenericExceptionCaught:AppInfoFetchViewModel.kt$AppInfoFetchViewModel$e: Exception</ID>
    <ID>TooGenericExceptionCaught:AppInstallProcessor.kt$AppInstallProcessor$e: Exception</ID>
    <ID>TooGenericExceptionCaught:ApplicationApiImpl.kt$ApplicationApiImpl$e: Exception</ID>
    <ID>TooGenericExceptionCaught:ApplicationViewModel.kt$ApplicationViewModel$e: Exception</ID>
    <ID>TooGenericExceptionCaught:BlockedAppRepository.kt$BlockedAppRepository$exception: Exception</ID>
    <ID>TooGenericExceptionCaught:CommonUtilsModule.kt$CommonUtilsModule$e: Exception</ID>
@@ -169,15 +163,12 @@
    <ID>TooGenericExceptionThrown:AnonymousLoginManager.kt$AnonymousLoginManager$throw Exception( "Error fetching Anonymous credentials\n" + "Network code: ${response.code}\n" + "Success: ${response.isSuccessful}" + response.errorString.run { if (isNotBlank()) "\nError message: $this" else "" } )</ID>
    <ID>TooGenericExceptionThrown:PlayStoreLoginWrapper.kt$PlayStoreLoginWrapper$throw Exception("Validation network code: ${response.code}")</ID>
    <ID>TooGenericExceptionThrown:PlayStoreLoginWrapper.kt$PlayStoreLoginWrapper$throw Exception(error)</ID>
    <ID>TooManyFunctions:ApplicationApi.kt$ApplicationApi</ID>
    <ID>TooManyFunctions:ApplicationApiImpl.kt$ApplicationApiImpl : ApplicationApi</ID>
    <ID>TooManyFunctions:ApplicationListFragment.kt$ApplicationListFragment : TimeoutFragmentApplicationInstaller</ID>
    <ID>TooManyFunctions:ApplicationRepository.kt$ApplicationRepository</ID>
    <ID>TooManyFunctions:FusedManagerImpl.kt$FusedManagerImpl : IFusedManager</ID>
    <ID>TooManyFunctions:FusedManagerRepository.kt$FusedManagerRepository</ID>
    <ID>TooManyFunctions:HomeFragment.kt$HomeFragment : TimeoutFragmentApplicationInstaller</ID>
    <ID>TooManyFunctions:IFusedManager.kt$IFusedManager</ID>
    <ID>TooManyFunctions:LoginData.kt$LoginData</ID>
    <ID>TooManyFunctions:MainActivityViewModel.kt$MainActivityViewModel : ViewModel</ID>
    <ID>TooManyFunctions:PkgManagerModule.kt$PkgManagerModule</ID>
    <ID>TooManyFunctions:SearchFragment.kt$SearchFragment : TimeoutFragmentOnQueryTextListenerOnSuggestionListenerApplicationInstaller</ID>
+16 −9
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.SearchBundle
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.application.apps.AppsApi
import foundation.e.apps.data.application.category.CategoryApi
import foundation.e.apps.data.enums.FilterLevel
import foundation.e.apps.data.enums.Origin
import foundation.e.apps.data.enums.ResultStatus
@@ -31,6 +33,10 @@ import foundation.e.apps.data.enums.Status
import foundation.e.apps.data.application.data.Application
import foundation.e.apps.data.application.data.Category
import foundation.e.apps.data.application.data.Home
import foundation.e.apps.data.application.downloadInfo.DownloadInfoApi
import foundation.e.apps.data.application.home.HomeApi
import foundation.e.apps.data.application.search.GplaySearchResult
import foundation.e.apps.data.application.search.SearchApi
import foundation.e.apps.data.application.utils.CategoryType
import foundation.e.apps.data.fusedDownload.models.FusedDownload
import javax.inject.Inject
@@ -38,18 +44,19 @@ import javax.inject.Singleton

@Singleton
class ApplicationRepository @Inject constructor(
    private val applicationAPIImpl: ApplicationApi,
    private val searchAPIImpl: SearchApi,
    private val homeApi: HomeApi,
    private val categoryApi: CategoryApi,
    private val appsApi: AppsApi,
    private val downloadInfoApi: DownloadInfoApi
) {

    suspend fun getHomeScreenData(authData: AuthData): LiveData<ResultSupreme<List<Home>>> {
        return homeApi.fetchHomeScreenData(authData)
    }

    fun getApplicationCategoryPreference(): List<String> {
        return applicationAPIImpl.getApplicationCategoryPreference()
    fun getSelectedAppTypes(): List<String> {
        return searchAPIImpl.getSelectedAppTypes()
    }

    suspend fun getApplicationDetails(
@@ -81,14 +88,14 @@ class ApplicationRepository @Inject constructor(
        origin: Origin,
        fusedDownload: FusedDownload
    ) {
        applicationAPIImpl.updateFusedDownloadWithDownloadingInfo(
        downloadInfoApi.updateFusedDownloadWithDownloadingInfo(
            origin,
            fusedDownload
        )
    }

    suspend fun getOSSDownloadInfo(id: String, version: String? = null) =
        applicationAPIImpl.getOSSDownloadInfo(id, version)
        downloadInfoApi.getOSSDownloadInfo(id, version)

    suspend fun getOnDemandModule(
        packageName: String,
@@ -96,7 +103,7 @@ class ApplicationRepository @Inject constructor(
        versionCode: Int,
        offerType: Int
    ): String? {
        return applicationAPIImpl.getOnDemandModule(packageName, moduleName, versionCode, offerType)
        return downloadInfoApi.getOnDemandModule(packageName, moduleName, versionCode, offerType)
    }

    suspend fun getCategoriesList(
@@ -106,21 +113,21 @@ class ApplicationRepository @Inject constructor(
    }

    suspend fun getSearchSuggestions(query: String): List<SearchSuggestEntry> {
        return applicationAPIImpl.getSearchSuggestions(query)
        return searchAPIImpl.getSearchSuggestions(query)
    }

    suspend fun getCleanApkSearchResults(
        query: String,
        authData: AuthData
    ): ResultSupreme<Pair<List<Application>, Boolean>> {
        return applicationAPIImpl.getCleanApkSearchResults(query, authData)
        return searchAPIImpl.getCleanApkSearchResults(query, authData)
    }

    suspend fun getGplaySearchResults(
        query: String,
        nextPageSubBundle: Set<SearchBundle.SubBundle>?
    ): GplaySearchResult {
        return applicationAPIImpl.getGplaySearchResult(query, nextPageSubBundle)
        return searchAPIImpl.getGplaySearchResult(query, nextPageSubBundle)
    }

    suspend fun getAppsListBasedOnCategory(
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

package foundation.e.apps.data.application
package foundation.e.apps.data.application.apps

import com.aurora.gplayapi.data.models.AuthData
import foundation.e.apps.data.application.data.Application
+2 −1
Original line number Diff line number Diff line
@@ -16,12 +16,13 @@
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

package foundation.e.apps.data.application
package foundation.e.apps.data.application.apps

import android.content.Context
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.data.application.ApplicationDataManager
import foundation.e.apps.data.application.data.Application
import foundation.e.apps.data.cleanapk.data.app.Application as CleanApkApplication
import foundation.e.apps.data.application.utils.toApplication
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

package foundation.e.apps.data.application
package foundation.e.apps.data.application.category

import com.aurora.gplayapi.data.models.AuthData
import foundation.e.apps.data.ResultSupreme
Loading