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

Commit 03f50a51 authored by Jonathan Klee's avatar Jonathan Klee
Browse files

Merge branch '2837-u-fix-not-available' into 'main'

Refresh token when app is showing N/A

See merge request !526
parents 5b6a06f4 933721ba
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ suspend fun <T> handleNetworkResult(call: suspend () -> T): ResultSupreme<T> {
        handleSocketTimeoutException(e)
    } catch (e: GplayHttpRequestException) {
        resultSupremeGplayHttpRequestException(e)
    } catch (e: IllegalStateException) {
        throw e
    } catch (e: Exception) {
        handleOthersException(e)
    }
+4 −6
Original line number Diff line number Diff line
@@ -62,23 +62,21 @@ class ApplicationRepository @Inject constructor(

    suspend fun getApplicationDetails(
        packageNameList: List<String>,
        authData: AuthData,
        origin: Origin
    ): Pair<List<Application>, ResultStatus> {
        return appsApi.getApplicationDetails(packageNameList, authData, origin)
        return appsApi.getApplicationDetails(packageNameList, origin)
    }

    suspend fun getAppFilterLevel(application: Application, authData: AuthData?): FilterLevel {
        return appsApi.getAppFilterLevel(application, authData)
    suspend fun getAppFilterLevel(application: Application): FilterLevel {
        return appsApi.getAppFilterLevel(application)
    }

    suspend fun getApplicationDetails(
        id: String,
        packageName: String,
        authData: AuthData,
        origin: Origin
    ): Pair<Application, ResultStatus> {
        return appsApi.getApplicationDetails(id, packageName, authData, origin)
        return appsApi.getApplicationDetails(id, packageName, origin)
    }

    suspend fun getCleanapkAppDetails(packageName: String): Pair<Application, ResultStatus> {
+1 −3
Original line number Diff line number Diff line
@@ -36,14 +36,12 @@ interface AppsApi {

    suspend fun getApplicationDetails(
        packageNameList: List<String>,
        authData: AuthData,
        origin: Origin
    ): Pair<List<Application>, ResultStatus>

    suspend fun getApplicationDetails(
        id: String,
        packageName: String,
        authData: AuthData,
        origin: Origin
    ): Pair<Application, ResultStatus>

@@ -55,7 +53,7 @@ interface AppsApi {
     */
    fun getFusedAppInstallationStatus(application: Application): Status

    suspend fun getAppFilterLevel(application: Application, authData: AuthData?): FilterLevel
    suspend fun getAppFilterLevel(application: Application): FilterLevel

    /**
     * @return returns true if there is changes in data, otherwise false
+2 −7
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ class AppsApiImpl @Inject constructor(

    override suspend fun getApplicationDetails(
        packageNameList: List<String>,
        authData: AuthData,
        origin: Origin
    ): Pair<List<Application>, ResultStatus> {
        val list = mutableListOf<Application>()
@@ -87,7 +86,7 @@ class AppsApiImpl @Inject constructor(
            if (origin == Origin.CLEANAPK) {
                getAppDetailsListFromCleanApk(packageNameList)
            } else {
                getAppDetailsListFromGPlay(packageNameList, authData)
                getAppDetailsListFromGPlay(packageNameList)
            }

        response.first.forEach {
@@ -123,13 +122,12 @@ class AppsApiImpl @Inject constructor(

    private suspend fun getAppDetailsListFromGPlay(
        packageNameList: List<String>,
        authData: AuthData,
    ): Pair<List<Application>, ResultStatus> {
        val applicationList = mutableListOf<Application>()

        val result = handleNetworkResult {
            appSources.gplayRepo.getAppsDetails(packageNameList).forEach { app ->
                handleFilteredApps(app, authData, applicationList)
                handleFilteredApps(app, applicationList)
            }
        }

@@ -144,7 +142,6 @@ class AppsApiImpl @Inject constructor(
     */
    private suspend fun handleFilteredApps(
        app: App,
        authData: AuthData,
        applicationList: MutableList<Application>
    ) {
        val application = app.toApplication(context)
@@ -185,7 +182,6 @@ class AppsApiImpl @Inject constructor(
    override suspend fun getApplicationDetails(
        id: String,
        packageName: String,
        authData: AuthData,
        origin: Origin
    ): Pair<Application, ResultStatus> {
        var application: Application
@@ -215,7 +211,6 @@ class AppsApiImpl @Inject constructor(

    override suspend fun getAppFilterLevel(
        application: Application,
        authData: AuthData?
    ): FilterLevel {
        return applicationDataManager.getAppFilterLevel(application)
    }
+3 −4
Original line number Diff line number Diff line
@@ -191,7 +191,7 @@ class SearchApiImpl @Inject constructor(

        val result = handleNetworkResult {
            if (appLoungePreference.isGplaySelected()) {
                gplayPackageResult = getGplayPackagResult(query, authData)
                gplayPackageResult = getGplayPackageResult(query)
            }

            if (appLoungePreference.isOpenSourceSelected()) {
@@ -257,11 +257,10 @@ class SearchApiImpl @Inject constructor(
        return null
    }

    private suspend fun getGplayPackagResult(
    private suspend fun getGplayPackageResult(
        query: String,
        authData: AuthData,
    ): Application? {
        appsApi.getApplicationDetails(query, query, authData, Origin.GPLAY).let {
        appsApi.getApplicationDetails(query, query, Origin.GPLAY).let {
            if (it.second == ResultStatus.OK && it.first.package_name.isNotEmpty()) {
                return it.first
            }
Loading