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

Commit 3694edfe authored by Hasib Prince's avatar Hasib Prince
Browse files

zero privacy score for some apps

parent 454105ff
Loading
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -20,4 +20,7 @@ package foundation.e.apps.data.blockedApps

import com.google.gson.annotations.SerializedName

data class AppWarningInfo(@SerializedName("not_working_apps") val notWorkingApps: List<String>)
data class AppWarningInfo(
    @SerializedName("not_working_apps") val notWorkingApps: List<String>,
    @SerializedName("zero_privacy_apps") val zeroPrivacyApps: List<String>
)
+4 −1
Original line number Diff line number Diff line
@@ -50,6 +50,9 @@ class BlockedAppRepository @Inject constructor(
    fun isBlockedApp(packageName: String) =
        blockedAppInfoList?.notWorkingApps?.contains(packageName) ?: false

    fun isPrivacyScoreZero(packageName: String) =
        blockedAppInfoList?.zeroPrivacyApps?.contains(packageName) ?: false

    suspend fun fetchUpdateOfAppWarningList(): Boolean =
        suspendCancellableCoroutine { continuation ->
            downloadManager.downloadFileInCache(
@@ -75,7 +78,7 @@ class BlockedAppRepository @Inject constructor(
            gson.fromJson(blockedAppInfoJson, AppWarningInfo::class.java)
        } catch (exception: Exception) {
            Timber.e(exception.localizedMessage ?: "", exception)
            AppWarningInfo(listOf())
            AppWarningInfo(listOf(), listOf())
        }
    }
}
+8 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
package foundation.e.apps.data.exodus.repositories

import foundation.e.apps.data.application.data.Application
import foundation.e.apps.data.blockedApps.BlockedAppRepository
import foundation.e.apps.di.CommonUtilsModule
import javax.inject.Inject
import javax.inject.Singleton
@@ -26,9 +27,15 @@ import kotlin.math.ceil
import kotlin.math.round

@Singleton
class PrivacyScoreRepositoryImpl @Inject constructor() : PrivacyScoreRepository {
class PrivacyScoreRepositoryImpl @Inject constructor(
    private val blockedAppRepository: BlockedAppRepository
) : PrivacyScoreRepository {

    override fun calculatePrivacyScore(application: Application): Int {
        if (blockedAppRepository.isPrivacyScoreZero(application.package_name)) {
            return 0
        }

        if (application.permsFromExodus == CommonUtilsModule.LIST_OF_NULL) {
            return -1
        }