From ffc8170f33294dd9ac7af7ce6d90033c8662a29e Mon Sep 17 00:00:00 2001 From: Jonathan Klee Date: Fri, 5 Dec 2025 16:18:56 +0100 Subject: [PATCH] style: fix detekt indentation warnings --- app/detekt-baseline.xml | 33 ------------- .../foundation/e/apps/data/NetworkHandler.kt | 6 ++- .../foundation/e/apps/data/enums/Source.kt | 4 +- .../gitlab/SystemAppsUpdatesRepository.kt | 9 ++-- .../e/apps/data/updates/UpdatesManagerImpl.kt | 20 ++++---- .../e/apps/di/network/RetrofitApiModule.kt | 3 +- .../apps/domain/ValidateAppAgeLimitUseCase.kt | 9 ++-- .../domain/model/ContentRatingValidity.kt | 7 ++- .../install/download/DownloadManagerUtils.kt | 2 +- .../e/apps/install/pkg/PwaManager.kt | 7 ++- .../workmanager/AppInstallProcessor.kt | 7 +-- .../install/workmanager/InstallAppWorker.kt | 6 +-- .../e/apps/microg/AuthDataProvider.kt | 28 +++++++---- .../receivers/DumpAppInstallStatusReceiver.kt | 6 +-- .../java/foundation/e/apps/ui/MainActivity.kt | 46 +++++++++++-------- 15 files changed, 93 insertions(+), 100 deletions(-) diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml index b30a1f2e3..056538f4c 100644 --- a/app/detekt-baseline.xml +++ b/app/detekt-baseline.xml @@ -18,11 +18,8 @@ ArgumentListWrapping:DownloadManager.kt$DownloadManager$("Download Issue: $downloadId : DownloadManager returns status: $status but the failed because: reason: $reason") ArgumentListWrapping:DownloadManagerUtils.kt$DownloadManagerUtils$("===> updateDownloadStatus: ${appInstall.name}: $downloadId: $numberOfDownloadedItems/${appInstall.downloadIdMap.size}") ArgumentListWrapping:HomeFragment.kt$HomeFragment$( this, mainActivityViewModel, appInfoFetchViewModel, viewLifecycleOwner ) - ArgumentListWrapping:InstallAppWorker.kt$InstallAppWorker$( atomicInteger.getAndIncrement(), notification) - ArgumentListWrapping:MainActivity.kt$MainActivity$( ActivityResultContracts.StartActivityForResult()) ArgumentListWrapping:MainActivity.kt$MainActivity$(R.string.message_app_available_later) ArgumentListWrapping:MainActivity.kt$MainActivity$(getString(R.string.message_app_available_later)) - ArgumentListWrapping:PwaManager.kt$PwaManager$( Uri.parse(PWA_PLAYER), null, null, null, null ) ArgumentListWrapping:ResultSupreme.kt$ResultSupreme.Companion$( status, newData, message ?: result.message, exception ?: result.exception ) ArgumentListWrapping:SearchFragment.kt$SearchFragment$( searchViewModel.searchText, false ) ArgumentListWrapping:SystemAppsUpdatesRepository.kt$SystemAppsUpdatesRepository$(exception.message, "Android API isn't in supported range to update some system apps") @@ -31,32 +28,14 @@ ArgumentListWrapping:UpdatesNotifier.kt$UpdatesNotifier$(R.string.automatically_install_updates_notification_text) ArgumentListWrapping:UpdatesNotifier.kt$UpdatesNotifier$(context.getString(R.string.automatically_install_updates_notification_text)) ArgumentListWrapping:UpdatesWorkManager.kt$UpdatesWorkManager$( UPDATES_WORK_NAME, existingPeriodicWorkPolicy, buildPeriodicWorkRequest(interval) ) - ArgumentListWrapping:ValidateAppAgeLimitUseCase.kt$ValidateAppAgeLimitUseCase$( "${app.packageName} - Content rating: ${app.contentRating.id} \n" + "Selected age group: $ageGroup \nAllowed content rating: $allowedContentRating") BlockCommentInitialStarAlignment:SystemAppsUpdatesRepository.kt$SystemAppsUpdatesRepository$/* TODO manually add new supported android version when they will be supported. * VANILLA_ICE_CREAM (A15) => https://gitlab.e.foundation/e/os/backlog/-/issues/2772 * BAKLAVA (A16) => https://gitlab.e.foundation/e/os/backlog/-/issues/2773 */ ChainWrapping:DownloadManagerUtils.kt$DownloadManagerUtils$|| ChainWrapping:HomeViewModel.kt$HomeViewModel$|| - ChainWrapping:NetworkHandler.kt$&& ChainWrapping:ValidateAppAgeLimitUseCase.kt$ValidateAppAgeLimitUseCase$&& EmptyCatchBlock:NativeDeviceInfoProviderModule.kt$NativeDeviceInfoProviderModule${ } EmptyFunctionBlock:CleanApkAuthenticator.kt$CleanApkAuthenticator${} - FinalNewline:ContentRatingValidity.kt$foundation.e.apps.domain.model.ContentRatingValidity.kt FunctionReturnTypeSpacing:AppPrivacyInfoRepositoryImpl.kt$AppPrivacyInfoRepositoryImpl$private suspend fun fetchReports(packageName: String) : List<Report> FunctionReturnTypeSpacing:CategoryApiImpl.kt$CategoryApiImpl$override suspend fun getCategoriesList(type: CategoryType) : List<CategoriesResponse> - FunctionStartOfBodySpacing:RetrofitApiModule.kt$RetrofitApiModule$@Singleton @Provides fun provideCleanApkApi( okHttpClient: OkHttpClient, @Named("gsonCustomAdapter") gson: Gson ): CleanApkRetrofit - Indentation:AppInstallProcessor.kt$AppInstallProcessor$ - Indentation:AuthDataProvider.kt$AuthDataProvider$ - Indentation:ContentRatingValidity.kt$ContentRatingValidity$ - Indentation:DownloadManagerUtils.kt$DownloadManagerUtils$ - Indentation:DumpAppInstallStatusReceiver.kt$DumpAppInstallStatusReceiver$ - Indentation:InstallAppWorker.kt$InstallAppWorker$ - Indentation:MainActivity.kt$MainActivity$ - Indentation:NetworkHandler.kt$ - Indentation:PwaManager.kt$PwaManager$ - Indentation:RetrofitApiModule.kt$RetrofitApiModule$ - Indentation:Source.kt$Source$ - Indentation:SystemAppsUpdatesRepository.kt$SystemAppsUpdatesRepository$ - Indentation:UpdatesManagerImpl.kt$UpdatesManagerImpl$ - Indentation:ValidateAppAgeLimitUseCase.kt$ValidateAppAgeLimitUseCase$ InstanceOfCheckForException:GPlayHttpClient.kt$GPlayHttpClient$e is SocketTimeoutException InvalidPackageDeclaration:Trackers.kt$package foundation.e.apps.data.exodus LargeClass:ApplicationFragment.kt$ApplicationFragment : TimeoutFragment @@ -120,7 +99,6 @@ MaxLineLength:FDroidRepository.kt$FDroidRepository$if MaxLineLength:FDroidRepository.kt$FDroidRepository$override suspend MaxLineLength:GoogleLoginManager.kt$GoogleLoginManager$authData = AuthHelper.build(email, aasToken, tokenType = AuthHelper.Token.AAS, properties = nativeDeviceProperty) - MaxLineLength:MainActivity.kt$MainActivity$if MaxLineLength:MainActivity.kt$MainActivity$is InternalException.AppNotPurchased -> showSnackbarMessage(getString(R.string.message_app_available_later)) MaxLineLength:MainActivityViewModel.kt$MainActivityViewModel$fusedDownload.source == it.source && (fusedDownload.packageName == it.package_name || fusedDownload.id == it._id) MaxLineLength:PrivacyScoreRepositoryImpl.kt$PrivacyScoreRepositoryImpl$return if (numberOfTrackers > THRESHOLD_OF_NON_ZERO_TRACKER_SCORE) MIN_TRACKER_SCORE else MAX_TRACKER_SCORE - numberOfTrackers @@ -193,7 +171,6 @@ MultiLineIfElse:SearchViewModel.kt$SearchViewModel$searchRepository.getSearchSuggestions(it) MultiLineIfElse:SettingsFragment.kt$SettingsFragment$true MultiLineIfElse:ValidateAppAgeLimitUseCase.kt$ValidateAppAgeLimitUseCase$fetchedContentRating - NewLineAtEndOfFile:ContentRatingValidity.kt$foundation.e.apps.domain.model.ContentRatingValidity.kt NoBlankLineBeforeRbrace:AgeGroupApi.kt$AgeGroupApi$ NoBlankLineBeforeRbrace:AgeRatingProvider.kt$AgeRatingProvider$ NoBlankLineBeforeRbrace:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$ @@ -207,7 +184,6 @@ NoBlankLineBeforeRbrace:UpdatesManagerRepository.kt$UpdatesManagerRepository$ NoBlankLineBeforeRbrace:ValidateAppAgeLimitUseCase.kt$ValidateAppAgeLimitUseCase$ NoConsecutiveBlankLines:ApplicationRepository.kt$ApplicationRepository$ - NoConsecutiveBlankLines:AuthDataProvider.kt$ NoConsecutiveBlankLines:CategoriesViewModel.kt$CategoriesViewModel$ NoConsecutiveBlankLines:CleanApkSearchHelper.kt$ NoConsecutiveBlankLines:CommonUtilsModule.kt$CommonUtilsModule$ @@ -247,7 +223,6 @@ NoMultipleSpaces:PrivacyInfoViewModel.kt$PrivacyInfoViewModel$ NoMultipleSpaces:SearchViewModel.kt$SearchViewModel$ NoSemicolons:AgeRatingProvider.kt$AgeRatingProvider.UriCode.AgeRating$; - NoSemicolons:AuthDataProvider.kt$AuthDataProvider$; NoTrailingSpaces:DownloadInfoApiImpl.kt$DownloadInfoApiImpl$ NoUnusedImports:AppLoungePackageManager.kt$foundation.e.apps.install.pkg.AppLoungePackageManager.kt NoUnusedImports:AppManagerImpl.kt$foundation.e.apps.data.install.AppManagerImpl.kt @@ -266,9 +241,6 @@ NoUnusedImports:UpdatesFragment.kt$foundation.e.apps.ui.updates.UpdatesFragment.kt NoUnusedImports:UpdatesNotifier.kt$foundation.e.apps.install.updates.UpdatesNotifier.kt NoWildcardImports:SystemAppsUpdatesRepository.kt$import foundation.e.apps.data.gitlab.UpdatableSystemAppsApi.* - ParameterListWrapping:AuthDataProvider.kt$AuthDataProvider$(uri: Uri, projection: Array<String>?, selection: String?, selectionArgs: Array<String>?, sortOrder: String?) - ParameterListWrapping:AuthDataProvider.kt$AuthDataProvider$(uri: Uri, values: ContentValues?, selection: String?, selectionArgs: Array<String>?) - ParameterListWrapping:ContentRatingValidity.kt$ContentRatingValidity$(val isValid: Boolean, val contentRating: ContentRating? = null, val requestPin: Boolean = false) PrintStackTrace:AppPrivacyInfoRepositoryImpl.kt$AppPrivacyInfoRepositoryImpl$e PrintStackTrace:CommonUtilsModule.kt$CommonUtilsModule$e PrintStackTrace:EcloudRepository.kt$EcloudRepository$e @@ -303,7 +275,6 @@ SpacingAroundComma:HomeFragment.kt$HomeFragment$, SpacingAroundComma:StorageComputer.kt$StorageComputer$, SpacingAroundCurly:ApplicationListRVAdapter.kt$ApplicationListRVAdapter${ - SpacingAroundCurly:RetrofitApiModule.kt$RetrofitApiModule${ SpacingAroundKeyword:SystemAppsUpdatesRepository.kt$SystemAppsUpdatesRepository$catch SpacingAroundParens:NetworkStatusManager.kt$NetworkStatusManager$( SpacingBetweenDeclarationsWithAnnotations:ApplicationDialogFragment.kt$ApplicationDialogFragment$@DrawableRes private var drawableResId: Int = -1 @@ -379,13 +350,9 @@ WildcardImport:SystemAppsUpdatesRepository.kt$import foundation.e.apps.data.gitlab.UpdatableSystemAppsApi.* Wrapping:AppInstallProcessor.kt$AppInstallProcessor$( Wrapping:ApplicationDeserializer.kt$ApplicationDeserializer$( - Wrapping:AuthDataProvider.kt$AuthDataProvider$( - Wrapping:ContentRatingValidity.kt$ContentRatingValidity$( - Wrapping:InstallAppWorker.kt$InstallAppWorker$( Wrapping:MainActivity.kt$MainActivity$( Wrapping:MainActivity.kt$MainActivity$(this, object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { if (isInitialScreen()) { resetIgnoreStatusForSessionRefresh() finish() } else { // Let the system handle the back press isEnabled = false onBackPressedDispatcher.onBackPressed() } } }) Wrapping:SearchFragment.kt$SearchFragment$Fragment(R.layout.fragment_search), ApplicationInstaller, SearchViewHandler.SearchViewListener Wrapping:SystemAppsUpdatesRepository.kt$SystemAppsUpdatesRepository$( - Wrapping:ValidateAppAgeLimitUseCase.kt$ValidateAppAgeLimitUseCase$( 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 6cadc578d..3e2e147e7 100644 --- a/app/src/main/java/foundation/e/apps/data/NetworkHandler.kt +++ b/app/src/main/java/foundation/e/apps/data/NetworkHandler.kt @@ -113,8 +113,10 @@ private fun calculateRetryDelay(retryDelayInSecond: Int) = private fun shouldRetry(result: T, retryDelayInSecond: Int) = - result is ResultSupreme<*> && !result.isSuccess() && retryDelayInSecond < MAX_RETRY_DELAY_IN_SECONDS - && isExceptionAllowedToRetry(result.exception) + result is ResultSupreme<*> && + !result.isSuccess() && + retryDelayInSecond < MAX_RETRY_DELAY_IN_SECONDS && + isExceptionAllowedToRetry(result.exception) private fun isExceptionAllowedToRetry(exception: Exception?): Boolean { // Here, (value != true) is used, because value can be null also and we want to allow retry for null message diff --git a/app/src/main/java/foundation/e/apps/data/enums/Source.kt b/app/src/main/java/foundation/e/apps/data/enums/Source.kt index 6bafbc435..a62bf8b39 100644 --- a/app/src/main/java/foundation/e/apps/data/enums/Source.kt +++ b/app/src/main/java/foundation/e/apps/data/enums/Source.kt @@ -27,8 +27,8 @@ enum class Source { return when (this) { PLAY_STORE -> "" else -> name.lowercase() - .split("_") - .joinToString(" ") { it.replaceFirstChar(Char::uppercase) } + .split("_") + .joinToString(" ") { it.replaceFirstChar(Char::uppercase) } } } diff --git a/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt b/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt index 556608c9f..b05406d49 100644 --- a/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt +++ b/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt @@ -92,7 +92,8 @@ class SystemAppsUpdatesRepository @Inject constructor( } } - private fun isEligibleToFetchAppListFromTest(systemName: String) = systemName.isBlank() || + private fun isEligibleToFetchAppListFromTest(systemName: String) = + systemName.isBlank() || systemName.contains("beta") || systemName.contains("rc") || systemName.contains("test") @@ -104,9 +105,9 @@ class SystemAppsUpdatesRepository @Inject constructor( ): Boolean { return systemAppInfo.run { sdkLevel < minSdk || - blockedAndroid?.contains(sdkLevel) == true || - blockedDevices?.contains(device) == true || - blockedDevices?.contains("${device}@${sdkLevel}") == true + blockedAndroid?.contains(sdkLevel) == true || + blockedDevices?.contains(device) == true || + blockedDevices?.contains("${device}@${sdkLevel}") == true } } diff --git a/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt index 986bd2a83..104fb695e 100644 --- a/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt @@ -298,15 +298,15 @@ class UpdatesManagerImpl @Inject constructor( packageName: String, appsAndSignatures: HashMap ) { - val apps = applicationRepository.getApplicationDetails(listOf(packageName), Source.OPEN_SOURCE).first - if (apps.isEmpty()) { - return - } + val apps = applicationRepository.getApplicationDetails(listOf(packageName), Source.OPEN_SOURCE).first + if (apps.isEmpty()) { + return + } - if (apps[0].package_name.isBlank()) { - return - } - appsAndSignatures[packageName] = getPgpSignature(apps[0]) + if (apps[0].package_name.isBlank()) { + return + } + appsAndSignatures[packageName] = getPgpSignature(apps[0]) } private suspend fun getPgpSignature(cleanApkApplication: Application): String { @@ -322,8 +322,8 @@ class UpdatesManagerImpl @Inject constructor( Timber.i( "Signature calculated for : ${cleanApkApplication.package_name}, " + - "signature version: $installedVersionSignature, " + - "is sig blank: ${pgpSignature.isBlank()}" + "signature version: $installedVersionSignature, " + + "is sig blank: ${pgpSignature.isBlank()}" ) return pgpSignature diff --git a/app/src/main/java/foundation/e/apps/di/network/RetrofitApiModule.kt b/app/src/main/java/foundation/e/apps/di/network/RetrofitApiModule.kt index 90be99704..cf0807d06 100644 --- a/app/src/main/java/foundation/e/apps/di/network/RetrofitApiModule.kt +++ b/app/src/main/java/foundation/e/apps/di/network/RetrofitApiModule.kt @@ -49,8 +49,7 @@ class RetrofitApiModule { fun provideCleanApkApi( okHttpClient: OkHttpClient, @Named("gsonCustomAdapter") gson: Gson - ): CleanApkRetrofit - { + ): CleanApkRetrofit { return Retrofit.Builder() .baseUrl(CleanApkRetrofit.BASE_URL) .client(okHttpClient) 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 17ded1196..ab94f3cd2 100644 --- a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt +++ b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt @@ -99,8 +99,8 @@ class ValidateAppAgeLimitUseCase @Inject constructor( private fun isCleanApkApp(app: AppInstall): Boolean { return app.id.isNotBlank() - && (app.source == Source.PWA || app.source == Source.OPEN_SOURCE) - && app.type == Type.NATIVE + && (app.source == Source.PWA || app.source == Source.OPEN_SOURCE) + && app.type == Type.NATIVE } private fun isWhiteListedCleanApkApp(app: AppInstall): Boolean { @@ -129,7 +129,8 @@ class ValidateAppAgeLimitUseCase @Inject constructor( Timber.d( "${app.packageName} - Content rating: ${app.contentRating.id} \n" + - "Selected age group: $ageGroup \nAllowed content rating: $allowedContentRating") + "Selected age group: $ageGroup \nAllowed content rating: $allowedContentRating" + ) val isValid = isValidAppAgeRating(app, allowedContentRating) return ResultSupreme.Success( @@ -177,7 +178,7 @@ class ValidateAppAgeLimitUseCase @Inject constructor( } return app.contentRating.title.isNotEmpty() && - app.contentRating.id.isNotEmpty() + app.contentRating.id.isNotEmpty() } private suspend fun isParentalGuidance(app: AppInstall): Boolean { diff --git a/app/src/main/java/foundation/e/apps/domain/model/ContentRatingValidity.kt b/app/src/main/java/foundation/e/apps/domain/model/ContentRatingValidity.kt index 46b3d53b1..25f6ee484 100644 --- a/app/src/main/java/foundation/e/apps/domain/model/ContentRatingValidity.kt +++ b/app/src/main/java/foundation/e/apps/domain/model/ContentRatingValidity.kt @@ -21,5 +21,8 @@ package foundation.e.apps.domain.model import com.aurora.gplayapi.data.models.ContentRating -data class ContentRatingValidity(val isValid: Boolean, val contentRating: ContentRating? = null, - val requestPin: Boolean = false) \ No newline at end of file +data class ContentRatingValidity( + val isValid: Boolean, + val contentRating: ContentRating? = null, + val requestPin: Boolean = false +) diff --git a/app/src/main/java/foundation/e/apps/install/download/DownloadManagerUtils.kt b/app/src/main/java/foundation/e/apps/install/download/DownloadManagerUtils.kt index 4c0c1fe0a..aad71f538 100644 --- a/app/src/main/java/foundation/e/apps/install/download/DownloadManagerUtils.kt +++ b/app/src/main/java/foundation/e/apps/install/download/DownloadManagerUtils.kt @@ -145,7 +145,7 @@ class DownloadManagerUtils @Inject constructor( handleDownloadFailed(appInstall, downloadId) Timber.e( "Download failed for ${appInstall.packageName}: " + - "Download Status: ${isDownloadSuccessful.second}" + "Download Status: ${isDownloadSuccessful.second}" ) } diff --git a/app/src/main/java/foundation/e/apps/install/pkg/PwaManager.kt b/app/src/main/java/foundation/e/apps/install/pkg/PwaManager.kt index 579939606..c1b63a109 100644 --- a/app/src/main/java/foundation/e/apps/install/pkg/PwaManager.kt +++ b/app/src/main/java/foundation/e/apps/install/pkg/PwaManager.kt @@ -65,7 +65,10 @@ class PwaManager @Inject constructor( fun getPwaStatus(application: Application): Status { context.contentResolver.query( Uri.parse(PWA_PLAYER), - null, null, null, null + null, + null, + null, + null )?.let { cursor -> cursor.moveToFirst() while (!cursor.isAfterLast) { @@ -92,7 +95,7 @@ class PwaManager @Inject constructor( return true } } catch (e: Exception) { - Timber.w(e) + Timber.w(e) } return false diff --git a/app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt b/app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt index c4e7ea8b1..76d139825 100644 --- a/app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt +++ b/app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt @@ -390,9 +390,10 @@ class AppInstallProcessor @Inject constructor( .transformWhile { emit(it) isInstallRunning(it) - }.collect { latestFusedDownload -> - handleFusedDownload(latestFusedDownload, appInstall) - } + } + .collect { latestFusedDownload -> + handleFusedDownload(latestFusedDownload, appInstall) + } } /** diff --git a/app/src/main/java/foundation/e/apps/install/workmanager/InstallAppWorker.kt b/app/src/main/java/foundation/e/apps/install/workmanager/InstallAppWorker.kt index 8fb976c63..42de78741 100644 --- a/app/src/main/java/foundation/e/apps/install/workmanager/InstallAppWorker.kt +++ b/app/src/main/java/foundation/e/apps/install/workmanager/InstallAppWorker.kt @@ -80,8 +80,7 @@ class InstallAppWorker @AssistedInject constructor( .createCancelPendingIntent(id) val notificationManager = - context.getSystemService(Context.NOTIFICATION_SERVICE) as - NotificationManager + context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val mChannel = NotificationChannel( channelId, @@ -111,7 +110,8 @@ class InstallAppWorker @AssistedInject constructor( } else { ForegroundInfo( atomicInteger.getAndIncrement(), - notification) + notification + ) } } } diff --git a/app/src/main/java/foundation/e/apps/microg/AuthDataProvider.kt b/app/src/main/java/foundation/e/apps/microg/AuthDataProvider.kt index 6632486df..fb8b2f62f 100644 --- a/app/src/main/java/foundation/e/apps/microg/AuthDataProvider.kt +++ b/app/src/main/java/foundation/e/apps/microg/AuthDataProvider.kt @@ -58,12 +58,19 @@ class AuthDataProvider : ContentProvider() { return true } - override fun query(uri: Uri, projection: Array?, selection: String?, - selectionArgs: Array?, sortOrder: String?): Cursor { - - if (context?.checkCallingOrSelfPermission( + override fun query( + uri: Uri, + projection: Array?, + selection: String?, + selectionArgs: Array?, + sortOrder: String? + ): Cursor { + + if ( + context?.checkCallingOrSelfPermission( AUTH_DATA_PROVIDER_PERMISSION - ) != PackageManager.PERMISSION_GRANTED) { + ) != PackageManager.PERMISSION_GRANTED + ) { throw SecurityException("Permission denied: $AUTH_DATA_PROVIDER_PERMISSION required") } @@ -95,8 +102,12 @@ class AuthDataProvider : ContentProvider() { return cursor } - override fun update(uri: Uri, values: ContentValues?, selection: String?, - selectionArgs: Array?): Int { + override fun update( + uri: Uri, + values: ContentValues?, + selection: String?, + selectionArgs: Array? + ): Int { throw UnsupportedOperationException("Update operation is not supported by the provider") } @@ -105,7 +116,7 @@ class AuthDataProvider : ContentProvider() { } override fun getType(uri: Uri): String? { - return "vnd.android.cursor.dir/vnd.foundation.e.apps.authdata.provider.strings"; + return "vnd.android.cursor.dir/vnd.foundation.e.apps.authdata.provider.strings" } override fun insert(uri: Uri, values: ContentValues?): Uri { @@ -116,4 +127,3 @@ class AuthDataProvider : ContentProvider() { const val AUTH_DATA_PROVIDER_PERMISSION = "foundation.e.apps.permission.AUTH_DATA_PROVIDER" } } - diff --git a/app/src/main/java/foundation/e/apps/receivers/DumpAppInstallStatusReceiver.kt b/app/src/main/java/foundation/e/apps/receivers/DumpAppInstallStatusReceiver.kt index d8b859b4f..74631ffe7 100644 --- a/app/src/main/java/foundation/e/apps/receivers/DumpAppInstallStatusReceiver.kt +++ b/app/src/main/java/foundation/e/apps/receivers/DumpAppInstallStatusReceiver.kt @@ -71,9 +71,9 @@ class DumpAppInstallStatusReceiver : BroadcastReceiver() { val batteryLevel = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY) return "Available Space: ${StorageComputer.calculateAvailableDiskSpace()}" + - "\nInternet: ${ - NetworkStatusManager.init(context).value - }\nBattery level: $batteryLevel" + "\nInternet: ${ + NetworkStatusManager.init(context).value + }\nBattery level: $batteryLevel" } return null diff --git a/app/src/main/java/foundation/e/apps/ui/MainActivity.kt b/app/src/main/java/foundation/e/apps/ui/MainActivity.kt index c543c5865..74e346889 100644 --- a/app/src/main/java/foundation/e/apps/ui/MainActivity.kt +++ b/app/src/main/java/foundation/e/apps/ui/MainActivity.kt @@ -87,16 +87,18 @@ class MainActivity : AppCompatActivity() { private const val SESSION_DIALOG_TAG = "session_dialog" } - private val parentalControlAuthenticatorLauncher = registerForActivityResult( - ActivityResultContracts.StartActivityForResult()) { result -> - if (result.resultCode == RESULT_OK) { - val authenticationResult = result.data?.getBooleanExtra( - ParentalControlAuthenticator.KEY_PARENTAL_CONTROL_RESULT, false) == true - ParentalControlAuthenticator.setResult(authenticationResult) - } else { - ParentalControlAuthenticator.setResult(false) - } - } + private val parentalControlAuthenticatorLauncher = registerForActivityResult( + ActivityResultContracts.StartActivityForResult() + ) { result -> + if (result.resultCode == RESULT_OK) { + val authenticationResult = result.data?.getBooleanExtra( + ParentalControlAuthenticator.KEY_PARENTAL_CONTROL_RESULT, false + ) == true + ParentalControlAuthenticator.setResult(authenticationResult) + } else { + ParentalControlAuthenticator.setResult(false) + } + } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -568,16 +570,20 @@ class MainActivity : AppCompatActivity() { private fun setupBottomNavItemSelectedListener( bottomNavigationView: BottomNavigationView, - navHostFragment: NavHostFragment, - navController: NavController - ) { - bottomNavigationView.setOnItemSelectedListener { - val fragment = - navHostFragment.childFragmentManager.fragments.find { fragment -> fragment is SettingsFragment } - if (bottomNavigationView.selectedItemId == R.id.settingsFragment && fragment is SettingsFragment && !fragment.isAnyAppSourceSelected()) { - ApplicationDialogFragment( - title = "", - message = getString(R.string.select_one_source_of_applications), + navHostFragment: NavHostFragment, + navController: NavController + ) { + bottomNavigationView.setOnItemSelectedListener { + val fragment = navHostFragment.childFragmentManager.fragments + .find { fragment -> fragment is SettingsFragment } + if ( + bottomNavigationView.selectedItemId == R.id.settingsFragment && + fragment is SettingsFragment && + !fragment.isAnyAppSourceSelected() + ) { + ApplicationDialogFragment( + title = "", + message = getString(R.string.select_one_source_of_applications), positiveButtonText = getString(R.string.ok) ).show(supportFragmentManager, TAG) return@setOnItemSelectedListener false -- GitLab