gitextract_rftqr9mc/ ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── android.yml │ └── jekyll-gh-pages.yml ├── .gitignore ├── LICENSE ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── detekt-baseline.xml │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── klee/ │ │ └── sapio/ │ │ └── ExampleInstrumentedTest.kt │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── klee/ │ │ │ └── sapio/ │ │ │ ├── SapioApplication.kt │ │ │ ├── ui/ │ │ │ │ ├── model/ │ │ │ │ │ ├── InstalledAppWithRating.kt │ │ │ │ │ ├── Label.kt │ │ │ │ │ ├── Rating.kt │ │ │ │ │ └── SharedEvaluation.kt │ │ │ │ ├── state/ │ │ │ │ │ ├── AppEvaluationsUiState.kt │ │ │ │ │ ├── ChooseAppUiState.kt │ │ │ │ │ ├── EvaluateUiState.kt │ │ │ │ │ ├── FeedUiState.kt │ │ │ │ │ ├── MyAppsUiState.kt │ │ │ │ │ └── SearchUiState.kt │ │ │ │ ├── view/ │ │ │ │ │ ├── AboutFragment.kt │ │ │ │ │ ├── ChooseAppAdapter.kt │ │ │ │ │ ├── ChooseAppDialog.kt │ │ │ │ │ ├── ChooseAppFragment.kt │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── ContributeFragment.kt │ │ │ │ │ ├── EvaluateFragment.kt │ │ │ │ │ ├── EvaluationsFragment.kt │ │ │ │ │ ├── FeedAppAdapter.kt │ │ │ │ │ ├── FeedFragment.kt │ │ │ │ │ ├── FragmentAdapter.kt │ │ │ │ │ ├── LoadingFragment.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── MyAppsAdapter.kt │ │ │ │ │ ├── MyAppsFragment.kt │ │ │ │ │ ├── PreferencesFragment.kt │ │ │ │ │ ├── SearchAppAdapter.kt │ │ │ │ │ ├── SearchFragment.kt │ │ │ │ │ ├── ShareComposable.kt │ │ │ │ │ ├── SplashActivity.kt │ │ │ │ │ ├── SuccessFragment.kt │ │ │ │ │ ├── ToastMessage.kt │ │ │ │ │ └── WarningFragment.kt │ │ │ │ └── viewmodel/ │ │ │ │ ├── AppEvaluationsViewModel.kt │ │ │ │ ├── ChooseAppViewModel.kt │ │ │ │ ├── EvaluateViewModel.kt │ │ │ │ ├── FeedViewModel.kt │ │ │ │ ├── LoadingViewModel.kt │ │ │ │ ├── MyAppsViewModel.kt │ │ │ │ └── SearchViewModel.kt │ │ │ └── work/ │ │ │ ├── CompatibilityCheckScheduler.kt │ │ │ ├── CompatibilityCheckWorker.kt │ │ │ └── CompatibilityNotificationManager.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── bg_label_rounded.xml │ │ │ ├── ic_close.xml │ │ │ ├── ic_info_background.xml │ │ │ ├── ic_launcher_foreground.xml │ │ │ ├── ic_notification_info.xml │ │ │ ├── ic_phone.xml │ │ │ ├── ic_settings.xml │ │ │ ├── ic_status_green.xml │ │ │ ├── ic_status_red.xml │ │ │ └── ic_status_yellow.xml │ │ ├── drawable-anydpi/ │ │ │ ├── ic_add.xml │ │ │ ├── ic_search.xml │ │ │ └── ic_settings.xml │ │ ├── drawable-v33/ │ │ │ └── ic_launcher_monochrome.xml │ │ ├── layout/ │ │ │ ├── activity_main.xml │ │ │ ├── activity_splash.xml │ │ │ ├── choose_app_card.xml │ │ │ ├── dialog_choose_app.xml │ │ │ ├── feed_app_card.xml │ │ │ ├── fragment_about.xml │ │ │ ├── fragment_choose_app.xml │ │ │ ├── fragment_contribute.xml │ │ │ ├── fragment_evaluate.xml │ │ │ ├── fragment_evaluations.xml │ │ │ ├── fragment_loading.xml │ │ │ ├── fragment_main.xml │ │ │ ├── fragment_my_apps.xml │ │ │ ├── fragment_search.xml │ │ │ ├── fragment_success.xml │ │ │ ├── fragment_warning.xml │ │ │ ├── my_app_card.xml │ │ │ └── search_app_card.xml │ │ ├── menu/ │ │ │ ├── bottom_menu.xml │ │ │ └── menu.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_info.xml │ │ │ ├── ic_info_round.xml │ │ │ ├── ic_launcher.xml │ │ │ ├── ic_launcher_round.xml │ │ │ ├── search_icon.xml │ │ │ └── search_icon_round.xml │ │ ├── navigation/ │ │ │ └── nav_graph.xml │ │ ├── raw/ │ │ │ └── loading.json │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ ├── values-de/ │ │ │ └── strings.xml │ │ ├── values-es/ │ │ │ └── strings.xml │ │ ├── values-fr/ │ │ │ └── strings.xml │ │ ├── values-it/ │ │ │ └── strings.xml │ │ ├── values-land/ │ │ │ └── dimens.xml │ │ ├── values-night/ │ │ │ └── colors.xml │ │ ├── values-night-v31/ │ │ │ └── themes.xml │ │ ├── values-v31/ │ │ │ └── themes.xml │ │ ├── values-w1240dp/ │ │ │ └── dimens.xml │ │ ├── values-w600dp/ │ │ │ └── dimens.xml │ │ └── xml/ │ │ └── preferences.xml │ └── test/ │ └── java/ │ └── com/ │ └── klee/ │ └── sapio/ │ ├── AppEvaluationsViewModelTest.kt │ ├── DeviceConfigurationTest.kt │ ├── DomainUseCasesTest.kt │ ├── EvaluateAppUseCaseBehaviourTest.kt │ ├── EvaluateAppUseCaseTest.kt │ ├── EvaluateViewModelTest.kt │ ├── EvaluationServiceTest.kt │ ├── FeedViewModelTest.kt │ ├── InstalledApplicationsRepositoryTest.kt │ ├── LoadingViewModelTest.kt │ ├── RatingTest.kt │ ├── SapioApplicationTest.kt │ ├── SearchViewModelTest.kt │ ├── SettingsTest.kt │ ├── SystemPropertyReaderTest.kt │ └── data/ │ ├── local/ │ │ └── EvaluationDaoTest.kt │ └── repository/ │ └── EvaluationRepositoryImplTest.kt ├── build.gradle ├── data/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── klee/ │ │ └── sapio/ │ │ └── data/ │ │ ├── api/ │ │ │ └── RetrofitClient.kt │ │ ├── di/ │ │ │ └── DataModule.kt │ │ ├── dto/ │ │ │ ├── Evaluation.kt │ │ │ ├── IconDtos.kt │ │ │ ├── StrapiDtos.kt │ │ │ └── UploadDtos.kt │ │ ├── fdroid/ │ │ │ ├── CachedFdroidAvailabilityChecker.kt │ │ │ └── OkHttpFdroidAvailabilityChecker.kt │ │ ├── local/ │ │ │ ├── AppDatabase.kt │ │ │ ├── Converters.kt │ │ │ ├── DatabaseModule.kt │ │ │ ├── DeviceAppDao.kt │ │ │ ├── DeviceAppEntity.kt │ │ │ ├── EvaluationDao.kt │ │ │ └── EvaluationEntity.kt │ │ ├── repository/ │ │ │ ├── DeviceAppCacheRepositoryImpl.kt │ │ │ ├── EvaluationRepositoryImpl.kt │ │ │ └── InstalledApplicationsRepository.kt │ │ └── system/ │ │ ├── DeviceConfiguration.kt │ │ ├── Settings.kt │ │ └── SystemPropertyReader.kt │ └── test/ │ └── java/ │ └── com/ │ └── klee/ │ └── sapio/ │ └── data/ │ ├── CachedFdroidAvailabilityCheckerTest.kt │ ├── ConvertersTest.kt │ ├── EvaluationRepositoryImplTest.kt │ └── InstalledApplicationsRepositoryTest.kt ├── detekt.yml ├── domain/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── klee/ │ │ └── sapio/ │ │ └── domain/ │ │ ├── AppSettings.kt │ │ ├── CheckFdroidAvailabilityUseCase.kt │ │ ├── DeviceAppCacheRepository.kt │ │ ├── DeviceInfo.kt │ │ ├── EvaluateAppUseCase.kt │ │ ├── EvaluationRepository.kt │ │ ├── FdroidAvailabilityChecker.kt │ │ ├── FetchAppEvaluationUseCase.kt │ │ ├── FetchIconUrlUseCase.kt │ │ ├── InstalledApplicationsDataSource.kt │ │ ├── ListLatestEvaluationsUseCase.kt │ │ ├── SearchEvaluationUseCase.kt │ │ └── model/ │ │ ├── CachedDeviceApp.kt │ │ ├── DeviceProfile.kt │ │ └── Models.kt │ └── test/ │ └── java/ │ └── com/ │ └── klee/ │ └── sapio/ │ └── domain/ │ ├── CheckFdroidAvailabilityUseCaseTest.kt │ ├── EvaluateAppUseCaseTest.kt │ ├── FetchAppEvaluationUseCaseTest.kt │ ├── FetchIconUrlUseCaseTest.kt │ ├── ListLatestEvaluationsUseCaseTest.kt │ └── SearchEvaluationUseCaseTest.kt ├── fastlane/ │ └── metadata/ │ └── android/ │ ├── de-DE/ │ │ ├── full_description.txt │ │ ├── short_description.txt │ │ └── title.txt │ ├── en-US/ │ │ ├── changelogs/ │ │ │ └── 4.txt │ │ ├── full_description.txt │ │ ├── short_description.txt │ │ └── title.txt │ ├── es-ES/ │ │ ├── full_description.txt │ │ ├── short_description.txt │ │ └── title.txt │ ├── fr-FR/ │ │ ├── full_description.txt │ │ └── short_description.txt │ └── it-IT/ │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt ├── gradle/ │ ├── libs.versions.toml │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle