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

Commit baf08fd6 authored by Sayantan Roychowdhury's avatar Sayantan Roychowdhury
Browse files

Merge branch '6750-respect_update_channels_signature' into 'main'

Issue 6750: Detect update channels using signatures

See merge request !298
parents 7315fdaa fd3a6591
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ package foundation.e.apps.api.fdroid

import android.content.Context
import foundation.e.apps.api.cleanapk.ApkSignatureManager
import foundation.e.apps.api.fdroid.models.BuildInfo
import foundation.e.apps.api.fdroid.models.FdroidEntity
import foundation.e.apps.api.fused.data.FusedApp
import foundation.e.apps.utils.enums.Origin
@@ -35,6 +36,10 @@ class FdroidRepository @Inject constructor(
            }
    }

    suspend fun getBuildVersionInfo(packageName: String): List<BuildInfo>? {
        return fdroidApi.getFdroidInfoForPackage(packageName).body()?.builds
    }

    override suspend fun getAuthorName(fusedApp: FusedApp): String {
        if (fusedApp.author != UNKNOWN || fusedApp.origin != Origin.CLEANAPK) {
            return fusedApp.author.ifEmpty { UNKNOWN }
+37 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019-2023  E FOUNDATION
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

package foundation.e.apps.api.fdroid.models

import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonProperty

@JsonIgnoreProperties(ignoreUnknown = true)
class BuildInfo() {
    var versionCode: String = ""
    var versionName: String = ""

    @JsonCreator
    constructor(
        @JsonProperty("versionCode") versionCode: String?,
        @JsonProperty("versionName") versionName: String?,
    ) : this() {
        this.versionCode = versionCode ?: ""
        this.versionName = versionName ?: ""
    }
}
 No newline at end of file
+6 −1
Original line number Diff line number Diff line
@@ -19,9 +19,14 @@ import com.fasterxml.jackson.annotation.JsonProperty
@JsonIgnoreProperties(ignoreUnknown = true)
class FdroidApiModel() {
    var authorName: String = ""
    var builds: List<BuildInfo> = mutableListOf()

    @JsonCreator
    constructor(@JsonProperty("AuthorName") AuthorName: String?) : this() {
    constructor(
        @JsonProperty("AuthorName") AuthorName: String?,
        @JsonProperty("Builds") Builds: List<BuildInfo>?,
    ) : this() {
        this.authorName = AuthorName ?: ""
        this.builds = Builds ?: emptyList()
    }
}
+3 −0
Original line number Diff line number Diff line
@@ -546,6 +546,9 @@ class FusedAPIImpl @Inject constructor(
        fusedDownload.downloadURLList = list
    }

    suspend fun getOSSDownloadInfo(id: String, version: String?) =
        cleanAPKRepository.getDownloadInfo(id, version)

    suspend fun getPWAApps(category: String): ResultSupreme<List<FusedApp>> {
        val list = mutableListOf<FusedApp>()
        val status = runCodeBlockWithTimeout({
+3 −0
Original line number Diff line number Diff line
@@ -134,6 +134,9 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedAPII
        )
    }

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

    suspend fun getOnDemandModule(
        authData: AuthData,
        packageName: String,
Loading