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

Commit 02fd2c97 authored by Sayantan Roychowdhury's avatar Sayantan Roychowdhury
Browse files

Introduce new Origin - GITLAB

parent a7fb26d3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ class ApplicationDataManager @Inject constructor(
            application.package_name.isBlank() -> FilterLevel.UNKNOWN
            !application.isFree && application.price.isBlank() -> FilterLevel.UI
            application.origin == Origin.CLEANAPK -> FilterLevel.NONE
            application.origin == Origin.GITLAB -> FilterLevel.NONE
            !isRestricted(application) -> FilterLevel.NONE
            authData == null -> FilterLevel.UNKNOWN // cannot determine for gplay app
            !isApplicationVisible(application) -> FilterLevel.DATA
+11 −0
Original line number Diff line number Diff line
@@ -68,6 +68,10 @@ class DownloadInfoApiImpl @Inject constructor(
            Origin.GPLAY -> {
                updateDownloadInfoFromGplay(appInstall, list)
            }

            Origin.GITLAB -> {
                updateDownloadInfoFromGitlab(appInstall, list)
            }
        }

        appInstall.downloadURLList = list
@@ -98,6 +102,13 @@ class DownloadInfoApiImpl @Inject constructor(
        appInstall.signature = downloadInfo?.download_data?.signature ?: ""
    }

    private suspend fun updateDownloadInfoFromGitlab(
        appInstall: AppInstall,
        list: MutableList<String>
    ) {
        // TODO
    }

    override suspend fun getOSSDownloadInfo(id: String, version: String?) =
        (appSources.cleanApkAppsRepo as CleanApkDownloadInfoFetcher)
            .getDownloadInfo(id, version)
+2 −1
Original line number Diff line number Diff line
@@ -20,5 +20,6 @@ package foundation.e.apps.data.enums

enum class Origin {
    CLEANAPK,
    GPLAY
    GPLAY,
    GITLAB,
}
+8 −0
Original line number Diff line number Diff line
@@ -56,6 +56,10 @@ class ValidateAppAgeLimitUseCase @Inject constructor(
                data = ContentRatingValidity(true)
            )

            isGitlabApp(app) -> ResultSupreme.Success(
                data = ContentRatingValidity(true)
            )

            isKnownNsfwApp(app) -> ResultSupreme.Success(data = ContentRatingValidity(false))
            isCleanApkApp(app) -> ResultSupreme.Success(
                data = ContentRatingValidity(isValid = !isNsfwAppByCleanApkApi(app))
@@ -70,6 +74,10 @@ class ValidateAppAgeLimitUseCase @Inject constructor(
        }
    }

    private fun isGitlabApp(app: AppInstall): Boolean {
        return app.origin == Origin.GITLAB
    }

    private fun isCleanApkApp(app: AppInstall): Boolean {
        return app.id.isNotBlank()
                && app.origin == Origin.CLEANAPK
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ class ApplicationScreenshotsRVAdapter(
            Origin.GPLAY -> {
                imageView.load(oldList[position])
            }
            else -> {}
        }
        imageView.setOnClickListener {
            val action =
Loading