AppDetailsViewModel: Extract exodus API key and url

Allow it to be overriden easily for different build types

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-11-05 20:09:12 +05:30
parent dadb0a4d53
commit 8024b4a8f0
3 changed files with 8 additions and 5 deletions

View File

@@ -51,6 +51,8 @@ android {
testInstrumentationRunner = "com.aurora.store.HiltInstrumentationTestRunner"
testInstrumentationRunnerArguments["disableAnalytics"] = "true"
buildConfigField("String", "EXODUS_API_KEY", "\"bbe6ebae4ad45a9cbacb17d69739799b8df2c7ae\"")
}
signingConfigs {

View File

@@ -30,6 +30,8 @@ object Constants {
const val EXODUS_SUBMIT_PAGE = "https://reports.exodus-privacy.eu.org/analysis/submit/#"
const val EXODUS_REPORT_URL = "https://reports.exodus-privacy.eu.org/reports/"
const val EXODUS_SEARCH_URL = "https://reports.exodus-privacy.eu.org/api/search/"
const val SHARE_URL = "https://play.google.com/store/apps/details?id="
const val UPDATE_URL_STABLE = "https://gitlab.com/AuroraOSS/AuroraStore/raw/master/updates.json"

View File

@@ -3,6 +3,7 @@ package com.aurora.store.viewmodel.details
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.aurora.Constants
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.Review
import com.aurora.gplayapi.data.models.details.TestingProgramStatus
@@ -10,6 +11,7 @@ import com.aurora.gplayapi.helpers.AppDetailsHelper
import com.aurora.gplayapi.helpers.ReviewsHelper
import com.aurora.gplayapi.helpers.web.WebDataSafetyHelper
import com.aurora.gplayapi.network.IHttpClient
import com.aurora.store.BuildConfig
import com.aurora.store.data.helper.DownloadHelper
import com.aurora.store.data.model.ExodusReport
import com.aurora.store.data.model.Report
@@ -40,9 +42,6 @@ class AppDetailsViewModel @Inject constructor(
private val TAG = AppDetailsViewModel::class.java.simpleName
private val exodusBaseUrl = "https://reports.exodus-privacy.eu.org/api/search/"
private val exodusApiKey = "Token bbe6ebae4ad45a9cbacb17d69739799b8df2c7ae"
private val appStash: MutableMap<String, App> = mutableMapOf()
private val _app = MutableSharedFlow<App>()
val app = _app.asSharedFlow()
@@ -209,9 +208,9 @@ class AppDetailsViewModel @Inject constructor(
val headers: MutableMap<String, String> = mutableMapOf()
headers["Content-Type"] = "application/json"
headers["Accept"] = "application/json"
headers["Authorization"] = exodusApiKey
headers["Authorization"] = "Token ${BuildConfig.EXODUS_API_KEY}"
val url = exodusBaseUrl + packageName
val url = Constants.EXODUS_SEARCH_URL + packageName
val playResponse = httpClient.get(url, headers)
val report = parseExodusResponse(String(playResponse.responseBytes), packageName)