diff --git a/app/build.gradle b/app/build.gradle
index cd6bdee213a3fb3fe117feac5af11f9627e2acf6..66932d30125cf33bf1597c537af203b8c19ecbf1 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -217,6 +217,7 @@ dependencies {
implementation "com.squareup.moshi:moshi-kotlin:1.13.0"
// implementation "com.squareup.moshi:moshi-adapters:1.5.0"
implementation "com.squareup.okhttp3:okhttp:4.9.2"
+ implementation "com.squareup.okhttp3:logging-interceptor:4.9.2"
// JSON Converter
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml
index 3c941c851105b6a522a6f12748266eb03c1da7ea..3ba5196c416ba9b67de5ae7644f64f9e9d9e1466 100644
--- a/app/detekt-baseline.xml
+++ b/app/detekt-baseline.xml
@@ -36,7 +36,7 @@
LongParameterList:ApplicationViewModel.kt$ApplicationViewModel$( id: String, packageName: String, origin: Origin, isFdroidLink: Boolean, authObjectList: List<AuthObject>, retryBlock: (failedObjects: List<AuthObject>) -> Boolean, )
LongParameterList:CleanApkRetrofit.kt$CleanApkRetrofit$( @Query("keyword") keyword: String, @Query("source") source: String = APP_SOURCE_FOSS, @Query("type") type: String = APP_TYPE_ANY, @Query("nres") nres: Int = 20, @Query("page") page: Int = 1, @Query("by") by: String? = null, )
LongParameterList:EglExtensionProvider.kt$EglExtensionProvider$( egl10: EGL10, eglDisplay: EGLDisplay, eglConfig: EGLConfig?, ai: IntArray, ai1: IntArray?, set: MutableSet<String> )
- LongParameterList:MainActivityViewModel.kt$MainActivityViewModel$( private val appLoungeDataStore: AppLoungeDataStore, private val applicationRepository: ApplicationRepository, private val appManagerWrapper: AppManagerWrapper, private val appLoungePackageManager: AppLoungePackageManager, private val pwaManager: PWAManager, private val ecloudRepository: EcloudRepository, private val blockedAppRepository: BlockedAppRepository, private val contentRatingsRepository: ContentRatingsRepository, private val appInstallProcessor: AppInstallProcessor, )
+ LongParameterList:MainActivityViewModel.kt$MainActivityViewModel$( private val appLoungeDataStore: AppLoungeDataStore, private val applicationRepository: ApplicationRepository, private val appManagerWrapper: AppManagerWrapper, private val appLoungePackageManager: AppLoungePackageManager, private val pwaManager: PWAManager, private val ecloudRepository: EcloudRepository, private val blockedAppRepository: BlockedAppRepository, private val googlePlayContentRatingsRepository: GooglePlayContentRatingsRepository, private val appInstallProcessor: AppInstallProcessor, )
LongParameterList:UpdatesManagerImpl.kt$UpdatesManagerImpl$( @ApplicationContext private val context: Context, private val appLoungePackageManager: AppLoungePackageManager, private val applicationRepository: ApplicationRepository, private val faultyAppRepository: FaultyAppRepository, private val appLoungePreference: AppLoungePreference, private val fdroidRepository: FdroidRepository, private val blockedAppRepository: BlockedAppRepository, )
LongParameterList:UpdatesWorker.kt$UpdatesWorker$( @Assisted private val context: Context, @Assisted private val params: WorkerParameters, private val updatesManagerRepository: UpdatesManagerRepository, private val dataStoreManager: DataStoreManager, private val authenticatorRepository: AuthenticatorRepository, private val appInstallProcessor: AppInstallProcessor, private val blockedAppRepository: BlockedAppRepository, )
MagicNumber:AnonymousLoginManager.kt$AnonymousLoginManager$200
diff --git a/app/src/main/java/foundation/e/apps/data/NetworkHandler.kt b/app/src/main/java/foundation/e/apps/data/NetworkHandler.kt
index f5c5cdd50a9099331500746b5aa7f51ba3e1757e..fab3d0367bb4f38724f4fd57058c5ca88041e748 100644
--- a/app/src/main/java/foundation/e/apps/data/NetworkHandler.kt
+++ b/app/src/main/java/foundation/e/apps/data/NetworkHandler.kt
@@ -1,6 +1,5 @@
/*
- * Copyright MURENA SAS 2023
- * Apps Quickly and easily install Android apps onto your device!
+ * Copyright (C) 2024 MURENA SAS
*
* 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
@@ -14,6 +13,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
+ *
*/
package foundation.e.apps.data
diff --git a/app/src/main/java/foundation/e/apps/data/ageRating/AgeGroupApi.kt b/app/src/main/java/foundation/e/apps/data/ageRating/AgeGroupApi.kt
deleted file mode 100644
index 9a3d04694d775fa277161fb51443ca9f1f70c927..0000000000000000000000000000000000000000
--- a/app/src/main/java/foundation/e/apps/data/ageRating/AgeGroupApi.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright MURENA SAS 2024
- * Apps Quickly and easily install Android apps onto your device!
- *
- * 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 .
- *
- */
-
-package foundation.e.apps.data.ageRating
-
-import foundation.e.apps.data.blockedApps.ContentRatingGroup
-import retrofit2.Response
-import retrofit2.http.GET
-
-interface AgeGroupApi {
-
- companion object {
- const val BASE_URL = "https://gitlab.e.foundation/e/os/app-lounge-content-ratings/-/raw/main/"
- }
-
- @GET("content_ratings.json?ref_type=heads")
- suspend fun getDefinedAgeGroups(): Response>
-
-}
diff --git a/app/src/main/java/foundation/e/apps/data/application/data/Application.kt b/app/src/main/java/foundation/e/apps/data/application/data/Application.kt
index 98d8d56c9b2780c6718271ed10d6222b3260ec75..a67c3a9e3bfb44c649d7ebccb9413e139bb86cc5 100644
--- a/app/src/main/java/foundation/e/apps/data/application/data/Application.kt
+++ b/app/src/main/java/foundation/e/apps/data/application/data/Application.kt
@@ -101,8 +101,11 @@ data class Application(
var filterLevel: FilterLevel = FilterLevel.UNKNOWN,
var isGplayReplaced: Boolean = false,
@SerializedName(value = "on_fdroid")
- val isFDroidApp: Boolean = false,
- var contentRating: ContentRating = ContentRating()
+ private val isFDroidAppBackingField: Boolean? = null,
+ val isFDroidApp: Boolean = isFDroidAppBackingField ?: isFDroid(type, origin),
+ var contentRating: ContentRating = ContentRating(),
+ @SerializedName(value = "antifeatures")
+ val antiFeatures: List