diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml index fb141cb442671e3ac98f91c79de69b649fc9418a..1079e691f83bcb7d8cb4ea32ed478780b165cb57 100644 --- a/app/detekt-baseline.xml +++ b/app/detekt-baseline.xml @@ -119,58 +119,6 @@ MaximumLineLength:UpdatesNotifier.kt$UpdatesNotifier$ MaximumLineLength:UpdatesWorker.kt$UpdatesWorker$ MayBeConst:EcloudApiInterface.kt$EcloudApiInterface.Companion$val BASE_URL = "https://eu.gtoken.ecloud.global/" - MultiLineIfElse:AC2DMTask.kt$AC2DMTask$return PlayResponse() - MultiLineIfElse:AnonymousLoginManager.kt$AnonymousLoginManager$"" - MultiLineIfElse:AnonymousLoginManager.kt$AnonymousLoginManager$"\nError message: $this" - MultiLineIfElse:AppLoungeDataStore.kt$AppLoungeDataStore$User.UNAVAILABLE - MultiLineIfElse:AppLoungeDataStore.kt$AppLoungeDataStore$User.valueOf(this) - MultiLineIfElse:AppLoungeDataStore.kt$AppLoungeDataStore$it.remove(AUTHDATA) - MultiLineIfElse:AppLoungeDataStore.kt$AppLoungeDataStore$it.remove(USERTYPE) - MultiLineIfElse:AppLoungeDataStore.kt$AppLoungeDataStore$it[AUTHDATA] = json.encodeToString(authData) - MultiLineIfElse:AppLoungeDataStore.kt$AppLoungeDataStore$it[USERTYPE] = user.name - MultiLineIfElse:AppLoungePackageManager.kt$AppLoungePackageManager$PendingIntent.FLAG_UPDATE_CURRENT - MultiLineIfElse:AppLoungePackageManager.kt$AppLoungePackageManager$PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE - MultiLineIfElse:AppTag.kt$AppTag$"Open Source" - MultiLineIfElse:AppTag.kt$AppTag$this::class.java.simpleName - MultiLineIfElse:ApplicationFragment.kt$ApplicationFragment$getString(R.string.not_available) - MultiLineIfElse:ApplicationFragment.kt$ApplicationFragment$getString(R.string.update) - MultiLineIfElse:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$View.INVISIBLE - MultiLineIfElse:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$View.VISIBLE - MultiLineIfElse:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$context.getString(R.string.not_available) - MultiLineIfElse:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$context.getString(R.string.update) - MultiLineIfElse:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$view.context.getString(R.string.retry) - MultiLineIfElse:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$view.context.getText(R.string.update) - MultiLineIfElse:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$width = maxAllowedWidth - MultiLineIfElse:ApplicationListViewModel.kt$ApplicationListViewModel$CleanApkException( result.isTimeout(), result.message.ifBlank { "Data load error" } ) - MultiLineIfElse:ApplicationListViewModel.kt$ApplicationListViewModel$GPlayException( result.isTimeout(), result.message.ifBlank { "Data load error" } ) - MultiLineIfElse:CategoriesViewModel.kt$CategoriesViewModel$CleanApkException( data.status == ResultStatus.TIMEOUT, data.status.message.ifBlank { "Data load error" } ) - MultiLineIfElse:CategoriesViewModel.kt$CategoriesViewModel$GPlayException( data.status == ResultStatus.TIMEOUT, data.status.message.ifBlank { "Data load error" } ) - MultiLineIfElse:CategoryUtils.kt$CategoryUtils$category.id - MultiLineIfElse:CategoryUtils.kt$CategoryUtils$category.title - MultiLineIfElse:GplayApiExtensions.kt$-1.0 - MultiLineIfElse:HomeChildRVAdapter.kt$HomeChildRVAdapter$context.getString(R.string.not_available) - MultiLineIfElse:HomeChildRVAdapter.kt$HomeChildRVAdapter$context.getString(R.string.update) - MultiLineIfElse:MaterialButtonUtils.kt$ContextCompat.getColorStateList(this.context, android.R.color.transparent) - MultiLineIfElse:NativeDeviceInfoProviderModule.kt$NativeDeviceInfoProviderModule$"unknown" - MultiLineIfElse:NativeDeviceInfoProviderModule.kt$NativeDeviceInfoProviderModule$Build.getRadioVersion() - MultiLineIfElse:NativeGsfVersionProvider.kt$NativeGsfVersionProvider$GOOGLE_SERVICES_VERSION_CODE - MultiLineIfElse:NativeGsfVersionProvider.kt$NativeGsfVersionProvider$gsfVersionCode - MultiLineIfElse:PlayStoreAuthenticator.kt$PlayStoreAuthenticator$ResultSupreme.Success(formatAuthData(this.data!!)) - MultiLineIfElse:PlayStoreAuthenticator.kt$PlayStoreAuthenticator$it.data!! - MultiLineIfElse:PlayStoreAuthenticator.kt$PlayStoreAuthenticator$null - MultiLineIfElse:PlayStoreAuthenticator.kt$PlayStoreAuthenticator$return AuthObject.GPlayAuth(it, user) - MultiLineIfElse:PlayStoreAuthenticator.kt$PlayStoreAuthenticator$this - MultiLineIfElse:PlayStoreAuthenticator.kt$PlayStoreAuthenticator$try { json.decodeFromString<AuthData>(authJson) } catch (e: Exception) { e.printStackTrace() null } - MultiLineIfElse:PlayStoreRepository.kt$PlayStoreRepository$Category.Type.APPLICATION - MultiLineIfElse:PlayStoreRepository.kt$PlayStoreRepository$Category.Type.GAME - MultiLineIfElse:PrivacyInfoViewModel.kt$PrivacyInfoViewModel$appPrivacyPrivacyInfoResult - MultiLineIfElse:PrivacyScoreRepositoryImpl.kt$PrivacyScoreRepositoryImpl$MIN_PERMISSION_SCORE - MultiLineIfElse:PrivacyScoreRepositoryImpl.kt$PrivacyScoreRepositoryImpl$round( FACTOR_OF_PERMISSION_SCORE * ceil((MAX_PERMISSION_SCORE - numberOfPermission) / DIVIDER_OF_PERMISSION_SCORE) ).toInt() - MultiLineIfElse:SearchRepositoryImpl.kt$SearchRepositoryImpl$ResultSupreme.Error( message = "", exception = GPlayIOException("Unable to reach Google Play API") ) - MultiLineIfElse:SearchViewModel.kt$SearchViewModel$emptyList() - MultiLineIfElse:SearchViewModel.kt$SearchViewModel$searchRepository.getSearchSuggestions(it) - MultiLineIfElse:SettingsFragment.kt$SettingsFragment$true - MultiLineIfElse:ValidateAppAgeLimitUseCase.kt$ValidateAppAgeLimitUseCase$fetchedContentRating NoWildcardImports:SystemAppsUpdatesRepository.kt$import foundation.e.apps.data.gitlab.UpdatableSystemAppsApi.* PrintStackTrace:AppPrivacyInfoRepositoryImpl.kt$AppPrivacyInfoRepositoryImpl$e PrintStackTrace:CommonUtilsModule.kt$CommonUtilsModule$e diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchRepositoryImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchRepositoryImpl.kt index 8287790d90b81d61cbff40d344c71346ada3b884..97c68bfa7277f72af9a1d92a86c80a06690afe0b 100644 --- a/app/src/main/java/foundation/e/apps/data/application/search/SearchRepositoryImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchRepositoryImpl.kt @@ -259,13 +259,15 @@ class SearchRepositoryImpl @Inject constructor( } return@handleNetworkResult Pair(apps.toList(), true) - } - - return if (result.isSuccess()) { - ResultSupreme.Success(result.data as Pair, Boolean>) - } else ResultSupreme.Error( - message = "", - exception = GPlayIOException("Unable to reach Google Play API") - ) - } -} + } + + return if (result.isSuccess()) { + ResultSupreme.Success(result.data as Pair, Boolean>) + } else { + ResultSupreme.Error( + message = "", + exception = GPlayIOException("Unable to reach Google Play API") + ) + } + } +} diff --git a/app/src/main/java/foundation/e/apps/data/application/utils/CategoryUtils.kt b/app/src/main/java/foundation/e/apps/data/application/utils/CategoryUtils.kt index 5908cf2898f9afec3875c28f9306cd46ff405df8..7806e6e9c4bcfdddb9457a40547ebdff8620bcae 100644 --- a/app/src/main/java/foundation/e/apps/data/application/utils/CategoryUtils.kt +++ b/app/src/main/java/foundation/e/apps/data/application/utils/CategoryUtils.kt @@ -129,16 +129,18 @@ object CategoryUtils { } else { categories.translations.getOrDefault(category, "") } - } - - fun getCategoryIconName(category: Category): String { - var categoryTitle = - if (category.tag.getOperationalTag().contentEquals(AppTag.GPlay().getOperationalTag())) - category.id else category.title - - if (categoryTitle.contains(CATEGORY_TITLE_REPLACEABLE_CONJUNCTION)) { - categoryTitle = categoryTitle.replace( - CATEGORY_TITLE_REPLACEABLE_CONJUNCTION, + } + + fun getCategoryIconName(category: Category): String { + var categoryTitle = if (category.tag.getOperationalTag().contentEquals(AppTag.GPlay().getOperationalTag())) { + category.id + } else { + category.title + } + + if (categoryTitle.contains(CATEGORY_TITLE_REPLACEABLE_CONJUNCTION)) { + categoryTitle = categoryTitle.replace( + CATEGORY_TITLE_REPLACEABLE_CONJUNCTION, CATEGORY_TITLE_CONJUNCTION ) } diff --git a/app/src/main/java/foundation/e/apps/data/application/utils/GplayApiExtensions.kt b/app/src/main/java/foundation/e/apps/data/application/utils/GplayApiExtensions.kt index a1052a0176008e4da31cf0790354ea38ad7eb1c1..1092662d808e7db7cf6480ac0cfefb24c561053e 100644 --- a/app/src/main/java/foundation/e/apps/data/application/utils/GplayApiExtensions.kt +++ b/app/src/main/java/foundation/e/apps/data/application/utils/GplayApiExtensions.kt @@ -41,11 +41,12 @@ fun App.toApplication(context: Context): Application { other_images_path = this.screenshots.toList().map { it.url }, package_name = this.packageName, ratings = Ratings( - usageQualityScore = - this.labeledRating.run { + usageQualityScore = this.labeledRating.run { if (isNotEmpty()) { - this.replace(",", ".").toDoubleOrNull() ?: -1.0 - } else -1.0 + replace(",", ".").toDoubleOrNull() ?: -1.0 + } else { + -1.0 + } } ), offer_type = this.offerType, diff --git a/app/src/main/java/foundation/e/apps/data/enums/AppTag.kt b/app/src/main/java/foundation/e/apps/data/enums/AppTag.kt index 2b16116558e2b324e2684dbb6d35108d72c3e032..a6e3f49ec59cc1f6d8601056d0c5efd099f8c2c7 100644 --- a/app/src/main/java/foundation/e/apps/data/enums/AppTag.kt +++ b/app/src/main/java/foundation/e/apps/data/enums/AppTag.kt @@ -35,7 +35,10 @@ sealed class AppTag(val displayTag: String) { * This method allows for all those check to work without modification. */ fun getOperationalTag(): String { - return if (this is OpenSource) "Open Source" - else this::class.java.simpleName + return if (this is OpenSource) { + "Open Source" + } else { + this::class.java.simpleName + } } } diff --git a/app/src/main/java/foundation/e/apps/data/exodus/repositories/PrivacyScoreRepositoryImpl.kt b/app/src/main/java/foundation/e/apps/data/exodus/repositories/PrivacyScoreRepositoryImpl.kt index 94a08f07d1f3f95ac76608ebb9f525d1ae7fad0b..2e29414c9c6328f4386945bb572f301b6fab927d 100644 --- a/app/src/main/java/foundation/e/apps/data/exodus/repositories/PrivacyScoreRepositoryImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/exodus/repositories/PrivacyScoreRepositoryImpl.kt @@ -46,13 +46,22 @@ class PrivacyScoreRepositoryImpl @Inject constructor( } private fun calculateTrackersScore(numberOfTrackers: Int): Int { - return if (numberOfTrackers > THRESHOLD_OF_NON_ZERO_TRACKER_SCORE) MIN_TRACKER_SCORE else MAX_TRACKER_SCORE - numberOfTrackers + return if (numberOfTrackers > THRESHOLD_OF_NON_ZERO_TRACKER_SCORE) { + MIN_TRACKER_SCORE + } else { + MAX_TRACKER_SCORE - numberOfTrackers + } } private fun calculatePermissionsScore(numberOfPermission: Int): Int { - return if (numberOfPermission > THRESHOLD_OF_NON_ZERO_PERMISSION_SCORE) MIN_PERMISSION_SCORE else round( - FACTOR_OF_PERMISSION_SCORE * ceil((MAX_PERMISSION_SCORE - numberOfPermission) / DIVIDER_OF_PERMISSION_SCORE) - ).toInt() + return if (numberOfPermission > THRESHOLD_OF_NON_ZERO_PERMISSION_SCORE) { + MIN_PERMISSION_SCORE + } else { + val permissionScore = FACTOR_OF_PERMISSION_SCORE * ceil( + (MAX_PERMISSION_SCORE - numberOfPermission) / DIVIDER_OF_PERMISSION_SCORE + ) + round(permissionScore).toInt() + } } // please do not put in the top of the class, as it can break the privacy calculation source code link. diff --git a/app/src/main/java/foundation/e/apps/data/login/PlayStoreAuthenticator.kt b/app/src/main/java/foundation/e/apps/data/login/PlayStoreAuthenticator.kt index 4eb56a63936c12c0c1293456ba04e836a899f969..81ac813b0d7325e183d571855c3be91f0a4d2c44 100644 --- a/app/src/main/java/foundation/e/apps/data/login/PlayStoreAuthenticator.kt +++ b/app/src/main/java/foundation/e/apps/data/login/PlayStoreAuthenticator.kt @@ -88,9 +88,12 @@ class PlayStoreAuthenticator @Inject constructor( generateAuthData() } - result?.let { - if (it.isSuccess()) it.data!! - else return AuthObject.GPlayAuth(it, user) + result?.let { authResult -> + if (authResult.isSuccess()) { + authResult.data!! + } else { + return AuthObject.GPlayAuth(authResult, user) + } } } @@ -119,12 +122,15 @@ class PlayStoreAuthenticator @Inject constructor( */ private fun getSavedAuthData(): AuthData? { val authJson = appLoungeDataStore.authData.getSync() - return if (authJson.isBlank()) null - else try { - json.decodeFromString(authJson) - } catch (e: Exception) { - e.printStackTrace() + return if (authJson.isBlank()) { null + } else { + try { + json.decodeFromString(authJson) + } catch (e: Exception) { + e.printStackTrace() + null + } } } @@ -154,8 +160,11 @@ class PlayStoreAuthenticator @Inject constructor( private suspend fun getAuthDataAnonymously(): ResultSupreme { return loginWrapper.login(locale).run { - if (isSuccess()) ResultSupreme.Success(formatAuthData(this.data!!)) - else this + if (isSuccess()) { + ResultSupreme.Success(formatAuthData(this.data!!)) + } else { + this + } } } @@ -200,8 +209,11 @@ class PlayStoreAuthenticator @Inject constructor( */ appLoungeDataStore.saveAasToken(aasTokenFetched) return loginWrapper.login(locale).run { - if (isSuccess()) ResultSupreme.Success(formatAuthData(this.data!!)) - else this + if (isSuccess()) { + ResultSupreme.Success(formatAuthData(this.data!!)) + } else { + this + } } } diff --git a/app/src/main/java/foundation/e/apps/data/login/api/AnonymousLoginManager.kt b/app/src/main/java/foundation/e/apps/data/login/api/AnonymousLoginManager.kt index 08f81649e7dc16eefcadc048e1c6182e87d78bbd..566a35361bc3c65fb29f1d6d65b2c9018ac0f426 100644 --- a/app/src/main/java/foundation/e/apps/data/login/api/AnonymousLoginManager.kt +++ b/app/src/main/java/foundation/e/apps/data/login/api/AnonymousLoginManager.kt @@ -54,10 +54,7 @@ class AnonymousLoginManager( "Error fetching Anonymous credentials\n" + "Network code: ${response.code}\n" + "Success: ${response.isSuccessful}" + - response.errorString.run { - if (isNotBlank()) "\nError message: $this" - else "" - } + response.errorString.run { if (isNotBlank()) "\nError message: $this" else "" } ) } else { val auth = json.decodeFromString(String(response.responseBytes)) diff --git a/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepository.kt b/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepository.kt index 2775e3291203f663162d819acd2312629946842f..7e90fa169ebbcd95a1d7545b70ef55a1ce0eb288 100644 --- a/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepository.kt +++ b/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepository.kt @@ -228,8 +228,11 @@ class PlayStoreRepository @Inject constructor( } private fun getCategoryType(type: CategoryType): Category.Type { - return if (type == CategoryType.APPLICATION) Category.Type.APPLICATION - else Category.Type.GAME + return if (type == CategoryType.APPLICATION) { + Category.Type.APPLICATION + } else { + Category.Type.GAME + } } private suspend fun getTopApps( diff --git a/app/src/main/java/foundation/e/apps/data/playstore/utils/AC2DMTask.kt b/app/src/main/java/foundation/e/apps/data/playstore/utils/AC2DMTask.kt index f1e3eb3eb785c80a96759fdc4dc492a0460509b0..379a571b37f75664ab59b65ac1df165ce12401fb 100644 --- a/app/src/main/java/foundation/e/apps/data/playstore/utils/AC2DMTask.kt +++ b/app/src/main/java/foundation/e/apps/data/playstore/utils/AC2DMTask.kt @@ -34,8 +34,9 @@ class AC2DMTask @Inject constructor( } fun getAC2DMResponse(email: String?, oAuthToken: String?): PlayResponse { - if (email == null || oAuthToken == null) + if (email == null || oAuthToken == null) { return PlayResponse() + } val params: MutableMap = hashMapOf() params["lang"] = Locale.getDefault().toString().replace("_", "-") diff --git a/app/src/main/java/foundation/e/apps/data/playstore/utils/NativeDeviceInfoProviderModule.kt b/app/src/main/java/foundation/e/apps/data/playstore/utils/NativeDeviceInfoProviderModule.kt index 7de6c0cf616d7f1a0decc93910f441d4619b4b87..b5b86fa8c24c16dad4b77a26dd92623abbcabc8b 100644 --- a/app/src/main/java/foundation/e/apps/data/playstore/utils/NativeDeviceInfoProviderModule.kt +++ b/app/src/main/java/foundation/e/apps/data/playstore/utils/NativeDeviceInfoProviderModule.kt @@ -109,15 +109,16 @@ object NativeDeviceInfoProviderModule { } private fun Properties.setBuildProperties() { - setProperty("UserReadableName", "${Build.DEVICE}-default") - setProperty("Build.HARDWARE", Build.HARDWARE) - setProperty( - "Build.RADIO", - if (Build.getRadioVersion() != null) - Build.getRadioVersion() - else - "unknown" - ) + setProperty("UserReadableName", "${Build.DEVICE}-default") + setProperty("Build.HARDWARE", Build.HARDWARE) + setProperty( + "Build.RADIO", + if (Build.getRadioVersion() != null) { + Build.getRadioVersion() + } else { + "unknown" + } + ) setProperty("Build.FINGERPRINT", Build.FINGERPRINT) setProperty("Build.BRAND", Build.BRAND) setProperty("Build.DEVICE", Build.DEVICE) diff --git a/app/src/main/java/foundation/e/apps/data/playstore/utils/NativeGsfVersionProvider.kt b/app/src/main/java/foundation/e/apps/data/playstore/utils/NativeGsfVersionProvider.kt index 9207c00699452201b2ec947cb1573b3320451cdc..39b08e550d396e4cfdaf096ca69690a34b16db15 100644 --- a/app/src/main/java/foundation/e/apps/data/playstore/utils/NativeGsfVersionProvider.kt +++ b/app/src/main/java/foundation/e/apps/data/playstore/utils/NativeGsfVersionProvider.kt @@ -34,14 +34,15 @@ class NativeGsfVersionProvider(context: Context) { } catch (e: PackageManager.NameNotFoundException) { // com.google.android.gms not found } - } - - fun getGsfVersionCode(defaultIfNotFound: Boolean): Long { - return if (defaultIfNotFound && gsfVersionCode < GOOGLE_SERVICES_VERSION_CODE) - GOOGLE_SERVICES_VERSION_CODE - else - gsfVersionCode - } + } + + fun getGsfVersionCode(defaultIfNotFound: Boolean): Long { + return if (defaultIfNotFound && gsfVersionCode < GOOGLE_SERVICES_VERSION_CODE) { + GOOGLE_SERVICES_VERSION_CODE + } else { + gsfVersionCode + } + } fun getVendingVersionCode(): Long { return GOOGLE_VENDING_VERSION_CODE diff --git a/app/src/main/java/foundation/e/apps/data/preference/AppLoungeDataStore.kt b/app/src/main/java/foundation/e/apps/data/preference/AppLoungeDataStore.kt index 01e68f0731dde01e99f5c802b9d54db52ade2299..0458f0343174674479856826eb9df515fbda2677 100644 --- a/app/src/main/java/foundation/e/apps/data/preference/AppLoungeDataStore.kt +++ b/app/src/main/java/foundation/e/apps/data/preference/AppLoungeDataStore.kt @@ -84,8 +84,11 @@ class AppLoungeDataStore @Inject constructor( */ suspend fun saveAuthData(authData: AuthData?) { context.dataStore.edit { - if (authData == null) it.remove(AUTHDATA) - else it[AUTHDATA] = json.encodeToString(authData) + if (authData == null) { + it.remove(AUTHDATA) + } else { + it[AUTHDATA] = json.encodeToString(authData) + } } } @@ -129,17 +132,22 @@ class AppLoungeDataStore @Inject constructor( */ suspend fun saveUserType(user: User?) { context.dataStore.edit { - if (user == null) it.remove(USERTYPE) - else it[USERTYPE] = user.name + if (user == null) { + it.remove(USERTYPE) + } else { + it[USERTYPE] = user.name + } } } fun getUser(): User { return runBlocking { - userType.first().run { - val userStrings = User.values().map { it.name } - if (this !in userStrings) User.UNAVAILABLE - else User.valueOf(this) + val type = userType.first() + val userStrings = User.values().map { it.name } + if (type !in userStrings) { + User.UNAVAILABLE + } else { + User.valueOf(type) } } } diff --git a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt index ee545317e193f875fc233476b8ff4ccfa43b1ee9..e1d31c09b276663396040625f8e1a3524af44b7c 100644 --- a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt +++ b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt @@ -170,7 +170,9 @@ class ValidateAppAgeLimitUseCase @Inject constructor( id = contentRatingDb?.ratingId ?: "", title = contentRatingDb?.ratingTitle ?: "", ) - } else fetchedContentRating + } else { + fetchedContentRating + } } return app.contentRating.title.isNotEmpty() && diff --git a/app/src/main/java/foundation/e/apps/install/pkg/AppLoungePackageManager.kt b/app/src/main/java/foundation/e/apps/install/pkg/AppLoungePackageManager.kt index 0c6502f36ce688a50701905e183d5a854b246f48..984b4a63f215a7fd980c8a5feb37df0482dda152 100644 --- a/app/src/main/java/foundation/e/apps/install/pkg/AppLoungePackageManager.kt +++ b/app/src/main/java/foundation/e/apps/install/pkg/AppLoungePackageManager.kt @@ -183,9 +183,11 @@ class AppLoungePackageManager @Inject constructor( val callBackIntent = Intent(context, InstallerService::class.java) callBackIntent.putExtra(PACKAGE_NAME, packageName) - val flags = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) - PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE else + val flags = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE + } else { PendingIntent.FLAG_UPDATE_CURRENT + } val servicePendingIntent = PendingIntent.getService( context, sessionId, diff --git a/app/src/main/java/foundation/e/apps/ui/PrivacyInfoViewModel.kt b/app/src/main/java/foundation/e/apps/ui/PrivacyInfoViewModel.kt index 3dfcb2fc61a013a2c3feb0b62e8ee2523a2a135f..42e3f10d1dd4fa64ff662f9b5f32a18e308e85e4 100644 --- a/app/src/main/java/foundation/e/apps/ui/PrivacyInfoViewModel.kt +++ b/app/src/main/java/foundation/e/apps/ui/PrivacyInfoViewModel.kt @@ -78,7 +78,9 @@ class PrivacyInfoViewModel @Inject constructor( ): Result { return if (!appPrivacyPrivacyInfoResult.isSuccess()) { Result.error("Tracker not found!") - } else appPrivacyPrivacyInfoResult + } else { + appPrivacyPrivacyInfoResult + } } fun getPrivacyScore(application: Application?): Int { diff --git a/app/src/main/java/foundation/e/apps/ui/application/ApplicationFragment.kt b/app/src/main/java/foundation/e/apps/ui/application/ApplicationFragment.kt index c12a8cc5808201c6755c10e7f40ea444a817916c..99a0d9fb63a0c4e7a43d2002635abfa28b5958dc 100644 --- a/app/src/main/java/foundation/e/apps/ui/application/ApplicationFragment.kt +++ b/app/src/main/java/foundation/e/apps/ui/application/ApplicationFragment.kt @@ -901,9 +901,11 @@ class ApplicationFragment : TimeoutFragment(R.layout.fragment_application) { ) { installButton.apply { enableInstallButton(R.string.not_available) - text = if (mainActivityViewModel.checkUnsupportedApplication(application)) + text = if (mainActivityViewModel.checkUnsupportedApplication(application)) { getString(R.string.not_available) - else getString(R.string.update) + } else { + getString(R.string.update) + } setTextColor(Color.WHITE) backgroundTintList = ContextCompat.getColorStateList(view.context, R.color.colorAccent) diff --git a/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt index 6a0ab95ed54cb71d05a44bb55d383cfe4c99a424..99ead0c113b5d8783a0212f1bb78d2a450099815 100644 --- a/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt +++ b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt @@ -116,8 +116,7 @@ class ApplicationListRVAdapter( if (searchApp.isPlaceHolder) { val progressBar = holder.binding.placeholderProgressBar holder.binding.root.children.forEach { - it.visibility = if (it != progressBar) View.INVISIBLE - else View.VISIBLE + it.visibility = if (it != progressBar) View.INVISIBLE else View.VISIBLE } onPlaceHolderShow?.invoke() // Do not process anything else for this entry @@ -125,8 +124,7 @@ class ApplicationListRVAdapter( } else { val progressBar = holder.binding.placeholderProgressBar holder.binding.root.children.forEach { - it.visibility = if (it != progressBar) View.VISIBLE - else View.INVISIBLE + it.visibility = if (it != progressBar) View.VISIBLE else View.INVISIBLE } } @@ -156,8 +154,9 @@ class ApplicationListRVAdapter( item.post { val maxAllowedWidth = item.measuredWidth / 2 installButton.apply { - if (width > maxAllowedWidth) + if (width > maxAllowedWidth) { width = maxAllowedWidth + } } } } @@ -350,10 +349,11 @@ class ApplicationListRVAdapter( faultyAppResult: Pair, view: View ) = - if (faultyAppResult.second.contentEquals(InstallerService.INSTALL_FAILED_UPDATE_INCOMPATIBLE)) + if (faultyAppResult.second.contentEquals(InstallerService.INSTALL_FAILED_UPDATE_INCOMPATIBLE)) { view.context.getText(R.string.update) - else + } else { view.context.getString(R.string.retry) + } private fun ApplicationListItemBinding.handleBlocked(view: View) { installButton.apply { @@ -452,8 +452,11 @@ class ApplicationListRVAdapter( holder.isPurchasedLiveData.observe(lifecycleOwner!!) { materialButton.enableInstallButton() applicationListItemBinding.progressBarInstall.visibility = View.GONE - materialButton.text = - if (it) materialButton.context.getString(R.string.install) else searchApp.price + materialButton.text = if (it) { + materialButton.context.getString(R.string.install) + } else { + searchApp.price + } } } } @@ -464,9 +467,11 @@ class ApplicationListRVAdapter( ) { installButton.apply { enableInstallButton(Status.UPDATABLE) - text = if (mainActivityViewModel.checkUnsupportedApplication(searchApp)) + text = if (mainActivityViewModel.checkUnsupportedApplication(searchApp)) { context.getString(R.string.not_available) - else context.getString(R.string.update) + } else { + context.getString(R.string.update) + } setOnClickListener { if (mainActivityViewModel.checkUnsupportedApplication(searchApp, context)) { return@setOnClickListener diff --git a/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListViewModel.kt b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListViewModel.kt index 72afda213597f2e039c3f3626deaadbf42e68ed8..3f91723a97fc1172de02b2ac8341a60349c46a51 100644 --- a/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListViewModel.kt +++ b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListViewModel.kt @@ -68,14 +68,17 @@ class ApplicationListViewModel @Inject constructor( } if (!result.isSuccess()) { - val exception = - if (isCleanApk) CleanApkException( + val exception = if (isCleanApk) { + CleanApkException( result.isTimeout(), result.message.ifBlank { "Data load error" } - ) else GPlayException( + ) + } else { + GPlayException( result.isTimeout(), result.message.ifBlank { "Data load error" } ) + } exceptions.add(exception) exceptionsLiveData.postValue(exceptions) } diff --git a/app/src/main/java/foundation/e/apps/ui/categories/CategoriesViewModel.kt b/app/src/main/java/foundation/e/apps/ui/categories/CategoriesViewModel.kt index 90c6334f2ad292f0209f54cafc1ccea74dde3dc9..a8d718227d0b3e71ecfcf0caae6fb237f43a6e34 100644 --- a/app/src/main/java/foundation/e/apps/ui/categories/CategoriesViewModel.kt +++ b/app/src/main/java/foundation/e/apps/ui/categories/CategoriesViewModel.kt @@ -50,13 +50,17 @@ class CategoriesViewModel @Inject constructor( for (data in categoriesData) { if (data.status != ResultStatus.OK) { - val error = if (data.source == Source.PLAY_STORE) GPlayException( - data.status == ResultStatus.TIMEOUT, - data.status.message.ifBlank { "Data load error" } - ) else CleanApkException( - data.status == ResultStatus.TIMEOUT, - data.status.message.ifBlank { "Data load error" } - ) + val error = if (data.source == Source.PLAY_STORE) { + GPlayException( + data.status == ResultStatus.TIMEOUT, + data.status.message.ifBlank { "Data load error" } + ) + } else { + CleanApkException( + data.status == ResultStatus.TIMEOUT, + data.status.message.ifBlank { "Data load error" } + ) + } exceptions.add(error) continue } diff --git a/app/src/main/java/foundation/e/apps/ui/home/model/HomeChildRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/home/model/HomeChildRVAdapter.kt index 39507124cb992243a46b48e4ebe9e542bc0411aa..3b9ff70eed9045d8e3cdb95d1dc61e43cc918907 100644 --- a/app/src/main/java/foundation/e/apps/ui/home/model/HomeChildRVAdapter.kt +++ b/app/src/main/java/foundation/e/apps/ui/home/model/HomeChildRVAdapter.kt @@ -215,9 +215,11 @@ class HomeChildRVAdapter( ) { installButton.apply { enableInstallButton(Status.UPDATABLE) - text = if (mainActivityViewModel.checkUnsupportedApplication(homeApp)) + text = if (mainActivityViewModel.checkUnsupportedApplication(homeApp)) { context.getString(R.string.not_available) - else context.getString(R.string.update) + } else { + context.getString(R.string.update) + } setOnClickListener { if (mainActivityViewModel.checkUnsupportedApplication(homeApp, context)) { return@setOnClickListener @@ -270,8 +272,11 @@ class HomeChildRVAdapter( appInfoFetchViewModel.isAppPurchased(homeApp).observe(it) { homeChildListItemBinding.progressBarInstall.visibility = View.GONE materialButton.enableInstallButton() - materialButton.text = - if (it) materialButton.context.getString(R.string.install) else homeApp.price + materialButton.text = if (it) { + materialButton.context.getString(R.string.install) + } else { + homeApp.price + } } } } diff --git a/app/src/main/java/foundation/e/apps/ui/search/SearchViewModel.kt b/app/src/main/java/foundation/e/apps/ui/search/SearchViewModel.kt index 64dc8a82a71d3dcaf982530022bbf45ac2b56e5b..dc486f733035a6b300092599a230b4f6ecfa344b 100644 --- a/app/src/main/java/foundation/e/apps/ui/search/SearchViewModel.kt +++ b/app/src/main/java/foundation/e/apps/ui/search/SearchViewModel.kt @@ -96,10 +96,7 @@ class SearchViewModel @Inject constructor( @OptIn(FlowPreview::class, ExperimentalCoroutinesApi::class) val searchSuggestions: StateFlow> = query .debounce(SEARCH_DEBOUNCE_DELAY_MILLIS) - .mapLatest { - if (it.isBlank()) emptyList() - else searchRepository.getSearchSuggestions(it) - } + .mapLatest { if (it.isBlank()) emptyList() else searchRepository.getSearchSuggestions(it) } .distinctUntilChanged() .stateIn(viewModelScope, SharingStarted.WhileSubscribed(), emptyList()) diff --git a/app/src/main/java/foundation/e/apps/ui/settings/SettingsFragment.kt b/app/src/main/java/foundation/e/apps/ui/settings/SettingsFragment.kt index 1240ebe67c553594a57335aafb4adb79de2219a0..95731e092da2e6660d0f1e455face9499297c795 100644 --- a/app/src/main/java/foundation/e/apps/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/foundation/e/apps/ui/settings/SettingsFragment.kt @@ -169,7 +169,9 @@ class SettingsFragment : PreferenceFragmentCompat() { Toast.LENGTH_SHORT ).show() false - } else true + } else { + true + } } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/app/src/main/java/foundation/e/apps/utils/MaterialButtonUtils.kt b/app/src/main/java/foundation/e/apps/utils/MaterialButtonUtils.kt index 6e1ff37456e1ff7f74f137dbce4c1fc1645f2cc8..cde1c27a8086f17f1f42b8f32f0da49c1661d7a4 100644 --- a/app/src/main/java/foundation/e/apps/utils/MaterialButtonUtils.kt +++ b/app/src/main/java/foundation/e/apps/utils/MaterialButtonUtils.kt @@ -42,8 +42,9 @@ private fun MaterialButton.toggleEnableMaterialButton(isEnabled: Boolean, status private fun MaterialButton.getBackgroundTintList(status: Status?) = if (status == Status.INSTALLED || status == Status.UPDATABLE) { ContextCompat.getColorStateList(this.context, R.color.colorAccent) - } else + } else { ContextCompat.getColorStateList(this.context, android.R.color.transparent) + } private fun MaterialButton.getStrokeColor( isEnabled: Boolean,