gitextract_izqmhs7i/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── config.yaml │ └── workflows/ │ ├── build_pull_request.yml │ ├── open_pull_request.yml │ ├── pull_strings.yml │ ├── push_strings.yml │ ├── release.yml │ └── update_documentation.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── adsfund.json ├── api/ │ ├── .releaserc │ ├── CHANGELOG.md │ ├── api/ │ │ └── api.api │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── gradle.properties │ ├── package.json │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── aidl/ │ │ └── app/ │ │ └── revanced/ │ │ └── manager/ │ │ └── downloader/ │ │ └── webview/ │ │ ├── IWebView.aidl │ │ └── IWebViewEvents.aidl │ ├── kotlin/ │ │ └── app/ │ │ └── revanced/ │ │ └── manager/ │ │ └── downloader/ │ │ ├── Constants.kt │ │ ├── Downloader.kt │ │ ├── Extensions.kt │ │ ├── Parcelables.kt │ │ └── webview/ │ │ ├── API.kt │ │ └── WebViewFragment.kt │ └── res/ │ └── layout/ │ └── webview_fragment.xml ├── app/ │ ├── .gitignore │ ├── .releaserc │ ├── CHANGELOG.md │ ├── build.gradle.kts │ ├── gradle.properties │ ├── package.json │ ├── schemas/ │ │ └── app.revanced.manager.data.room.AppDatabase/ │ │ ├── 1.json │ │ ├── 2.json │ │ └── 3.json │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── aidl/ │ │ └── app/ │ │ └── revanced/ │ │ └── manager/ │ │ ├── IRootSystemService.aidl │ │ └── patcher/ │ │ ├── ProgressEventParcel.aidl │ │ └── runtime/ │ │ └── process/ │ │ ├── IPatcherEvents.aidl │ │ ├── IPatcherProcess.aidl │ │ └── Parameters.aidl │ ├── assets/ │ │ └── root/ │ │ ├── module.prop │ │ └── service.sh │ ├── cpp/ │ │ ├── CMakeLists.txt │ │ └── prop_override.cpp │ ├── java/ │ │ └── app/ │ │ └── revanced/ │ │ └── manager/ │ │ ├── DownloaderActivity.kt │ │ ├── MainActivity.kt │ │ ├── ManagerApplication.kt │ │ ├── ManagerFileProvider.kt │ │ ├── data/ │ │ │ ├── platform/ │ │ │ │ ├── Filesystem.kt │ │ │ │ └── NetworkInfo.kt │ │ │ ├── redux/ │ │ │ │ └── Redux.kt │ │ │ └── room/ │ │ │ ├── AppDatabase.kt │ │ │ ├── Converters.kt │ │ │ ├── apps/ │ │ │ │ ├── downloaded/ │ │ │ │ │ ├── DownloadedApp.kt │ │ │ │ │ └── DownloadedAppDao.kt │ │ │ │ └── installed/ │ │ │ │ ├── AppliedPatch.kt │ │ │ │ ├── InstalledApp.kt │ │ │ │ ├── InstalledAppDao.kt │ │ │ │ └── InstalledPatchBundle.kt │ │ │ ├── bundles/ │ │ │ │ ├── PatchBundleDao.kt │ │ │ │ └── PatchBundleEntity.kt │ │ │ ├── downloader/ │ │ │ │ ├── DownloaderDao.kt │ │ │ │ └── DownloaderEntity.kt │ │ │ ├── options/ │ │ │ │ ├── Option.kt │ │ │ │ ├── OptionDao.kt │ │ │ │ └── OptionGroup.kt │ │ │ ├── selection/ │ │ │ │ ├── PatchSelection.kt │ │ │ │ ├── SelectedPatch.kt │ │ │ │ └── SelectionDao.kt │ │ │ └── sources/ │ │ │ └── Source.kt │ │ ├── di/ │ │ │ ├── AckpineModule.kt │ │ │ ├── DatabaseModule.kt │ │ │ ├── HttpModule.kt │ │ │ ├── ManagerModule.kt │ │ │ ├── PreferencesModule.kt │ │ │ ├── RepositoryModule.kt │ │ │ ├── RootModule.kt │ │ │ ├── ServiceModule.kt │ │ │ ├── ViewModelModule.kt │ │ │ └── WorkerModule.kt │ │ ├── domain/ │ │ │ ├── installer/ │ │ │ │ └── RootInstaller.kt │ │ │ ├── manager/ │ │ │ │ ├── KeystoreManager.kt │ │ │ │ ├── PreferencesManager.kt │ │ │ │ ├── SourceManager.kt │ │ │ │ └── base/ │ │ │ │ └── BasePreferencesManager.kt │ │ │ ├── repository/ │ │ │ │ ├── AnnouncementRepository.kt │ │ │ │ ├── DownloadedAppRepository.kt │ │ │ │ ├── DownloaderRepository.kt │ │ │ │ ├── InstalledAppRepository.kt │ │ │ │ ├── ManagerUpdateRepository.kt │ │ │ │ ├── PatchBundleRepository.kt │ │ │ │ ├── PatchOptionsRepository.kt │ │ │ │ └── PatchSelectionRepository.kt │ │ │ ├── sources/ │ │ │ │ ├── LocalSource.kt │ │ │ │ ├── RemoteSource.kt │ │ │ │ └── Source.kt │ │ │ └── worker/ │ │ │ ├── Worker.kt │ │ │ └── WorkerRepository.kt │ │ ├── network/ │ │ │ ├── api/ │ │ │ │ └── ReVancedAPI.kt │ │ │ ├── downloader/ │ │ │ │ ├── DownloaderPackage.kt │ │ │ │ ├── LoadedDownloader.kt │ │ │ │ └── ParceledDownloaderData.kt │ │ │ ├── dto/ │ │ │ │ ├── ReVancedAnnouncement.kt │ │ │ │ ├── ReVancedAsset.kt │ │ │ │ ├── ReVancedContributors.kt │ │ │ │ └── ReVancedInfo.kt │ │ │ ├── service/ │ │ │ │ └── HttpService.kt │ │ │ └── utils/ │ │ │ └── APIResponse.kt │ │ ├── patcher/ │ │ │ ├── LibraryResolver.kt │ │ │ ├── PatcherProgress.kt │ │ │ ├── Session.kt │ │ │ ├── aapt/ │ │ │ │ └── Aapt.kt │ │ │ ├── logger/ │ │ │ │ └── Logger.kt │ │ │ ├── patch/ │ │ │ │ ├── PatchBundle.kt │ │ │ │ ├── PatchBundleInfo.kt │ │ │ │ └── PatchInfo.kt │ │ │ ├── runtime/ │ │ │ │ ├── CoroutineRuntime.kt │ │ │ │ ├── ProcessRuntime.kt │ │ │ │ ├── Runtime.kt │ │ │ │ └── process/ │ │ │ │ ├── Parameters.kt │ │ │ │ └── PatcherProcess.kt │ │ │ └── worker/ │ │ │ └── PatcherWorker.kt │ │ ├── service/ │ │ │ ├── RootService.kt │ │ │ └── UninstallService.kt │ │ ├── ui/ │ │ │ ├── component/ │ │ │ │ ├── AlertDialogExtended.kt │ │ │ │ ├── AppIcon.kt │ │ │ │ ├── AppInfo.kt │ │ │ │ ├── AppLabel.kt │ │ │ │ ├── AppScaffold.kt │ │ │ │ ├── ArrowButton.kt │ │ │ │ ├── AvailableUpdateDialog.kt │ │ │ │ ├── BottomContentBar.kt │ │ │ │ ├── CheckedFilterChip.kt │ │ │ │ ├── ColumnWithScrollbar.kt │ │ │ │ ├── ColumnWithScrollbarEdgeShadow.kt │ │ │ │ ├── ConfirmDialog.kt │ │ │ │ ├── ContentSelector.kt │ │ │ │ ├── EmptyState.kt │ │ │ │ ├── ExceptionViewerDialog.kt │ │ │ │ ├── FullscreenDialog.kt │ │ │ │ ├── GroupHeader.kt │ │ │ │ ├── InstallerStatusDialog.kt │ │ │ │ ├── LazyColumnWithScrollbar.kt │ │ │ │ ├── LazyColumnWithScrollbarEdgeShadow.kt │ │ │ │ ├── ListSection.kt │ │ │ │ ├── LoadingIndicator.kt │ │ │ │ ├── Markdown.kt │ │ │ │ ├── NotificationCard.kt │ │ │ │ ├── NumberInputDialog.kt │ │ │ │ ├── PasswordField.kt │ │ │ │ ├── PillTabBar.kt │ │ │ │ ├── SafeguardDialog.kt │ │ │ │ ├── Scrollbar.kt │ │ │ │ ├── SearchBar.kt │ │ │ │ ├── SearchView.kt │ │ │ │ ├── SegmentedButton.kt │ │ │ │ ├── ShareSheet.kt │ │ │ │ ├── TextInputDialog.kt │ │ │ │ ├── Tooltip.kt │ │ │ │ ├── bundle/ │ │ │ │ │ ├── BundleItem.kt │ │ │ │ │ ├── BundlePatchesDialog.kt │ │ │ │ │ ├── BundleSelector.kt │ │ │ │ │ └── BundleTopBar.kt │ │ │ │ ├── haptics/ │ │ │ │ │ ├── HapticCheckbox.kt │ │ │ │ │ ├── HapticExtendedFloatingActionButton.kt │ │ │ │ │ ├── HapticFloatingActionButton.kt │ │ │ │ │ ├── HapticRadioButton.kt │ │ │ │ │ ├── HapticSwitch.kt │ │ │ │ │ ├── HapticTab.kt │ │ │ │ │ └── HapticTriStateCheckbox.kt │ │ │ │ ├── onboarding/ │ │ │ │ │ ├── OnboardingAppCard.kt │ │ │ │ │ └── OnboardingAppList.kt │ │ │ │ ├── patcher/ │ │ │ │ │ ├── InstallPickerDialog.kt │ │ │ │ │ └── Steps.kt │ │ │ │ ├── patches/ │ │ │ │ │ ├── ActionItem.kt │ │ │ │ │ ├── IncompatiblePatchDialog.kt │ │ │ │ │ ├── IncompatiblePatchesDialog.kt │ │ │ │ │ ├── OptionFields.kt │ │ │ │ │ ├── OptionsDialog.kt │ │ │ │ │ ├── PatchItem.kt │ │ │ │ │ ├── PatchesFilterBottomSheet.kt │ │ │ │ │ ├── PatchesListHeader.kt │ │ │ │ │ ├── PathSelectorDialog.kt │ │ │ │ │ ├── ScopeDialog.kt │ │ │ │ │ ├── SelectionWarningDialog.kt │ │ │ │ │ ├── SourceSectionHeader.kt │ │ │ │ │ ├── UniversalPatchWarningDialog.kt │ │ │ │ │ ├── buildBundleSections.kt │ │ │ │ │ └── buildSectionLayouts.kt │ │ │ │ ├── scaffold/ │ │ │ │ │ └── BannerScaffold.kt │ │ │ │ ├── settings/ │ │ │ │ │ ├── BooleanItem.kt │ │ │ │ │ ├── Changelog.kt │ │ │ │ │ ├── ExpressiveListIcon.kt │ │ │ │ │ ├── IntegerItem.kt │ │ │ │ │ ├── SafeguardBooleanItem.kt │ │ │ │ │ ├── SettingsListItem.kt │ │ │ │ │ └── ThemeSelector.kt │ │ │ │ └── sources/ │ │ │ │ └── ImportSourceDialog.kt │ │ │ ├── model/ │ │ │ │ ├── InstallerModel.kt │ │ │ │ ├── PatcherStep.kt │ │ │ │ ├── SelectedApp.kt │ │ │ │ └── navigation/ │ │ │ │ └── Nav.kt │ │ │ ├── screen/ │ │ │ │ ├── AnnouncementScreen.kt │ │ │ │ ├── AnnouncementsScreen.kt │ │ │ │ ├── AppSelectorScreen.kt │ │ │ │ ├── AppliedPatchesDialog.kt │ │ │ │ ├── BundleInformationScreen.kt │ │ │ │ ├── BundleListScreen.kt │ │ │ │ ├── DashboardScreen.kt │ │ │ │ ├── InstalledAppInfoScreen.kt │ │ │ │ ├── InstalledAppsScreen.kt │ │ │ │ ├── OnboardingScreen.kt │ │ │ │ ├── PatcherScreen.kt │ │ │ │ ├── PatchesSelectorScreen.kt │ │ │ │ ├── RequiredOptionsScreen.kt │ │ │ │ ├── SelectedAppInfoScreen.kt │ │ │ │ ├── SettingsScreen.kt │ │ │ │ ├── UpdateScreen.kt │ │ │ │ ├── onboarding/ │ │ │ │ │ ├── AppsStepContent.kt │ │ │ │ │ ├── PermissionsStepContent.kt │ │ │ │ │ └── UpdatesStepContent.kt │ │ │ │ └── settings/ │ │ │ │ ├── AboutSettingsScreen.kt │ │ │ │ ├── AdvancedSettingsScreen.kt │ │ │ │ ├── ContributorSettingsScreen.kt │ │ │ │ ├── DeveloperSettingsScreen.kt │ │ │ │ ├── DownloadersInfoScreen.kt │ │ │ │ ├── DownloadsSettingsScreen.kt │ │ │ │ ├── GeneralSettingsScreen.kt │ │ │ │ ├── ImportExportSettingsScreen.kt │ │ │ │ ├── LicensesSettingsScreen.kt │ │ │ │ └── update/ │ │ │ │ ├── ChangelogsSettingsScreen.kt │ │ │ │ └── UpdatesSettingsScreen.kt │ │ │ ├── theme/ │ │ │ │ ├── Color.kt │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ └── viewmodel/ │ │ │ ├── AboutViewModel.kt │ │ │ ├── AdvancedSettingsViewModel.kt │ │ │ ├── AnnouncementsViewModel.kt │ │ │ ├── AppSelectorViewModel.kt │ │ │ ├── AppliedPatchesViewModel.kt │ │ │ ├── BundleInformationViewModel.kt │ │ │ ├── BundleListViewModel.kt │ │ │ ├── ChangelogsViewModel.kt │ │ │ ├── ContributorViewModel.kt │ │ │ ├── DashboardViewModel.kt │ │ │ ├── DeveloperOptionsViewModel.kt │ │ │ ├── DownloadsViewModel.kt │ │ │ ├── GeneralSettingsViewModel.kt │ │ │ ├── ImportExportViewModel.kt │ │ │ ├── InstalledAppInfoViewModel.kt │ │ │ ├── InstalledAppsViewModel.kt │ │ │ ├── MainViewModel.kt │ │ │ ├── OnboardingViewModel.kt │ │ │ ├── PatcherViewModel.kt │ │ │ ├── PatchesSelectorViewModel.kt │ │ │ ├── SelectedAppInfoViewModel.kt │ │ │ ├── UpdateViewModel.kt │ │ │ └── UpdatesSettingsViewModel.kt │ │ └── util/ │ │ ├── Ackpine.kt │ │ ├── Constants.kt │ │ ├── PM.kt │ │ ├── RequestInstallAppsContract.kt │ │ ├── RequestManageStorageContract.kt │ │ ├── SnapshotStateSet.kt │ │ ├── SupportedLocales.kt │ │ ├── Util.kt │ │ └── saver/ │ │ ├── NullableSaver.kt │ │ ├── PathSaver.kt │ │ ├── PersistentCollectionSavers.kt │ │ └── SnapshotStateCollectionSavers.kt │ └── res/ │ ├── drawable/ │ │ ├── ic_launcher_foreground.xml │ │ ├── ic_launcher_monochrome.xml │ │ ├── ic_launcher_splash_screen.xml │ │ ├── ic_logo_ring.xml │ │ └── ic_notification.xml │ ├── mipmap-anydpi/ │ │ └── ic_launcher.xml │ ├── resources.properties │ ├── values/ │ │ ├── colors.xml │ │ ├── id.xml │ │ ├── strings.xml │ │ └── themes.xml │ ├── values-af-rZA/ │ │ └── strings.xml │ ├── values-am-rET/ │ │ └── strings.xml │ ├── values-ar-rSA/ │ │ └── strings.xml │ ├── values-as-rIN/ │ │ └── strings.xml │ ├── values-az-rAZ/ │ │ └── strings.xml │ ├── values-be-rBY/ │ │ └── strings.xml │ ├── values-bg-rBG/ │ │ └── strings.xml │ ├── values-bn-rBD/ │ │ └── strings.xml │ ├── values-bs-rBA/ │ │ └── strings.xml │ ├── values-ca-rES/ │ │ └── strings.xml │ ├── values-cs-rCZ/ │ │ └── strings.xml │ ├── values-da-rDK/ │ │ └── strings.xml │ ├── values-de-rDE/ │ │ └── strings.xml │ ├── values-el-rGR/ │ │ └── strings.xml │ ├── values-es-rES/ │ │ └── strings.xml │ ├── values-et-rEE/ │ │ └── strings.xml │ ├── values-eu-rES/ │ │ └── strings.xml │ ├── values-fa-rIR/ │ │ └── strings.xml │ ├── values-fi-rFI/ │ │ └── strings.xml │ ├── values-fil-rPH/ │ │ └── strings.xml │ ├── values-fr-rFR/ │ │ └── strings.xml │ ├── values-ga-rIE/ │ │ └── strings.xml │ ├── values-gl-rES/ │ │ └── strings.xml │ ├── values-gu-rIN/ │ │ └── strings.xml │ ├── values-hi-rIN/ │ │ └── strings.xml │ ├── values-hr-rHR/ │ │ └── strings.xml │ ├── values-hu-rHU/ │ │ └── strings.xml │ ├── values-hy-rAM/ │ │ └── strings.xml │ ├── values-in-rID/ │ │ └── strings.xml │ ├── values-is-rIS/ │ │ └── strings.xml │ ├── values-it-rIT/ │ │ └── strings.xml │ ├── values-iw-rIL/ │ │ └── strings.xml │ ├── values-ja-rJP/ │ │ └── strings.xml │ ├── values-ka-rGE/ │ │ └── strings.xml │ ├── values-kk-rKZ/ │ │ └── strings.xml │ ├── values-km-rKH/ │ │ └── strings.xml │ ├── values-kn-rIN/ │ │ └── strings.xml │ ├── values-ko-rKR/ │ │ └── strings.xml │ ├── values-ky-rKG/ │ │ └── strings.xml │ ├── values-lo-rLA/ │ │ └── strings.xml │ ├── values-lt-rLT/ │ │ └── strings.xml │ ├── values-lv-rLV/ │ │ └── strings.xml │ ├── values-mk-rMK/ │ │ └── strings.xml │ ├── values-ml-rIN/ │ │ └── strings.xml │ ├── values-mn-rMN/ │ │ └── strings.xml │ ├── values-mr-rIN/ │ │ └── strings.xml │ ├── values-ms-rMY/ │ │ └── strings.xml │ ├── values-my-rMM/ │ │ └── strings.xml │ ├── values-nb-rNO/ │ │ └── strings.xml │ ├── values-ne-rIN/ │ │ └── strings.xml │ ├── values-nl-rNL/ │ │ └── strings.xml │ ├── values-or-rIN/ │ │ └── strings.xml │ ├── values-pa-rIN/ │ │ └── strings.xml │ ├── values-pl-rPL/ │ │ └── strings.xml │ ├── values-pt-rBR/ │ │ └── strings.xml │ ├── values-pt-rPT/ │ │ └── strings.xml │ ├── values-ro-rRO/ │ │ └── strings.xml │ ├── values-ru-rRU/ │ │ └── strings.xml │ ├── values-si-rLK/ │ │ └── strings.xml │ ├── values-sk-rSK/ │ │ └── strings.xml │ ├── values-sl-rSI/ │ │ └── strings.xml │ ├── values-sq-rAL/ │ │ └── strings.xml │ ├── values-sr-rCS/ │ │ └── strings.xml │ ├── values-sr-rSP/ │ │ └── strings.xml │ ├── values-sv-rSE/ │ │ └── strings.xml │ ├── values-sw-rKE/ │ │ └── strings.xml │ ├── values-ta-rIN/ │ │ └── strings.xml │ ├── values-te-rIN/ │ │ └── strings.xml │ ├── values-th-rTH/ │ │ └── strings.xml │ ├── values-tr-rTR/ │ │ └── strings.xml │ ├── values-uk-rUA/ │ │ └── strings.xml │ ├── values-ur-rIN/ │ │ └── strings.xml │ ├── values-uz-rUZ/ │ │ └── strings.xml │ ├── values-vi-rVN/ │ │ └── strings.xml │ ├── values-zh-rCN/ │ │ └── strings.xml │ ├── values-zh-rTW/ │ │ └── strings.xml │ ├── values-zu-rZA/ │ │ └── strings.xml │ └── xml/ │ ├── backup_rules.xml │ ├── data_extraction_rules.xml │ └── file_provider_paths.xml ├── build.gradle.kts ├── crowdin.yml ├── docs/ │ ├── 0_prerequisites.md │ ├── 1_installation.md │ ├── 2_1_patching.md │ ├── 2_2_managing_apps.md │ ├── 2_3_managing_patches.md │ ├── 2_4_managing_downloaders.md │ ├── 2_5_updating.md │ ├── 2_6_settings.md │ ├── 2_usage.md │ ├── 3_troubleshooting.md │ ├── 4_building.md │ └── README.md ├── gradle/ │ ├── libs.versions.toml │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── package.json └── settings.gradle.kts