├── .editorconfig ├── .githooks └── pre-commit ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.yaml │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── actions │ ├── assign-release-task │ │ ├── action.yml │ │ └── github_asana_mapping.yml │ └── check-for-changes-since-tag │ │ └── action.yml ├── issue-reply-template.md ├── pr-reply-template.md └── workflows │ ├── action-issue-opened.yaml │ ├── action-pr-merged.yaml │ ├── action-pr-opened.yaml │ ├── ads-end-to-end.yml │ ├── build-debug-apk.yaml │ ├── build-fdroid-apk.yml │ ├── ci.yml │ ├── custom-tabs-nightly.yml │ ├── docs.yml │ ├── e2e-nightly-autofill.yml │ ├── end-to-end-robintest.yml │ ├── end-to-end.yml │ ├── external-css-tests.yml │ ├── external-ref-tests.yml │ ├── nightly.yml │ ├── pr-review-notifications.yaml │ ├── privacy-dashboard-end-to-end.yml │ ├── privacy.yml │ ├── release_create_tag.yml │ ├── release_create_task.yml │ ├── release_nightly.yml │ ├── release_production.yml │ ├── release_report_error.yml │ ├── release_tests.yml │ ├── release_update_release_notes.yml │ ├── release_upload_play_store.yml │ ├── sync-critical-path.yml │ ├── update-content-scope.yml │ └── update-ref-tests.yml ├── .gitignore ├── .gitmodules ├── .idea ├── copyright │ ├── Apache_2_0.xml │ └── profiles_settings.xml └── icon.svg ├── .maestro ├── ad_click_detection_flows │ ├── 10_-_m.js_bing-provided_ad_domain_provided_but_incorrect_dsl_not_needed.yaml │ ├── 11_-_y.js_bing-provided_ad_domain_provided_but_it's_not_a_domain_i.e.,_abcedf_u3_not_needed.yaml │ ├── 12_-_m.js_bing-provided_ad_domain_provided_but_it's_not_a_domain_i.e.,_abcedf__dsl_not_needed.yaml │ ├── 13_-_y.js_bing-provided_ad_domain_provided_but_it's_a_subdomain_of_advertiser_i.e.,_foo.www.search-company-site_u3_not_needed.yaml │ ├── 14_-_m.js_bing-provided_ad_domain_provided_but_it's_a_subdomain_of_advertiser_i.e.,_foo.www.search-company-site__dsl_not_needed.yaml │ ├── 1_-_y.js_heuristic_no_ad_domain_param_u3_param_included_1_1_1.yaml │ ├── 2_-_m.js_heuristic_no_ad_domain_param_dsl_param_included_1_1.yaml │ ├── 3_-_y.js_heuristic_no_ad_domain_param,_but_missing_u3_param_1_1.yaml │ ├── 4_-_m.js_heuristic_no_ad_domain_param,_but_missing_dsl_param_1_1.yaml │ ├── 5_-_y.js_heuristic_ad_domain_provided,_but_empty_u3_not_needed.yaml │ ├── 6_-_m.js_heuristic_ad_domain_provided,_but_empty_dsl_not_needed.yaml │ ├── 7_-_y.js_bing-provided_ad_domain_provided_u3_not_needed.yaml │ ├── 8_-_m.js_bing-provided_ad_domain_provided_dsl_not_needed.yaml │ └── 9_-_y.js_bing-provided_ad_domain_provided_but_incorrect_u3_not_needed.yaml ├── ads_preview_flows │ └── 1-_design-system-components.yaml ├── app_tp │ └── app_tp_onboarding.yaml ├── autofill │ ├── 0_all.yaml │ ├── 1_autofill_shown_in_overflow.yaml │ ├── 2_autofill_add_search_update_delete_creds.yaml │ ├── 3_autofill_prompted_to_save_creds_on_form.yaml │ ├── smoke.yaml │ └── steps │ │ ├── 2_script.js │ │ ├── access_passwords_screen.yaml │ │ ├── delete_logins.yaml │ │ ├── manual_update.yaml │ │ └── search_logins.yaml ├── bookmarks │ ├── ensure_bookmarks_can_be_added_and_deleted.yaml │ ├── open_bookmark_and_navigate_back.yaml │ └── open_bookmark_in_folder_and_navigate_back.yaml ├── browsing │ └── visit_site.yaml ├── config.yaml ├── custom_tabs │ ├── custom_tabs_navigation.yaml │ └── custom_tabs_navigation_new_tab.yaml ├── favorites │ ├── favorites_bookmarks_add.yaml │ └── favorites_bookmarks_delete.yaml ├── fire_button │ └── fire_during_onboarding.yaml ├── notifications_permissions_android13_plus │ ├── 1_-_permissions_allowed.yaml │ └── 2_-_permissions_denied.yaml ├── privacy_tests │ ├── 10_-_Query_Parameters,_utm_source_and_1_standard_parameter.yaml │ ├── 11_-_Query_Parameters,_utm_source_and_utm_medium.yaml │ ├── 12_-_Query_Parameters,_fbclid,_fb_source_and_1_standard_parameter.yaml │ ├── 13_-_Query_Parameters,_link_which_should_not_be_rewritten.yaml │ ├── 1_-_Single-site,_single-tab,_session.yaml │ ├── 2_-_Single-site,_new-tab,_session.yaml │ ├── 3_-_Single-site,_new-tab,_session_variant_two.yaml │ ├── 4_-_Single-site,_multi-tab_session.yaml │ ├── 5_-_Multi-site,_single-tab,_session.yaml │ ├── 6_-_Multi-tab.yaml │ ├── 7_-_Browser_restart_mid-session.yaml │ ├── 8_-_Navigation_with_back_forward.yaml │ └── 9_-_Navigation_with_refresh.yaml ├── security_tests │ ├── 1_-_AddressBarSpoof,_basicauth.yaml │ ├── 2_-_AddressBarSpoof,_aboutblank.yaml │ ├── 3_-_AddressBarSpoof,_appschemes.yaml │ ├── 4_-_AddressBarSpoof,_b64_html.yaml │ ├── 5_-_AddressBarSpoof,_downloadpath.yaml │ ├── 6_-_AddressBarSpoof,_formaction.yaml │ └── 7_-_AddressBarSpoof,_pagerewrite.yaml ├── shared │ ├── onboarding.yaml │ ├── open_bookmarks.yaml │ ├── open_sync_dev_settings_screen.yaml │ └── open_sync_screen.yaml ├── sync_flows │ ├── create_account.yaml │ ├── delete_server_data.yaml │ ├── recover_account.yaml │ ├── steps │ │ ├── action_add_bookmarks_and_folders.yaml │ │ ├── action_add_new_device.yaml │ │ ├── action_disable_sync.yaml │ │ ├── action_enable_unified_favourites.yaml │ │ ├── action_recover_account.yaml │ │ ├── action_verify_bookmarks_and_folders.yaml │ │ ├── script_add_bookmark_domains.js │ │ └── script_verify_bookmark_domains.js │ └── sync_data.yaml └── tabs │ └── open_multiple_tabs.yaml ├── CONTRIBUTING.md ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── NOTICE ├── README.md ├── STYLEGUIDE.md ├── TRANSLATIONS.md ├── ad-click ├── ad-click-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── adclick │ │ └── api │ │ └── AdClickManager.kt ├── ad-click-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── adclick │ │ │ └── impl │ │ │ ├── DataRemovalAdClickWorker.kt │ │ │ ├── DuckDuckGoAdClickData.kt │ │ │ ├── DuckDuckGoAdClickManager.kt │ │ │ ├── Exemption.kt │ │ │ ├── RealAdClickAttribution.kt │ │ │ ├── di │ │ │ └── AdClickModule.kt │ │ │ ├── pixels │ │ │ ├── AdClickDailyReportingWorker.kt │ │ │ ├── AdClickPixelName.kt │ │ │ └── AdClickPixels.kt │ │ │ ├── remoteconfig │ │ │ ├── AdClickAttributionFeature.kt │ │ │ ├── AdClickAttributionFeatureModels.kt │ │ │ ├── AdClickAttributionFeatureSettingsStore.kt │ │ │ └── AdClickAttributionRepository.kt │ │ │ └── store │ │ │ ├── AdClickDao.kt │ │ │ ├── AdClickDatabase.kt │ │ │ ├── AdClickEntities.kt │ │ │ └── exemptions │ │ │ ├── AdClickExemptionsDao.kt │ │ │ ├── AdClickExemptionsDatabase.kt │ │ │ └── AdClickExemptionsEntities.kt │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── adclick │ │ │ └── impl │ │ │ ├── DataRemovalAdClickWorkerTest.kt │ │ │ ├── DuckDuckGoAdClickDataTest.kt │ │ │ ├── DuckDuckGoAdClickManagerTest.kt │ │ │ ├── RealAdClickAttributionTest.kt │ │ │ ├── pixels │ │ │ ├── AdClickDailyReportingWorkerTest.kt │ │ │ └── RealAdClickPixelsTest.kt │ │ │ ├── referencetests │ │ │ ├── AdClickAttributionAllowlistReferenceTest.kt │ │ │ └── AdClickAttributionLinkFormatsReferenceTest.kt │ │ │ └── remoteconfig │ │ │ └── RealAdClickAttributionRepositoryTest.kt │ │ └── resources │ │ ├── json │ │ ├── ad_click_attribution.json │ │ ├── ad_click_attribution_disabled.json │ │ └── ad_click_attribution_min_supported_version.json │ │ └── reference_tests │ │ └── adclickattribution │ │ ├── ad_click_attribution_matching_tests.json │ │ └── ad_click_attribution_reference.json └── readme.md ├── anrs ├── anrs-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── anrs │ │ └── api │ │ ├── AnrRepository.kt │ │ └── CrashLogger.kt ├── anrs-impl │ ├── .gitignore │ ├── CMakeLists.txt │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── cpp │ │ │ ├── android.h │ │ │ ├── jni.cpp │ │ │ ├── ndk-crash.cpp │ │ │ ├── ndk-crash.h │ │ │ ├── pixel.cpp │ │ │ └── pixel.h │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── app │ │ │ └── anr │ │ │ ├── AnrException.kt │ │ │ ├── AnrOfflinePixelSender.kt │ │ │ ├── AnrSupervisor.kt │ │ │ ├── CrashOfflinePixelSender.kt │ │ │ ├── CrashPixel.kt │ │ │ ├── ExceptionModels.kt │ │ │ ├── GlobalUncaughtExceptionHandler.kt │ │ │ ├── RealAnrRepository.kt │ │ │ ├── RealCrashLogger.kt │ │ │ ├── VerifiedCrashPixelDataCleaner.kt │ │ │ ├── di │ │ │ ├── AnrModule.kt │ │ │ └── CrashModule.kt │ │ │ └── ndk │ │ │ ├── NativeCrashFeature.kt │ │ │ └── NativeCrashInit.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── app │ │ └── anr │ │ ├── GlobalUncaughtExceptionHandlerTest.kt │ │ ├── RedactDomainTest.kt │ │ └── ndk │ │ └── NativeCrashFeatureMultiProcessStoreTest.kt ├── anrs-internal │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── app │ │ │ └── anr │ │ │ └── internal │ │ │ ├── feature │ │ │ ├── CrashANRsInternalSettingsActivity.kt │ │ │ ├── CrashANRsSettingPlugin.kt │ │ │ └── InternalViews.kt │ │ │ ├── setting │ │ │ ├── CrashANRsListView.kt │ │ │ ├── CrashANRsRepository.kt │ │ │ └── VitalsAdapterList.kt │ │ │ └── store │ │ │ ├── CrashANRsInternalDatabase.kt │ │ │ ├── CrashANRsInternalModule.kt │ │ │ ├── CrashAnrsObserver.kt │ │ │ ├── DatabaseCleanupObserver.kt │ │ │ ├── InternalANRDao.kt │ │ │ └── InternalCrashDao.kt │ │ └── res │ │ └── layout │ │ ├── activity_crash_anr_internal_settings.xml │ │ ├── crash_anrs_list_view.xml │ │ ├── item_anr.xml │ │ └── item_crash.xml ├── anrs-store │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── app │ │ └── anrs │ │ └── store │ │ ├── AnrDao.kt │ │ ├── AnrEntity.kt │ │ ├── AnrsDatabase.kt │ │ ├── CrashDatabase.kt │ │ ├── ExceptionEntity.kt │ │ └── UncaughtExceptionDao.kt └── readme.md ├── anvil ├── anvil-annotations │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── anvil │ │ └── annotations │ │ ├── ContributeToActivityStarter.kt │ │ ├── ContributesActivePlugin.kt │ │ ├── ContributesActivePluginPoint.kt │ │ ├── ContributesNonCachingServiceApi.kt │ │ ├── ContributesPluginPoint.kt │ │ ├── ContributesRemoteFeature.kt │ │ ├── ContributesServiceApi.kt │ │ ├── ContributesViewModel.kt │ │ ├── ContributesWorker.kt │ │ ├── InjectWith.kt │ │ └── PriorityKey.kt ├── anvil-compiler │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── anvil │ │ └── compiler │ │ ├── ContributeToActivityStarterCodeGenerator.kt │ │ ├── ContributesActivePluginPointCodeGenerator.kt │ │ ├── ContributesPluginPointCodeGenerator.kt │ │ ├── ContributesRemoteFeatureCodeGenerator.kt │ │ ├── ContributesServiceApiCodeGenerator.kt │ │ ├── ContributesSubComponentCodeGenerator.kt │ │ ├── ContributesViewModelCodeGenerator.kt │ │ ├── ContributesWorkerCodeGenerator.kt │ │ └── Extensions.kt └── readme.md ├── app-build-config ├── app-build-config-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── appbuildconfig │ │ └── api │ │ └── AppBuildConfig.kt └── readme.md ├── app-store ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── duckduckgo │ └── app │ └── trackerdetection │ ├── api │ └── WebTrackersBlockedRepository.kt │ └── db │ ├── DatabaseDateFormatter.kt │ └── WebTrackerBlocked.kt ├── app-tracking-protection ├── app-tracking-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── mobile │ │ └── android │ │ └── app │ │ └── tracking │ │ ├── AppTrackerDetector.kt │ │ ├── AppTrackingProtection.kt │ │ └── ui │ │ └── AppTrackingProtectionScreens.kt ├── readme.md ├── vpn-api-test │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── mobile │ │ └── android │ │ └── vpn │ │ ├── FakeVpnFeaturesRegistry.kt │ │ ├── network │ │ ├── FakeDnsProvider.kt │ │ └── FakeVpnNetworkStack.kt │ │ └── service │ │ ├── FakeVpnEnabledNotificationContentPlugin.kt │ │ └── FakeVpnReminderNotificationContentPlugin.kt ├── vpn-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── mobile │ │ └── android │ │ └── vpn │ │ ├── Vpn.kt │ │ ├── VpnFeaturesRegistry.kt │ │ ├── WorkerExtensions.kt │ │ ├── exclusion │ │ ├── AppCategory.kt │ │ ├── AppCategoryDetector.kt │ │ └── SystemAppOverridesProvider.kt │ │ ├── integration │ │ └── VpnNetworkStackProvider.kt │ │ ├── network │ │ ├── DnsProvider.kt │ │ ├── ExternalVpnDetector.kt │ │ └── VpnNetworkStack.kt │ │ ├── service │ │ ├── VpnEnabledNotificationContentPlugin.kt │ │ ├── VpnReminderNotificationContentPlugin.kt │ │ ├── VpnServiceCallbacks.kt │ │ ├── VpnSocketProtector.kt │ │ └── connectivity │ │ │ └── VpnConnectivityLossListenerPlugin.kt │ │ ├── state │ │ ├── VpnStateCollector.kt │ │ ├── VpnStateCollectorPlugin.kt │ │ └── VpnStateMonitor.kt │ │ └── ui │ │ └── VpnScreens.kt ├── vpn-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ │ └── images │ │ │ │ ├── img_0.png │ │ │ │ ├── img_1.png │ │ │ │ ├── img_2.png │ │ │ │ ├── img_3.png │ │ │ │ ├── img_4.png │ │ │ │ ├── img_5.png │ │ │ │ ├── img_6.png │ │ │ │ ├── img_7.png │ │ │ │ └── img_8.png │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── mobile │ │ │ │ └── android │ │ │ │ ├── app │ │ │ │ └── tracking │ │ │ │ │ ├── AppTPRMFMatchingAttribute.kt │ │ │ │ │ ├── AppTPVpnConnectivityLossListener.kt │ │ │ │ │ ├── RealAppTrackerDetector.kt │ │ │ │ │ └── RealAppTrackingProtection.kt │ │ │ │ └── vpn │ │ │ │ ├── AppTpVpnFeature.kt │ │ │ │ ├── ProtocolVersion.kt │ │ │ │ ├── UnprotectedAppsBucketPixelSender.kt │ │ │ │ ├── VpnFeaturesRegistryImpl.kt │ │ │ │ ├── apps │ │ │ │ ├── ApplicationInfoExtensions.kt │ │ │ │ ├── ManageAppsProtectionViewModel.kt │ │ │ │ ├── RealAppCategoryDetector.kt │ │ │ │ ├── TrackingProtectionAppInfo.kt │ │ │ │ ├── TrackingProtectionAppsRepository.kt │ │ │ │ └── ui │ │ │ │ │ ├── ExclusionListAdapter.kt │ │ │ │ │ ├── ManageRecentAppsProtectionActivity.kt │ │ │ │ │ ├── ManuallyDisableAppProtectionDialog.kt │ │ │ │ │ ├── ManuallyEnableAppProtectionDialog.kt │ │ │ │ │ ├── RestoreDefaultProtectionDialog.kt │ │ │ │ │ ├── TrackingProtectionAppsAdapter.kt │ │ │ │ │ └── TrackingProtectionExclusionListActivity.kt │ │ │ │ ├── appupdates │ │ │ │ └── AppUpdateReceiver.kt │ │ │ │ ├── blocklist │ │ │ │ ├── AppTrackerListDownloader.kt │ │ │ │ ├── AppTrackerListService.kt │ │ │ │ └── AppTrackerListUpdateWorker.kt │ │ │ │ ├── breakage │ │ │ │ ├── AppFeedbackContract.kt │ │ │ │ ├── ReportBreakageAppListActivity.kt │ │ │ │ ├── ReportBreakageAppListAdapter.kt │ │ │ │ ├── ReportBreakageAppListViewModel.kt │ │ │ │ ├── ReportBreakageAppViewModels.kt │ │ │ │ ├── ReportBreakageCategorySingleChoiceActivity.kt │ │ │ │ ├── ReportBreakageCategorySingleChoiceViewModel.kt │ │ │ │ ├── ReportBreakageContract.kt │ │ │ │ └── ReportBreakageMetadataReporter.kt │ │ │ │ ├── bugreport │ │ │ │ ├── AppTPStateCollector.kt │ │ │ │ ├── AppVersionCollector.kt │ │ │ │ ├── DeviceInfoCollector.kt │ │ │ │ ├── NetworkTypeCollector.kt │ │ │ │ ├── NetworkTypeMonitor.kt │ │ │ │ ├── VpnAppTrackerListInfoCollector.kt │ │ │ │ ├── VpnLastTrackersBlockedCollector.kt │ │ │ │ ├── VpnServiceStateCollector.kt │ │ │ │ └── VpnStateCollector.kt │ │ │ │ ├── cohort │ │ │ │ ├── CohortCalculator.kt │ │ │ │ ├── CohortPixelInterceptor.kt │ │ │ │ └── CohortStore.kt │ │ │ │ ├── connectivity │ │ │ │ └── VpnConnectivityLossListenerPluginPoint.kt │ │ │ │ ├── debug │ │ │ │ ├── DeviceShieldNotificationsDebugReceiver.kt │ │ │ │ └── SendTrackerDebugReceiver.kt │ │ │ │ ├── di │ │ │ │ ├── AppTpBreakageCategories.kt │ │ │ │ ├── AppTrackerBreakageCategoriesModule.kt │ │ │ │ ├── BatteryOptimizationState.kt │ │ │ │ ├── VpnAppModule.kt │ │ │ │ ├── VpnDispatcherProvider.kt │ │ │ │ └── VpnModule.kt │ │ │ │ ├── feature │ │ │ │ ├── AppTpLocalFeature.kt │ │ │ │ ├── AppTpRemoteFeatures.kt │ │ │ │ ├── removal │ │ │ │ │ ├── VpnFeatureRemover.kt │ │ │ │ │ ├── VpnFeatureRemoverStateListener.kt │ │ │ │ │ └── VpnFeatureRemoverWorker.kt │ │ │ │ └── settings │ │ │ │ │ └── ExceptionListsSettingStore.kt │ │ │ │ ├── health │ │ │ │ ├── AppTPCPUMonitor.kt │ │ │ │ ├── CPUMonitorWorker.kt │ │ │ │ ├── CPUUsageReader.kt │ │ │ │ ├── CPUUsageReaderImpl.kt │ │ │ │ └── NetworkConnectivityHealthHandler.kt │ │ │ │ ├── heartbeat │ │ │ │ ├── VpnServiceHeartbeat.kt │ │ │ │ └── VpnServiceHeartbeatMonitor.kt │ │ │ │ ├── integration │ │ │ │ ├── NgVpnNetworkStack.kt │ │ │ │ └── VpnNetworkStackProvider.kt │ │ │ │ ├── logging │ │ │ │ └── AndroidLogcatLoggerRegistrar.kt │ │ │ │ ├── network │ │ │ │ ├── DnsProviderImpl.kt │ │ │ │ ├── RealVpnDetector.kt │ │ │ │ └── util │ │ │ │ │ └── NetworkUtil.kt │ │ │ │ ├── pixels │ │ │ │ ├── DeviceShieldPixelNames.kt │ │ │ │ ├── DeviceShieldPixels.kt │ │ │ │ ├── DeviceShieldRetentionPixelSender.kt │ │ │ │ ├── DeviceShieldStatusReporting.kt │ │ │ │ └── VpnPixelParamRemovalPlugin.kt │ │ │ │ ├── processor │ │ │ │ ├── requestingapp │ │ │ │ │ └── AppNameResolver.kt │ │ │ │ └── tcp │ │ │ │ │ └── tracker │ │ │ │ │ └── AppTrackerRecorder.kt │ │ │ │ ├── service │ │ │ │ ├── DeviceShieldTileService.kt │ │ │ │ ├── DnsChangeCallback.kt │ │ │ │ ├── RestartReceiver.kt │ │ │ │ ├── TrackerBlockingVpnService.kt │ │ │ │ ├── VpnActionReceiver.kt │ │ │ │ ├── VpnEnabledNotificationContentPluginPoint.kt │ │ │ │ ├── VpnMemoryCollectorPlugin.kt │ │ │ │ ├── VpnNetworkStackDelegate.kt │ │ │ │ ├── VpnReminderNotificationWorker.kt │ │ │ │ ├── VpnReminderReceiver.kt │ │ │ │ ├── VpnReminderReceiverManager.kt │ │ │ │ ├── VpnRoutes.kt │ │ │ │ ├── VpnServiceCallbacksPluginPoint.kt │ │ │ │ ├── VpnTrackerNotificationUpdates.kt │ │ │ │ ├── notification │ │ │ │ │ ├── AppTPAndNetPEnabledNotificationContentPlugin.kt │ │ │ │ │ ├── AppTpDisabledContentPlugin.kt │ │ │ │ │ ├── AppTpEnabledNotificationContentPlugin.kt │ │ │ │ │ ├── AppTpReminderNotificationUtils.kt │ │ │ │ │ ├── AppTpRevokedContentPlugin.kt │ │ │ │ │ ├── PersistentNotificationDismissedReceiver.kt │ │ │ │ │ ├── VpnNotificationStore.kt │ │ │ │ │ └── VpnReminderNotificationContentPluginPoint.kt │ │ │ │ └── state │ │ │ │ │ ├── RealVpnStateMonitor.kt │ │ │ │ │ ├── VpnStateMonitorService.kt │ │ │ │ │ └── VpnTrampolineService.kt │ │ │ │ └── ui │ │ │ │ ├── alwayson │ │ │ │ ├── AlwaysOnAlertDialogFragment.kt │ │ │ │ └── AlwaysOnLockDownDetector.kt │ │ │ │ ├── newtab │ │ │ │ ├── AppTrackingProtectionNewTabSettingView.kt │ │ │ │ ├── AppTrackingProtectionNewTabSettingsViewModel.kt │ │ │ │ └── AppTrackingProtectionStateView.kt │ │ │ │ ├── notification │ │ │ │ ├── AppTPReminderNotificationScheduler.kt │ │ │ │ ├── DeviceShieldAlertNotificationBuilder.kt │ │ │ │ ├── DeviceShieldNotificationFactory.kt │ │ │ │ ├── DeviceShieldNotificationScheduler.kt │ │ │ │ ├── NotificationActionReportIssue.kt │ │ │ │ ├── PressNotificationHandlers.kt │ │ │ │ ├── VpnEnabledNotificationBuilder.kt │ │ │ │ └── VpnReminderNotificationBuilder.kt │ │ │ │ ├── onboarding │ │ │ │ ├── AppTPRemoteMessageNavigationAction.kt │ │ │ │ ├── AppTPVpnOnboardingResourceHelper.kt │ │ │ │ ├── DeviceShieldOnboardingAdapter.kt │ │ │ │ ├── VpnOnboardingActivity.kt │ │ │ │ ├── VpnOnboardingViewModel.kt │ │ │ │ └── VpnStore.kt │ │ │ │ ├── report │ │ │ │ ├── DeviceShieldAppTrackersInfo.kt │ │ │ │ ├── DeviceShieldFragment.kt │ │ │ │ └── PrivacyReportViewModel.kt │ │ │ │ ├── tracker_activity │ │ │ │ ├── AppTPCompanyDetailsAdapter.kt │ │ │ │ ├── AppTPCompanyTrackersActivity.kt │ │ │ │ ├── AppTPCompanyTrackersViewModel.kt │ │ │ │ ├── DeviceShieldActivityFeedFragment.kt │ │ │ │ ├── DeviceShieldActivityFeedViewModel.kt │ │ │ │ ├── DeviceShieldMostRecentActivity.kt │ │ │ │ ├── DeviceShieldTrackerActivity.kt │ │ │ │ ├── DeviceShieldTrackerActivityViewModel.kt │ │ │ │ ├── PastWeekTrackerActivityContentView.kt │ │ │ │ ├── TrackerBadgeAdapter.kt │ │ │ │ ├── TrackerFeedAdapter.kt │ │ │ │ ├── model │ │ │ │ │ ├── TrackerFeedItem.kt │ │ │ │ │ └── TrackingSignal.kt │ │ │ │ └── view │ │ │ │ │ ├── AppsProtectionStateView.kt │ │ │ │ │ ├── DisableVpnDialogOptions.kt │ │ │ │ │ ├── MultiAppsIcon.kt │ │ │ │ │ └── message │ │ │ │ │ ├── ActionRequiredDisabledMessagePlugin.kt │ │ │ │ │ ├── AppTPStateMessagePlugin.kt │ │ │ │ │ ├── AppTpInfoPanel.kt │ │ │ │ │ ├── DisabledBySystemMessagePlugin.kt │ │ │ │ │ ├── DisabledMessagePlugin.kt │ │ │ │ │ ├── NextSessionEnabledMessagePlugin.kt │ │ │ │ │ ├── OnboardingEnabledMessagePlugin.kt │ │ │ │ │ ├── PProUpsellBannerPlugin.kt │ │ │ │ │ ├── PproUpsellDisabledMessagePlugin.kt │ │ │ │ │ ├── PproUpsellRevokedMessagePlugin.kt │ │ │ │ │ ├── RevokedMessagePlugin.kt │ │ │ │ │ └── SubscriptionsExt.kt │ │ │ │ └── util │ │ │ │ └── TextDrawable.kt │ │ └── res │ │ │ ├── color │ │ │ └── button_contained_background.xml │ │ │ ├── drawable │ │ │ ├── apptp_shield_disabled.xml │ │ │ ├── apptp_shield_enabled.xml │ │ │ ├── apptp_tracker_activity_shape.xml │ │ │ ├── device_shield_onboarding_illustration.xml │ │ │ ├── device_shield_onboarding_page_three_header.png │ │ │ ├── device_shield_onboarding_page_three_header_dark_transparent.png │ │ │ ├── device_shield_onboarding_page_three_header_transparent.png │ │ │ ├── device_shield_onboarding_permission_dialog.png │ │ │ ├── device_shield_onboarding_report.png │ │ │ ├── ic_active_dot.png │ │ │ ├── ic_alert_yellow.xml │ │ │ ├── ic_announce_24.xml │ │ │ ├── ic_apptp_alert.xml │ │ │ ├── ic_apptp_default.xml │ │ │ ├── ic_apptp_link.xml │ │ │ ├── ic_apptp_warning.xml │ │ │ ├── ic_arrow_down.xml │ │ │ ├── ic_baseline_feedback_24.xml │ │ │ ├── ic_baseline_history_24.xml │ │ │ ├── ic_baseline_mood_bad_24.xml │ │ │ ├── ic_baseline_mood_happy_24.xml │ │ │ ├── ic_baseline_refresh_24.xml │ │ │ ├── ic_block.xml │ │ │ ├── ic_chevron_forward_small_24.xml │ │ │ ├── ic_collapse.xml │ │ │ ├── ic_device_shield_tile.xml │ │ │ ├── ic_expand.xml │ │ │ ├── ic_green_key.xml │ │ │ ├── ic_inactive_dot.png │ │ │ ├── ic_oval_background.xml │ │ │ ├── ic_signal_advertising_id.xml │ │ │ ├── ic_signal_app.xml │ │ │ ├── ic_signal_battery.xml │ │ │ ├── ic_signal_brightness.xml │ │ │ ├── ic_signal_chip.xml │ │ │ ├── ic_signal_cookie.xml │ │ │ ├── ic_signal_device.xml │ │ │ ├── ic_signal_email.xml │ │ │ ├── ic_signal_font_size.xml │ │ │ ├── ic_signal_gps.xml │ │ │ ├── ic_signal_identifiers.xml │ │ │ ├── ic_signal_info.xml │ │ │ ├── ic_signal_os.xml │ │ │ ├── ic_signal_person.xml │ │ │ ├── ic_signal_pin.xml │ │ │ ├── ic_signal_sensor.xml │ │ │ ├── ic_signal_storage.xml │ │ │ ├── ic_signal_time.xml │ │ │ ├── ic_signal_volume.xml │ │ │ ├── ic_signal_wifi.xml │ │ │ ├── ic_vpn_notification_24.xml │ │ │ ├── rounded_top_corners_bottom_sheet_background.xml │ │ │ ├── tracking_network_logo__3across.xml │ │ │ ├── tracking_network_logo_acuityads.xml │ │ │ ├── tracking_network_logo_adform.xml │ │ │ ├── tracking_network_logo_adjust.xml │ │ │ ├── tracking_network_logo_adobe_inc.xml │ │ │ ├── tracking_network_logo_akamai.xml │ │ │ ├── tracking_network_logo_amazon_technologies_inc.xml │ │ │ ├── tracking_network_logo_amplitude.xml │ │ │ ├── tracking_network_logo_appnexus_inc.xml │ │ │ ├── tracking_network_logo_appsflyer.xml │ │ │ ├── tracking_network_logo_automattic.xml │ │ │ ├── tracking_network_logo_beeswax.xml │ │ │ ├── tracking_network_logo_bidtellect.xml │ │ │ ├── tracking_network_logo_branch_metrics_inc.xml │ │ │ ├── tracking_network_logo_braze_inc.xml │ │ │ ├── tracking_network_logo_bugsnag_inc.xml │ │ │ ├── tracking_network_logo_bytedance.xml │ │ │ ├── tracking_network_logo_chartbeat.xml │ │ │ ├── tracking_network_logo_cloudflare.xml │ │ │ ├── tracking_network_logo_cognitiv.xml │ │ │ ├── tracking_network_logo_comscore_inc.xml │ │ │ ├── tracking_network_logo_crimtan_holdings.xml │ │ │ ├── tracking_network_logo_criteo_sa.xml │ │ │ ├── tracking_network_logo_deepintent.xml │ │ │ ├── tracking_network_logo_exoclick.xml │ │ │ ├── tracking_network_logo_eyeota.xml │ │ │ ├── tracking_network_logo_facebook_inc.xml │ │ │ ├── tracking_network_logo_google_ads.xml │ │ │ ├── tracking_network_logo_google_analytics.xml │ │ │ ├── tracking_network_logo_google_llc.xml │ │ │ ├── tracking_network_logo_gumgum.xml │ │ │ ├── tracking_network_logo_hotjar.xml │ │ │ ├── tracking_network_logo_id5.xml │ │ │ ├── tracking_network_logo_improve_digital.xml │ │ │ ├── tracking_network_logo_index_exchange_inc.xml │ │ │ ├── tracking_network_logo_inmar.xml │ │ │ ├── tracking_network_logo_instagram.xml │ │ │ ├── tracking_network_logo_intent_iq.xml │ │ │ ├── tracking_network_logo_iponweb_gmbh.xml │ │ │ ├── tracking_network_logo_kargo.xml │ │ │ ├── tracking_network_logo_kochava.xml │ │ │ ├── tracking_network_logo_line.xml │ │ │ ├── tracking_network_logo_linkedin_corporation.xml │ │ │ ├── tracking_network_logo_liveintent.xml │ │ │ ├── tracking_network_logo_liveramp.xml │ │ │ ├── tracking_network_logo_loopme_ltd.xml │ │ │ ├── tracking_network_logo_lotame_solutions.xml │ │ │ ├── tracking_network_logo_magnite.xml │ │ │ ├── tracking_network_logo_mediamath_inc.xml │ │ │ ├── tracking_network_logo_medianet_advertising.xml │ │ │ ├── tracking_network_logo_mediavine.xml │ │ │ ├── tracking_network_logo_merkle.xml │ │ │ ├── tracking_network_logo_microsoft_corporation.xml │ │ │ ├── tracking_network_logo_mixpanel_inc.xml │ │ │ ├── tracking_network_logo_narrative.xml │ │ │ ├── tracking_network_logo_nativo.xml │ │ │ ├── tracking_network_logo_neustar_inc.xml │ │ │ ├── tracking_network_logo_new_relic.xml │ │ │ ├── tracking_network_logo_onetrust.xml │ │ │ ├── tracking_network_logo_openjs_foundation.xml │ │ │ ├── tracking_network_logo_openx_technologies_inc.xml │ │ │ ├── tracking_network_logo_opera_software.xml │ │ │ ├── tracking_network_logo_oracle_corporation.xml │ │ │ ├── tracking_network_logo_other.xml │ │ │ ├── tracking_network_logo_outbrain.xml │ │ │ ├── tracking_network_logo_pinterest_inc.xml │ │ │ ├── tracking_network_logo_prospect_one.xml │ │ │ ├── tracking_network_logo_pubmatic_inc.xml │ │ │ ├── tracking_network_logo_pulsepoint.xml │ │ │ ├── tracking_network_logo_quantcast_corporation.xml │ │ │ ├── tracking_network_logo_rhythmone.xml │ │ │ ├── tracking_network_logo_roku.xml │ │ │ ├── tracking_network_logo_rtb_house.xml │ │ │ ├── tracking_network_logo_rubicon.xml │ │ │ ├── tracking_network_logo_rythmone.xml │ │ │ ├── tracking_network_logo_salesforcecom_inc.xml │ │ │ ├── tracking_network_logo_semasio.xml │ │ │ ├── tracking_network_logo_sharetrough_inc.xml │ │ │ ├── tracking_network_logo_simplifi_holdings.xml │ │ │ ├── tracking_network_logo_smaato_inc.xml │ │ │ ├── tracking_network_logo_snap.xml │ │ │ ├── tracking_network_logo_sonobi.xml │ │ │ ├── tracking_network_logo_sovrn_holdings.xml │ │ │ ├── tracking_network_logo_spotx_inc.xml │ │ │ ├── tracking_network_logo_supership.xml │ │ │ ├── tracking_network_logo_synacor.xml │ │ │ ├── tracking_network_logo_taboola_inc.xml │ │ │ ├── tracking_network_logo_tapad_inc.xml │ │ │ ├── tracking_network_logo_teads.xml │ │ │ ├── tracking_network_logo_the_nielsen_company.xml │ │ │ ├── tracking_network_logo_the_rubicon_project_inc.xml │ │ │ ├── tracking_network_logo_the_trade_desk_inc.xml │ │ │ ├── tracking_network_logo_triplelift.xml │ │ │ ├── tracking_network_logo_twitter_inc.xml │ │ │ ├── tracking_network_logo_unruly_group.xml │ │ │ ├── tracking_network_logo_urban_airship_inc.xml │ │ │ ├── tracking_network_logo_verizon_media.xml │ │ │ ├── tracking_network_logo_warnermedia_llc.xml │ │ │ ├── tracking_network_logo_wpp.xml │ │ │ ├── tracking_network_logo_xaxis.xml │ │ │ ├── tracking_network_logo_yahoo_japan_corporation.xml │ │ │ ├── tracking_network_logo_yandex_llc.xml │ │ │ ├── tracking_network_logo_yieldmo.xml │ │ │ ├── tracking_network_logo_youtube.xml │ │ │ ├── tracking_network_logo_zeotap_gmbh.xml │ │ │ ├── tracking_network_logo_zeta_global.xml │ │ │ ├── tracking_profile_info_graph.png │ │ │ └── tracking_profile_info_header.png │ │ │ ├── layout-w600dp │ │ │ └── activity_vpn_onboarding_page.xml │ │ │ ├── layout │ │ │ ├── activity_app_trackers_info.xml │ │ │ ├── activity_apptp_company_trackers_activity.xml │ │ │ ├── activity_device_shield_activity.xml │ │ │ ├── activity_device_shield_all_tracer_activity.xml │ │ │ ├── activity_manage_recent_apps_protection.xml │ │ │ ├── activity_report_breakage_app_list.xml │ │ │ ├── activity_report_breakage_category_single_choice.xml │ │ │ ├── activity_tracking_protection_exclusion_list.xml │ │ │ ├── activity_vpn_onboarding.xml │ │ │ ├── activity_vpn_onboarding_page.xml │ │ │ ├── content_vpn_always_on_alert.xml │ │ │ ├── content_vpn_controller.xml │ │ │ ├── dialog_tracking_protection_manually_disable_app.xml │ │ │ ├── dialog_tracking_protection_manually_enable_app.xml │ │ │ ├── dialog_tracking_protection_restore_defaults.xml │ │ │ ├── fragment_device_shield_cta.xml │ │ │ ├── include_company_trackers_toolbar.xml │ │ │ ├── include_trackers_toolbar.xml │ │ │ ├── item_apptp_company_details.xml │ │ │ ├── menu_item_device_tracker_switch.xml │ │ │ ├── popup_window_exclusion_list_filter_item_menu.xml │ │ │ ├── row_exclusion_list_app.xml │ │ │ ├── row_exclusion_list_filter.xml │ │ │ ├── row_exclusion_list_info_panel.xml │ │ │ ├── view_apptp_settings_item.xml │ │ │ ├── view_device_shield_activity_apps.xml │ │ │ ├── view_device_shield_activity_apps_protection.xml │ │ │ ├── view_device_shield_activity_description.xml │ │ │ ├── view_device_shield_activity_entry.xml │ │ │ ├── view_device_shield_activity_entry_header.xml │ │ │ ├── view_device_shield_activity_feed.xml │ │ │ ├── view_device_shield_activity_skeleton_entry.xml │ │ │ ├── view_device_shield_activity_skeleton_placeholder.xml │ │ │ ├── view_device_shield_activity_tracker_badge.xml │ │ │ ├── view_device_shield_excluded_app_entry_skeleton.xml │ │ │ ├── view_device_shield_past_week_activity_content.xml │ │ │ ├── view_device_shield_report_app_breakage_entry.xml │ │ │ ├── view_device_shield_report_breakage_app_list_skeleton.xml │ │ │ ├── view_message_info_disabled.xml │ │ │ ├── view_message_info_enabled.xml │ │ │ └── view_multi_apps_icon.xml │ │ │ ├── menu │ │ │ ├── menu_company_trackers_activity.xml │ │ │ ├── menu_device_tracker_activity.xml │ │ │ └── menu_exclusion_list_activity.xml │ │ │ ├── raw-w600dp │ │ │ ├── device_shield_tracker_count.json │ │ │ └── device_shield_tracker_count_dark.json │ │ │ ├── raw │ │ │ ├── always_on.json │ │ │ ├── always_on_dark.json │ │ │ ├── always_on_lockdown.json │ │ │ ├── always_on_lockdown_dark.json │ │ │ ├── device_shield_tracker_count.json │ │ │ ├── device_shield_tracker_count_dark.json │ │ │ ├── device_shield_tracking_apps.json │ │ │ └── device_shield_tracking_apps_dark.json │ │ │ ├── values-bg │ │ │ └── strings-vpn.xml │ │ │ ├── values-cs │ │ │ └── strings-vpn.xml │ │ │ ├── values-da │ │ │ └── strings-vpn.xml │ │ │ ├── values-de │ │ │ └── strings-vpn.xml │ │ │ ├── values-el │ │ │ └── strings-vpn.xml │ │ │ ├── values-es │ │ │ └── strings-vpn.xml │ │ │ ├── values-et │ │ │ └── strings-vpn.xml │ │ │ ├── values-fi │ │ │ └── strings-vpn.xml │ │ │ ├── values-fr │ │ │ └── strings-vpn.xml │ │ │ ├── values-hr │ │ │ └── strings-vpn.xml │ │ │ ├── values-hu │ │ │ └── strings-vpn.xml │ │ │ ├── values-it │ │ │ └── strings-vpn.xml │ │ │ ├── values-lt │ │ │ └── strings-vpn.xml │ │ │ ├── values-lv │ │ │ └── strings-vpn.xml │ │ │ ├── values-nb │ │ │ └── strings-vpn.xml │ │ │ ├── values-nl │ │ │ └── strings-vpn.xml │ │ │ ├── values-pl │ │ │ └── strings-vpn.xml │ │ │ ├── values-pt │ │ │ └── strings-vpn.xml │ │ │ ├── values-ro │ │ │ └── strings-vpn.xml │ │ │ ├── values-ru │ │ │ └── strings-vpn.xml │ │ │ ├── values-sk │ │ │ └── strings-vpn.xml │ │ │ ├── values-sl │ │ │ └── strings-vpn.xml │ │ │ ├── values-sv │ │ │ └── strings-vpn.xml │ │ │ ├── values-tr │ │ │ └── strings-vpn.xml │ │ │ └── values │ │ │ ├── attrs-past-week-activity-content.xml │ │ │ ├── dimens.xml │ │ │ ├── donottranslate.xml │ │ │ └── strings-vpn.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── mobile │ │ │ └── android │ │ │ ├── app │ │ │ └── tracking │ │ │ │ ├── AppTPRMFMatchingAttributeTest.kt │ │ │ │ ├── AppTPVpnConnectivityLossListenerTest.kt │ │ │ │ └── AppTrackerDetectorTest.kt │ │ │ └── vpn │ │ │ ├── UnprotectedAppsBucketPixelSenderTest.kt │ │ │ ├── VpnFeaturesRegistryImplTest.kt │ │ │ ├── apps │ │ │ ├── ManageAppsProtectionViewModelTest.kt │ │ │ └── TrackingProtectionAppsRepositoryTest.kt │ │ │ ├── breakage │ │ │ ├── ReportBreakageAppListViewModelTest.kt │ │ │ ├── ReportBreakageCategorySingleChoiceViewModelTest.kt │ │ │ └── ReportBreakageContractTest.kt │ │ │ ├── bugreport │ │ │ ├── DeviceInfoCollectorTest.kt │ │ │ └── VpnAppTrackerListInfoCollectorTest.kt │ │ │ ├── cohort │ │ │ ├── CohortPixelInterceptorTest.kt │ │ │ ├── RealCohortCalculatorTest.kt │ │ │ └── RealCohortStoreTest.kt │ │ │ ├── feature │ │ │ ├── AppTpRemoteFeaturesStoreTest.kt │ │ │ └── settings │ │ │ │ └── ExceptionListsSettingStoreTest.kt │ │ │ ├── health │ │ │ └── AppTPCPUMonitorTest.kt │ │ │ ├── integration │ │ │ ├── NgVpnNetworkStackTest.kt │ │ │ └── VpnNetworkStackProviderTest.kt │ │ │ ├── pixels │ │ │ ├── DeviceShieldPixelNamesTest.kt │ │ │ └── RealDeviceShieldPixelsTest.kt │ │ │ ├── service │ │ │ ├── RestartReceiverTest.kt │ │ │ ├── VpnEnabledNotificationContentPluginPointKtTest.kt │ │ │ ├── VpnRoutesTest.kt │ │ │ ├── notification │ │ │ │ ├── AppTPAndNetPEnabledNotificationContentPluginTest.kt │ │ │ │ ├── AppTpEnabledNotificationContentPluginTest.kt │ │ │ │ └── VpnReminderNotificationContentPluginKtTest.kt │ │ │ └── state │ │ │ │ └── RealVpnStateMonitorTest.kt │ │ │ └── ui │ │ │ ├── PrivacyReportViewModelTest.kt │ │ │ ├── newtab │ │ │ └── AppTrackingProtectionNewTabSettingsViewModelTest.kt │ │ │ ├── notification │ │ │ ├── AppTPReminderNotificationSchedulerTest.kt │ │ │ ├── DeviceShieldDailyNotificationFactoryTest.kt │ │ │ └── DeviceShieldWeeklyNotificationFactoryTest.kt │ │ │ ├── onboarding │ │ │ └── SharedPreferencesVpnStoreTest.kt │ │ │ └── tracker_activity │ │ │ ├── AppTPCompanyTrackersViewModelTest.kt │ │ │ ├── DeviceShieldActivityFeedViewModelTest.kt │ │ │ ├── DeviceShieldTrackerActivityViewModelTest.kt │ │ │ └── view │ │ │ └── message │ │ │ ├── ActionRequiredDisabledMessagePluginTest.kt │ │ │ ├── DisabledBySystemMessagePluginTest.kt │ │ │ ├── DisabledMessagePluginTest.kt │ │ │ ├── FakeVPNStore.kt │ │ │ ├── NextSessionEnabledMessagePluginTest.kt │ │ │ ├── OnboardingEnabledMessagePluginTest.kt │ │ │ ├── PProUpsellBannerPluginTest.kt │ │ │ ├── PproUpsellDisabledMessagePluginTest.kt │ │ │ ├── PproUpsellRevokedMessagePluginTest.kt │ │ │ └── RevokedMessagePluginTest.kt │ │ └── resources │ │ └── proc_net │ │ ├── invalid_proc_net_corrupted │ │ ├── invalid_proc_net_empty │ │ ├── valid_tcp4_proc_net │ │ └── valid_tcp6_proc_net ├── vpn-internal │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── vpn │ │ │ └── internal │ │ │ ├── feature │ │ │ ├── InternalFeatureReceiver.kt │ │ │ ├── VpnInternalSettingsActivity.kt │ │ │ ├── VpnInternalSettingsFeature.kt │ │ │ ├── bugreport │ │ │ │ └── VpnBugReporter.kt │ │ │ ├── logs │ │ │ │ ├── DebugLoggingReceiver.kt │ │ │ │ └── TimberExtensions.kt │ │ │ ├── rules │ │ │ │ ├── ExceptionRulesDebugActivity.kt │ │ │ │ ├── ExceptionRulesDebugReceiver.kt │ │ │ │ ├── ExclusionRulesRepository.kt │ │ │ │ ├── RuleAppView.kt │ │ │ │ └── RuleTrackerView.kt │ │ │ └── trackers │ │ │ │ └── DeleteTrackersDebugReceiver.kt │ │ │ └── flipper │ │ │ └── PreferencesFlipperPlugin.kt │ │ └── res │ │ ├── drawable │ │ ├── ic_baseline_mood_bad_24.xml │ │ ├── ic_collapse.xml │ │ └── ic_expand.xml │ │ ├── layout │ │ ├── activity_exception_rules_debug.xml │ │ ├── activity_vpn_internal_settings.xml │ │ ├── exception_rule_app_view.xml │ │ └── exception_rule_domain_view.xml │ │ └── values │ │ ├── attrs-settings-item-with-loading-state.xml │ │ └── donottranslate.xml ├── vpn-store-test │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── mobile │ │ └── android │ │ └── vpn │ │ └── trackers │ │ └── FakeAppTrackerRepository.kt └── vpn-store │ ├── .gitignore │ ├── build.gradle │ ├── schemas │ ├── com.duckduckgo.mobile.android.vpn.health.HealthStatsDatabase │ │ └── 1.json │ ├── com.duckduckgo.mobile.android.vpn.remote_config.VpnRemoteConfigDatabase │ │ └── 1.json │ ├── com.duckduckgo.mobile.android.vpn.store.AppHealthDatabase │ │ ├── 1.json │ │ ├── 2.json │ │ ├── 3.json │ │ ├── 4.json │ │ ├── 5.json │ │ └── 6.json │ └── com.duckduckgo.mobile.android.vpn.store.VpnDatabase │ │ ├── 18.json │ │ ├── 19.json │ │ ├── 20.json │ │ ├── 21.json │ │ ├── 22.json │ │ ├── 23.json │ │ ├── 24.json │ │ ├── 25.json │ │ ├── 26.json │ │ ├── 27.json │ │ ├── 28.json │ │ ├── 29.json │ │ ├── 30.json │ │ ├── 31.json │ │ └── 32.json │ └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── mobile │ │ │ └── android │ │ │ └── vpn │ │ │ ├── dao │ │ │ ├── VpnAppTrackerBlockingDao.kt │ │ │ ├── VpnAppTrackerSystemAppsOverridesDao.kt │ │ │ ├── VpnFeatureRemoverDao.kt │ │ │ ├── VpnHearBeatDao.kt │ │ │ ├── VpnServiceStateStatsDao.kt │ │ │ └── VpnTrackerDao.kt │ │ │ ├── model │ │ │ └── VpnDatabaseModels.kt │ │ │ ├── stats │ │ │ └── AppTrackerBlockingStatsRepository.kt │ │ │ ├── store │ │ │ ├── VpnDatabase.kt │ │ │ ├── VpnDatabaseCallback.kt │ │ │ └── VpnDatabaseCallbackProvider.kt │ │ │ └── trackers │ │ │ ├── AppTracker.kt │ │ │ ├── AppTrackerJsonParser.kt │ │ │ └── AppTrackerRepository.kt │ └── res │ │ └── raw │ │ ├── app_tracker_app_exclusion_list.json │ │ ├── app_tracker_exception_rules.json │ │ └── full_app_trackers_blocklist.json │ └── test │ ├── java │ └── com │ │ └── duckduckgo │ │ └── mobile │ │ └── android │ │ └── vpn │ │ ├── stats │ │ └── AppTrackerBlockingStatsRepositoryTest.kt │ │ ├── store │ │ └── VpnDatabaseTest.kt │ │ └── trackers │ │ ├── AppTrackerJsonParserTest.kt │ │ └── AppTrackerRepositoryTest.kt │ └── resources │ └── full_app_trackers_blocklist.json ├── app ├── .gitignore ├── build.gradle ├── lint-baseline.xml ├── proguard-rules.pro ├── schemas │ └── com.duckduckgo.app.global.db.AppDatabase │ │ ├── 1.json │ │ ├── 10.json │ │ ├── 11.json │ │ ├── 12.json │ │ ├── 13.json │ │ ├── 14.json │ │ ├── 15.json │ │ ├── 16.json │ │ ├── 17.json │ │ ├── 18.json │ │ ├── 19.json │ │ ├── 2.json │ │ ├── 20.json │ │ ├── 21.json │ │ ├── 22.json │ │ ├── 23.json │ │ ├── 24.json │ │ ├── 25.json │ │ ├── 26.json │ │ ├── 27.json │ │ ├── 28.json │ │ ├── 29.json │ │ ├── 3.json │ │ ├── 30.json │ │ ├── 31.json │ │ ├── 32.json │ │ ├── 33.json │ │ ├── 34.json │ │ ├── 35.json │ │ ├── 36.json │ │ ├── 37.json │ │ ├── 38.json │ │ ├── 39.json │ │ ├── 4.json │ │ ├── 40.json │ │ ├── 41.json │ │ ├── 42.json │ │ ├── 43.json │ │ ├── 44.json │ │ ├── 45.json │ │ ├── 46.json │ │ ├── 47.json │ │ ├── 48.json │ │ ├── 49.json │ │ ├── 5.json │ │ ├── 6.json │ │ ├── 7.json │ │ ├── 8.json │ │ └── 9.json ├── src │ ├── androidTest │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ ├── app │ │ │ │ ├── TestExtensions.kt │ │ │ │ ├── ValueCaptorObserver.kt │ │ │ │ ├── accessibility │ │ │ │ │ └── data │ │ │ │ │ │ └── AccessibilitySettingsSharedPreferencesTest.kt │ │ │ │ ├── bookmarks │ │ │ │ │ └── db │ │ │ │ │ │ └── BookmarksDaoTest.kt │ │ │ │ ├── browser │ │ │ │ │ ├── BrowserChromeClientTest.kt │ │ │ │ │ ├── BrowserTabViewModelTest.kt │ │ │ │ │ ├── BrowserWebViewClientTest.kt │ │ │ │ │ ├── DuckDuckGoWebViewTest.kt │ │ │ │ │ ├── TestBackForwardList.kt │ │ │ │ │ ├── WebViewDataManagerTest.kt │ │ │ │ │ ├── WebViewRequestInterceptorTest.kt │ │ │ │ │ ├── certificates │ │ │ │ │ │ ├── LetsEncryptCertificateProviderTest.kt │ │ │ │ │ │ └── rootstore │ │ │ │ │ │ │ ├── CertificateTestExtensions.kt │ │ │ │ │ │ │ ├── IsrgRootX1Test.kt │ │ │ │ │ │ │ ├── IsrgRootX2Test.kt │ │ │ │ │ │ │ ├── LetsEncryptE1Test.kt │ │ │ │ │ │ │ ├── LetsEncryptR3Test.kt │ │ │ │ │ │ │ └── TrustedCertificateStoreTest.kt │ │ │ │ │ ├── cookies │ │ │ │ │ │ ├── AppThirdPartyCookieManagerTest.kt │ │ │ │ │ │ └── db │ │ │ │ │ │ │ └── AuthCookiesAllowedDomainsRepositoryTest.kt │ │ │ │ │ ├── downloader │ │ │ │ │ │ └── BlobConverterInjectorJsTest.kt │ │ │ │ │ ├── favicon │ │ │ │ │ │ ├── DuckDuckGoFaviconManagerTest.kt │ │ │ │ │ │ └── FileBasedFaviconPersisterTest.kt │ │ │ │ │ ├── httpauth │ │ │ │ │ │ └── WebViewHttpAuthStoreTest.kt │ │ │ │ │ ├── logindetection │ │ │ │ │ │ ├── BrowserTabFireproofDialogsEventHandlerTest.kt │ │ │ │ │ │ └── JsLoginDetectorTest.kt │ │ │ │ │ ├── navigation │ │ │ │ │ │ └── WebViewBackForwardListSafeExtractorTest.kt │ │ │ │ │ ├── omnibar │ │ │ │ │ │ └── animations │ │ │ │ │ │ │ ├── LottiePrivacyShieldAnimationHelperTest.kt │ │ │ │ │ │ │ └── TrackersRendererTest.kt │ │ │ │ │ ├── pageloadpixel │ │ │ │ │ │ └── PageLoadedHandlerTest.kt │ │ │ │ │ ├── rating │ │ │ │ │ │ └── db │ │ │ │ │ │ │ └── AppEnjoymentDatabaseRepositoryTest.kt │ │ │ │ │ ├── shortcut │ │ │ │ │ │ └── ShortcutReceiverTest.kt │ │ │ │ │ ├── tabpreview │ │ │ │ │ │ └── FileBasedWebViewPreviewPersisterTest.kt │ │ │ │ │ ├── urlextraction │ │ │ │ │ │ ├── JsUrlExtractorTest.kt │ │ │ │ │ │ └── UrlExtractingWebViewClientTest.kt │ │ │ │ │ └── useragent │ │ │ │ │ │ └── UserAgentOverridePluginPointTest.kt │ │ │ │ ├── cta │ │ │ │ │ ├── db │ │ │ │ │ │ └── DismissedCtaDaoTest.kt │ │ │ │ │ └── ui │ │ │ │ │ │ └── CtaViewModelTest.kt │ │ │ │ ├── di │ │ │ │ │ ├── StubAppConfigurationDownloadModule.kt │ │ │ │ │ ├── StubCoroutinesModule.kt │ │ │ │ │ ├── StubDatabaseModule.kt │ │ │ │ │ ├── StubJobSchedulerModule.kt │ │ │ │ │ └── StubStatisticsModule.kt │ │ │ │ ├── email │ │ │ │ │ ├── EmailInjectorJsTest.kt │ │ │ │ │ └── db │ │ │ │ │ │ └── EmailEncryptedSharedPreferencesTest.kt │ │ │ │ ├── fakes │ │ │ │ │ ├── FeatureToggleFake.kt │ │ │ │ │ ├── UserAgentFake.kt │ │ │ │ │ └── UserAllowListRepositoryFake.kt │ │ │ │ ├── fire │ │ │ │ │ ├── AutomaticDataClearerTest.kt │ │ │ │ │ ├── DataClearerForegroundAppRestartPixelTest.kt │ │ │ │ │ ├── UnsentForgetAllPixelStoreSharedPreferencesTest.kt │ │ │ │ │ └── fireproofwebsite │ │ │ │ │ │ ├── data │ │ │ │ │ │ └── FireproofWebsiteRepositoryImplTest.kt │ │ │ │ │ │ └── ui │ │ │ │ │ │ └── FireproofWebsitesViewModelTest.kt │ │ │ │ ├── global │ │ │ │ │ ├── api │ │ │ │ │ │ └── ApiRequestInterceptorTest.kt │ │ │ │ │ ├── db │ │ │ │ │ │ └── AppDatabaseTest.kt │ │ │ │ │ ├── events │ │ │ │ │ │ └── db │ │ │ │ │ │ │ └── UserEventsDaoTest.kt │ │ │ │ │ ├── install │ │ │ │ │ │ └── AppInstallSharedPreferencesTest.kt │ │ │ │ │ └── view │ │ │ │ │ │ └── ClearPersonalDataActionTest.kt │ │ │ │ ├── icon │ │ │ │ │ └── ui │ │ │ │ │ │ └── ChangeIconViewModelTest.kt │ │ │ │ ├── integration │ │ │ │ │ └── AtbIntegrationTest.kt │ │ │ │ ├── job │ │ │ │ │ ├── AppConfigurationSyncerTest.kt │ │ │ │ │ ├── JobCleanerTest.kt │ │ │ │ │ └── TestWorker.kt │ │ │ │ ├── location │ │ │ │ │ └── data │ │ │ │ │ │ └── LocationPermissionsRepositoryImplTest.kt │ │ │ │ ├── notification │ │ │ │ │ ├── NotificationHandlerServiceTest.kt │ │ │ │ │ ├── NotificationRegistrarTest.kt │ │ │ │ │ ├── db │ │ │ │ │ │ └── NotificationDaoTest.kt │ │ │ │ │ └── model │ │ │ │ │ │ ├── ClearDataNotificationTest.kt │ │ │ │ │ │ └── PrivacyProtectionNotificationTest.kt │ │ │ │ ├── privacy │ │ │ │ │ ├── db │ │ │ │ │ │ ├── NetworkLeaderboardDaoTest.kt │ │ │ │ │ │ ├── PrivacyProtectionCountDaoTest.kt │ │ │ │ │ │ └── UserAllowListDaoTest.kt │ │ │ │ │ ├── model │ │ │ │ │ │ └── TestEntity.kt │ │ │ │ │ └── ui │ │ │ │ │ │ └── AllowListViewModelTest.kt │ │ │ │ ├── referencetests │ │ │ │ │ ├── DomainsReferenceTest.kt │ │ │ │ │ ├── FireproofingReferenceTest.kt │ │ │ │ │ ├── FirstPartyCookiesReferenceTest.kt │ │ │ │ │ ├── HttpsReferenceTest.kt │ │ │ │ │ └── SurrogatesReferenceTest.kt │ │ │ │ ├── statistics │ │ │ │ │ └── api │ │ │ │ │ │ └── StatisticsRequesterJsonTest.kt │ │ │ │ ├── surrogates │ │ │ │ │ └── ResourceSurrogateLoaderTest.kt │ │ │ │ ├── survey │ │ │ │ │ └── db │ │ │ │ │ │ └── SurveyDaoTest.kt │ │ │ │ ├── trackerdetection │ │ │ │ │ ├── RealUrlToTypeMapperTest.kt │ │ │ │ │ ├── TdsTest.kt │ │ │ │ │ └── db │ │ │ │ │ │ ├── TdsCnameEntityDaoTest.kt │ │ │ │ │ │ ├── TdsDomainEntityDaoTest.kt │ │ │ │ │ │ ├── TdsEntityDaoTest.kt │ │ │ │ │ │ ├── TdsMetadataDaoTest.kt │ │ │ │ │ │ └── TdsTrackerDaoTest.kt │ │ │ │ ├── usage │ │ │ │ │ └── search │ │ │ │ │ │ └── SearchCountDaoTest.kt │ │ │ │ └── widget │ │ │ │ │ └── ui │ │ │ │ │ └── AddWidgetInstructionsViewModelTest.kt │ │ │ │ ├── cookies │ │ │ │ └── impl │ │ │ │ │ ├── SQLCookieRemoverTest.kt │ │ │ │ │ └── features │ │ │ │ │ └── firstparty │ │ │ │ │ └── RealFirstPartyCookiesModifierTest.kt │ │ │ │ ├── espresso │ │ │ │ ├── BasicJourneyTest.kt │ │ │ │ ├── DaxDialogsJourneyTest.kt │ │ │ │ ├── EspressoUtils.kt │ │ │ │ ├── PrivacyTest.kt │ │ │ │ ├── TestExtensions.kt │ │ │ │ ├── UserJourney.kt │ │ │ │ ├── WaitTimeIdlingResource.kt │ │ │ │ ├── WebViewIdlingResource.kt │ │ │ │ └── privacy │ │ │ │ │ ├── CookiesTest.kt │ │ │ │ │ ├── FingerprintProtectionTest.kt │ │ │ │ │ ├── GpcTest.kt │ │ │ │ │ ├── HttpsUpgradesTest.kt │ │ │ │ │ ├── PrivacyTestExtensions.kt │ │ │ │ │ ├── RequestBlockingTest.kt │ │ │ │ │ └── SurrogatesTest.kt │ │ │ │ └── widget │ │ │ │ ├── SearchAndFavoritesGridCalculatorKtTest.kt │ │ │ │ └── VoiceSearchWidgetUpdaterReceiverTest.kt │ │ └── resources │ │ │ ├── binary │ │ │ └── surrogates │ │ │ │ ├── surrogates_1 │ │ │ │ ├── surrogates_6 │ │ │ │ ├── surrogates_invalid_format_missing_mimetypes │ │ │ │ ├── surrogates_no_empty_line_at_end_of_file │ │ │ │ ├── surrogates_valid_but_unexpected_extra_space_in_function_close │ │ │ │ ├── surrogates_with_different_mime_types │ │ │ │ └── surrogates_with_empty_line_at_end_of_file │ │ │ ├── json │ │ │ ├── atb_refresh_response_valid.json │ │ │ ├── atb_response_invalid_malformed_json.json │ │ │ ├── atb_response_invalid_missing_version.json │ │ │ ├── atb_response_valid.json │ │ │ └── atb_update_response_valid.json │ │ │ └── reference_tests │ │ │ ├── domain_matching_tests.json │ │ │ ├── fireproofing │ │ │ └── tests.json │ │ │ ├── firstpartycookies │ │ │ ├── config_reference.json │ │ │ └── tests.json │ │ │ ├── https │ │ │ ├── config_reference.json │ │ │ ├── https_allowlist_reference.json │ │ │ ├── https_bloomfilter_reference.bin │ │ │ ├── https_bloomfilter_spec_reference.json │ │ │ └── tests.json │ │ │ ├── surrogates.txt │ │ │ └── tracker_radar_reference.json │ ├── androidTestPlay │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── app │ │ │ └── integration │ │ │ └── HttpsEmbeddedDataIntegrationTest.kt │ ├── fdroid │ │ └── res │ │ │ └── xml │ │ │ └── network_security_config.xml │ ├── internal │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── app │ │ │ │ ├── audit │ │ │ │ ├── AuditSettingsActivity.kt │ │ │ │ ├── AuditSettingsFeature.kt │ │ │ │ └── AuditSettingsViewModel.kt │ │ │ │ ├── browser │ │ │ │ └── webview │ │ │ │ │ └── InternalWebContentDebugging.kt │ │ │ │ ├── dev │ │ │ │ └── settings │ │ │ │ │ ├── DevSettingsActivity.kt │ │ │ │ │ ├── DevSettingsFeature.kt │ │ │ │ │ ├── DevSettingsViewModel.kt │ │ │ │ │ ├── InternalUAInterceptor.kt │ │ │ │ │ ├── customtabs │ │ │ │ │ └── CustomTabsInternalSettingsActivity.kt │ │ │ │ │ ├── db │ │ │ │ │ └── DevSettingsDataStore.kt │ │ │ │ │ ├── notifications │ │ │ │ │ ├── NotificationsActivity.kt │ │ │ │ │ └── NotificationsViewModel.kt │ │ │ │ │ └── privacy │ │ │ │ │ └── TrackerDataDevReceiver.kt │ │ │ │ ├── flipper │ │ │ │ ├── FlipperInitializer.kt │ │ │ │ ├── FlipperPluginPoint.kt │ │ │ │ └── plugins │ │ │ │ │ ├── PixelFlipperPlugin.kt │ │ │ │ │ └── TrackerProtectionFlipperPlugin.kt │ │ │ │ ├── statistics │ │ │ │ └── InternalStatisticsLibraryConfigModule.kt │ │ │ │ └── survey │ │ │ │ └── api │ │ │ │ ├── SurveyEndpointDataStore.kt │ │ │ │ └── SurveyEndpointInterceptor.kt │ │ └── res │ │ │ ├── layout │ │ │ ├── activity_audit_settings.xml │ │ │ ├── activity_custom_tabs_internal_settings.xml │ │ │ ├── activity_dev_settings.xml │ │ │ ├── activity_notifications.xml │ │ │ └── popup_window_user_agent_override.xml │ │ │ ├── values │ │ │ └── donottranslate.xml │ │ │ └── xml │ │ │ └── network_security_config.xml │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── ic_launcher-web.png │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ ├── app │ │ │ │ ├── SelectedTextSearchActivity.kt │ │ │ │ ├── WidgetThemeConfiguration.kt │ │ │ │ ├── about │ │ │ │ │ ├── AboutDuckDuckGoActivity.kt │ │ │ │ │ ├── AboutDuckDuckGoViewModel.kt │ │ │ │ │ ├── AboutScreens.kt │ │ │ │ │ └── FeedbackContract.kt │ │ │ │ ├── accessibility │ │ │ │ │ ├── AccessibilityActivity.kt │ │ │ │ │ ├── AccessibilityForcedZoomContentScopeConfigPlugin.kt │ │ │ │ │ ├── AccessibilitySettingsViewModel.kt │ │ │ │ │ ├── data │ │ │ │ │ │ └── AccessibilityDataStore.kt │ │ │ │ │ └── di │ │ │ │ │ │ └── AccessibilityModule.kt │ │ │ │ ├── appearance │ │ │ │ │ ├── AppearanceActivity.kt │ │ │ │ │ ├── AppearanceScreen.kt │ │ │ │ │ ├── AppearanceViewModel.kt │ │ │ │ │ └── ChangeIconContract.kt │ │ │ │ ├── autocomplete │ │ │ │ │ ├── AutocompleteTabsFeature.kt │ │ │ │ │ ├── api │ │ │ │ │ │ ├── AutoComplete.kt │ │ │ │ │ │ ├── AutoCompleteScorer.kt │ │ │ │ │ │ ├── AutoCompleteService.kt │ │ │ │ │ │ └── AutoCompleteUtils.kt │ │ │ │ │ └── impl │ │ │ │ │ │ ├── AutoCompleteDataStore.kt │ │ │ │ │ │ └── AutoCompleteRepository.kt │ │ │ │ ├── autofill │ │ │ │ │ └── DefaultEmailProtectionJavascriptInjector.kt │ │ │ │ ├── bookmarks │ │ │ │ │ ├── db │ │ │ │ │ │ ├── BookmarkEntity.kt │ │ │ │ │ │ ├── BookmarkFolderEntity.kt │ │ │ │ │ │ ├── BookmarkFoldersDao.kt │ │ │ │ │ │ ├── BookmarksDao.kt │ │ │ │ │ │ ├── FavoriteEntity.kt │ │ │ │ │ │ └── FavoritesDao.kt │ │ │ │ │ └── migration │ │ │ │ │ │ ├── AppDatabaseBookmarksMigrationCallback.kt │ │ │ │ │ │ └── AppDatabaseBookmarksMigrationCallbackProvider.kt │ │ │ │ ├── brokensite │ │ │ │ │ ├── AppBrokenSiteNav.kt │ │ │ │ │ ├── BrokenSiteActivity.kt │ │ │ │ │ ├── BrokenSiteViewModel.kt │ │ │ │ │ ├── RealBrokenSiteContext.kt │ │ │ │ │ ├── api │ │ │ │ │ │ └── BrokenSiteSender.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── BrokenSite.kt │ │ │ │ │ │ └── SiteProtectionsState.kt │ │ │ │ │ └── view │ │ │ │ │ │ └── SiteProtectionsToggle.kt │ │ │ │ ├── browser │ │ │ │ │ ├── BrowserActivity.kt │ │ │ │ │ ├── BrowserChromeClient.kt │ │ │ │ │ ├── BrowserStateModifier.kt │ │ │ │ │ ├── BrowserTabFragment.kt │ │ │ │ │ ├── BrowserTabViewModel.kt │ │ │ │ │ ├── BrowserViewModel.kt │ │ │ │ │ ├── BrowserWebViewClient.kt │ │ │ │ │ ├── CoordinatorLayoutHelper.kt │ │ │ │ │ ├── DosDetector.kt │ │ │ │ │ ├── DuckDuckGoRequestRewriter.kt │ │ │ │ │ ├── DuckDuckGoUrlDetector.kt │ │ │ │ │ ├── DuckDuckGoWebView.kt │ │ │ │ │ ├── EngagementPixelsParamRemovalPlugin.kt │ │ │ │ │ ├── HomeBackgroundLogo.kt │ │ │ │ │ ├── PulseAnimation.kt │ │ │ │ │ ├── RealWebViewCapabilityChecker.kt │ │ │ │ │ ├── SmoothProgressAnimator.kt │ │ │ │ │ ├── SpecialUrlDetector.kt │ │ │ │ │ ├── TabSwitcherButton.kt │ │ │ │ │ ├── WebDataManager.kt │ │ │ │ │ ├── WebNavigationState.kt │ │ │ │ │ ├── WebViewClientListener.kt │ │ │ │ │ ├── WebViewDatabaseProvider.kt │ │ │ │ │ ├── WebViewLongPressHandler.kt │ │ │ │ │ ├── WebViewRequestInterceptor.kt │ │ │ │ │ ├── WebViewVersionProvider.kt │ │ │ │ │ ├── WebViewVersionSource.kt │ │ │ │ │ ├── addtohome │ │ │ │ │ │ └── AddToHomeCapabilityDetector.kt │ │ │ │ │ ├── applinks │ │ │ │ │ │ ├── AppLinksHandler.kt │ │ │ │ │ │ ├── AppLinksLauncher.kt │ │ │ │ │ │ ├── AppLinksSnackBarConfigurator.kt │ │ │ │ │ │ └── ExternalAppIntentFlagsFeature.kt │ │ │ │ │ ├── autocomplete │ │ │ │ │ │ ├── BrowserAutoCompleteSuggestionsAdapter.kt │ │ │ │ │ │ ├── SuggestionItemDecoration.kt │ │ │ │ │ │ └── SuggestionViewHolderFactory.kt │ │ │ │ │ ├── autofill │ │ │ │ │ │ └── AutofillCredentialsSelectionResultHandler.kt │ │ │ │ │ ├── camera │ │ │ │ │ │ └── CameraHardwareChecker.kt │ │ │ │ │ ├── certificates │ │ │ │ │ │ ├── BypassedSSLCertificatesRepository.kt │ │ │ │ │ │ ├── CertificateTrustedStoreModule.kt │ │ │ │ │ │ ├── CertificateTypes.kt │ │ │ │ │ │ ├── LetsEncryptCertificate.kt │ │ │ │ │ │ ├── LetsEncryptCertificateProvider.kt │ │ │ │ │ │ ├── SslCertificateExtensions.kt │ │ │ │ │ │ ├── remoteconfig │ │ │ │ │ │ │ └── SSLCertificatesFeature.kt │ │ │ │ │ │ └── rootstore │ │ │ │ │ │ │ ├── IsrgRootX1.kt │ │ │ │ │ │ │ ├── IsrgRootX2.kt │ │ │ │ │ │ │ ├── LetsEncryptE1.kt │ │ │ │ │ │ │ ├── LetsEncryptR3.kt │ │ │ │ │ │ │ └── TrustedCertificateStore.kt │ │ │ │ │ ├── commands │ │ │ │ │ │ ├── Command.kt │ │ │ │ │ │ └── NavigationCommand.kt │ │ │ │ │ ├── cookies │ │ │ │ │ │ ├── ThirdPartyCookieManager.kt │ │ │ │ │ │ └── db │ │ │ │ │ │ │ ├── AuthCookieAllowedDomainEntity.kt │ │ │ │ │ │ │ ├── AuthCookiesAllowedDomainsDao.kt │ │ │ │ │ │ │ └── AuthCookiesAllowedDomainsRepository.kt │ │ │ │ │ ├── customtabs │ │ │ │ │ │ ├── CustomTabActivity.kt │ │ │ │ │ │ ├── CustomTabPixelNames.kt │ │ │ │ │ │ └── CustomTabViewModel.kt │ │ │ │ │ ├── defaultbrowsing │ │ │ │ │ │ ├── DefaultBrowserDetector.kt │ │ │ │ │ │ ├── DefaultBrowserObserver.kt │ │ │ │ │ │ ├── DefaultBrowserSystemSettings.kt │ │ │ │ │ │ ├── TopInstructionsCard.kt │ │ │ │ │ │ └── prompts │ │ │ │ │ │ │ └── ui │ │ │ │ │ │ │ └── DefaultBrowserBottomSheetDialog.kt │ │ │ │ │ ├── di │ │ │ │ │ │ └── BrowserModule.kt │ │ │ │ │ ├── downloader │ │ │ │ │ │ ├── BlobConverterInjector.kt │ │ │ │ │ │ └── BlobConverterJavascriptInterface.kt │ │ │ │ │ ├── duckplayer │ │ │ │ │ │ └── DuckPlayerJSHelper.kt │ │ │ │ │ ├── favicon │ │ │ │ │ │ ├── DuckDuckGoFaviconManager.kt │ │ │ │ │ │ ├── FaviconDownloader.kt │ │ │ │ │ │ ├── FaviconModule.kt │ │ │ │ │ │ ├── FaviconPersister.kt │ │ │ │ │ │ └── setting │ │ │ │ │ │ │ ├── FaviconFetchingSettingsPlugin.kt │ │ │ │ │ │ │ ├── FaviconFetchingSyncSetting.kt │ │ │ │ │ │ │ └── FaviconFetchingViewModel.kt │ │ │ │ │ ├── filechooser │ │ │ │ │ │ ├── FileChooserIntentBuilder.kt │ │ │ │ │ │ └── capture │ │ │ │ │ │ │ ├── MediaCaptureResultHandler.kt │ │ │ │ │ │ │ ├── launcher │ │ │ │ │ │ │ └── UploadFromExternalMediaAppLauncher.kt │ │ │ │ │ │ │ ├── permission │ │ │ │ │ │ │ └── RealExternalMediaSystemPermissionsHelper.kt │ │ │ │ │ │ │ └── postprocess │ │ │ │ │ │ │ ├── DeleteMediaCaptureWorker.kt │ │ │ │ │ │ │ ├── MediaCaptureDelayedDeleter.kt │ │ │ │ │ │ │ └── MediaCaptureImageMover.kt │ │ │ │ │ ├── history │ │ │ │ │ │ ├── NavigationHistoryAdapter.kt │ │ │ │ │ │ └── NavigationHistorySheet.kt │ │ │ │ │ ├── httpauth │ │ │ │ │ │ └── WebViewHttpAuthStore.kt │ │ │ │ │ ├── httperrors │ │ │ │ │ │ ├── HttpErrorDailyReportingWorker.kt │ │ │ │ │ │ ├── HttpErrorPixelName.kt │ │ │ │ │ │ └── HttpErrorPixels.kt │ │ │ │ │ ├── indonesiamessage │ │ │ │ │ │ ├── IndonesiaNewTabSectionDataStore.kt │ │ │ │ │ │ ├── IndonesiaNewTabSectionView.kt │ │ │ │ │ │ └── IndonesiaNewTabSectionViewModel.kt │ │ │ │ │ ├── logindetection │ │ │ │ │ │ ├── DOMLoginDetector.kt │ │ │ │ │ │ ├── FireproofDialogsEventHandler.kt │ │ │ │ │ │ ├── LoginDetectionJavascriptInterface.kt │ │ │ │ │ │ ├── NavigationAwareLoginDetector.kt │ │ │ │ │ │ └── UriAuthExtension.kt │ │ │ │ │ ├── mediaplayback │ │ │ │ │ │ ├── MediaPlayback.kt │ │ │ │ │ │ ├── MediaPlaybackFeature.kt │ │ │ │ │ │ ├── UnusedMediaPlaybackFeatureFeatureCodegenTrigger.kt │ │ │ │ │ │ └── store │ │ │ │ │ │ │ ├── MediaPlaybackDao.kt │ │ │ │ │ │ │ ├── MediaPlaybackDatabase.kt │ │ │ │ │ │ │ ├── MediaPlaybackExceptionEntity.kt │ │ │ │ │ │ │ ├── MediaPlaybackRepository.kt │ │ │ │ │ │ │ └── MediaPlaybackStore.kt │ │ │ │ │ ├── menu │ │ │ │ │ │ └── BrowserPopupMenu.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── Authentication.kt │ │ │ │ │ │ └── LongPressTarget.kt │ │ │ │ │ ├── navigation │ │ │ │ │ │ ├── AppBrowserNav.kt │ │ │ │ │ │ └── WebViewBackForwardListSafeExtractor.kt │ │ │ │ │ ├── newtab │ │ │ │ │ │ ├── FavoritesQuickAccessAdapter.kt │ │ │ │ │ │ ├── FocusedView.kt │ │ │ │ │ │ ├── NewTabLegacyPageView.kt │ │ │ │ │ │ ├── NewTabLegacyPageViewModel.kt │ │ │ │ │ │ ├── NewTabPageProvider.kt │ │ │ │ │ │ └── QuickAccessDragTouchItemListener.kt │ │ │ │ │ ├── omnibar │ │ │ │ │ │ ├── BottomAppBarBehavior.kt │ │ │ │ │ │ ├── ChangeOmnibarPositionFeature.kt │ │ │ │ │ │ ├── LegacyOmnibarView.kt │ │ │ │ │ │ ├── Omnibar.kt │ │ │ │ │ │ ├── OmnibarBehaviour.kt │ │ │ │ │ │ ├── OmnibarEntryConverter.kt │ │ │ │ │ │ ├── OmnibarFeatureFlagObserver.kt │ │ │ │ │ │ ├── OmnibarLayout.kt │ │ │ │ │ │ ├── OmnibarLayoutViewModel.kt │ │ │ │ │ │ ├── OmnibarPositionDetector.kt │ │ │ │ │ │ ├── OmnibarScrolling.kt │ │ │ │ │ │ ├── QueryUrlConverter.kt │ │ │ │ │ │ ├── TopAppBarBehavior.kt │ │ │ │ │ │ ├── animations │ │ │ │ │ │ │ ├── BrowserLottieTrackersAnimatorHelper.kt │ │ │ │ │ │ │ ├── BrowserTrackersAnimatorHelper.kt │ │ │ │ │ │ │ ├── LottiePrivacyShieldAnimationHelper.kt │ │ │ │ │ │ │ ├── PrivacyShieldAnimationHelper.kt │ │ │ │ │ │ │ ├── TrackersLottieAssetDelegate.kt │ │ │ │ │ │ │ └── TrackersRenderer.kt │ │ │ │ │ │ ├── model │ │ │ │ │ │ │ └── OmnibarPosition.kt │ │ │ │ │ │ └── rmf │ │ │ │ │ │ │ └── OmnibarPositionAttributeMatcher.kt │ │ │ │ │ ├── pageloadpixel │ │ │ │ │ │ ├── PageLoadedHandler.kt │ │ │ │ │ │ ├── PageLoadedOfflinePixelSender.kt │ │ │ │ │ │ ├── PageLoadedPixelDao.kt │ │ │ │ │ │ ├── PageLoadedPixelEntity.kt │ │ │ │ │ │ ├── PageLoadedSites.kt │ │ │ │ │ │ └── firstpaint │ │ │ │ │ │ │ ├── PagePaintedHandler.kt │ │ │ │ │ │ │ ├── PagePaintedOfflinePixelSender.kt │ │ │ │ │ │ │ ├── PagePaintedPixelDao.kt │ │ │ │ │ │ │ └── PagePaintedPixelEntity.kt │ │ │ │ │ ├── print │ │ │ │ │ │ ├── PrintDocumentAdapterFactory.kt │ │ │ │ │ │ ├── PrintInjector.kt │ │ │ │ │ │ ├── PrintJavascriptInterface.kt │ │ │ │ │ │ └── SinglePrintSafeguardFeature.kt │ │ │ │ │ ├── rating │ │ │ │ │ │ ├── db │ │ │ │ │ │ │ ├── AppEnjoyment.kt │ │ │ │ │ │ │ └── AppEnjoymentRepository.kt │ │ │ │ │ │ └── di │ │ │ │ │ │ │ └── RatingModule.kt │ │ │ │ │ ├── refreshpixels │ │ │ │ │ │ ├── RefreshDao.kt │ │ │ │ │ │ ├── RefreshEntity.kt │ │ │ │ │ │ └── RefreshPixelSender.kt │ │ │ │ │ ├── remotemessage │ │ │ │ │ │ ├── CommandActionMapper.kt │ │ │ │ │ │ ├── RemoteMessageMapper.kt │ │ │ │ │ │ ├── RemoteMessagingModel.kt │ │ │ │ │ │ ├── RemoteMessagingViewModel.kt │ │ │ │ │ │ └── SharePromoLinkRMFBroadCastReceiver.kt │ │ │ │ │ ├── serviceworker │ │ │ │ │ │ └── BrowserServiceWorkerClient.kt │ │ │ │ │ ├── session │ │ │ │ │ │ └── WebViewSessionStorage.kt │ │ │ │ │ ├── shortcut │ │ │ │ │ │ ├── ShortcutBuilder.kt │ │ │ │ │ │ └── ShortcutReceiver.kt │ │ │ │ │ ├── state │ │ │ │ │ │ └── BrowserApplicationStateInfo.kt │ │ │ │ │ ├── tabpreview │ │ │ │ │ │ ├── TabEntityDiffCallback.kt │ │ │ │ │ │ ├── WebViewPreviewGenerator.kt │ │ │ │ │ │ └── WebViewPreviewPersister.kt │ │ │ │ │ ├── trafficquality │ │ │ │ │ │ ├── AndroidAppVersionPixelSender.kt │ │ │ │ │ │ ├── AndroidFeaturesHeader.kt │ │ │ │ │ │ ├── QualityAppVersionProvider.kt │ │ │ │ │ │ └── remote │ │ │ │ │ │ │ ├── AndroidFeaturesHeaderProvider.kt │ │ │ │ │ │ │ └── FeaturesRequestHeaderSettingStore.kt │ │ │ │ │ ├── ui │ │ │ │ │ │ ├── ScrollAwareRefreshLayout.kt │ │ │ │ │ │ └── dialogs │ │ │ │ │ │ │ ├── AutomaticFireproofDialogOptions.kt │ │ │ │ │ │ │ └── LaunchInExternalApp.kt │ │ │ │ │ ├── uriloaded │ │ │ │ │ │ ├── DuckDuckGoUriLoadedManager.kt │ │ │ │ │ │ └── UriLoadedPixelFeature.kt │ │ │ │ │ ├── urlextraction │ │ │ │ │ │ ├── DOMUrlExtractor.kt │ │ │ │ │ │ ├── UrlExtractingWebView.kt │ │ │ │ │ │ ├── UrlExtractingWebViewClient.kt │ │ │ │ │ │ ├── UrlExtractionJavascriptInterface.kt │ │ │ │ │ │ └── UrlExtractionListener.kt │ │ │ │ │ ├── viewstate │ │ │ │ │ │ ├── AccessibilityViewState.kt │ │ │ │ │ │ ├── AutoCompleteViewState.kt │ │ │ │ │ │ ├── BrowserViewState.kt │ │ │ │ │ │ ├── CtaViewState.kt │ │ │ │ │ │ ├── FindInPageViewState.kt │ │ │ │ │ │ ├── GlobalLayoutViewState.kt │ │ │ │ │ │ ├── LoadingViewState.kt │ │ │ │ │ │ ├── OmnibarViewState.kt │ │ │ │ │ │ ├── PrivacyShieldViewState.kt │ │ │ │ │ │ └── SavedSiteChangedViewState.kt │ │ │ │ │ ├── webshare │ │ │ │ │ │ └── WebShareChooser.kt │ │ │ │ │ └── webview │ │ │ │ │ │ ├── SslWarningLayout.kt │ │ │ │ │ │ ├── WebContentDebugging.kt │ │ │ │ │ │ ├── WebViewActivity.kt │ │ │ │ │ │ ├── WebViewBlobDownloadFeature.kt │ │ │ │ │ │ ├── WebViewFeatureFlagReporter.kt │ │ │ │ │ │ └── safewebview │ │ │ │ │ │ └── SafeWebViewFeature.kt │ │ │ │ ├── buildconfig │ │ │ │ │ └── RealAppBuildConfig.kt │ │ │ │ ├── clipboard │ │ │ │ │ └── ClipboardInteractorImpl.kt │ │ │ │ ├── cta │ │ │ │ │ ├── db │ │ │ │ │ │ └── DismissedCtaDao.kt │ │ │ │ │ ├── model │ │ │ │ │ │ └── DismissedCta.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── Cta.kt │ │ │ │ │ │ └── CtaViewModel.kt │ │ │ │ ├── di │ │ │ │ │ ├── ActivityComponent.kt │ │ │ │ │ ├── AppComponent.kt │ │ │ │ │ ├── AppConfigurationDownloaderModule.kt │ │ │ │ │ ├── ApplicationModule.kt │ │ │ │ │ ├── CoroutinesModule.kt │ │ │ │ │ ├── DaggerWorkerFactory.kt │ │ │ │ │ ├── DaoModule.kt │ │ │ │ │ ├── DatabaseModule.kt │ │ │ │ │ ├── DevicePropertiesModule.kt │ │ │ │ │ ├── FileModule.kt │ │ │ │ │ ├── FormatterModule.kt │ │ │ │ │ ├── JobsModule.kt │ │ │ │ │ ├── JsonModule.kt │ │ │ │ │ ├── NetworkModule.kt │ │ │ │ │ ├── NotificationModule.kt │ │ │ │ │ ├── PrivacyModule.kt │ │ │ │ │ ├── StatisticsLibraryConfigModule.kt │ │ │ │ │ ├── StatisticsModule.kt │ │ │ │ │ ├── StoreModule.kt │ │ │ │ │ ├── StoreReferralModule.kt │ │ │ │ │ ├── SystemComponentsModule.kt │ │ │ │ │ ├── WidgetModule.kt │ │ │ │ │ └── WorkerModule.kt │ │ │ │ ├── dispatchers │ │ │ │ │ ├── IntentDispatcherActivity.kt │ │ │ │ │ └── IntentDispatcherViewModel.kt │ │ │ │ ├── downloads │ │ │ │ │ ├── DownloadViewItem.kt │ │ │ │ │ ├── DownloadsActivity.kt │ │ │ │ │ ├── DownloadsAdapter.kt │ │ │ │ │ ├── DownloadsFileActions.kt │ │ │ │ │ ├── DownloadsItemListener.kt │ │ │ │ │ ├── DownloadsNewTabShortcutPlugin.kt │ │ │ │ │ ├── DownloadsScreens.kt │ │ │ │ │ └── DownloadsViewModel.kt │ │ │ │ ├── email │ │ │ │ │ ├── AppEmailManager.kt │ │ │ │ │ ├── EmailInjectorJs.kt │ │ │ │ │ ├── EmailJavascriptInterface.kt │ │ │ │ │ ├── api │ │ │ │ │ │ └── EmailService.kt │ │ │ │ │ ├── db │ │ │ │ │ │ ├── EmailDataStore.kt │ │ │ │ │ │ └── EmailEncryptedSharedPreferences.kt.kt │ │ │ │ │ ├── di │ │ │ │ │ │ └── EmailModule.kt │ │ │ │ │ ├── sync │ │ │ │ │ │ └── EmailSync.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── EmailProtectionUnsupportedActivity.kt │ │ │ │ │ │ └── EmailProtectionUnsupportedScreens.kt │ │ │ │ ├── feedback │ │ │ │ │ ├── api │ │ │ │ │ │ ├── FeedbackService.kt │ │ │ │ │ │ ├── FeedbackSubmitter.kt │ │ │ │ │ │ └── SubReasonApiMapper.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── common │ │ │ │ │ │ ├── FeedbackActivity.kt │ │ │ │ │ │ ├── FeedbackFragment.kt │ │ │ │ │ │ ├── FeedbackItemDecoration.kt │ │ │ │ │ │ ├── FeedbackViewModel.kt │ │ │ │ │ │ └── LayoutScrollingTouchListener.kt │ │ │ │ │ │ ├── initial │ │ │ │ │ │ ├── InitialFeedbackFragment.kt │ │ │ │ │ │ └── InitialFeedbackFragmentViewModel.kt │ │ │ │ │ │ ├── negative │ │ │ │ │ │ ├── FeedbackType.kt │ │ │ │ │ │ ├── FeedbackTypeDisplay.kt │ │ │ │ │ │ ├── brokensite │ │ │ │ │ │ │ ├── BrokenSiteNegativeFeedbackFragment.kt │ │ │ │ │ │ │ └── BrokenSiteNegativeFeedbackViewModel.kt │ │ │ │ │ │ ├── mainreason │ │ │ │ │ │ │ ├── MainReasonAdapter.kt │ │ │ │ │ │ │ └── MainReasonNegativeFeedbackFragment.kt │ │ │ │ │ │ ├── openended │ │ │ │ │ │ │ ├── ShareOpenEndedFeedbackFragment.kt │ │ │ │ │ │ │ └── ShareOpenEndedNegativeFeedbackViewModel.kt │ │ │ │ │ │ └── subreason │ │ │ │ │ │ │ ├── SubReasonAdapter.kt │ │ │ │ │ │ │ └── SubReasonNegativeFeedbackFragment.kt │ │ │ │ │ │ └── positive │ │ │ │ │ │ └── initial │ │ │ │ │ │ ├── PositiveFeedbackLandingFragment.kt │ │ │ │ │ │ └── PositiveFeedbackLandingViewModel.kt │ │ │ │ ├── fire │ │ │ │ │ ├── AppCacheClearer.kt │ │ │ │ │ ├── AutomaticDataClearer.kt │ │ │ │ │ ├── ClearWhenOptionExtension.kt │ │ │ │ │ ├── DataClearerForegroundAppRestartPixel.kt │ │ │ │ │ ├── DataClearerTimeKeeper.kt │ │ │ │ │ ├── DataClearingWorker.kt │ │ │ │ │ ├── DatabaseCleaner.kt │ │ │ │ │ ├── DatabaseLocator.kt │ │ │ │ │ ├── FireActivity.kt │ │ │ │ │ ├── LottieFireAnimationLoader.kt │ │ │ │ │ ├── UnsentForgetAllPixelStore.kt │ │ │ │ │ └── fireproofwebsite │ │ │ │ │ │ ├── data │ │ │ │ │ │ ├── FireproofWebsiteDao.kt │ │ │ │ │ │ ├── FireproofWebsiteEntity.kt │ │ │ │ │ │ └── FireproofWebsiteRepositoryImpl.kt │ │ │ │ │ │ └── ui │ │ │ │ │ │ ├── AutomaticFireproofSetting.kt │ │ │ │ │ │ ├── FireproofWebsiteAdapter.kt │ │ │ │ │ │ ├── FireproofWebsitesActivity.kt │ │ │ │ │ │ └── FireproofWebsitesViewModel.kt │ │ │ │ ├── firebutton │ │ │ │ │ ├── FireButtonActivity.kt │ │ │ │ │ ├── FireButtonScreens.kt │ │ │ │ │ ├── FireButtonStore.kt │ │ │ │ │ └── FireButtonViewModel.kt │ │ │ │ ├── generalsettings │ │ │ │ │ ├── GeneralSettingsActivity.kt │ │ │ │ │ ├── GeneralSettingsScreens.kt │ │ │ │ │ ├── GeneralSettingsViewModel.kt │ │ │ │ │ └── showonapplaunch │ │ │ │ │ │ ├── ShowOnAppLaunchActivity.kt │ │ │ │ │ │ ├── ShowOnAppLaunchFeature.kt │ │ │ │ │ │ ├── ShowOnAppLaunchOptionHandler.kt │ │ │ │ │ │ ├── ShowOnAppLaunchScreens.kt │ │ │ │ │ │ ├── ShowOnAppLaunchStateReporterPlugin.kt │ │ │ │ │ │ ├── ShowOnAppLaunchUrlConverterImpl.kt │ │ │ │ │ │ ├── ShowOnAppLaunchViewModel.kt │ │ │ │ │ │ ├── UrlConverter.kt │ │ │ │ │ │ ├── model │ │ │ │ │ │ └── ShowOnAppLaunchOption.kt │ │ │ │ │ │ └── store │ │ │ │ │ │ ├── ShowOnAppLaunchDataStoreModule.kt │ │ │ │ │ │ └── ShowOnAppLaunchOptionDataStore.kt │ │ │ │ ├── global │ │ │ │ │ ├── ActivityLifecycleCallbacksPluginPoint.kt │ │ │ │ │ ├── ApplicationClearDataState.kt │ │ │ │ │ ├── DefaultRoleBrowserDialog.kt │ │ │ │ │ ├── DuckDuckGoApplication.kt │ │ │ │ │ ├── IntentExtension.kt │ │ │ │ │ ├── ListExtension.kt │ │ │ │ │ ├── MultiProcessApplication.kt │ │ │ │ │ ├── ThreadExtension.kt │ │ │ │ │ ├── api │ │ │ │ │ │ ├── ApiInterceptorPluginPoint.kt │ │ │ │ │ │ ├── ApiRequestInterceptor.kt │ │ │ │ │ │ ├── Header.kt │ │ │ │ │ │ ├── NetworkApiCache.kt │ │ │ │ │ │ ├── PixelAdClickAttributionRemovalInterceptor.kt │ │ │ │ │ │ ├── PixelParamRemovalInterceptor.kt │ │ │ │ │ │ └── PixelReQueryInterceptor.kt │ │ │ │ │ ├── db │ │ │ │ │ │ └── AppDatabase.kt │ │ │ │ │ ├── dialog │ │ │ │ │ │ └── BackKeyListener.kt │ │ │ │ │ ├── events │ │ │ │ │ │ └── db │ │ │ │ │ │ │ ├── UserEventEntity.kt │ │ │ │ │ │ │ ├── UserEventsDao.kt │ │ │ │ │ │ │ └── UserEventsStore.kt │ │ │ │ │ ├── file │ │ │ │ │ │ └── FileDeleter.kt │ │ │ │ │ ├── image │ │ │ │ │ │ └── GlobalGlideModule.kt │ │ │ │ │ ├── install │ │ │ │ │ │ └── AppInstallStore.kt │ │ │ │ │ ├── job │ │ │ │ │ │ └── AppConfigurationSyncWorkRequestBuilder.kt │ │ │ │ │ ├── migrations │ │ │ │ │ │ ├── GpcMigrationPlugin.kt │ │ │ │ │ │ ├── LocationPermissionMigrationPlugin.kt │ │ │ │ │ │ ├── MigrationLifecycleObserver.kt │ │ │ │ │ │ └── MigrationStore.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── SiteFactoryImpl.kt │ │ │ │ │ │ └── SiteMonitor.kt │ │ │ │ │ ├── performance │ │ │ │ │ │ └── Performance.kt │ │ │ │ │ ├── plugin │ │ │ │ │ │ ├── PrimaryProcessLifecycleObserverPluginPoint.kt │ │ │ │ │ │ └── VpnProcessLifecycleObserverPluginPoint.kt │ │ │ │ │ ├── rating │ │ │ │ │ │ ├── AppEnjoymentAppCreationObserver.kt │ │ │ │ │ │ ├── AppEnjoymentPromptCriteria.kt │ │ │ │ │ │ ├── AppEnjoymentPromptEmitter.kt │ │ │ │ │ │ ├── AppEnjoymentUserEventRecorder.kt │ │ │ │ │ │ ├── PromptTypeDecider.kt │ │ │ │ │ │ └── ShowInitialPromptDecider.kt │ │ │ │ │ ├── shortcut │ │ │ │ │ │ └── AppShortcutCreator.kt │ │ │ │ │ ├── store │ │ │ │ │ │ ├── AndroidAppProperties.kt │ │ │ │ │ │ └── AndroidUserBrowserProperties.kt │ │ │ │ │ ├── uri │ │ │ │ │ │ └── UriSubdomainRemover.kt │ │ │ │ │ └── view │ │ │ │ │ │ ├── ActivityExtension.kt │ │ │ │ │ │ ├── ClearPersonalDataAction.kt │ │ │ │ │ │ ├── DividerAdapter.kt │ │ │ │ │ │ ├── FaviconImageView.kt │ │ │ │ │ │ ├── FireDialog.kt │ │ │ │ │ │ ├── NonDismissibleBehavior.kt │ │ │ │ │ │ ├── ViewChildrenSequences.kt │ │ │ │ │ │ └── ViewStateConditionalRender.kt │ │ │ │ ├── globalprivacycontrol │ │ │ │ │ └── ui │ │ │ │ │ │ ├── GlobalPrivacyControlActivity.kt │ │ │ │ │ │ └── GlobalPrivacyControlViewModel.kt │ │ │ │ ├── icon │ │ │ │ │ ├── api │ │ │ │ │ │ └── AppIconModifier.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── AppIconsAdapter.kt │ │ │ │ │ │ ├── ChangeIconActivity.kt │ │ │ │ │ │ ├── ChangeIconViewModel.kt │ │ │ │ │ │ └── ItemOffsetDecoration.kt │ │ │ │ ├── internal │ │ │ │ │ └── InternalFeaturePluginPoint.kt │ │ │ │ ├── job │ │ │ │ │ ├── AndroidWorkScheduler.kt │ │ │ │ │ ├── AppConfigurationDownloader.kt │ │ │ │ │ ├── AppConfigurationSyncer.kt │ │ │ │ │ └── JobCleaner.kt │ │ │ │ ├── launch │ │ │ │ │ ├── LaunchBridgeActivity.kt │ │ │ │ │ └── LaunchViewModel.kt │ │ │ │ ├── location │ │ │ │ │ └── data │ │ │ │ │ │ ├── LocationPermissionEntity.kt │ │ │ │ │ │ ├── LocationPermissionsDao.kt │ │ │ │ │ │ └── LocationPermissionsRepositoryImpl.kt │ │ │ │ ├── notification │ │ │ │ │ ├── AndroidNotificationScheduler.kt │ │ │ │ │ ├── AppNotificationSender.kt │ │ │ │ │ ├── NotificationFactory.kt │ │ │ │ │ ├── NotificationHandlerService.kt │ │ │ │ │ ├── NotificationPluginPoint.kt │ │ │ │ │ ├── NotificationRegistrar.kt │ │ │ │ │ ├── RealTaskStackBuilderFactory.kt │ │ │ │ │ ├── SchedulableNotificationPluginPoint.kt │ │ │ │ │ ├── db │ │ │ │ │ │ └── NotificationDao.kt │ │ │ │ │ └── model │ │ │ │ │ │ ├── ClearDataNotification.kt │ │ │ │ │ │ ├── Notification.kt │ │ │ │ │ │ └── PrivacyProtectionNotification.kt │ │ │ │ ├── onboarding │ │ │ │ │ ├── di │ │ │ │ │ │ └── OnboardingModule.kt │ │ │ │ │ ├── store │ │ │ │ │ │ ├── OnboardingStore.kt │ │ │ │ │ │ ├── OnboardingStoreImpl.kt │ │ │ │ │ │ ├── UserStage.kt │ │ │ │ │ │ ├── UserStageDao.kt │ │ │ │ │ │ └── UserStageStore.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── OnboardingActivity.kt │ │ │ │ │ │ ├── OnboardingPageBuilder.kt │ │ │ │ │ │ ├── OnboardingPageManager.kt │ │ │ │ │ │ ├── OnboardingViewModel.kt │ │ │ │ │ │ ├── PagerAdapter.kt │ │ │ │ │ │ └── page │ │ │ │ │ │ ├── DefaultBrowserPage.kt │ │ │ │ │ │ ├── DefaultBrowserPageViewModel.kt │ │ │ │ │ │ ├── OnboardingPageFragment.kt │ │ │ │ │ │ ├── WelcomePage.kt │ │ │ │ │ │ ├── WelcomePageView.kt │ │ │ │ │ │ ├── WelcomePageViewModel.kt │ │ │ │ │ │ ├── extendedonboarding │ │ │ │ │ │ ├── ExtendedOnboardingFeatureToggles.kt │ │ │ │ │ │ └── HighlightsOnboardingExperimentManager.kt │ │ │ │ │ │ └── viewpager │ │ │ │ │ │ └── SwipeRestrictingViewPager.kt │ │ │ │ ├── permissions │ │ │ │ │ ├── PermissionsActivity.kt │ │ │ │ │ ├── PermissionsScreens.kt │ │ │ │ │ └── PermissionsViewModel.kt │ │ │ │ ├── pixels │ │ │ │ │ ├── AppPixelName.kt │ │ │ │ │ ├── EnqueuedPixelWorker.kt │ │ │ │ │ ├── ProcessCreationPixelSender.kt │ │ │ │ │ ├── campaign │ │ │ │ │ │ ├── AdditionalPixelParamsDataStore.kt │ │ │ │ │ │ ├── AdditionalPixelParamsFeature.kt │ │ │ │ │ │ ├── AdditionalPixelParamsFeatureStore.kt │ │ │ │ │ │ ├── CampaignPixelParamsAdditionInterceptor.kt │ │ │ │ │ │ ├── CampaignPixelParamsAdditionPlugin.kt │ │ │ │ │ │ ├── PproCampaignPixelParamsAdditionPlugin.kt │ │ │ │ │ │ ├── RmfCampaignPixelParamsAdditionPlugin.kt │ │ │ │ │ │ └── params │ │ │ │ │ │ │ ├── AdditionalPixelParamPlugin.kt │ │ │ │ │ │ │ ├── AdditionalPixelParamsGenerator.kt │ │ │ │ │ │ │ ├── AtpAdditionalPixelParamPlugin.kt │ │ │ │ │ │ │ ├── AutofillAdditionalPixelParams.kt │ │ │ │ │ │ │ ├── BrowserAdditionalPixelParams.kt │ │ │ │ │ │ │ ├── StatisticsAdditionalPixelParams.kt │ │ │ │ │ │ │ └── SyncAdditionalPixelParams.kt │ │ │ │ │ └── remoteconfig │ │ │ │ │ │ ├── AndroidBrowserConfigFeature.kt │ │ │ │ │ │ └── OptimizeTrackerEvaluationRCWrapper.kt │ │ │ │ ├── plugins │ │ │ │ │ └── JsInjectorPluginPoint.kt │ │ │ │ ├── privacy │ │ │ │ │ ├── cleanup │ │ │ │ │ │ └── TrackersDbCleanerScheduler.kt │ │ │ │ │ ├── db │ │ │ │ │ │ ├── NetworkLeaderboardDao.kt │ │ │ │ │ │ ├── NetworkLeaderboardEntry.kt │ │ │ │ │ │ ├── PrivacyProtectionCountDao.kt │ │ │ │ │ │ ├── RealUserAllowListRepository.kt │ │ │ │ │ │ └── SitesVisitedEntity.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── PrivacyProtectionCountsEntity.kt │ │ │ │ │ │ └── TrustedSites.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── AllowListActivity.kt │ │ │ │ │ │ ├── AllowListViewModel.kt │ │ │ │ │ │ ├── TrackerNetworksListener.kt │ │ │ │ │ │ ├── TrackerNetworksSection.kt │ │ │ │ │ │ └── WebsitesAdapter.kt │ │ │ │ ├── privatesearch │ │ │ │ │ ├── PrivateSearchActivity.kt │ │ │ │ │ ├── PrivateSearchScreens.kt │ │ │ │ │ └── PrivateSearchViewModel.kt │ │ │ │ ├── referral │ │ │ │ │ ├── AppInstallationReferrerParser.kt │ │ │ │ │ ├── AppInstallationReferrerStateListener.kt │ │ │ │ │ ├── AppReferrerDataStore.kt │ │ │ │ │ └── ReferrerOriginAttributeHandler.kt │ │ │ │ ├── settings │ │ │ │ │ ├── FireAnimationActivity.kt │ │ │ │ │ ├── LegacySettingsActivity.kt │ │ │ │ │ ├── LegacySettingsViewModel.kt │ │ │ │ │ ├── NewSettingsActivity.kt │ │ │ │ │ ├── NewSettingsViewModel.kt │ │ │ │ │ ├── SettingsActivity.kt │ │ │ │ │ ├── SettingsNewTabShortcutPlugin.kt │ │ │ │ │ ├── clear │ │ │ │ │ │ ├── AppLinkSettingType.kt │ │ │ │ │ │ ├── ClearWhatOption.kt │ │ │ │ │ │ ├── ClearWhenOption.kt │ │ │ │ │ │ └── FireAnimation.kt │ │ │ │ │ └── db │ │ │ │ │ │ └── SettingsDataStore.kt │ │ │ │ ├── surrogates │ │ │ │ │ ├── ResourceSurrogateLoader.kt │ │ │ │ │ ├── ResourceSurrogates.kt │ │ │ │ │ ├── api │ │ │ │ │ │ ├── ResourceSurrogateListDownloader.kt │ │ │ │ │ │ └── ResourceSurrogateListService.kt │ │ │ │ │ ├── di │ │ │ │ │ │ └── ResourceSurrogateModule.kt │ │ │ │ │ └── store │ │ │ │ │ │ └── ResourceSurrogateDataStore.kt │ │ │ │ ├── survey │ │ │ │ │ ├── api │ │ │ │ │ │ ├── SurveyDownloader.kt │ │ │ │ │ │ ├── SurveyGroup.kt │ │ │ │ │ │ ├── SurveyRepository.kt │ │ │ │ │ │ └── SurveyService.kt │ │ │ │ │ ├── db │ │ │ │ │ │ └── SurveyDao.kt │ │ │ │ │ ├── model │ │ │ │ │ │ └── Survey.kt │ │ │ │ │ ├── notification │ │ │ │ │ │ ├── SurveyAvailableNotification.kt │ │ │ │ │ │ └── SurveyNotificationScheduler.kt │ │ │ │ │ ├── rmf │ │ │ │ │ │ ├── DefaultSurveyParameters.kt │ │ │ │ │ │ └── SurveyActionMapper.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── SurveyActivity.kt │ │ │ │ │ │ └── SurveyViewModel.kt │ │ │ │ ├── sync │ │ │ │ │ └── FakeDeviceSyncState.kt │ │ │ │ ├── systemsearch │ │ │ │ │ ├── DeviceAppLookup.kt │ │ │ │ │ ├── DeviceAppSuggestionsAdapter.kt │ │ │ │ │ ├── SystemSearchActivity.kt │ │ │ │ │ └── SystemSearchViewModel.kt │ │ │ │ ├── tabs │ │ │ │ │ ├── db │ │ │ │ │ │ ├── TabsDao.kt │ │ │ │ │ │ └── TabsDbSanitizer.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── TabDataRepository.kt │ │ │ │ │ │ └── TabSelectionEntity.kt │ │ │ │ │ ├── store │ │ │ │ │ │ ├── TabStatsBucketing.kt │ │ │ │ │ │ ├── TabSwitcherDataStore.kt │ │ │ │ │ │ └── TabSwitcherDataStoreModule.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── GridViewColumnCalculator.kt │ │ │ │ │ │ ├── TabItemDecorator.kt │ │ │ │ │ │ ├── TabRendererExtension.kt │ │ │ │ │ │ ├── TabSwitcherActivity.kt │ │ │ │ │ │ ├── TabSwitcherAdapter.kt │ │ │ │ │ │ ├── TabSwitcherListener.kt │ │ │ │ │ │ ├── TabSwitcherViewModel.kt │ │ │ │ │ │ └── TabTouchHelper.kt │ │ │ │ ├── trackerdetection │ │ │ │ │ ├── Client.kt │ │ │ │ │ ├── CloakedCnameDetector.kt │ │ │ │ │ ├── TdsClient.kt │ │ │ │ │ ├── TdsEntityLookup.kt │ │ │ │ │ ├── TrackerDataLoader.kt │ │ │ │ │ ├── TrackerDetector.kt │ │ │ │ │ ├── UrlToTypeMapper.kt │ │ │ │ │ ├── api │ │ │ │ │ │ ├── TdsJson.kt │ │ │ │ │ │ ├── TrackerDataDownloader.kt │ │ │ │ │ │ ├── TrackerListService.kt │ │ │ │ │ │ └── WebTrackersBlockedAppRepository.kt │ │ │ │ │ ├── blocklist │ │ │ │ │ │ ├── BlockList.kt │ │ │ │ │ │ ├── BlockListInterceptorApiPlugin.kt │ │ │ │ │ │ └── BlockListPrivacyTogglePlugin.kt │ │ │ │ │ ├── db │ │ │ │ │ │ ├── TdsCnameEntityDao.kt │ │ │ │ │ │ ├── TdsDomainEntityDao.kt │ │ │ │ │ │ ├── TdsEntityDao.kt │ │ │ │ │ │ ├── TdsMetadataDao.kt │ │ │ │ │ │ ├── TdsTrackerDao.kt │ │ │ │ │ │ └── WebTrackersBlockedDao.kt │ │ │ │ │ └── model │ │ │ │ │ │ ├── DomainContainer.kt │ │ │ │ │ │ ├── TdsCnameEntity.kt │ │ │ │ │ │ ├── TdsDomainEntity.kt │ │ │ │ │ │ ├── TdsEntity.kt │ │ │ │ │ │ ├── TdsMetadata.kt │ │ │ │ │ │ └── TdsTracker.kt │ │ │ │ ├── usage │ │ │ │ │ ├── app │ │ │ │ │ │ ├── AppDaysUsedDao.kt │ │ │ │ │ │ ├── AppDaysUsedDatabaseRepository.kt │ │ │ │ │ │ └── AppDaysUsedRecorder.kt │ │ │ │ │ ├── di │ │ │ │ │ │ └── AppUsageModule.kt │ │ │ │ │ └── search │ │ │ │ │ │ └── SearchCount.kt │ │ │ │ ├── userstate │ │ │ │ │ └── UserStateReporter.kt │ │ │ │ ├── webtrackingprotection │ │ │ │ │ ├── WebTrackingProtectionActivity.kt │ │ │ │ │ ├── WebTrackingProtectionScreens.kt │ │ │ │ │ └── WebTrackingProtectionViewModel.kt │ │ │ │ └── widget │ │ │ │ │ ├── AddWidgetLauncher.kt │ │ │ │ │ ├── FavoritesObserver.kt │ │ │ │ │ ├── WidgetAddedReceiver.kt │ │ │ │ │ └── ui │ │ │ │ │ ├── AddWidgetInstructionsActivity.kt │ │ │ │ │ ├── AddWidgetInstructionsViewModel.kt │ │ │ │ │ └── WidgetCapabilities.kt │ │ │ │ └── widget │ │ │ │ ├── EmptyFavoritesWidgetService.kt │ │ │ │ ├── FavoritesWidgetService.kt │ │ │ │ ├── SearchAndFavoritesGridCalculator.kt │ │ │ │ ├── SearchAndFavoritesWidget.kt │ │ │ │ ├── SearchWidget.kt │ │ │ │ ├── VoiceSearchWidgetConfigurator.kt │ │ │ │ ├── VoiceSearchWidgetUpdaterReceiver.kt │ │ │ │ ├── WidgetPreferences.kt │ │ │ │ ├── WidgetPrivacyConfigUpdateListener.kt │ │ │ │ ├── WidgetUpdater.kt │ │ │ │ └── WidgetVoiceSearchStatusListener.kt │ │ └── res │ │ │ ├── anim │ │ │ └── tab_anim_fade_out.xml │ │ │ ├── drawable-hdpi │ │ │ ├── background_partial_modal.9.png │ │ │ ├── button_happy_dark_theme.png │ │ │ ├── button_happy_light_theme.png │ │ │ ├── button_sad_dark_theme.png │ │ │ ├── button_sad_light_theme.png │ │ │ ├── ic_happy_face.png │ │ │ ├── ic_sad_face.png │ │ │ ├── icon_fire_glyph.png │ │ │ ├── logo_mini.png │ │ │ ├── set_as_default_browser_illustration_dialog.png │ │ │ └── set_as_default_browser_illustration_settings.png │ │ │ ├── drawable-mdpi │ │ │ ├── background_partial_modal.9.png │ │ │ ├── button_happy_dark_theme.png │ │ │ ├── button_happy_light_theme.png │ │ │ ├── button_sad_dark_theme.png │ │ │ ├── button_sad_light_theme.png │ │ │ ├── ic_happy_face.png │ │ │ ├── ic_sad_face.png │ │ │ ├── icon_fire_glyph.png │ │ │ ├── logo_mini.png │ │ │ ├── set_as_default_browser_illustration_dialog.png │ │ │ └── set_as_default_browser_illustration_settings.png │ │ │ ├── drawable-nodpi │ │ │ ├── search_favorites_widget_dark_preview.png │ │ │ ├── search_favorites_widget_light_preview.png │ │ │ ├── search_widget_dark_preview.png │ │ │ └── search_widget_light_preview.png │ │ │ ├── drawable-w600dp │ │ │ ├── onboarding_background_bitmap_dark.xml │ │ │ ├── onboarding_background_bitmap_light.xml │ │ │ ├── onboarding_experiment_background_bitmap_dark.xml │ │ │ └── onboarding_experiment_background_bitmap_light.xml │ │ │ ├── drawable-xhdpi │ │ │ ├── background_partial_modal.9.png │ │ │ ├── button_happy_dark_theme.png │ │ │ ├── button_happy_light_theme.png │ │ │ ├── button_sad_dark_theme.png │ │ │ ├── button_sad_light_theme.png │ │ │ ├── ic_happy_face.png │ │ │ ├── ic_sad_face.png │ │ │ ├── icon_fire_glyph.png │ │ │ ├── logo_mini.png │ │ │ ├── set_as_default_browser_illustration_dialog.png │ │ │ └── set_as_default_browser_illustration_settings.png │ │ │ ├── drawable-xxhdpi │ │ │ ├── background_partial_modal.9.png │ │ │ ├── button_happy_dark_theme.png │ │ │ ├── button_happy_light_theme.png │ │ │ ├── button_sad_dark_theme.png │ │ │ ├── button_sad_light_theme.png │ │ │ ├── ic_happy_face.png │ │ │ ├── ic_sad_face.png │ │ │ ├── icon_fire_glyph.png │ │ │ ├── logo_mini.png │ │ │ ├── set_as_default_browser_illustration_dialog.png │ │ │ └── set_as_default_browser_illustration_settings.png │ │ │ ├── drawable-xxxhdpi │ │ │ ├── background_partial_modal.9.png │ │ │ ├── button_happy_dark_theme.png │ │ │ ├── button_happy_light_theme.png │ │ │ ├── button_sad_dark_theme.png │ │ │ ├── button_sad_light_theme.png │ │ │ ├── ic_happy_face.png │ │ │ ├── ic_sad_face.png │ │ │ ├── icon_fire_glyph.png │ │ │ ├── logo_mini.png │ │ │ ├── set_as_default_browser_illustration_dialog.png │ │ │ └── set_as_default_browser_illustration_settings.png │ │ │ ├── drawable │ │ │ ├── add_widget_cta_icon.xml │ │ │ ├── background_add_widget_number.xml │ │ │ ├── background_app_icon.xml │ │ │ ├── background_default_browser_menu_item.xml │ │ │ ├── background_grey_border.xml │ │ │ ├── background_grey_border_selected.xml │ │ │ ├── background_preonboarding_option.xml │ │ │ ├── background_preonboarding_option_selected.xml │ │ │ ├── background_site_protections_toggle.xml │ │ │ ├── background_site_protections_toggle_banner_alert.xml │ │ │ ├── background_site_protections_toggle_banner_tooltip.xml │ │ │ ├── broken_bike.xml │ │ │ ├── contact_us.xml │ │ │ ├── cross_24.xml │ │ │ ├── ic_address_bar_position_bottom.xml │ │ │ ├── ic_address_bar_position_top.xml │ │ │ ├── ic_app_shortcut_bookmarks.xml │ │ │ ├── ic_app_shortcut_fire.xml │ │ │ ├── ic_app_shortcut_new_tab.xml │ │ │ ├── ic_autocomplete_20dp.xml │ │ │ ├── ic_autocomplete_down_20dp.xml │ │ │ ├── ic_beta_pill.xml │ │ │ ├── ic_bookmark_20.xml │ │ │ ├── ic_bookmark_favorite_20.xml │ │ │ ├── ic_bookmarks.xml │ │ │ ├── ic_check.xml │ │ │ ├── ic_chrome_comparison_chart.png │ │ │ ├── ic_circle.xml │ │ │ ├── ic_circle_pulse.xml │ │ │ ├── ic_circle_pulse_blue.xml │ │ │ ├── ic_comparison_chart_ads.xml │ │ │ ├── ic_comparison_chart_cookie.xml │ │ │ ├── ic_comparison_chart_fire.xml │ │ │ ├── ic_comparison_chart_search.xml │ │ │ ├── ic_comparison_chart_shield.xml │ │ │ ├── ic_ddg_comparison_chart.png │ │ │ ├── ic_device_mobile_default_128.xml │ │ │ ├── ic_device_shield_tile.xml │ │ │ ├── ic_document_24.xml │ │ │ ├── ic_download_image.xml │ │ │ ├── ic_duckplayer.xml │ │ │ ├── ic_empty_drawable.xml │ │ │ ├── ic_find_search_20.xml │ │ │ ├── ic_find_search_20_a05.xml │ │ │ ├── ic_find_search_20_dark.xml │ │ │ ├── ic_find_search_20_daynight.xml │ │ │ ├── ic_find_search_20_light.xml │ │ │ ├── ic_fire.xml │ │ │ ├── ic_fire_red.xml │ │ │ ├── ic_folder_24.xml │ │ │ ├── ic_folder_add_24.xml │ │ │ ├── ic_globe_20.xml │ │ │ ├── ic_grid_view_24.xml │ │ │ ├── ic_history.xml │ │ │ ├── ic_icon_report_broken_site.xml │ │ │ ├── ic_list_view_24.xml │ │ │ ├── ic_more_trackers.xml │ │ │ ├── ic_newtab.xml │ │ │ ├── ic_share.xml │ │ │ ├── ic_shield.xml │ │ │ ├── ic_shield_alert_128.xml │ │ │ ├── ic_shortcut_downloads.xml │ │ │ ├── ic_shortcut_settings.xml │ │ │ ├── ic_sites_empty.xml │ │ │ ├── ic_success.xml │ │ │ ├── ic_success_128.xml │ │ │ ├── ic_switch_to_tab_20.xml │ │ │ ├── ic_tabs.xml │ │ │ ├── layer_list_find_in_page.xml │ │ │ ├── loading_progress.xml │ │ │ ├── network_logo_adform.xml │ │ │ ├── network_logo_adobe_inc.xml │ │ │ ├── network_logo_amazon_technologies_inc.xml │ │ │ ├── network_logo_amobee_inc.xml │ │ │ ├── network_logo_appnexus_inc.xml │ │ │ ├── network_logo_blank.xml │ │ │ ├── network_logo_centro_inc.xml │ │ │ ├── network_logo_chartbeat.xml │ │ │ ├── network_logo_cloudflare.xml │ │ │ ├── network_logo_comscore_inc.xml │ │ │ ├── network_logo_conversant_llc.xml │ │ │ ├── network_logo_critero_sa.xml │ │ │ ├── network_logo_dataxu_inc.xml │ │ │ ├── network_logo_facebook_inc.xml │ │ │ ├── network_logo_google_ads.xml │ │ │ ├── network_logo_google_analytics.xml │ │ │ ├── network_logo_google_llc.xml │ │ │ ├── network_logo_hotjar_ltd.xml │ │ │ ├── network_logo_index_exchange_inc.xml │ │ │ ├── network_logo_instagram.xml │ │ │ ├── network_logo_iponweb_gmbh.xml │ │ │ ├── network_logo_linkedin.xml │ │ │ ├── network_logo_lotame_solutions_inc.xml │ │ │ ├── network_logo_mediamath_inc.xml │ │ │ ├── network_logo_microsoft_corporation.xml │ │ │ ├── network_logo_mixpanel_inc.xml │ │ │ ├── network_logo_more.xml │ │ │ ├── network_logo_neustar_inc.xml │ │ │ ├── network_logo_new_relic.xml │ │ │ ├── network_logo_openx_technologies_inc.xml │ │ │ ├── network_logo_oracle_corporation.xml │ │ │ ├── network_logo_outbrain.xml │ │ │ ├── network_logo_pubmatic_inc.xml │ │ │ ├── network_logo_quantcast_corporation.xml │ │ │ ├── network_logo_rubicon_the_rubicon_project_inc.xml │ │ │ ├── network_logo_salesforcecom_inc.xml │ │ │ ├── network_logo_smartadserver_sas.xml │ │ │ ├── network_logo_spotx_inc.xml │ │ │ ├── network_logo_stackpath.xml │ │ │ ├── network_logo_taboolacom_ltd.xml │ │ │ ├── network_logo_tapad_inc.xml │ │ │ ├── network_logo_the_nielsen_company.xml │ │ │ ├── network_logo_the_trade_desk_inc.xml │ │ │ ├── network_logo_towerdata.xml │ │ │ ├── network_logo_twitter_inc.xml │ │ │ ├── network_logo_verizon_media.xml │ │ │ ├── network_logo_xaxis.xml │ │ │ ├── network_logo_yahoo_japan_corporation.xml │ │ │ ├── network_logo_yandex_llc.xml │ │ │ ├── network_logo_youtube.xml │ │ │ ├── networks_icon_bad.xml │ │ │ ├── networks_icon_bad_large.xml │ │ │ ├── networks_icon_good.xml │ │ │ ├── networks_icon_good_large.xml │ │ │ ├── networks_icon_neutral.xml │ │ │ ├── networks_icon_neutral_large.xml │ │ │ ├── notification_fire.xml │ │ │ ├── notification_info_bottom_background.xml │ │ │ ├── notification_info_top_background.xml │ │ │ ├── notification_sheild_lock.xml │ │ │ ├── onboarding_background_bitmap_dark.xml │ │ │ ├── onboarding_background_bitmap_light.xml │ │ │ ├── onboarding_background_large_dark.png │ │ │ ├── onboarding_background_large_light.png │ │ │ ├── onboarding_background_small_dark.png │ │ │ ├── onboarding_background_small_light.png │ │ │ ├── onboarding_experiment_background_bitmap_dark.xml │ │ │ ├── onboarding_experiment_background_bitmap_light.xml │ │ │ ├── onboarding_experiment_background_large_dark.png │ │ │ ├── onboarding_experiment_background_large_light.png │ │ │ ├── onboarding_experiment_background_small_dark.png │ │ │ ├── onboarding_experiment_background_small_light.png │ │ │ ├── onboarding_experiment_foreground.xml │ │ │ ├── private_search_header_image.xml │ │ │ ├── progress_progressbar_preonboarding.xml │ │ │ ├── report_broken_site_button_outlined_bg.xml │ │ │ ├── search_favorites_widget_search_bar_background_light.xml │ │ │ ├── search_ok_128.xml │ │ │ ├── search_widget_background_black.xml │ │ │ ├── search_widget_background_dark.xml │ │ │ ├── search_widget_background_daynight.xml │ │ │ ├── search_widget_background_light.xml │ │ │ ├── search_widget_background_white.xml │ │ │ ├── search_widget_favorite_favicon_dark_background.xml │ │ │ ├── search_widget_favorite_favicon_daynight_background.xml │ │ │ ├── search_widget_favorite_favicon_light_background.xml │ │ │ ├── search_widget_favorites_dark_background.xml │ │ │ ├── search_widget_favorites_daynight_background.xml │ │ │ ├── search_widget_favorites_light_background.xml │ │ │ ├── selected_icon_background.xml │ │ │ ├── shield_check_128.xml │ │ │ ├── status_check.xml │ │ │ ├── suggestions_divider.xml │ │ │ ├── survey_background.xml │ │ │ ├── survey_cta_icon.xml │ │ │ ├── system_search_onboarding_high_five.xml │ │ │ ├── tab_unread_indicator.xml │ │ │ ├── we_hatched.xml │ │ │ └── web_tracking_header_image.xml │ │ │ ├── layout-land │ │ │ ├── activity_add_widget_instructions.xml │ │ │ ├── content_onboarding_default_browser.xml │ │ │ └── content_onboarding_welcome_page.xml │ │ │ ├── layout-w600dp │ │ │ └── view_ssl_warning.xml │ │ │ ├── layout │ │ │ ├── activity_about_duck_duck_go.xml │ │ │ ├── activity_accessibility_settings.xml │ │ │ ├── activity_add_widget_instructions.xml │ │ │ ├── activity_allowlist.xml │ │ │ ├── activity_app_icons.xml │ │ │ ├── activity_appearance.xml │ │ │ ├── activity_broken_site.xml │ │ │ ├── activity_browser.xml │ │ │ ├── activity_custom_tab.xml │ │ │ ├── activity_data_clearing.xml │ │ │ ├── activity_downloads.xml │ │ │ ├── activity_email_unsupported.xml │ │ │ ├── activity_fire_animation.xml │ │ │ ├── activity_fire_button.xml │ │ │ ├── activity_fireproof_websites.xml │ │ │ ├── activity_fragment_with_toolbar.xml │ │ │ ├── activity_general_settings.xml │ │ │ ├── activity_global_privacy_control.xml │ │ │ ├── activity_launch.xml │ │ │ ├── activity_onboarding.xml │ │ │ ├── activity_permissions.xml │ │ │ ├── activity_private_search.xml │ │ │ ├── activity_settings.xml │ │ │ ├── activity_settings_new.xml │ │ │ ├── activity_show_on_app_launch_setting.xml │ │ │ ├── activity_system_search.xml │ │ │ ├── activity_tab_switcher.xml │ │ │ ├── activity_user_survey.xml │ │ │ ├── activity_web_tracking_protection.xml │ │ │ ├── activity_webview.xml │ │ │ ├── activity_widget_configuration.xml │ │ │ ├── bottom_sheet_default_browser.xml │ │ │ ├── content_about_duck_duck_go.xml │ │ │ ├── content_broken_sites.xml │ │ │ ├── content_feedback.xml │ │ │ ├── content_feedback_negative_broken_site_feedback.xml │ │ │ ├── content_feedback_negative_disambiguation_main_reason.xml │ │ │ ├── content_feedback_negative_disambiguation_sub_reason.xml │ │ │ ├── content_feedback_open_ended_feedback.xml │ │ │ ├── content_feedback_positive_landing.xml │ │ │ ├── content_onboarding_default_browser.xml │ │ │ ├── content_onboarding_default_browser_card.xml │ │ │ ├── content_onboarding_welcome_page.xml │ │ │ ├── content_permissions.xml │ │ │ ├── content_settings.xml │ │ │ ├── content_settings_about.xml │ │ │ ├── content_settings_internal.xml │ │ │ ├── content_settings_main_settings.xml │ │ │ ├── content_settings_new.xml │ │ │ ├── content_settings_new_other.xml │ │ │ ├── content_settings_new_privacy.xml │ │ │ ├── content_settings_next_steps.xml │ │ │ ├── content_settings_other.xml │ │ │ ├── content_settings_privacy.xml │ │ │ ├── content_settings_settings.xml │ │ │ ├── content_site_location_permission_dialog.xml │ │ │ ├── content_system_location_permission_dialog.xml │ │ │ ├── content_test.xml │ │ │ ├── cookie_cosmetic_scene_1.xml │ │ │ ├── cookie_cosmetic_scene_2.xml │ │ │ ├── cookie_scene_1.xml │ │ │ ├── cookie_scene_2.xml │ │ │ ├── dialog_edit_allowlist.xml │ │ │ ├── empty_view.xml │ │ │ ├── fragment_browser_tab.xml │ │ │ ├── http_authentication.xml │ │ │ ├── include_add_widget_instruction_buttons.xml │ │ │ ├── include_add_widget_instruction_steps.xml │ │ │ ├── include_custom_tab_toolbar.xml │ │ │ ├── include_dax_dialog_cta.xml │ │ │ ├── include_dax_dialog_intro_bubble_cta.xml │ │ │ ├── include_dax_dialog_intro_bubble_cta_experiment.xml │ │ │ ├── include_duckduckgo_browser_webview.xml │ │ │ ├── include_error_view.xml │ │ │ ├── include_find_in_page.xml │ │ │ ├── include_new_browser_tab.xml │ │ │ ├── include_omnibar_toolbar_mockup.xml │ │ │ ├── include_onboarding_view_dax_dialog.xml │ │ │ ├── include_onboarding_view_dax_dialog_experiment.xml │ │ │ ├── include_quick_access_items.xml │ │ │ ├── include_system_search_onboarding.xml │ │ │ ├── item_app_icon.xml │ │ │ ├── item_autocomplete_bookmark_suggestion.xml │ │ │ ├── item_autocomplete_default.xml │ │ │ ├── item_autocomplete_history_search_suggestion.xml │ │ │ ├── item_autocomplete_history_suggestion.xml │ │ │ ├── item_autocomplete_in_app_message.xml │ │ │ ├── item_autocomplete_search_suggestion.xml │ │ │ ├── item_autocomplete_switch_to_tab_suggestion.xml │ │ │ ├── item_bookmark_folder.xml │ │ │ ├── item_device_app_suggestion.xml │ │ │ ├── item_tab_grid.xml │ │ │ ├── item_tab_list.xml │ │ │ ├── navigation_history_popup_view.xml │ │ │ ├── popup_window_browser_menu.xml │ │ │ ├── popup_window_browser_menu_bottom.xml │ │ │ ├── popup_window_download_item_menu.xml │ │ │ ├── popup_window_edit_delete_menu.xml │ │ │ ├── popup_window_edit_favorite_delete_menu.xml │ │ │ ├── popup_window_edit_remove_favorite_delete_menu.xml │ │ │ ├── popup_window_remove_all_menu.xml │ │ │ ├── popup_window_remove_menu.xml │ │ │ ├── pre_onboarding_address_bar_position.xml │ │ │ ├── pre_onboarding_comparison_chart.xml │ │ │ ├── pre_onboarding_dax_dialog_cta.xml │ │ │ ├── pre_onboarding_dax_dialog_cta_experiment.xml │ │ │ ├── search_favorites_widget_dark_auto.xml │ │ │ ├── search_favorites_widget_dark_col2.xml │ │ │ ├── search_favorites_widget_dark_col3.xml │ │ │ ├── search_favorites_widget_dark_col4.xml │ │ │ ├── search_favorites_widget_dark_col5.xml │ │ │ ├── search_favorites_widget_dark_col6.xml │ │ │ ├── search_favorites_widget_daynight_auto.xml │ │ │ ├── search_favorites_widget_daynight_col2.xml │ │ │ ├── search_favorites_widget_daynight_col3.xml │ │ │ ├── search_favorites_widget_daynight_col4.xml │ │ │ ├── search_favorites_widget_daynight_col5.xml │ │ │ ├── search_favorites_widget_daynight_col6.xml │ │ │ ├── search_favorites_widget_empty_hint_dark.xml │ │ │ ├── search_favorites_widget_empty_hint_daylight.xml │ │ │ ├── search_favorites_widget_empty_hint_light.xml │ │ │ ├── search_favorites_widget_light_auto.xml │ │ │ ├── search_favorites_widget_light_col2.xml │ │ │ ├── search_favorites_widget_light_col3.xml │ │ │ ├── search_favorites_widget_light_col4.xml │ │ │ ├── search_favorites_widget_light_col5.xml │ │ │ ├── search_favorites_widget_light_col6.xml │ │ │ ├── search_favorites_widget_search_bar_dark.xml │ │ │ ├── search_favorites_widget_search_bar_daynight.xml │ │ │ ├── search_favorites_widget_search_bar_light.xml │ │ │ ├── search_widget_dark.xml │ │ │ ├── search_widget_light.xml │ │ │ ├── sheet_fire_clear_data.xml │ │ │ ├── view_favorite_widget_dark_item.xml │ │ │ ├── view_favorite_widget_daynight_item.xml │ │ │ ├── view_favorite_widget_light_item.xml │ │ │ ├── view_fireproof_title.xml │ │ │ ├── view_fireproof_website_description.xml │ │ │ ├── view_fireproof_website_empty_hint.xml │ │ │ ├── view_fireproof_website_settings_selection.xml │ │ │ ├── view_focused_view.xml │ │ │ ├── view_indonesia_new_tab_section.xml │ │ │ ├── view_item_downloads_empty.xml │ │ │ ├── view_item_downloads_header.xml │ │ │ ├── view_item_downloads_notify_me.xml │ │ │ ├── view_legacy_omnibar.xml │ │ │ ├── view_legacy_omnibar_bottom.xml │ │ │ ├── view_list_item_description.xml │ │ │ ├── view_list_item_empty_hint.xml │ │ │ ├── view_location_permissions_toggle.xml │ │ │ ├── view_menu_item_default_browser.xml │ │ │ ├── view_new_omnibar.xml │ │ │ ├── view_new_omnibar_bottom.xml │ │ │ ├── view_new_tab_legacy.xml │ │ │ ├── view_quick_access_item.xml │ │ │ ├── view_site_protections_toggle.xml │ │ │ ├── view_ssl_warning.xml │ │ │ ├── view_sync_favicons_fetching.xml │ │ │ └── view_tab_switcher_button.xml │ │ │ ├── menu │ │ │ ├── allowlist_activity_menu.xml │ │ │ ├── allowlist_individual_overflow_menu.xml │ │ │ ├── bookmark_folders_activity_menu.xml │ │ │ ├── bookmarks_individual_overflow_menu.xml │ │ │ ├── downloads_activity_menu.xml │ │ │ ├── fireproof_website_individual_overflow_menu.xml │ │ │ ├── location_permissions_individual_overflow_menu.xml │ │ │ ├── menu_fireproof_websites_activity.xml │ │ │ ├── menu_permissions_per_website_activity.xml │ │ │ └── menu_tab_switcher_activity.xml │ │ │ ├── mipmap-anydpi │ │ │ ├── ic_launcher_black.xml │ │ │ ├── ic_launcher_black_round.xml │ │ │ ├── ic_launcher_blue.xml │ │ │ ├── ic_launcher_blue_round.xml │ │ │ ├── ic_launcher_gold.xml │ │ │ ├── ic_launcher_gold_round.xml │ │ │ ├── ic_launcher_green.xml │ │ │ ├── ic_launcher_green_round.xml │ │ │ ├── ic_launcher_purple.xml │ │ │ ├── ic_launcher_purple_round.xml │ │ │ ├── ic_launcher_red.xml │ │ │ ├── ic_launcher_red_round.xml │ │ │ ├── ic_launcher_silhouette.xml │ │ │ └── ic_launcher_silhouette_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_silhouette_foreground.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_silhouette_foreground.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_silhouette_foreground.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_silhouette_foreground.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_silhouette_foreground.png │ │ │ ├── raw │ │ │ ├── add_widget_instructions.json │ │ │ ├── blob_converter.js │ │ │ ├── cookie_banner_dark.json │ │ │ ├── cookie_banner_light.json │ │ │ ├── cookie_icon_animated_dark.json │ │ │ ├── cookie_icon_animated_light.json │ │ │ ├── dark_protected_shield.json │ │ │ ├── dark_trackers.json │ │ │ ├── dark_trackers_1.json │ │ │ ├── dark_trackers_2.json │ │ │ ├── dark_unprotected_shield.json │ │ │ ├── hero_abstract_airstream.json │ │ │ ├── hero_fire_inferno.json │ │ │ ├── hero_water_whirlpool.json │ │ │ ├── inject_alias.js │ │ │ ├── isrg_root_x1.der │ │ │ ├── isrg_root_x2.der │ │ │ ├── lets_encrypt_e1.der │ │ │ ├── lets_encrypt_r3.der │ │ │ ├── light_trackers.json │ │ │ ├── light_trackers_1.json │ │ │ ├── light_trackers_2.json │ │ │ ├── login_form_detection_functions.js │ │ │ ├── login_form_detection_handlers.js │ │ │ ├── new_tab.json │ │ │ ├── protected_shield.json │ │ │ ├── signout_autofill.js │ │ │ ├── tds.json │ │ │ ├── unprotected_shield.json │ │ │ └── url_extraction.js │ │ │ ├── values-bg │ │ │ └── strings.xml │ │ │ ├── values-cs │ │ │ └── strings.xml │ │ │ ├── values-da │ │ │ └── strings.xml │ │ │ ├── values-de │ │ │ └── strings.xml │ │ │ ├── values-el │ │ │ └── strings.xml │ │ │ ├── values-es │ │ │ └── strings.xml │ │ │ ├── values-et │ │ │ └── strings.xml │ │ │ ├── values-fi │ │ │ └── strings.xml │ │ │ ├── values-fr │ │ │ └── strings.xml │ │ │ ├── values-hr │ │ │ └── strings.xml │ │ │ ├── values-hu │ │ │ └── strings.xml │ │ │ ├── values-it │ │ │ └── strings.xml │ │ │ ├── values-lt │ │ │ └── strings.xml │ │ │ ├── values-lv │ │ │ └── strings.xml │ │ │ ├── values-nb │ │ │ └── strings.xml │ │ │ ├── values-nl │ │ │ └── strings.xml │ │ │ ├── values-pl │ │ │ └── strings.xml │ │ │ ├── values-pt │ │ │ └── strings.xml │ │ │ ├── values-ro │ │ │ └── strings.xml │ │ │ ├── values-ru │ │ │ └── strings.xml │ │ │ ├── values-sk │ │ │ └── strings.xml │ │ │ ├── values-sl │ │ │ └── strings.xml │ │ │ ├── values-sv │ │ │ └── strings.xml │ │ │ ├── values-sw600dp-land │ │ │ └── dimens.xml │ │ │ ├── values-sw600dp │ │ │ └── dimens.xml │ │ │ ├── values-tr │ │ │ └── strings.xml │ │ │ ├── values │ │ │ ├── animation-settings.xml │ │ │ ├── attrs-omnibar-view.xml │ │ │ ├── data-clearing-process.xml │ │ │ ├── dimens.xml │ │ │ ├── donottranslate.xml │ │ │ └── strings.xml │ │ │ ├── xml-w600dp │ │ │ └── search_favorites_widget_info.xml │ │ │ └── xml │ │ │ ├── backup_rules_android_11_and_older.xml │ │ │ ├── backup_rules_android_12_upwards.xml │ │ │ ├── provider_paths.xml │ │ │ ├── search_favorites_widget_info.xml │ │ │ ├── search_widget_info.xml │ │ │ └── search_widget_info_light.xml │ ├── play │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ ├── app │ │ │ │ └── di │ │ │ │ │ ├── PlayHttpsPersisterModule.kt │ │ │ │ │ └── PlayStoreReferralModule.kt │ │ │ │ ├── httpsupgrade │ │ │ │ └── store │ │ │ │ │ └── PlayHttpsEmbeddedDataPersister.kt │ │ │ │ └── referral │ │ │ │ ├── AppReferrerInstallPixelSender.kt │ │ │ │ └── PlayStoreAppReferrerStateListener.kt │ │ └── res │ │ │ ├── raw │ │ │ ├── https_mobile_v2_bloom.bin │ │ │ ├── https_mobile_v2_bloom_spec.json │ │ │ └── https_mobile_v2_false_positives.json │ │ │ └── xml │ │ │ └── network_security_config.xml │ ├── test │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ ├── app │ │ │ │ ├── Fakes.kt │ │ │ │ ├── about │ │ │ │ │ └── AboutDuckDuckGoViewModelTest.kt │ │ │ │ ├── accessibility │ │ │ │ │ └── AccessibilitySettingsViewModelTest.kt │ │ │ │ ├── appearance │ │ │ │ │ └── AppearanceViewModelTest.kt │ │ │ │ ├── autocomplete │ │ │ │ │ └── api │ │ │ │ │ │ ├── AutoCompleteApiTest.kt │ │ │ │ │ │ ├── AutoCompleteUtilsKtTest.kt │ │ │ │ │ │ └── RealAutoCompleteScorerTest.kt │ │ │ │ ├── bookmarks │ │ │ │ │ ├── BookmarkTestUtils.kt │ │ │ │ │ ├── mapper │ │ │ │ │ │ └── migration │ │ │ │ │ │ │ └── BookmarksMigrationTest.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── SavedSitesParserTest.kt │ │ │ │ │ │ ├── SavedSitesRepositoryTest.kt │ │ │ │ │ │ └── SyncSavedSitesRepositoryTest.kt │ │ │ │ │ └── service │ │ │ │ │ │ └── SavedSitesExporterTest.kt │ │ │ │ ├── brokensite │ │ │ │ │ ├── BrokenSiteDataTest.kt │ │ │ │ │ ├── RealBrokenSiteContextTest.kt │ │ │ │ │ └── api │ │ │ │ │ │ └── BrokenSiteSubmitterTest.kt │ │ │ │ ├── browser │ │ │ │ │ ├── AndroidFeaturesHeaderPluginTest.kt │ │ │ │ │ ├── BrowserViewModelTest.kt │ │ │ │ │ ├── DosDetectorTest.kt │ │ │ │ │ ├── DuckDuckGoRequestRewriterTest.kt │ │ │ │ │ ├── DuckDuckGoUrlDetectorTest.kt │ │ │ │ │ ├── EmptyNavigationStateTest.kt │ │ │ │ │ ├── MajorWebViewVersionProviderTest.kt │ │ │ │ │ ├── QueryUrlConverterTest.kt │ │ │ │ │ ├── SpecialUrlDetectorImplTest.kt │ │ │ │ │ ├── TestNavigationState.kt │ │ │ │ │ ├── WebNavigationStateComparisonTest.kt │ │ │ │ │ ├── WebViewLongPressHandlerTest.kt │ │ │ │ │ ├── WebViewNavigationStateTest.kt │ │ │ │ │ ├── applinks │ │ │ │ │ │ └── DuckDuckGoAppLinksHandlerTest.kt │ │ │ │ │ ├── autofill │ │ │ │ │ │ ├── AutofillCredentialsSelectionResultHandlerTest.kt │ │ │ │ │ │ └── RealAutofillFireproofDialogSuppressorTest.kt │ │ │ │ │ ├── customtabs │ │ │ │ │ │ └── CustomTabViewModelTest.kt │ │ │ │ │ ├── defaultbrowsing │ │ │ │ │ │ └── DefaultBrowserObserverTest.kt │ │ │ │ │ ├── downloader │ │ │ │ │ │ └── BlobConverterJavascriptInterfaceTest.kt │ │ │ │ │ ├── filechooser │ │ │ │ │ │ └── FileChooserIntentBuilderTest.kt │ │ │ │ │ ├── httperrors │ │ │ │ │ │ ├── HttpErrorDailyReportingWorkerTest.kt │ │ │ │ │ │ └── RealHttpErrorPixelsTest.kt │ │ │ │ │ ├── indonesiamessage │ │ │ │ │ │ ├── IndonesiaNewTabSectionViewModelTest.kt │ │ │ │ │ │ └── RealIndonesiaNewTabSectionDataStoreTest.kt │ │ │ │ │ ├── logindetection │ │ │ │ │ │ ├── LoginDetectionJavascriptInterfaceTest.kt │ │ │ │ │ │ ├── NextPageLoginDetectionTest.kt │ │ │ │ │ │ └── UriAuthExtensionKtTest.kt │ │ │ │ │ ├── mediaplayback │ │ │ │ │ │ └── store │ │ │ │ │ │ │ └── RealMediaPlaybackRepositoryTest.kt │ │ │ │ │ ├── newtab │ │ │ │ │ │ ├── NewTabLegacyPageViewModelTest.kt │ │ │ │ │ │ └── NewTabPageProviderTest.kt │ │ │ │ │ ├── omnibar │ │ │ │ │ │ ├── OmnibarLayoutViewModelTest.kt │ │ │ │ │ │ └── rmf │ │ │ │ │ │ │ └── OmnibarPositionAttributeMatcherPluginTest.kt │ │ │ │ │ ├── refreshpixels │ │ │ │ │ │ └── RefreshPixelSenderTest.kt │ │ │ │ │ ├── serviceworker │ │ │ │ │ │ └── BrowserServiceWorkerClientTest.kt │ │ │ │ │ ├── state │ │ │ │ │ │ └── BrowserApplicationStateInfoTest.kt │ │ │ │ │ ├── trafficquality │ │ │ │ │ │ ├── AndroidAppVersionPixelSenderTest.kt │ │ │ │ │ │ ├── AndroidFeaturesHeaderProviderTest.kt │ │ │ │ │ │ ├── FeaturesRequestHeaderSettingsStoreTest.kt │ │ │ │ │ │ └── RealQualityAppVersionProviderTest.kt │ │ │ │ │ ├── uriloaded │ │ │ │ │ │ └── DuckDuckGoUriLoadedManagerTest.kt │ │ │ │ │ ├── urlextraction │ │ │ │ │ │ └── UrlExtractionJavascriptInterfaceTest.kt │ │ │ │ │ └── webshare │ │ │ │ │ │ └── WebShareChooserTest.kt │ │ │ │ ├── cta │ │ │ │ │ └── ui │ │ │ │ │ │ ├── CtaTest.kt │ │ │ │ │ │ └── OnboardingDaxDialogTests.kt │ │ │ │ ├── dispatchers │ │ │ │ │ └── IntentDispatcherViewModelTest.kt │ │ │ │ ├── downloads │ │ │ │ │ └── DownloadsViewModelTest.kt │ │ │ │ ├── email │ │ │ │ │ ├── AppEmailManagerTest.kt │ │ │ │ │ ├── EmailJavascriptInterfaceTest.kt │ │ │ │ │ └── EmailSyncTest.kt │ │ │ │ ├── feedback │ │ │ │ │ ├── BrokenSiteViewModelTest.kt │ │ │ │ │ └── ui │ │ │ │ │ │ └── common │ │ │ │ │ │ └── FeedbackViewModelTest.kt │ │ │ │ ├── fire │ │ │ │ │ ├── DataClearerTimeKeeperTest.kt │ │ │ │ │ └── fireproofwebsite │ │ │ │ │ │ └── data │ │ │ │ │ │ └── FireproofWebsiteEntityKtTest.kt │ │ │ │ ├── firebutton │ │ │ │ │ └── FireButtonViewModelTest.kt │ │ │ │ ├── generalsettings │ │ │ │ │ ├── GeneralSettingsViewModelTest.kt │ │ │ │ │ └── showonapplaunch │ │ │ │ │ │ ├── ShowOnAppLaunchOptionHandlerImplTest.kt │ │ │ │ │ │ ├── ShowOnAppLaunchStateReporterPluginTest.kt │ │ │ │ │ │ ├── ShowOnAppLaunchUrlConverterImplTest.kt │ │ │ │ │ │ ├── ShowOnAppLaunchViewModelTest.kt │ │ │ │ │ │ └── store │ │ │ │ │ │ ├── FakeShowOnAppLaunchOptionDataStore.kt │ │ │ │ │ │ └── ShowOnAppLaunchPrefsDataStoreTest.kt │ │ │ │ ├── global │ │ │ │ │ ├── HashUtilitiesTest.kt │ │ │ │ │ ├── ListExtensionKtTest.kt │ │ │ │ │ ├── UriExtensionTest.kt │ │ │ │ │ ├── UriStringTest.kt │ │ │ │ │ ├── api │ │ │ │ │ │ ├── PixelParamRemovalInterceptorTest.kt │ │ │ │ │ │ └── PixelReQueryInterceptorTest.kt │ │ │ │ │ ├── install │ │ │ │ │ │ └── AppInstallStoreTest.kt │ │ │ │ │ ├── migrations │ │ │ │ │ │ ├── GpcMigrationPluginTest.kt │ │ │ │ │ │ ├── LocationPermissionsMigrationPluginTest.kt │ │ │ │ │ │ └── MigrationLifecycleObserverTest.kt │ │ │ │ │ ├── model │ │ │ │ │ │ └── SiteMonitorTest.kt │ │ │ │ │ ├── rating │ │ │ │ │ │ ├── InitialPromptDeciderTest.kt │ │ │ │ │ │ ├── InitialPromptTypeDeciderTest.kt │ │ │ │ │ │ └── SecondaryPromptDeciderTest.kt │ │ │ │ │ └── uri │ │ │ │ │ │ └── UriSubdomainRemoverTest.kt │ │ │ │ ├── globalprivacycontrol │ │ │ │ │ └── ui │ │ │ │ │ │ └── GlobalPrivacyControlViewModelTest.kt │ │ │ │ ├── job │ │ │ │ │ └── WorkSchedulerTest.kt │ │ │ │ ├── launch │ │ │ │ │ └── LaunchViewModelTest.kt │ │ │ │ ├── location │ │ │ │ │ └── data │ │ │ │ │ │ └── LocationPermissionRequestEntityTest.kt │ │ │ │ ├── notification │ │ │ │ │ └── AndroidSchedulerNotificationTest.kt │ │ │ │ ├── onboarding │ │ │ │ │ ├── store │ │ │ │ │ │ └── AppUserStageStoreTest.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── OnboardingPageManagerPageCountTest.kt │ │ │ │ │ │ ├── OnboardingPageManagerTest.kt │ │ │ │ │ │ ├── OnboardingViewModelTest.kt │ │ │ │ │ │ └── page │ │ │ │ │ │ ├── DefaultBrowserPageViewModelTest.kt │ │ │ │ │ │ └── WelcomePageViewModelTest.kt │ │ │ │ ├── permissions │ │ │ │ │ └── PermissionsViewModelTest.kt │ │ │ │ ├── pixels │ │ │ │ │ ├── EnqueuedPixelWorkerTest.kt │ │ │ │ │ └── campaign │ │ │ │ │ │ ├── CampaignPixelParamsAdditionInterceptorTest.kt │ │ │ │ │ │ └── params │ │ │ │ │ │ ├── AtpAdditionalPixelParamPluginTest.kt │ │ │ │ │ │ ├── AutofillAdditionalPixelParamPluginTest.kt │ │ │ │ │ │ ├── BrowserAdditionalPixelParamPluginTest.kt │ │ │ │ │ │ ├── RealAdditionalPixelParamsGeneratorTest.kt │ │ │ │ │ │ ├── StatisticsAdditionalPixelParamPluginTest.kt │ │ │ │ │ │ └── SyncAdditionalPixelParamPluginTest.kt │ │ │ │ ├── privacy │ │ │ │ │ ├── db │ │ │ │ │ │ └── UserAllowListRepositoryTest.kt │ │ │ │ │ └── model │ │ │ │ │ │ ├── EntityTest.kt │ │ │ │ │ │ ├── TestingEntity.kt │ │ │ │ │ │ └── TrustedSitesTest.kt │ │ │ │ ├── privatesearch │ │ │ │ │ └── PrivateSearchViewModelTest.kt │ │ │ │ ├── referencetests │ │ │ │ │ └── brokensites │ │ │ │ │ │ ├── BrokenSitesMultipleReportReferenceTest.kt │ │ │ │ │ │ └── BrokenSitesReferenceTest.kt │ │ │ │ ├── referral │ │ │ │ │ ├── QueryParamReferrerParserTest.kt │ │ │ │ │ ├── ReferrerOriginAttributeHandlerImplTest.kt │ │ │ │ │ └── StubAppReferrerFoundStateListener.kt │ │ │ │ ├── settings │ │ │ │ │ └── LegacySettingsViewModelTest.kt │ │ │ │ ├── statistics │ │ │ │ │ └── pixels │ │ │ │ │ │ └── PixelNameTest.kt │ │ │ │ ├── surrogates │ │ │ │ │ └── ResourceSurrogatesTest.kt │ │ │ │ ├── survey │ │ │ │ │ ├── api │ │ │ │ │ │ ├── SurveyDownloaderTest.kt │ │ │ │ │ │ └── SurveyRepositoryTest.kt │ │ │ │ │ ├── rmf │ │ │ │ │ │ └── SurveyActionMapperTest.kt │ │ │ │ │ └── ui │ │ │ │ │ │ └── SurveyViewModelTest.kt │ │ │ │ ├── sync │ │ │ │ │ ├── FakeFavoritesDisplayModeSettingsRepository.kt │ │ │ │ │ ├── RealSavedSitesFormFactorSyncMigrationTest.kt │ │ │ │ │ ├── SavedSitesSyncDataProviderTest.kt │ │ │ │ │ └── algorithm │ │ │ │ │ │ ├── SavedSitesDeduplicationPersisterTest.kt │ │ │ │ │ │ ├── SavedSitesDuplicateFinderTest.kt │ │ │ │ │ │ ├── SavedSitesLocalWinsPersisterTest.kt │ │ │ │ │ │ ├── SavedSitesRemoteWinsPersisterTest.kt │ │ │ │ │ │ └── SavedSitesTimestampPersisterTest.kt │ │ │ │ ├── systemsearch │ │ │ │ │ ├── DeviceAppLookupTest.kt │ │ │ │ │ └── SystemSearchViewModelTest.kt │ │ │ │ ├── tabs │ │ │ │ │ ├── store │ │ │ │ │ │ └── TabStatsBucketingTest.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── TabRendererExtensionTest.kt │ │ │ │ │ │ └── TabSwitcherViewModelTest.kt │ │ │ │ ├── trackerdetection │ │ │ │ │ ├── CloakedCnameDetectorImplTest.kt │ │ │ │ │ ├── EntityLookupTest.kt │ │ │ │ │ ├── TdsClientTest.kt │ │ │ │ │ ├── TestEntity.kt │ │ │ │ │ ├── TrackerDataLoaderTest.kt │ │ │ │ │ ├── TrackerDetectorClientTypeTest.kt │ │ │ │ │ ├── TrackerDetectorTest.kt │ │ │ │ │ ├── api │ │ │ │ │ │ ├── TdsDomainEntityJsonTest.kt │ │ │ │ │ │ ├── TdsEntityJsonTest.kt │ │ │ │ │ │ ├── TdsTrackerJsonTest.kt │ │ │ │ │ │ └── TrackerDataDownloaderKtTest.kt │ │ │ │ │ └── blocklist │ │ │ │ │ │ ├── BlockListInterceptorApiPluginTest.kt │ │ │ │ │ │ └── BlockListPrivacyTogglePluginTest.kt │ │ │ │ ├── userstate │ │ │ │ │ └── UserStateReporterTest.kt │ │ │ │ ├── webtrackingprotection │ │ │ │ │ └── WebTrackingProtectionViewModelTest.kt │ │ │ │ └── widget │ │ │ │ │ └── AddWidgetCompatLauncherTest.kt │ │ │ │ ├── autofill │ │ │ │ └── pixel │ │ │ │ │ └── AutofillUniquePixelSenderTest.kt │ │ │ │ ├── duckplayer │ │ │ │ └── impl │ │ │ │ │ └── DuckPlayerSettingsViewModelTest.kt │ │ │ │ ├── fakes │ │ │ │ └── FakePixel.kt │ │ │ │ ├── history │ │ │ │ └── impl │ │ │ │ │ └── scheduleddeletion │ │ │ │ │ └── RealHistoryDeletionWorkerTest.kt │ │ │ │ ├── savedsites │ │ │ │ └── impl │ │ │ │ │ ├── MissingEntitiesRelationReconcilerTest.kt │ │ │ │ │ ├── RealFavoritesDelegateTest.kt │ │ │ │ │ └── RealFavoritesDisplayModeSettingsRepositoryTest.kt │ │ │ │ ├── tabs │ │ │ │ ├── db │ │ │ │ │ └── TabsDaoTest.kt │ │ │ │ └── model │ │ │ │ │ └── TabDataRepositoryTest.kt │ │ │ │ └── widget │ │ │ │ └── WidgetVoiceSearchStatusListenerTest.kt │ │ └── resources │ │ │ ├── bookmarks │ │ │ ├── bookmarks_brave.html │ │ │ ├── bookmarks_chrome.html │ │ │ ├── bookmarks_ddg_android.html │ │ │ ├── bookmarks_ddg_macos.html │ │ │ ├── bookmarks_favorites_ddg.html │ │ │ ├── bookmarks_firefox.html │ │ │ ├── bookmarks_invalid.html │ │ │ └── bookmarks_safari.html │ │ │ ├── json │ │ │ ├── atb_response_valid.json │ │ │ ├── merger_deleted_entries.json │ │ │ ├── merger_empty_entries.json │ │ │ ├── merger_first_get.json │ │ │ ├── merger_invalid_data.json │ │ │ ├── merger_null_entries.json │ │ │ ├── parser_deleted_bookmark.json │ │ │ ├── parser_favourites.json │ │ │ ├── parser_folders.json │ │ │ ├── parser_folders_and_favourites.json │ │ │ ├── tds_domain_entities.json │ │ │ ├── tds_domain_entities_null_value.json │ │ │ ├── tds_entities.json │ │ │ ├── tds_trackers.json │ │ │ ├── tds_trackers_action_invalid.json │ │ │ ├── tds_trackers_action_missing.json │ │ │ ├── tosdr.json │ │ │ └── tosdr_mismatched.json │ │ │ └── reference_tests │ │ │ └── brokensites │ │ │ ├── multiple_report_tests.json │ │ │ └── tests.json │ ├── testInternal │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── app │ │ │ └── survey │ │ │ └── api │ │ │ └── SurveyEndpointInterceptorTest.kt │ └── testPlay │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── app │ │ └── referrer │ │ └── AppReferrerInstallPixelSenderTest.kt └── version │ ├── release-notes │ └── version.properties ├── autoconsent ├── autoconsent-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── autoconsent │ │ └── api │ │ ├── Autoconsent.kt │ │ └── AutoconsentNav.kt ├── autoconsent-impl │ ├── .gitignore │ ├── build.gradle │ ├── libs │ │ ├── autoconsent-bundle.js │ │ └── userscript.js │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── autoconsent │ │ │ │ └── impl │ │ │ │ ├── AutoconsentFeatureNameUtil.kt │ │ │ │ ├── AutoconsentInterface.kt │ │ │ │ ├── AutoconsentNavImpl.kt │ │ │ │ ├── JsReader.kt │ │ │ │ ├── MessageHandlerPlugin.kt │ │ │ │ ├── RealAutoconsent.kt │ │ │ │ ├── adapters │ │ │ │ └── JSONObjectAdapter.kt │ │ │ │ ├── di │ │ │ │ └── AutoconsentModule.kt │ │ │ │ ├── handlers │ │ │ │ ├── EvalMessageHandlerPlugin.kt │ │ │ │ ├── InitMessageHandlerPlugin.kt │ │ │ │ ├── OptOutAndAutoconsentDoneMessageHandlerPlugin.kt │ │ │ │ ├── PopUpFoundMessageHandlerPlugin.kt │ │ │ │ ├── ReplyHandler.kt │ │ │ │ └── SelfTestResultMessageHandlerPlugin.kt │ │ │ │ ├── remoteconfig │ │ │ │ ├── AutoconsentExceptionsRepository.kt │ │ │ │ ├── AutoconsentExceptionsStore.kt │ │ │ │ ├── AutoconsentFeature.kt │ │ │ │ ├── AutoconsentFeatureModels.kt │ │ │ │ ├── AutoconsentFeatureSettingsRepository.kt │ │ │ │ └── AutoconsentSettingsStore.kt │ │ │ │ ├── store │ │ │ │ ├── AutoconsentDao.kt │ │ │ │ ├── AutoconsentDatabase.kt │ │ │ │ ├── AutoconsentDatabaseModels.kt │ │ │ │ ├── AutoconsentSettingsDataStore.kt │ │ │ │ └── AutoconsentSettingsRepository.kt │ │ │ │ └── ui │ │ │ │ ├── AutoconsentSettingsActivity.kt │ │ │ │ └── AutoconsentSettingsViewModel.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── cookie_popups_128.xml │ │ │ └── cookie_popups_check_128.xml │ │ │ ├── layout │ │ │ └── activity_autoconsent_settings.xml │ │ │ ├── values-bg │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-cs │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-da │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-de │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-el │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-es │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-et │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-fi │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-fr │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-hr │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-hu │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-it │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-lt │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-lv │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-nb │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-nl │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-pl │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-pt │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-ro │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-ru │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-sk │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-sl │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-sv │ │ │ └── strings-autoconsent.xml │ │ │ ├── values-tr │ │ │ └── strings-autoconsent.xml │ │ │ └── values │ │ │ └── strings-autoconsent.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── autoconsent │ │ │ └── impl │ │ │ ├── AutoconsentInterfaceTest.kt │ │ │ ├── Fakes.kt │ │ │ ├── RealAutoconsentTest.kt │ │ │ ├── handlers │ │ │ ├── EvalMessageHandlerPluginTest.kt │ │ │ ├── InitMessageHandlerPluginTest.kt │ │ │ ├── OptOutAndAutoconsentDoneMessageHandlerPluginTest.kt │ │ │ ├── PopUpFoundMessageHandlerPluginTest.kt │ │ │ └── SelfTestResultMessageHandlerPluginTest.kt │ │ │ ├── remoteconfig │ │ │ ├── RealAutoconsentExceptionsRepositoryTest.kt │ │ │ └── RealAutoconsentFeatureSettingsRepositoryTest.kt │ │ │ └── ui │ │ │ └── AutoconsentSettingsViewModelTest.kt │ │ └── resources │ │ └── json │ │ ├── autoconsent.json │ │ ├── autoconsent_disabled.json │ │ └── autoconsent_min_supported_version.json └── readme.md ├── autofill ├── autofill-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── autofill │ │ └── api │ │ ├── Autofill.kt │ │ ├── AutofillCapabilityChecker.kt │ │ ├── AutofillCredentialDialogs.kt │ │ ├── AutofillEventListener.kt │ │ ├── AutofillFeature.kt │ │ ├── AutofillFragmentResultsPlugin.kt │ │ ├── AutofillScreens.kt │ │ ├── BrowserAutofill.kt │ │ ├── EmailProtectionInContextSignUpScreens.kt │ │ ├── ExistingCredentialMatchDetector.kt │ │ ├── InternalTestUserChecker.kt │ │ ├── credential │ │ └── saving │ │ │ └── DuckAddressLoginCreator.kt │ │ ├── domain │ │ └── app │ │ │ ├── LoginCredentials.kt │ │ │ └── LoginTriggerType.kt │ │ ├── email │ │ └── EmailManager.kt │ │ ├── emailprotection │ │ ├── EmailInjector.kt │ │ └── EmailProtectionLinkVerifier.kt │ │ ├── passwordgeneration │ │ └── AutomaticSavedLoginsMonitor.kt │ │ ├── promotion │ │ └── PasswordsScreenPromotionPlugin.kt │ │ └── store │ │ └── AutofillStore.kt ├── autofill-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── autofill │ │ │ │ ├── impl │ │ │ │ ├── AutofillCapabilityCheckerImpl.kt │ │ │ │ ├── AutofillFireproofDialogSuppressor.kt │ │ │ │ ├── AutofillGlobalCapabilityChecker.kt │ │ │ │ ├── AutofillJavascriptInterface.kt │ │ │ │ ├── InlineBrowserAutofill.kt │ │ │ │ ├── PasswordStoreEventListener.kt │ │ │ │ ├── RealAutofill.kt │ │ │ │ ├── RealDuckAddressLoginCreator.kt │ │ │ │ ├── SecureStoreBackedAutofillStore.kt │ │ │ │ ├── configuration │ │ │ │ │ ├── AutofillJavascriptEnvironmentConfiguration.kt │ │ │ │ │ ├── AutofillJavascriptLoader.kt │ │ │ │ │ ├── AutofillRuntimeConfigProvider.kt │ │ │ │ │ ├── InlineBrowserAutofillConfigurator.kt │ │ │ │ │ └── RuntimeConfigurationWriter.kt │ │ │ │ ├── deduper │ │ │ │ │ ├── AutofillDeduplicationBestMatchFinder.kt │ │ │ │ │ ├── AutofillDeduplicationMatchTypeDetector.kt │ │ │ │ │ ├── AutofillDeduplicationUsernameAndPasswordMatcher.kt │ │ │ │ │ ├── AutofillLoginDeduplicator.kt │ │ │ │ │ └── RealLoginSorterForDeduplication.kt │ │ │ │ ├── deviceauth │ │ │ │ │ ├── AuthLauncher.kt │ │ │ │ │ ├── AutofillAuthorizationGracePeriod.kt │ │ │ │ │ ├── AutofillGracePeriodLifecycleObserver.kt │ │ │ │ │ ├── DeviceAuthenticator.kt │ │ │ │ │ └── SupportedDeviceAuthChecker.kt │ │ │ │ ├── di │ │ │ │ │ └── AutofillModule.kt │ │ │ │ ├── domain │ │ │ │ │ └── javascript │ │ │ │ │ │ └── JavascriptCredentials.kt │ │ │ │ ├── email │ │ │ │ │ ├── EmailProtectionChooseEmailFragment.kt │ │ │ │ │ ├── ResultHandlerEmailProtectionChooseEmail.kt │ │ │ │ │ ├── incontext │ │ │ │ │ │ ├── EmailProtectionInContextSignUpWebChromeClient.kt │ │ │ │ │ │ ├── EmailProtectionInContextSignUpWebViewClient.kt │ │ │ │ │ │ ├── EmailProtectionInContextSignupActivity.kt │ │ │ │ │ │ ├── EmailProtectionInContextSignupFeature.kt │ │ │ │ │ │ ├── EmailProtectionInContextSignupViewModel.kt │ │ │ │ │ │ ├── ResultHandlerInContextEmailProtectionPrompt.kt │ │ │ │ │ │ ├── availability │ │ │ │ │ │ │ ├── EmailProtectionInContextAvailabilityRules.kt │ │ │ │ │ │ │ └── EmailProtectionInContextRecentInstallChecker.kt │ │ │ │ │ │ ├── prompt │ │ │ │ │ │ │ ├── EmailProtectionInContextSignUpPromptFragment.kt │ │ │ │ │ │ │ └── EmailProtectionInContextSignUpPromptViewModel.kt │ │ │ │ │ │ ├── store │ │ │ │ │ │ │ └── EmailProtectionInContextDataStore.kt │ │ │ │ │ │ └── verifier │ │ │ │ │ │ │ └── RealEmailProtectionLinkVerifier.kt │ │ │ │ │ ├── remoteconfig │ │ │ │ │ │ ├── EmailProtectionInContextExceptionsImpl.kt │ │ │ │ │ │ ├── EmailProtectionInContextRemoteExceptionsPersister.kt │ │ │ │ │ │ ├── EmailProtectionInContextRemoteSettingsPersister.kt │ │ │ │ │ │ └── UnusedEmailProtectionInContextSignupRemoteFeatureCodegenTrigger.kt │ │ │ │ │ └── service │ │ │ │ │ │ └── DuckAddressStatusManagementService.kt │ │ │ │ ├── encoding │ │ │ │ │ └── UrlUnicodeNormalizer.kt │ │ │ │ ├── engagement │ │ │ │ │ ├── AutofillRefreshRetentionListener.kt │ │ │ │ │ ├── DataAutofilledListener.kt │ │ │ │ │ ├── EngagementPasswordAddedListener.kt │ │ │ │ │ └── store │ │ │ │ │ │ ├── AutofillEngagementBucketing.kt │ │ │ │ │ │ └── AutofillEngagementRepository.kt │ │ │ │ ├── feature │ │ │ │ │ └── plugin │ │ │ │ │ │ ├── AutofillFeatureExceptionStore.kt │ │ │ │ │ │ └── UnusedAutofillRemoteFeatureCodegenTrigger.kt │ │ │ │ ├── importing │ │ │ │ │ ├── CredentialImporter.kt │ │ │ │ │ ├── CsvCredentialConverter.kt │ │ │ │ │ ├── CsvCredentialParser.kt │ │ │ │ │ ├── CsvFileReader.kt │ │ │ │ │ ├── DomainNameNormalizer.kt │ │ │ │ │ ├── ExistingCredentialMatchDetector.kt │ │ │ │ │ ├── GoogleCsvLoginCredential.kt │ │ │ │ │ ├── GooglePasswordBlobDecoder.kt │ │ │ │ │ ├── ImportedCredentialValidator.kt │ │ │ │ │ ├── blob │ │ │ │ │ │ ├── ImportGooglePasswordBlobConsumer.kt │ │ │ │ │ │ └── WebViewBlobDownloader.kt │ │ │ │ │ └── gpm │ │ │ │ │ │ ├── feature │ │ │ │ │ │ └── AutofillImportPasswordSettings.kt │ │ │ │ │ │ └── webflow │ │ │ │ │ │ ├── ImportGooglePasswordResult.kt │ │ │ │ │ │ ├── ImportGooglePasswordUrlToStageMapper.kt │ │ │ │ │ │ ├── ImportGooglePasswordsWebFlowActivity.kt │ │ │ │ │ │ ├── ImportGooglePasswordsWebFlowFragment.kt │ │ │ │ │ │ ├── ImportGooglePasswordsWebFlowViewModel.kt │ │ │ │ │ │ ├── ImportGooglePasswordsWebFlowWebViewClient.kt │ │ │ │ │ │ ├── PasswordImporterCssScriptLoader.kt │ │ │ │ │ │ └── autofill │ │ │ │ │ │ └── AutofillNoOpCallbacks.kt │ │ │ │ ├── internal │ │ │ │ │ └── RealInternalTestUserChecker.kt │ │ │ │ ├── jsbridge │ │ │ │ │ ├── AutofillMessagePoster.kt │ │ │ │ │ ├── request │ │ │ │ │ │ ├── AutofillDataRequest.kt │ │ │ │ │ │ ├── AutofillRequestParser.kt │ │ │ │ │ │ └── AutofillStoreFormDataRequest.kt │ │ │ │ │ └── response │ │ │ │ │ │ ├── AutofillDataResponse.kt │ │ │ │ │ │ ├── AutofillDataResponses.kt │ │ │ │ │ │ └── AutofillResponseWriter.kt │ │ │ │ ├── newtab │ │ │ │ │ └── AutofillNewTabShortcut.kt │ │ │ │ ├── pixel │ │ │ │ │ ├── AutofillDeviceCapabilityReporter.kt │ │ │ │ │ ├── AutofillPixelNames.kt │ │ │ │ │ └── AutofillPixelSender.kt │ │ │ │ ├── reporting │ │ │ │ │ ├── AutofillBreakageReportCanShowRules.kt │ │ │ │ │ ├── AutofillBreakageReportSender.kt │ │ │ │ │ ├── AutofillSiteBreakageReportingDataStore.kt │ │ │ │ │ └── remoteconfig │ │ │ │ │ │ ├── AutofillSiteBreakageReportingExceptionsPersister.kt │ │ │ │ │ │ ├── AutofillSiteBreakageReportingFeature.kt │ │ │ │ │ │ ├── AutofillSiteBreakageReportingModule.kt │ │ │ │ │ │ └── AutofillSiteBreakageReportingRemoteSettingsPersister.kt │ │ │ │ ├── securestorage │ │ │ │ │ ├── DerivedKeySecretFactory.kt │ │ │ │ │ ├── L2DataTransformer.kt │ │ │ │ │ ├── RealSecureStorageRepositoryFactory.kt │ │ │ │ │ ├── SecureStorage.kt │ │ │ │ │ ├── SecureStorageDatabaseFactory.kt │ │ │ │ │ ├── SecureStorageException.kt │ │ │ │ │ ├── SecureStorageKeyGenerator.kt │ │ │ │ │ ├── SecureStorageKeyProvider.kt │ │ │ │ │ ├── SecureStorageModels.kt │ │ │ │ │ ├── di │ │ │ │ │ │ └── SecureStorageModule.kt │ │ │ │ │ └── encryption │ │ │ │ │ │ ├── EncryptionHelper.kt │ │ │ │ │ │ └── RandomBytesGenerator.kt │ │ │ │ ├── sharedcreds │ │ │ │ │ ├── AppleSharedCredentialsJsonReader.kt │ │ │ │ │ ├── AppleSharedCredentialsParser.kt │ │ │ │ │ ├── ShareableCredentials.kt │ │ │ │ │ └── ShareableCredentialsUrlGenerator.kt │ │ │ │ ├── store │ │ │ │ │ ├── DefaultAutofillStore.kt │ │ │ │ │ ├── InternalAutofillStore.kt │ │ │ │ │ └── NeverSavedSiteRepository.kt │ │ │ │ ├── systemautofill │ │ │ │ │ └── SystemAutofillServiceSuppressor.kt │ │ │ │ ├── time │ │ │ │ │ └── TimeProvider.kt │ │ │ │ ├── ui │ │ │ │ │ ├── CredentialAutofillDialogAndroidFactory.kt │ │ │ │ │ ├── ExistingCredentialStoreInterrogatingMatchDetector.kt │ │ │ │ │ └── credential │ │ │ │ │ │ ├── dialog │ │ │ │ │ │ └── BottomSheetUtils.kt │ │ │ │ │ │ ├── management │ │ │ │ │ │ ├── AutofillClipboardInteractor.kt │ │ │ │ │ │ ├── AutofillManagementActivity.kt │ │ │ │ │ │ ├── AutofillManagementRecyclerAdapter.kt │ │ │ │ │ │ ├── AutofillSettingsViewModel.kt │ │ │ │ │ │ ├── FragmentUtils.kt │ │ │ │ │ │ ├── importpassword │ │ │ │ │ │ │ ├── ImportPasswordsActivity.kt │ │ │ │ │ │ │ ├── ImportPasswordsPixelSender.kt │ │ │ │ │ │ │ ├── ImportPasswordsViewModel.kt │ │ │ │ │ │ │ ├── desktopapp │ │ │ │ │ │ │ │ ├── ImportPasswordsGetDesktopAppActivity.kt │ │ │ │ │ │ │ │ ├── ImportPasswordsGetDesktopAppViewModel.kt │ │ │ │ │ │ │ │ ├── ImportPasswordsUserJourneyLifecycleObserver.kt │ │ │ │ │ │ │ │ ├── ImportPasswordsViaDesktopSyncDataStore.kt │ │ │ │ │ │ │ │ ├── ImportPasswordsViaDesktopSyncDataStoreModule.kt │ │ │ │ │ │ │ │ └── UserJourneyEndRecorder.kt │ │ │ │ │ │ │ └── google │ │ │ │ │ │ │ │ ├── ImportFromGooglePasswordsDialog.kt │ │ │ │ │ │ │ │ └── ImportFromGooglePasswordsDialogViewModel.kt │ │ │ │ │ │ ├── neversaved │ │ │ │ │ │ │ └── NeverSavedSitesViewState.kt │ │ │ │ │ │ ├── searching │ │ │ │ │ │ │ └── CredentialListFilter.kt │ │ │ │ │ │ ├── sorting │ │ │ │ │ │ │ ├── CredentialGrouper.kt │ │ │ │ │ │ │ ├── CredentialInitialExtractor.kt │ │ │ │ │ │ │ └── CredentialListSorterByTitleAndDomain.kt │ │ │ │ │ │ ├── suggestion │ │ │ │ │ │ │ ├── SuggestionListBuilder.kt │ │ │ │ │ │ │ └── SuggestionMatcher.kt │ │ │ │ │ │ ├── survey │ │ │ │ │ │ │ ├── AutofillSurvey.kt │ │ │ │ │ │ │ ├── AutofillSurveyFeature.kt │ │ │ │ │ │ │ ├── AutofillSurveyJsonParser.kt │ │ │ │ │ │ │ ├── AutofillSurveyStore.kt │ │ │ │ │ │ │ ├── SurveyDetails.kt │ │ │ │ │ │ │ ├── SurveyInPasswordsPromotion.kt │ │ │ │ │ │ │ └── SurveyInPasswordsPromotionViewModel.kt │ │ │ │ │ │ └── viewing │ │ │ │ │ │ │ ├── AutofillManagementCredentialsMode.kt │ │ │ │ │ │ │ ├── AutofillManagementDeviceUnsupportedMode.kt │ │ │ │ │ │ │ ├── AutofillManagementDisabledMode.kt │ │ │ │ │ │ │ ├── AutofillManagementListMode.kt │ │ │ │ │ │ │ ├── AutofillManagementLockedMode.kt │ │ │ │ │ │ │ ├── AutofillManagementStringBuilder.kt │ │ │ │ │ │ │ ├── DuckAddressStatusChangeConfirmer.kt │ │ │ │ │ │ │ ├── LastUpdatedDateFormatter.kt │ │ │ │ │ │ │ ├── SaveStateWatcher.kt │ │ │ │ │ │ │ └── duckaddress │ │ │ │ │ │ │ └── DuckAddressIdentifier.kt │ │ │ │ │ │ ├── passwordgeneration │ │ │ │ │ │ ├── AutofillUseGeneratedPasswordDialogFragment.kt │ │ │ │ │ │ ├── AutogeneratedPasswordEventResolver.kt │ │ │ │ │ │ ├── InMemoryAutoSavedLoginsMonitor.kt │ │ │ │ │ │ └── ResultHandlerUseGeneratedPassword.kt │ │ │ │ │ │ ├── repository │ │ │ │ │ │ └── RemoteDuckAddressStatusRepository.kt │ │ │ │ │ │ ├── saving │ │ │ │ │ │ ├── AutofillSavingCredentialsDialogFragment.kt │ │ │ │ │ │ ├── AutofillSavingCredentialsViewModel.kt │ │ │ │ │ │ ├── ResultHandlerPromptToDisableCredentialSaving.kt │ │ │ │ │ │ ├── ResultHandlerSaveLoginCredentials.kt │ │ │ │ │ │ └── declines │ │ │ │ │ │ │ ├── AutofillDeclineStore.kt │ │ │ │ │ │ │ ├── AutofillDisablingDeclineCounter.kt │ │ │ │ │ │ │ └── DisablePromptCredentialsObserver.kt │ │ │ │ │ │ ├── selecting │ │ │ │ │ │ ├── AutofillSelectCredentialsDialogFragment.kt │ │ │ │ │ │ ├── AutofillSelectCredentialsGrouper.kt │ │ │ │ │ │ ├── AutofillSelectCredentialsListBuilder.kt │ │ │ │ │ │ ├── AutofillSelectCredentialsSorter.kt │ │ │ │ │ │ ├── CredentialTextExtractor.kt │ │ │ │ │ │ ├── CredentialsPickerRecyclerAdapter.kt │ │ │ │ │ │ └── ResultHandlerCredentialSelection.kt │ │ │ │ │ │ └── updating │ │ │ │ │ │ ├── AutofillUpdatingExistingCredentialViewModel.kt │ │ │ │ │ │ ├── AutofillUpdatingExistingCredentialsDialogFragment.kt │ │ │ │ │ │ └── ResultHandlerUpdateLoginCredentials.kt │ │ │ │ └── urlmatcher │ │ │ │ │ └── AutofillDomainNameUrlMatcher.kt │ │ │ │ └── sync │ │ │ │ ├── CredentialsInvalidItemSyncMessagePlugin.kt │ │ │ │ ├── CredentialsInvalidItemsView.kt │ │ │ │ ├── CredentialsInvalidItemsViewModel.kt │ │ │ │ ├── CredentialsMapper.kt │ │ │ │ ├── CredentialsSync.kt │ │ │ │ ├── CredentialsSyncDataObserver.kt │ │ │ │ ├── CredentialsSyncDataPersister.kt │ │ │ │ ├── CredentialsSyncFeatureListener.kt │ │ │ │ ├── CredentialsSyncMetadata.kt │ │ │ │ ├── CredentialsSyncNotificationBuilder.kt │ │ │ │ ├── CredentialsSyncPausedSyncMessagePlugin.kt │ │ │ │ ├── CredentialsSyncPausedView.kt │ │ │ │ ├── CredentialsSyncPausedViewModel.kt │ │ │ │ ├── CredentialsSyncStore.kt │ │ │ │ ├── SyncCredentialsListener.kt │ │ │ │ ├── SyncDateProvider.kt │ │ │ │ ├── SyncMessagePluginModule.kt │ │ │ │ ├── persister │ │ │ │ ├── CredentialsLastModifiedWinsStrategy.kt │ │ │ │ ├── CredentialsLocalWinsStrategy.kt │ │ │ │ ├── CredentialsMergeModule.kt │ │ │ │ ├── CredentialsMergeStrategy.kt │ │ │ │ ├── CredentialsRemoteWinsStrategy.kt │ │ │ │ └── CrendentialsDedupStrategy.kt │ │ │ │ └── provider │ │ │ │ ├── CredentialsSyncDataProvider.kt │ │ │ │ └── CredentialsSyncLocalValidationFeature.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── autofill_gpm_export_instruction.xml │ │ │ ├── autofill_import_instruction_bullet.xml │ │ │ ├── autofill_rounded_border_container_background.xml │ │ │ ├── autofill_rounded_border_import_background.xml │ │ │ ├── autofill_rounded_container_listitem_background.xml │ │ │ ├── autofill_rounded_report_breakage_icon_background.xml │ │ │ ├── ic_alert_24.xml │ │ │ ├── ic_autofill_color_24.xml │ │ │ ├── ic_autofill_keychain.xml │ │ │ ├── ic_baseline_add_24.xml │ │ │ ├── ic_baseline_search_24.xml │ │ │ ├── ic_check_recolorable_24.xml │ │ │ ├── ic_cross_recolorable_red_24.xml │ │ │ ├── ic_email_24.xml │ │ │ ├── ic_email_deactivate_24.xml │ │ │ ├── ic_link_24.xml │ │ │ ├── ic_lock_color_24.xml │ │ │ ├── ic_lock_solid_12.xml │ │ │ ├── ic_locked_lock.xml │ │ │ ├── ic_passwords_add_96.xml │ │ │ ├── ic_passwords_ddg_96.xml │ │ │ ├── ic_passwords_import_128.xml │ │ │ ├── ic_shortcut_passwords.xml │ │ │ ├── ic_success_128.xml │ │ │ ├── ic_sync_color_24.xml │ │ │ ├── ic_warning_color_24.xml │ │ │ ├── rounded_textview.xml │ │ │ ├── rounded_top_corners_bottom_sheet_background.xml │ │ │ └── sync_desktop_new_128.xml │ │ │ ├── layout │ │ │ ├── activity_autofill_settings.xml │ │ │ ├── activity_email_protection_in_context_signup.xml │ │ │ ├── activity_get_desktop_app.xml │ │ │ ├── activity_import_google_passwords_webflow.xml │ │ │ ├── activity_import_passwords.xml │ │ │ ├── autofill_management_credential_list_empty_state.xml │ │ │ ├── content_autofill_generate_password_dialog.xml │ │ │ ├── content_autofill_save_new_credentials.xml │ │ │ ├── content_autofill_select_credentials_tooltip.xml │ │ │ ├── content_autofill_update_existing_credentials.xml │ │ │ ├── content_import_from_google_password_dialog.xml │ │ │ ├── content_import_google_password_post_flow.xml │ │ │ ├── content_import_google_password_post_flow_in_progress.xml │ │ │ ├── content_import_google_password_post_flow_result.xml │ │ │ ├── content_import_google_password_pre_flow.xml │ │ │ ├── credentials_notification_invalid_request.xml │ │ │ ├── credentials_notification_rate_limit.xml │ │ │ ├── dialog_email_protection_choose_email.xml │ │ │ ├── dialog_email_protection_in_context_sign_up.xml │ │ │ ├── fragment_autofill_management_device_unsupported.xml │ │ │ ├── fragment_autofill_management_disabled.xml │ │ │ ├── fragment_autofill_management_edit_mode.xml │ │ │ ├── fragment_autofill_management_list_mode.xml │ │ │ ├── fragment_autofill_management_locked.xml │ │ │ ├── fragment_import_google_passwords_webflow.xml │ │ │ ├── item_row_autofill_credentials_management_screen.xml │ │ │ ├── item_row_autofill_credentials_management_screen_divider.xml │ │ │ ├── item_row_autofill_credentials_management_screen_header.xml │ │ │ ├── item_row_autofill_credentials_picker_domain_divider.xml │ │ │ ├── item_row_autofill_credentials_picker_primary_button.xml │ │ │ ├── item_row_autofill_credentials_picker_secondary_button.xml │ │ │ ├── item_row_autofill_credentials_picker_vertical_spacing.xml │ │ │ ├── item_row_autofill_report_breakage_management_screen.xml │ │ │ ├── item_row_search_no_results.xml │ │ │ ├── overflow_menu_list_item.xml │ │ │ ├── view_credentials_invalid_items_warning.xml │ │ │ ├── view_credentials_sync_paused_warning.xml │ │ │ └── view_password_survey.xml │ │ │ ├── menu │ │ │ ├── autofill_list_mode_menu.xml │ │ │ └── autofill_view_mode_menu.xml │ │ │ ├── values-bg │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-cs │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-da │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-de │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-el │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-es │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-et │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-fi │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-fr │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-hr │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-hu │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-it │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-lt │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-lv │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-nb │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-nl │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-pl │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-pt │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-ro │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-ru │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-sk │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-sl │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-sv │ │ │ └── strings-autofill-impl.xml │ │ │ ├── values-sw600dp-land │ │ │ └── autofill-impl-dimensions.xml │ │ │ ├── values-tr │ │ │ └── strings-autofill-impl.xml │ │ │ └── values │ │ │ ├── autofill-impl-dimensions.xml │ │ │ ├── donottranslate.xml │ │ │ ├── strings-autofill-impl.xml │ │ │ └── styles.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── autofill │ │ │ ├── impl │ │ │ ├── AutofillCapabilityCheckerImplTest.kt │ │ │ ├── AutofillGlobalCapabilityCheckerImplGlobalFeatureTest.kt │ │ │ ├── AutofillGlobalCapabilityCheckerImplSecureStorageAvailableTest.kt │ │ │ ├── AutofillGlobalCapabilityCheckerImplUserPreferenceTest.kt │ │ │ ├── AutofillStoredBackJavascriptInterfaceTest.kt │ │ │ ├── FakePasswordStoreEventPlugin.kt │ │ │ ├── InlineBrowserAutofillTest.kt │ │ │ ├── RealAutofillTest.kt │ │ │ ├── RealDuckAddressLoginCreatorTest.kt │ │ │ ├── SecureStoreBackedAutofillStoreTest.kt │ │ │ ├── configuration │ │ │ │ ├── InlineBrowserAutofillConfiguratorTest.kt │ │ │ │ ├── RealAutofillRuntimeConfigProviderTest.kt │ │ │ │ └── RealRuntimeConfigurationWriterTest.kt │ │ │ ├── deduper │ │ │ │ ├── RealAutofillLoginDeduplicatorTest.kt │ │ │ │ ├── RealAutofillMatchTypeDetectorTest.kt │ │ │ │ ├── RealLoginDeduplicatorBestMatchFinderTest.kt │ │ │ │ ├── RealLoginDeduplicatorUsernameAndPasswordMatcherTest.kt │ │ │ │ └── RealLoginSorterForDeduplicationTest.kt │ │ │ ├── deviceauth │ │ │ │ ├── AutofillTimeBasedAuthorizationGracePeriodTest.kt │ │ │ │ ├── FakeAuthenticator.kt │ │ │ │ └── RealDeviceAuthenticatorTest.kt │ │ │ ├── email │ │ │ │ ├── EmailProtectionInContextSignupViewModelTest.kt │ │ │ │ ├── ResultHandlerEmailProtectionChooseEmailTest.kt │ │ │ │ └── incontext │ │ │ │ │ ├── availability │ │ │ │ │ ├── RealEmailProtectionInContextAvailabilityRulesTest.kt │ │ │ │ │ └── RealEmailProtectionInContextRecentInstallCheckerTest.kt │ │ │ │ │ ├── prompt │ │ │ │ │ └── EmailProtectionInContextSignUpPromptViewModelTest.kt │ │ │ │ │ └── verifier │ │ │ │ │ └── RealEmailProtectionLinkVerifierTest.kt │ │ │ ├── encoding │ │ │ │ ├── TestUrlUnicodeNormalizer.kt │ │ │ │ └── UrlUnicodeNormalizerImplTest.kt │ │ │ ├── engagement │ │ │ │ ├── EngagementPasswordAddedListenerTest.kt │ │ │ │ └── store │ │ │ │ │ ├── DefaultAutofillEngagementBucketingTest.kt │ │ │ │ │ └── DefaultAutofillEngagementRepositoryTest.kt │ │ │ ├── feature │ │ │ │ └── plugin │ │ │ │ │ └── emailprotection │ │ │ │ │ └── EmailProtectionInContextRemoteSettingsPersisterTest.kt │ │ │ ├── importing │ │ │ │ ├── CredentialImporterImplTest.kt │ │ │ │ ├── DefaultDomainNameNormalizerTest.kt │ │ │ │ ├── DefaultExistingCredentialMatchDetectorTest.kt │ │ │ │ ├── DefaultImportedCredentialValidatorTest.kt │ │ │ │ ├── GooglePasswordBlobDecoderImplTest.kt │ │ │ │ ├── GooglePasswordManagerCsvCredentialConverterTest.kt │ │ │ │ ├── GooglePasswordManagerCsvCredentialParserTest.kt │ │ │ │ └── gpm │ │ │ │ │ ├── feature │ │ │ │ │ └── AutofillImportPasswordConfigStoreImplTest.kt │ │ │ │ │ └── webflow │ │ │ │ │ ├── ImportGooglePasswordUrlToStageMapperImplTest.kt │ │ │ │ │ └── ImportGooglePasswordsWebFlowViewModelTest.kt │ │ │ ├── internal │ │ │ │ └── RealInternalTestUserCheckerTest.kt │ │ │ ├── jsbridge │ │ │ │ ├── request │ │ │ │ │ └── AutofillJsonRequestParserTest.kt │ │ │ │ └── response │ │ │ │ │ └── AutofillJsonResponseWriterTest.kt │ │ │ ├── reporting │ │ │ │ ├── AutofillBreakageReportCanShowRulesImplTest.kt │ │ │ │ ├── AutofillBreakageReportSenderImplTest.kt │ │ │ │ ├── AutofillSiteBreakageReportingDataStoreImplTest.kt │ │ │ │ └── remoteconfig │ │ │ │ │ └── AutofillSiteBreakageReportingRemoteSettingsPersisterTest.kt │ │ │ ├── securestorage │ │ │ │ ├── Fakes.kt │ │ │ │ ├── RealL2DataTransformerTest.kt │ │ │ │ ├── RealSecureStorageKeyGeneratorTest.kt │ │ │ │ ├── RealSecureStorageKeyProviderTest.kt │ │ │ │ └── RealSecureStorageTest.kt │ │ │ ├── sharedcreds │ │ │ │ ├── AppleShareableCredentialsTest.kt │ │ │ │ ├── AppleSharedCredentialsParserTest.kt │ │ │ │ └── RealShareableCredentialsUrlGeneratorTest.kt │ │ │ ├── store │ │ │ │ └── RealNeverSavedSiteRepositoryTest.kt │ │ │ ├── ui │ │ │ │ ├── DefaultAutofillOverlappingDialogDetectorTest.kt │ │ │ │ └── credential │ │ │ │ │ ├── management │ │ │ │ │ ├── AutofillSettingsViewModelTest.kt │ │ │ │ │ ├── CredentialGrouperTest.kt │ │ │ │ │ ├── CredentialInitialExtractorTest.kt │ │ │ │ │ ├── CredentialListSorterTest.kt │ │ │ │ │ ├── RegexBasedUrlIdentifierTest.kt │ │ │ │ │ ├── importpassword │ │ │ │ │ │ ├── ImportPasswordsViewModelTest.kt │ │ │ │ │ │ ├── desktopapp │ │ │ │ │ │ │ ├── ImportPasswordsGetDesktopAppViewModelTest.kt │ │ │ │ │ │ │ ├── ImportPasswordsUserJourneyLifecycleObserverTest.kt │ │ │ │ │ │ │ └── UserJourneyEndRecorderImplTest.kt │ │ │ │ │ │ └── google │ │ │ │ │ │ │ └── ImportFromGooglePasswordsDialogViewModelTest.kt │ │ │ │ │ ├── searching │ │ │ │ │ │ ├── ManagementScreenAutofillCredentialMatcherTest.kt │ │ │ │ │ │ └── ManagementScreenCredentialListFilterTest.kt │ │ │ │ │ ├── suggestion │ │ │ │ │ │ ├── SuggestionListBuilderTest.kt │ │ │ │ │ │ └── SuggestionMatcherTest.kt │ │ │ │ │ ├── survey │ │ │ │ │ │ ├── AutofillSurveyImplTest.kt │ │ │ │ │ │ ├── AutofillSurveyJsonParserImplTest.kt │ │ │ │ │ │ ├── AutofillSurveyStoreImplTest.kt │ │ │ │ │ │ └── SurveyInPasswordsPromotionViewModelTest.kt │ │ │ │ │ └── viewing │ │ │ │ │ │ ├── AutofillManagementStringBuilderImplTest.kt │ │ │ │ │ │ └── duckaddress │ │ │ │ │ │ └── RealDuckAddressIdentifierTest.kt │ │ │ │ │ ├── passwordgeneration │ │ │ │ │ ├── InMemoryAutoSavedLoginsMonitorTest.kt │ │ │ │ │ ├── PasswordEventResolverTest.kt │ │ │ │ │ └── ResultHandlerUseGeneratedPasswordTest.kt │ │ │ │ │ ├── repository │ │ │ │ │ └── RemoteDuckAddressStatusRepositoryTest.kt │ │ │ │ │ ├── saving │ │ │ │ │ ├── AskToDisableDialogTest.kt │ │ │ │ │ ├── AutofillSavingCredentialsViewModelTest.kt │ │ │ │ │ ├── AutofillSavingPixelEventNamesTest.kt │ │ │ │ │ ├── DisableInSettingsSnackbarTest.kt │ │ │ │ │ ├── ResultHandlerPromptToDisableCredentialSavingTest.kt │ │ │ │ │ ├── ResultHandlerSaveLoginCredentialsTest.kt │ │ │ │ │ └── declines │ │ │ │ │ │ └── AutofillDisablingDeclineCounterTest.kt │ │ │ │ │ ├── selecting │ │ │ │ │ ├── CredentialTextExtractorTest.kt │ │ │ │ │ ├── LastUpdatedCredentialSorterTest.kt │ │ │ │ │ ├── LastUsedCredentialSorterTest.kt │ │ │ │ │ ├── RealAutofillSelectCredentialsGrouperTest.kt │ │ │ │ │ ├── RealAutofillSelectCredentialsListBuilderTest.kt │ │ │ │ │ └── ResultHandlerCredentialSelectionTest.kt │ │ │ │ │ └── updating │ │ │ │ │ ├── AutofillUpdatingExistingCredentialViewModelTest.kt │ │ │ │ │ └── ResultHandlerUpdateLoginCredentialsTest.kt │ │ │ └── urlmatcher │ │ │ │ └── AutofillDomainNameUrlMatcherTest.kt │ │ │ ├── store │ │ │ ├── RealAutofillPrefsStoreTest.kt │ │ │ └── feature │ │ │ │ └── RealAutofillDefaultStateDeciderTest.kt │ │ │ └── sync │ │ │ ├── AppCredentialsSyncFeatureListenerTest.kt │ │ │ ├── CredentialsFixtures.kt │ │ │ ├── CredentialsInvalidItemsViewModelTest.kt │ │ │ ├── CredentialsSyncDataPersisterTest.kt │ │ │ ├── CredentialsSyncMapperTest.kt │ │ │ ├── CredentialsSyncMetadataTest.kt │ │ │ ├── CredentialsSyncPausedViewModelTest.kt │ │ │ ├── CredentialsSyncTest.kt │ │ │ ├── FakeCredentialsSyncStore.kt │ │ │ ├── FakeCrypto.kt │ │ │ ├── FakeSecureStorage.kt │ │ │ ├── InMemoryAutofillDatabase.kt │ │ │ ├── RealCredentialsSyncStoreTest.kt │ │ │ ├── SyncCredentialsListenerTest.kt │ │ │ ├── persister │ │ │ ├── CredentialsLastModifiedWinsStrategyTest.kt │ │ │ ├── CredentialsLocalWinsStrategyTest.kt │ │ │ ├── CredentialsRemoteWinsStrategyTest.kt │ │ │ └── CrendentialsDedupStrategyTest.kt │ │ │ └── provider │ │ │ └── CredentialsSyncDataProviderTest.kt │ │ └── resources │ │ ├── csv │ │ └── autofill │ │ │ ├── gpm_import_header_row_only.csv │ │ │ ├── gpm_import_header_row_unknown_field.csv │ │ │ ├── gpm_import_missing_domain.csv │ │ │ ├── gpm_import_missing_notes.csv │ │ │ ├── gpm_import_missing_password.csv │ │ │ ├── gpm_import_missing_title.csv │ │ │ ├── gpm_import_missing_username.csv │ │ │ ├── gpm_import_one_valid_basic_password.csv │ │ │ ├── gpm_import_password_has_a_comma.csv │ │ │ ├── gpm_import_password_has_special_characters.csv │ │ │ ├── gpm_import_two_valid_basic_passwords.csv │ │ │ └── gpm_import_two_valid_identical_passwords.csv │ │ └── json │ │ ├── apple_shared_credentials.json │ │ ├── autofill.json │ │ ├── autofill_disabled.json │ │ ├── autofill_empty_features.json │ │ ├── autofill_empty_settings.json │ │ ├── autofill_inject_credentials_feature_enabled.json │ │ ├── autofill_min_supported_version.json │ │ ├── storeFormData_additionalUnknownPropertiesIncluded.json │ │ ├── storeFormData_passwordMissing.json │ │ ├── storeFormData_topLevelDataMissing.json │ │ ├── storeFormData_usernameAndPasswordMissing.json │ │ ├── storeFormData_usernameAndPasswordNull.json │ │ ├── storeFormData_usernameAndPasswordProvided.json │ │ ├── storeFormData_usernameMissing.json │ │ ├── survey │ │ ├── autofillSurvey_missing_surveys_field.json │ │ ├── autofillSurvey_no_surveys_available.json │ │ ├── autofillSurvey_one_survey_available.json │ │ ├── autofillSurvey_survey_is_corrupt.json │ │ └── autofillSurvey_two_surveys_available.json │ │ └── sync │ │ ├── merger_deleted_entries.json │ │ ├── merger_empty_entries.json │ │ ├── merger_first_get.json │ │ ├── merger_invalid_data.json │ │ └── merger_null_entries.json ├── autofill-internal │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── autofill │ │ │ └── internal │ │ │ ├── AutofillInternalSettingsActivity.kt │ │ │ └── InternalAutofillFeature.kt │ │ └── res │ │ ├── layout │ │ └── activity_autofill_internal_settings.xml │ │ └── values │ │ └── donottranslate.xml ├── autofill-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ ├── schemas │ │ ├── com.duckduckgo.autofill.store.AutofillDatabase │ │ │ └── 2.json │ │ ├── com.duckduckgo.autofill.store.feature.email.incontext.EmailProtectionInContextDatabase │ │ │ └── 1.json │ │ └── com.duckduckgo.securestorage.store.db.SecureStorageDatabase │ │ │ ├── 1.json │ │ │ ├── 2.json │ │ │ └── 3.json │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ ├── autofill │ │ │ └── store │ │ │ │ ├── AutofillDao.kt │ │ │ │ ├── AutofillDatabase.kt │ │ │ │ ├── AutofillDatabaseModels.kt │ │ │ │ ├── AutofillPrefsStore.kt │ │ │ │ ├── CredentialsSyncMetadataDao.kt │ │ │ │ ├── CredentialsSyncMetadataEntity.kt │ │ │ │ ├── InternalTestUserStore.kt │ │ │ │ ├── LastUpdatedTimeProvider.kt │ │ │ │ ├── engagement │ │ │ │ ├── AutofillEngagementDao.kt │ │ │ │ └── AutofillEngagementDatabase.kt │ │ │ │ ├── feature │ │ │ │ ├── AutofillDefaultStateDecider.kt │ │ │ │ ├── AutofillFeatureRepository.kt │ │ │ │ └── email │ │ │ │ │ └── incontext │ │ │ │ │ ├── EmailProtectionInContextDao.kt │ │ │ │ │ ├── EmailProtectionInContextDatabase.kt │ │ │ │ │ └── EmailProtectionInContextFeatureRepository.kt │ │ │ │ └── reporting │ │ │ │ ├── AutofillSiteBreakageExceptionDatabase.kt │ │ │ │ └── AutofillSiteBreakageReportingFeatureRepository.kt │ │ │ └── securestorage │ │ │ └── store │ │ │ ├── SecureStorageKeyRepository.kt │ │ │ ├── SecureStorageRepository.kt │ │ │ ├── db │ │ │ ├── NeverSavedSiteEntity.kt │ │ │ ├── NeverSavedSitesDao.kt │ │ │ ├── SecureStorageDatabase.kt │ │ │ ├── WebsiteLoginCredentialsDao.kt │ │ │ └── WebsiteLoginCredentialsEntity.kt │ │ │ └── keys │ │ │ └── SecureStorageKeyStore.kt │ │ └── test │ │ └── java │ │ └── com.duckduckgo.autofill.store │ │ ├── RealSecureStorageKeyRepositoryTest.kt │ │ └── RealSecureStorageRepositoryTest.kt ├── autofill-test │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── autofill │ │ └── api │ │ ├── FakeAutofillFeature.kt │ │ └── TestActivity.kt └── readme.md ├── breakage-reporting ├── breakage-reporting-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── breakagereporting │ │ │ └── impl │ │ │ ├── BreakageReportingContentScopeConfigPlugin.kt │ │ │ ├── BreakageReportingDao.kt │ │ │ ├── BreakageReportingDatabase.kt │ │ │ ├── BreakageReportingEntity.kt │ │ │ ├── BreakageReportingFeatureName.kt │ │ │ ├── BreakageReportingFeatureNameUtil.kt │ │ │ ├── BreakageReportingFeaturePlugin.kt │ │ │ ├── BreakageReportingMessageHandlerPlugin.kt │ │ │ ├── BreakageReportingRepository.kt │ │ │ └── di │ │ │ └── BreakageReportingModule.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── breakagereporting │ │ └── impl │ │ ├── BreakageReportingContentScopeConfigPluginTest.kt │ │ ├── BreakageReportingFeaturePluginTest.kt │ │ └── BreakageReportingRepositoryTest.kt └── readme.md ├── broken-site ├── broken-site-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── brokensite │ │ └── api │ │ ├── BrokenSiteLastSentReport.kt │ │ ├── BrokenSitePrompt.kt │ │ └── BrokenSiteSender.kt ├── broken-site-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── brokensite │ │ │ │ └── impl │ │ │ │ ├── BrokenSitePomptDataStore.kt │ │ │ │ ├── BrokenSitePromptInMemoryStore.kt │ │ │ │ ├── BrokenSitePromptRCFeature.kt │ │ │ │ ├── BrokenSiteReportRepository.kt │ │ │ │ ├── CleanupBrokenSiteLastSentReportWorker.kt │ │ │ │ ├── RealBrokenSiteLastSentReport.kt │ │ │ │ ├── RealBrokenSitePrompt.kt │ │ │ │ └── di │ │ │ │ ├── BrokenSiteModule.kt │ │ │ │ └── BrokenSitePromptDataStoreModule.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── top_banner.xml │ │ │ ├── layout │ │ │ └── prompt_broken_site.xml │ │ │ ├── values-bg │ │ │ └── strings-broken-site.xml │ │ │ ├── values-cs │ │ │ └── strings-broken-site.xml │ │ │ ├── values-da │ │ │ └── strings-broken-site.xml │ │ │ ├── values-de │ │ │ └── strings-broken-site.xml │ │ │ ├── values-el │ │ │ └── strings-broken-site.xml │ │ │ ├── values-es │ │ │ └── strings-broken-site.xml │ │ │ ├── values-et │ │ │ └── strings-broken-site.xml │ │ │ ├── values-fi │ │ │ └── strings-broken-site.xml │ │ │ ├── values-fr │ │ │ └── strings-broken-site.xml │ │ │ ├── values-hr │ │ │ └── strings-broken-site.xml │ │ │ ├── values-hu │ │ │ └── strings-broken-site.xml │ │ │ ├── values-it │ │ │ └── strings-broken-site.xml │ │ │ ├── values-lt │ │ │ └── strings-broken-site.xml │ │ │ ├── values-lv │ │ │ └── strings-broken-site.xml │ │ │ ├── values-nb │ │ │ └── strings-broken-site.xml │ │ │ ├── values-nl │ │ │ └── strings-broken-site.xml │ │ │ ├── values-pl │ │ │ └── strings-broken-site.xml │ │ │ ├── values-pt │ │ │ └── strings-broken-site.xml │ │ │ ├── values-ro │ │ │ └── strings-broken-site.xml │ │ │ ├── values-ru │ │ │ └── strings-broken-site.xml │ │ │ ├── values-sk │ │ │ └── strings-broken-site.xml │ │ │ ├── values-sl │ │ │ └── strings-broken-site.xml │ │ │ ├── values-sv │ │ │ └── strings-broken-site.xml │ │ │ ├── values-tr │ │ │ └── strings-broken-site.xml │ │ │ └── values │ │ │ └── strings-broken-site.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── brokensite │ │ └── impl │ │ ├── CleanupBrokenSiteLastSentReportWorkerTest.kt │ │ ├── RealBrokenSiteLastSentReportTest.kt │ │ ├── RealBrokenSitePromptTest.kt │ │ └── RealBrokenSiteReportRepositoryTest.kt ├── broken-site-store │ ├── .gitignore │ ├── build.gradle │ ├── schemas │ │ └── com.duckduckgo.brokensite.store.BrokenSiteDatabase │ │ │ └── 1.json │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── brokensite │ │ └── store │ │ ├── BrokenSiteDao.kt │ │ ├── BrokenSiteDatabase.kt │ │ └── BrokenSiteModels.kt └── readme.md ├── browser-api ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── duckduckgo │ ├── app │ ├── accessibility │ │ └── AccessibilityScreens.kt │ ├── autofill │ │ └── EmailProtectionJavascriptInjector.kt │ ├── browser │ │ ├── Domain.kt │ │ ├── DuckDuckGoUrlDetector.kt │ │ ├── SpecialUrlDetector.kt │ │ ├── UriString.kt │ │ ├── api │ │ │ └── WebViewCapabilityChecker.kt │ │ └── favicon │ │ │ └── FaviconManager.kt │ ├── clipboard │ │ └── ClipboardInteractor.kt │ ├── fire │ │ ├── DatabaseLocator.kt │ │ └── FireproofRepository.kt │ ├── global │ │ ├── api │ │ │ └── ApiInterceptorPlugin.kt │ │ ├── initialization │ │ │ └── DataLoadable.kt │ │ └── model │ │ │ ├── PrivacyShield.kt │ │ │ ├── Site.kt │ │ │ ├── SiteFactory.kt │ │ │ └── SitePrivacyData.kt │ ├── notification │ │ ├── NotificationSender.kt │ │ ├── TaskStackBuilderFactory.kt │ │ └── model │ │ │ ├── NotificationPlugin.kt │ │ │ ├── SchedulableNotification.kt │ │ │ └── SchedulableNotificationPlugin.kt │ ├── privacy │ │ ├── db │ │ │ ├── UserAllowListDao.kt │ │ │ └── UserAllowListRepository.kt │ │ └── model │ │ │ ├── HttpsStatus.kt │ │ │ └── UserAllowListedDomain.kt │ ├── surrogates │ │ └── SurrogateResponse.kt │ ├── tabs │ │ ├── BrowserNav.kt │ │ └── model │ │ │ ├── TabEntitiy.kt │ │ │ ├── TabRepository.kt │ │ │ └── TabSwitcherData.kt │ ├── trackerdetection │ │ ├── EntityLookup.kt │ │ └── model │ │ │ ├── Entity.kt │ │ │ └── TrackingEvent.kt │ └── usage │ │ └── app │ │ └── AppDaysUsedRepository.kt │ └── browser │ └── api │ ├── ActivityLifecycleCallbacks.kt │ ├── AppProperties.kt │ ├── BrowserLifecycleObserver.kt │ ├── JsInjectorPlugin.kt │ ├── UserBrowserProperties.kt │ ├── WebViewVersionProvider.kt │ ├── brokensite │ ├── BrokenSiteContext.kt │ ├── BrokenSiteNav.kt │ └── BrokenSiteOpenerContext.kt │ ├── referrer │ └── AppReferrer.kt │ └── ui │ └── BrowserScreens.kt ├── code-formatting.gradle ├── common ├── common-test │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── common │ │ └── test │ │ ├── CoroutineTestRule.kt │ │ ├── FileUtilities.kt │ │ ├── InstantSchedulersRule.kt │ │ ├── LiveDataTestExtensions.kt │ │ ├── api │ │ ├── FakeChain.kt │ │ └── InMemorySharedPreferences.kt │ │ └── json │ │ └── JSONObjectAdapter.kt ├── common-ui-internal │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── common │ │ └── ui │ │ └── internal │ │ └── ThemesPreviewInternalFeature.kt ├── common-ui │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── common │ │ │ │ └── ui │ │ │ │ ├── DuckDuckGoActivity.kt │ │ │ │ ├── DuckDuckGoFragment.kt │ │ │ │ ├── Theming.kt │ │ │ │ ├── menu │ │ │ │ └── PopupMenu.kt │ │ │ │ ├── notifyme │ │ │ │ ├── NotifyMeView.kt │ │ │ │ └── NotifyMeViewModel.kt │ │ │ │ ├── recyclerviewext │ │ │ │ ├── GridColumnCalculator.kt │ │ │ │ ├── RecyclerViewExtension.kt │ │ │ │ ├── StickyHeaders.kt │ │ │ │ └── StickyHeadersLinearLayoutManager.kt │ │ │ │ ├── spans │ │ │ │ └── DuckDuckGoClickableSpan.kt │ │ │ │ ├── store │ │ │ │ ├── AppTheme.kt │ │ │ │ ├── ThemingDataStore.kt │ │ │ │ ├── ThemingSharedPreferences.kt │ │ │ │ └── notifyme │ │ │ │ │ ├── NotifyMeDataStore.kt │ │ │ │ │ └── NotifyMeSharedPreferences.kt │ │ │ │ ├── themepreview │ │ │ │ └── ui │ │ │ │ │ ├── AppComponentsActivity.kt │ │ │ │ │ ├── AppComponentsPagerAdapter.kt │ │ │ │ │ ├── component │ │ │ │ │ ├── Component.kt │ │ │ │ │ ├── ComponentAdapter.kt │ │ │ │ │ ├── ComponentFragment.kt │ │ │ │ │ ├── ComponentOtherFragment.kt │ │ │ │ │ ├── ComponentViewHolder.kt │ │ │ │ │ ├── buttons │ │ │ │ │ │ ├── ComponentButtonsFragment.kt │ │ │ │ │ │ └── ComponentInteractiveElementsFragment.kt │ │ │ │ │ ├── cards │ │ │ │ │ │ └── ComponentLayoutsFragment.kt │ │ │ │ │ ├── listitems │ │ │ │ │ │ └── ComponentListItemsElementsFragment.kt │ │ │ │ │ ├── navigation │ │ │ │ │ │ └── ComponentMessagingFragment.kt │ │ │ │ │ └── textinput │ │ │ │ │ │ └── ComponentTextInputFragment.kt │ │ │ │ │ ├── dialogs │ │ │ │ │ └── DialogsFragment.kt │ │ │ │ │ ├── palette │ │ │ │ │ └── ColorPaletteFragment.kt │ │ │ │ │ ├── typography │ │ │ │ │ └── TypographyFragment.kt │ │ │ │ │ └── widget │ │ │ │ │ ├── ColorAttributeView.kt │ │ │ │ │ └── ColorDotView.kt │ │ │ │ ├── view │ │ │ │ ├── Chip.kt │ │ │ │ ├── DaxDialog.kt │ │ │ │ ├── DaxSwitch.kt │ │ │ │ ├── InfoPanel.kt │ │ │ │ ├── KeyboardAwareEditText.kt │ │ │ │ ├── LottieDaxDialog.kt │ │ │ │ ├── MenuItemView.kt │ │ │ │ ├── MessageCta.kt │ │ │ │ ├── PopupMenuItemView.kt │ │ │ │ ├── SearchBar.kt │ │ │ │ ├── SkeletonView.kt │ │ │ │ ├── StatusIndicatorView.kt │ │ │ │ ├── TextExtensions.kt │ │ │ │ ├── TextViewExtension.kt │ │ │ │ ├── TypeAnimationTextView.kt │ │ │ │ ├── TypedArrayUtils.kt │ │ │ │ ├── ViewExtension.kt │ │ │ │ ├── button │ │ │ │ │ ├── DaxButton.kt │ │ │ │ │ ├── DaxButtonDestructive.kt │ │ │ │ │ ├── DaxButtonGhost.kt │ │ │ │ │ ├── DaxButtonGhostAlt.kt │ │ │ │ │ ├── DaxButtonGhostDestructive.kt │ │ │ │ │ ├── DaxButtonPrimary.kt │ │ │ │ │ ├── DaxButtonSecondary.kt │ │ │ │ │ ├── IconButton.kt │ │ │ │ │ └── RadioButton.kt │ │ │ │ ├── dialog │ │ │ │ │ ├── ActionBottomSheetDialog.kt │ │ │ │ │ ├── BackKeyListener.kt │ │ │ │ │ ├── CustomAlertDialogBuilder.kt │ │ │ │ │ ├── DaxAlertDialog.kt │ │ │ │ │ ├── PromoBottomSheetDialog.kt │ │ │ │ │ ├── RadioListAlertDialogBuilder.kt │ │ │ │ │ ├── StackedAlertDialogBuilder.kt │ │ │ │ │ └── TextAlertDialogBuilder.kt │ │ │ │ ├── divider │ │ │ │ │ ├── HorizontalDivider.kt │ │ │ │ │ └── VerticalDivider.kt │ │ │ │ ├── expand │ │ │ │ │ ├── DaxExpandableMenu.kt │ │ │ │ │ ├── DaxExpandableMenuDsl.kt │ │ │ │ │ ├── DaxExpandableMenuItem.kt │ │ │ │ │ ├── DaxExpandableMenuItemDsl.kt │ │ │ │ │ └── OnExpandedChangedListener.kt │ │ │ │ ├── listitem │ │ │ │ │ ├── BookmarksListItem.kt │ │ │ │ │ ├── CheckListItem.kt │ │ │ │ │ ├── DaxGridItem.kt │ │ │ │ │ ├── DaxListItem.kt │ │ │ │ │ ├── OneLineListItem.kt │ │ │ │ │ ├── RadioListItem.kt │ │ │ │ │ ├── SectionHeaderListItem.kt │ │ │ │ │ ├── SettingsListItem.kt │ │ │ │ │ └── TwoLineListItem.kt │ │ │ │ ├── shape │ │ │ │ │ ├── DaxBubbleCardView.kt │ │ │ │ │ ├── DaxBubbleCardViewExperiment.kt │ │ │ │ │ ├── DaxBubbleLeftEdgeTreatment.kt │ │ │ │ │ ├── DaxBubbleTopEdgeTreatment.kt │ │ │ │ │ ├── OffsetEndTreatment.kt │ │ │ │ │ ├── OffsetStartTreatment.kt │ │ │ │ │ └── Shapes.kt │ │ │ │ └── text │ │ │ │ │ ├── DaxTextInput.kt │ │ │ │ │ └── DaxTextView.kt │ │ │ │ └── viewbinding │ │ │ │ ├── ActivityViewBindingDelegate.kt │ │ │ │ ├── FragmentViewBindingDelegate.kt │ │ │ │ └── ViewBindingDelegate.kt │ │ └── res │ │ │ ├── anim │ │ │ ├── slide_from_left.xml │ │ │ ├── slide_from_right.xml │ │ │ ├── slide_to_left.xml │ │ │ └── slide_to_right.xml │ │ │ ├── color │ │ │ ├── button_desctructive_ghost_ripple_selector.xml │ │ │ ├── button_destructive_container_selector.xml │ │ │ ├── button_destructive_ghost_container_selector.xml │ │ │ ├── button_destructive_ghost_text_color_selector.xml │ │ │ ├── button_destructive_ripple_selector.xml │ │ │ ├── button_ghost_alt_container_selector.xml │ │ │ ├── button_ghost_alt_ripple_selector.xml │ │ │ ├── button_ghost_alt_text_color_selector.xml │ │ │ ├── button_ghost_container_selector.xml │ │ │ ├── button_ghost_ripple_selector.xml │ │ │ ├── button_primary_container_selector.xml │ │ │ ├── button_primary_ripple_selector.xml │ │ │ ├── button_primary_text_color_selector.xml │ │ │ ├── button_secondary_ripple_selector.xml │ │ │ ├── button_secondary_stroke_selector.xml │ │ │ ├── button_secondary_text_color_selector.xml │ │ │ ├── destructive_text_color_selector.xml │ │ │ ├── primary_button_background_selector.xml │ │ │ ├── primary_icon_color_selector.xml │ │ │ ├── primary_text_color_selector.xml │ │ │ ├── radio_button_tint.xml │ │ │ ├── secondary_text_color_selector.xml │ │ │ ├── slider_inactive_track.xml │ │ │ ├── status_indicator_color_selector.xml │ │ │ ├── switch_thumb_tint.xml │ │ │ ├── switch_track_tint.xml │ │ │ ├── tertiary_text_color_selector.xml │ │ │ ├── text_input_box_color_selector.xml │ │ │ ├── text_input_color_selector.xml │ │ │ └── text_input_hint_color_selector.xml │ │ │ ├── drawable-night │ │ │ └── desktop_promo_artwork.xml │ │ │ ├── drawable │ │ │ ├── background_circular_icon_container.xml │ │ │ ├── background_dashed_outline.xml │ │ │ ├── background_expandable_menu.xml │ │ │ ├── background_icon_button.xml │ │ │ ├── background_message_cta.xml │ │ │ ├── background_radius_text.xml │ │ │ ├── background_rounded_background.xml │ │ │ ├── background_rounded_container.xml │ │ │ ├── background_rounded_icon.xml │ │ │ ├── background_rounded_surface.xml │ │ │ ├── background_rounded_transparent.xml │ │ │ ├── background_skeleton_ui.xml │ │ │ ├── background_text_view_container.xml │ │ │ ├── background_tracker_badge.xml │ │ │ ├── chip_background.xml │ │ │ ├── cookies_dummy_background.xml │ │ │ ├── cookies_text_background.xml │ │ │ ├── desktop_promo_artwork.xml │ │ │ ├── ic_accessibility_color_24.xml │ │ │ ├── ic_add_16.xml │ │ │ ├── ic_add_24.xml │ │ │ ├── ic_add_to_home_16.xml │ │ │ ├── ic_add_widget_color_24.xml │ │ │ ├── ic_address_bar_position_bottom_color_24.xml │ │ │ ├── ic_announce.xml │ │ │ ├── ic_app_download_128.xml │ │ │ ├── ic_app_update.xml │ │ │ ├── ic_appearance_color_24.xml │ │ │ ├── ic_arrow_circle_right_12.xml │ │ │ ├── ic_arrow_down_24.xml │ │ │ ├── ic_arrow_left_24.xml │ │ │ ├── ic_arrow_right_24.xml │ │ │ ├── ic_arrow_up_24.xml │ │ │ ├── ic_baseline_list_24.xml │ │ │ ├── ic_bell.xml │ │ │ ├── ic_beta_pill.xml │ │ │ ├── ic_bookmark_16.xml │ │ │ ├── ic_bookmark_control_normal_24dp.xml │ │ │ ├── ic_bookmark_solid_16.xml │ │ │ ├── ic_bookmarks_open_color_16.xml │ │ │ ├── ic_bottom_sheet_promo_icon.xml │ │ │ ├── ic_camera_24.xml │ │ │ ├── ic_check_24.xml │ │ │ ├── ic_check_green_round_16.xml │ │ │ ├── ic_check_grey_round_16.xml │ │ │ ├── ic_chevron_down_24.xml │ │ │ ├── ic_chevron_down_24_small.xml │ │ │ ├── ic_chevron_up_24.xml │ │ │ ├── ic_close_24.xml │ │ │ ├── ic_close_24_small.xml │ │ │ ├── ic_computer_mac.xml │ │ │ ├── ic_computer_win.xml │ │ │ ├── ic_cookie_color_24.xml │ │ │ ├── ic_copy.xml │ │ │ ├── ic_critical_update.xml │ │ │ ├── ic_dax_icon.xml │ │ │ ├── ic_dax_splash_screen_icon.xml │ │ │ ├── ic_ddg_announce.xml │ │ │ ├── ic_ddg_logo.xml │ │ │ ├── ic_default_browser_mobile_color_16.xml │ │ │ ├── ic_default_browser_mobile_color_24.xml │ │ │ ├── ic_device_desktop_16.xml │ │ │ ├── ic_device_mobile_16.xml │ │ │ ├── ic_dinger_down_16.xml │ │ │ ├── ic_donations_large.xml │ │ │ ├── ic_downloads_16.xml │ │ │ ├── ic_downloads_24.xml │ │ │ ├── ic_downloads_color_24.xml │ │ │ ├── ic_edit_24.xml │ │ │ ├── ic_email_16.xml │ │ │ ├── ic_email_protection_color_24.xml │ │ │ ├── ic_exclamation_red_16.xml │ │ │ ├── ic_exclamation_yellow_16.xml │ │ │ ├── ic_favorite_24.xml │ │ │ ├── ic_favorite_multicolor_24.xml │ │ │ ├── ic_feedback_16.xml │ │ │ ├── ic_find_search_16.xml │ │ │ ├── ic_find_search_24.xml │ │ │ ├── ic_find_search_color_24.xml │ │ │ ├── ic_fire_16.xml │ │ │ ├── ic_fire_color_24.xml │ │ │ ├── ic_fireproofed_16.xml │ │ │ ├── ic_format_size_24dp.xml │ │ │ ├── ic_globe_gray_16dp.xml │ │ │ ├── ic_heart_gray_color_24.xml │ │ │ ├── ic_homescreen_lock_color_24.xml │ │ │ ├── ic_image_24.xml │ │ │ ├── ic_info_16.xml │ │ │ ├── ic_info_panel_alert.xml │ │ │ ├── ic_info_panel_info.xml │ │ │ ├── ic_info_panel_link.xml │ │ │ ├── ic_key_16.xml │ │ │ ├── ic_key_color_24.xml │ │ │ ├── ic_library_16.xml │ │ │ ├── ic_list.xml │ │ │ ├── ic_lock_color_24.xml │ │ │ ├── ic_menu_hamburger_24.xml │ │ │ ├── ic_menu_vertical_24.xml │ │ │ ├── ic_microphone_color_24.xml │ │ │ ├── ic_open_in_16.xml │ │ │ ├── ic_open_in_24.xml │ │ │ ├── ic_open_in_app_android_alt_16.xml │ │ │ ├── ic_open_in_new_24dp.xml │ │ │ ├── ic_password_hide.xml │ │ │ ├── ic_password_show.xml │ │ │ ├── ic_paste.xml │ │ │ ├── ic_placeholder_color_16.xml │ │ │ ├── ic_platform_apple_16.xml │ │ │ ├── ic_platform_macos_16.xml │ │ │ ├── ic_platform_playstore_16.xml │ │ │ ├── ic_platform_windows_16.xml │ │ │ ├── ic_print_16.xml │ │ │ ├── ic_privacy_pro.xml │ │ │ ├── ic_privacy_pro_128.xml │ │ │ ├── ic_privacy_simplified.xml │ │ │ ├── ic_protections_16.xml │ │ │ ├── ic_protections_blocked_16.xml │ │ │ ├── ic_reload_24.xml │ │ │ ├── ic_search_24.xml │ │ │ ├── ic_settings_16.xml │ │ │ ├── ic_settings_color_24.xml │ │ │ ├── ic_share_android_16.xml │ │ │ ├── ic_share_control_normal_24dp.xml │ │ │ ├── ic_shield_color_24.xml │ │ │ ├── ic_status_indicator.xml │ │ │ ├── ic_sync_color_24.xml │ │ │ ├── ic_tabs.xml │ │ │ ├── ic_trash_24.xml │ │ │ ├── ic_triangle_bubble.xml │ │ │ ├── ic_union.xml │ │ │ ├── ic_video_player_color_24.xml │ │ │ ├── ic_wand_16.xml │ │ │ ├── ic_yeti_dark.xml │ │ │ ├── ic_yeti_light.xml │ │ │ ├── info_panel_alert_background.xml │ │ │ ├── info_panel_tooltip_background.xml │ │ │ ├── list_item_image_circular_background.xml │ │ │ ├── list_item_image_round_background.xml │ │ │ ├── logo_full.xml │ │ │ ├── logo_medium.xml │ │ │ ├── network_logo_newrelic.xml │ │ │ ├── network_logo_nielsen.xml │ │ │ ├── notification_logo.xml │ │ │ ├── omnibar_field_background.xml │ │ │ ├── omnibar_field_background_focused.xml │ │ │ ├── omnibar_field_selector.xml │ │ │ ├── popup_menu_bg.xml │ │ │ ├── ripple_bottom_rounded.xml │ │ │ ├── ripple_rectangle_rounded.xml │ │ │ ├── ripple_top_rounded.xml │ │ │ ├── rounded_top_corners_bottom_sheet_drawable.xml │ │ │ ├── selectable_circular_ripple.xml │ │ │ ├── selectable_rounded_container_ripple.xml │ │ │ ├── selectable_rounded_icon.xml │ │ │ ├── selectable_rounded_ripple.xml │ │ │ ├── selectable_rounded_surface_ripple.xml │ │ │ ├── switch_thumb.xml │ │ │ ├── text_cursor.xml │ │ │ └── vd_vector.xml │ │ │ ├── font │ │ │ └── roboto_mono.xml │ │ │ ├── layout-land │ │ │ └── view_dax_dialog_animated.xml │ │ │ ├── layout │ │ │ ├── activity_app_components.xml │ │ │ ├── bottom_sheet_action.xml │ │ │ ├── bottom_sheet_promo.xml │ │ │ ├── component_buttons.xml │ │ │ ├── component_card.xml │ │ │ ├── component_checkbox.xml │ │ │ ├── component_expandable_layout.xml │ │ │ ├── component_info_panel.xml │ │ │ ├── component_menu_item.xml │ │ │ ├── component_one_line_item.xml │ │ │ ├── component_popup_menu_item.xml │ │ │ ├── component_radio_button.xml │ │ │ ├── component_remote_message.xml │ │ │ ├── component_search_bar.xml │ │ │ ├── component_section_divider.xml │ │ │ ├── component_section_header_item.xml │ │ │ ├── component_settings.xml │ │ │ ├── component_slider.xml │ │ │ ├── component_snackbar.xml │ │ │ ├── component_switch.xml │ │ │ ├── component_text_input_view.xml │ │ │ ├── component_top_app_bar.xml │ │ │ ├── component_two_line_item.xml │ │ │ ├── dialog_custom_alert.xml │ │ │ ├── dialog_single_choice_alert.xml │ │ │ ├── dialog_stacked_alert.xml │ │ │ ├── dialog_text_alert.xml │ │ │ ├── fragment_component_list.xml │ │ │ ├── fragment_components_color_palette.xml │ │ │ ├── fragment_components_dialogs.xml │ │ │ ├── fragment_components_typography.xml │ │ │ ├── include_default_toolbar.xml │ │ │ ├── row_new_tab_grid_item.xml │ │ │ ├── row_one_line_list_item.xml │ │ │ ├── row_two_line_item.xml │ │ │ ├── view_bookmark_two_line_item.xml │ │ │ ├── view_check_list_item.xml │ │ │ ├── view_chip.xml │ │ │ ├── view_dax_dialog.xml │ │ │ ├── view_dax_dialog_animated.xml │ │ │ ├── view_dax_text_input.xml │ │ │ ├── view_expandable_layout.xml │ │ │ ├── view_expandable_layout_child.xml │ │ │ ├── view_expandable_menu_item.xml │ │ │ ├── view_expandable_menu_item_expanded_layout_demo.xml │ │ │ ├── view_expandable_option_sync_child.xml │ │ │ ├── view_expandable_option_sync_parent.xml │ │ │ ├── view_grid_item.xml │ │ │ ├── view_horizontal_divider.xml │ │ │ ├── view_info_panel.xml │ │ │ ├── view_layout_color_attribute.xml │ │ │ ├── view_layout_label.xml │ │ │ ├── view_menu_item.xml │ │ │ ├── view_message_cta.xml │ │ │ ├── view_notify_me_view.xml │ │ │ ├── view_one_line_list_item.xml │ │ │ ├── view_popup_menu_item.xml │ │ │ ├── view_promo_message_cta.xml │ │ │ ├── view_radio_list_item.xml │ │ │ ├── view_remote_message_cta.xml │ │ │ ├── view_search_bar.xml │ │ │ ├── view_section_header.xml │ │ │ ├── view_section_header_list_item.xml │ │ │ ├── view_settings_list_item.xml │ │ │ ├── view_status_indicator.xml │ │ │ ├── view_two_line_item.xml │ │ │ └── view_vertical_divider.xml │ │ │ ├── menu │ │ │ └── top_app_bar_menu.xml │ │ │ ├── raw │ │ │ └── cookie_banner_dark.json │ │ │ ├── values-bg │ │ │ └── strings-common-ui.xml │ │ │ ├── values-cs │ │ │ └── strings-common-ui.xml │ │ │ ├── values-da │ │ │ └── strings-common-ui.xml │ │ │ ├── values-de │ │ │ └── strings-common-ui.xml │ │ │ ├── values-el │ │ │ └── strings-common-ui.xml │ │ │ ├── values-es │ │ │ └── strings-common-ui.xml │ │ │ ├── values-et │ │ │ └── strings-common-ui.xml │ │ │ ├── values-fi │ │ │ └── strings-common-ui.xml │ │ │ ├── values-fr │ │ │ └── strings-common-ui.xml │ │ │ ├── values-h600dp │ │ │ └── dimens.xml │ │ │ ├── values-hr │ │ │ └── strings-common-ui.xml │ │ │ ├── values-hu │ │ │ └── strings-common-ui.xml │ │ │ ├── values-it │ │ │ └── strings-common-ui.xml │ │ │ ├── values-land │ │ │ ├── dimens.xml │ │ │ └── widgets.xml │ │ │ ├── values-lt │ │ │ └── strings-common-ui.xml │ │ │ ├── values-lv │ │ │ └── strings-common-ui.xml │ │ │ ├── values-nb │ │ │ └── strings-common-ui.xml │ │ │ ├── values-night │ │ │ ├── design-system-theming.xml │ │ │ └── widget-colors.xml │ │ │ ├── values-nl │ │ │ └── strings-common-ui.xml │ │ │ ├── values-pl │ │ │ └── strings-common-ui.xml │ │ │ ├── values-pt │ │ │ └── strings-common-ui.xml │ │ │ ├── values-ro │ │ │ └── strings-common-ui.xml │ │ │ ├── values-ru │ │ │ └── strings-common-ui.xml │ │ │ ├── values-sk │ │ │ └── strings-common-ui.xml │ │ │ ├── values-sl │ │ │ └── strings-common-ui.xml │ │ │ ├── values-sv │ │ │ └── strings-common-ui.xml │ │ │ ├── values-sw600dp-land │ │ │ └── dimens.xml │ │ │ ├── values-sw600dp │ │ │ └── dimens.xml │ │ │ ├── values-tr │ │ │ └── strings-common-ui.xml │ │ │ ├── values-v27 │ │ │ └── design-system-theming.xml │ │ │ └── values │ │ │ ├── animation-settings.xml │ │ │ ├── attrs-app-tracking-protection.xml │ │ │ ├── attrs-autofill.xml │ │ │ ├── attrs-button.xml │ │ │ ├── attrs-chip.xml │ │ │ ├── attrs-dax-dialog-experiment.xml │ │ │ ├── attrs-dax-dialog.xml │ │ │ ├── attrs-dividers.xml │ │ │ ├── attrs-expandablelemenu.xml │ │ │ ├── attrs-icon-button.xml │ │ │ ├── attrs-info-panel.xml │ │ │ ├── attrs-lists.xml │ │ │ ├── attrs-menu-item.xml │ │ │ ├── attrs-notify-me-view.xml │ │ │ ├── attrs-radio-list-item.xml │ │ │ ├── attrs-search-bar.xml │ │ │ ├── attrs-section-header-text-view.xml │ │ │ ├── attrs-settings-check-list-item.xml │ │ │ ├── attrs-settings-list_item.xml │ │ │ ├── attrs-settings-status-indicator.xml │ │ │ ├── attrs-settings-toggle-item-with-subtitle.xml │ │ │ ├── attrs-skeleton.xml │ │ │ ├── attrs-text-input.xml │ │ │ ├── attrs-typography.xml │ │ │ ├── attrs_theme_preview.xml │ │ │ ├── design-system-attrs.xml │ │ │ ├── design-system-colors.xml │ │ │ ├── design-system-dimensions.xml │ │ │ ├── design-system-theming.xml │ │ │ ├── design-system-typograhy.xml │ │ │ ├── donottranslate.xml │ │ │ ├── font_certs.xml │ │ │ ├── preloaded_fonts.xml │ │ │ ├── strings-common-ui.xml │ │ │ ├── temp_colors.xml │ │ │ ├── widget-colors.xml │ │ │ └── widgets.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── common │ │ └── ui │ │ └── notifyme │ │ └── NotifyMeViewModelTest.kt ├── common-utils │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── common │ │ │ │ └── utils │ │ │ │ ├── ActivityViewModelFactory.kt │ │ │ │ ├── AppUrl.kt │ │ │ │ ├── CheckMainThread.kt │ │ │ │ ├── ConflatedJob.kt │ │ │ │ ├── CurrentTimeProvider.kt │ │ │ │ ├── DispatcherProvider.kt │ │ │ │ ├── FragmentViewModelFactory.kt │ │ │ │ ├── HashUtilities.kt │ │ │ │ ├── KeyboardVisibilityUtil.kt │ │ │ │ ├── ListExt.kt │ │ │ │ ├── SingleLiveEvent.kt │ │ │ │ ├── UriExtension.kt │ │ │ │ ├── UrlScheme.kt │ │ │ │ ├── ViewViewModelFactory.kt │ │ │ │ ├── VpnViewModelFactory.kt │ │ │ │ ├── device │ │ │ │ └── Device.kt │ │ │ │ ├── extensions │ │ │ │ ├── ActivityExtensions.kt │ │ │ │ ├── BooleanExtensions.kt │ │ │ │ ├── ContextExtensions.kt │ │ │ │ ├── EditTextExtension.kt │ │ │ │ ├── FragmentExtensions.kt │ │ │ │ ├── IntentExtensions.kt │ │ │ │ ├── LocaleExtensions.kt │ │ │ │ ├── OkHttpHeaderExtension.kt │ │ │ │ ├── PackageManagerExtension.kt │ │ │ │ ├── ResponseExtension.kt │ │ │ │ ├── SpannableExtensions.kt │ │ │ │ └── StringExtensions.kt │ │ │ │ ├── formatters │ │ │ │ ├── data │ │ │ │ │ └── DataSizeFormatter.kt │ │ │ │ └── time │ │ │ │ │ ├── DatabaseDateFormatter.kt │ │ │ │ │ ├── TimeDiffFormatter.kt │ │ │ │ │ └── model │ │ │ │ │ └── TimePassed.kt │ │ │ │ ├── network │ │ │ │ └── NetworkExtensions.kt │ │ │ │ ├── notification │ │ │ │ └── NotificationUtils.kt │ │ │ │ ├── playstore │ │ │ │ └── PlayStoreUtils.kt │ │ │ │ ├── plugins │ │ │ │ ├── ActivePluginPoint.kt │ │ │ │ ├── PluginPoint.kt │ │ │ │ ├── headers │ │ │ │ │ └── CustomHeadersProvider.kt │ │ │ │ ├── migrations │ │ │ │ │ └── MigrationPlugin.kt │ │ │ │ ├── pixel │ │ │ │ │ ├── PixelInterceptorPlugin.kt │ │ │ │ │ └── PixelParamRemovalPlugin.kt │ │ │ │ ├── view_model │ │ │ │ │ ├── ActivityViewModelFactoryPluginPoint.kt │ │ │ │ │ ├── FragmentViewModelFactoryPluginPoint.kt │ │ │ │ │ ├── ViewModelFactoryPlugin.kt │ │ │ │ │ ├── ViewViewModelFactoryPluginPoint.kt │ │ │ │ │ └── VpnViewModelFactoryPluginPoint.kt │ │ │ │ └── worker │ │ │ │ │ └── WorkerInjectorPlugin.kt │ │ │ │ ├── store │ │ │ │ └── BinaryDataStore.kt │ │ │ │ └── text │ │ │ │ └── TextChangedWatcher.kt │ │ └── res │ │ │ ├── values-bg │ │ │ └── strings-common.xml │ │ │ ├── values-cs │ │ │ └── strings-common.xml │ │ │ ├── values-da │ │ │ └── strings-common.xml │ │ │ ├── values-de │ │ │ └── strings-common.xml │ │ │ ├── values-el │ │ │ └── strings-common.xml │ │ │ ├── values-es │ │ │ └── strings-common.xml │ │ │ ├── values-et │ │ │ └── strings-common.xml │ │ │ ├── values-fi │ │ │ └── strings-common.xml │ │ │ ├── values-fr │ │ │ └── strings-common.xml │ │ │ ├── values-hr │ │ │ └── strings-common.xml │ │ │ ├── values-hu │ │ │ └── strings-common.xml │ │ │ ├── values-it │ │ │ └── strings-common.xml │ │ │ ├── values-lt │ │ │ └── strings-common.xml │ │ │ ├── values-lv │ │ │ └── strings-common.xml │ │ │ ├── values-nb │ │ │ └── strings-common.xml │ │ │ ├── values-nl │ │ │ └── strings-common.xml │ │ │ ├── values-pl │ │ │ └── strings-common.xml │ │ │ ├── values-pt │ │ │ └── strings-common.xml │ │ │ ├── values-ro │ │ │ └── strings-common.xml │ │ │ ├── values-ru │ │ │ └── strings-common.xml │ │ │ ├── values-sk │ │ │ └── strings-common.xml │ │ │ ├── values-sl │ │ │ └── strings-common.xml │ │ │ ├── values-sv │ │ │ └── strings-common.xml │ │ │ ├── values-tr │ │ │ └── strings-common.xml │ │ │ └── values │ │ │ └── strings-common.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── common │ │ └── utils │ │ ├── extensions │ │ ├── LocaleExtensionsTest.kt │ │ └── StringExtensionsTest.kt │ │ ├── formatters │ │ ├── data │ │ │ └── DataSizeFormatterTest.kt │ │ └── time │ │ │ ├── DatabaseDateFormatterTest.kt │ │ │ └── model │ │ │ └── TimePassedTest.kt │ │ └── network │ │ └── NetworkExtensionsTest.kt └── readme.md ├── content-scope-scripts ├── content-scope-scripts-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── contentscopescripts │ │ └── api │ │ └── ContentScopeConfigPlugin.kt ├── content-scope-scripts-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── contentscopescripts │ │ │ └── impl │ │ │ ├── ContentScopeConfigPluginPoint.kt │ │ │ ├── ContentScopeJSReader.kt │ │ │ ├── ContentScopeScriptsFeature.kt │ │ │ ├── ContentScopeScriptsJsInjectorPlugin.kt │ │ │ ├── RealContentScopeScripts.kt │ │ │ └── messaging │ │ │ ├── ContentScopeScriptsJsMessaging.kt │ │ │ └── JSONObjectAdapter.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── contentscopescripts │ │ └── impl │ │ ├── ContentScopeScriptsJsInjectorPluginTest.kt │ │ ├── RealContentScopeScriptsTest.kt │ │ └── messaging │ │ └── ContentScopeScriptsJsMessagingTest.kt └── readme.md ├── cookies ├── cookies-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── cookies │ │ └── api │ │ ├── CookieManagerProvider.kt │ │ ├── CookieRemover.kt │ │ ├── CookiesFeatureName.kt │ │ ├── DuckDuckGoCookieManager.kt │ │ ├── RemoveCookiesStrategy.kt │ │ └── ThirdPartyCookieNames.kt ├── cookies-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── cookies │ │ │ └── impl │ │ │ ├── CookiesContentScopeConfigPlugin.kt │ │ │ ├── CookiesFeatureNameUtil.kt │ │ │ ├── CookiesPixelName.kt │ │ │ ├── DefaultCookieManagerProvider.kt │ │ │ ├── RemoveCookies.kt │ │ │ ├── SQLCookieRemover.kt │ │ │ ├── WebViewCookieManager.kt │ │ │ ├── di │ │ │ └── CookiesModule.kt │ │ │ ├── features │ │ │ ├── CookiesFeature.kt │ │ │ ├── CookiesFeaturePlugin.kt │ │ │ ├── CookiesFeatureTogglesPlugin.kt │ │ │ └── firstparty │ │ │ │ ├── FirstPartyCookiesModifier.kt │ │ │ │ └── FirstPartyCookiesModifierWorker.kt │ │ │ └── thirdpartycookienames │ │ │ └── RealThirdPartyCookieNames.kt │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── cookies │ │ │ └── impl │ │ │ ├── CookiesContentScopeConfigPluginTest.kt │ │ │ ├── CookiesFeatureNameUtilTest.kt │ │ │ ├── RemoveCookiesTest.kt │ │ │ ├── WebViewCookieManagerTest.kt │ │ │ ├── features │ │ │ ├── CookiesFeaturePluginTest.kt │ │ │ ├── CookiesFeatureTogglesPluginTest.kt │ │ │ └── firstparty │ │ │ │ ├── FirstPartyCookiesModifierWorkerSchedulerTest.kt │ │ │ │ └── FirstPartyCookiesModifierWorkerTest.kt │ │ │ └── thirdpartycookienames │ │ │ └── RealThirdPartyCookieNamesTest.kt │ │ └── resources │ │ └── json │ │ ├── cookies.json │ │ ├── cookies_disabled.json │ │ └── cookies_min_supported_version.json ├── cookies-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── cookies │ │ │ └── store │ │ │ ├── CookiesDao.kt │ │ │ ├── CookiesDatabase.kt │ │ │ ├── CookiesDatabaseModels.kt │ │ │ ├── CookiesFeatureToggleRepository.kt │ │ │ ├── CookiesFeatureToggleStore.kt │ │ │ ├── CookiesRepository.kt │ │ │ ├── contentscopescripts │ │ │ ├── ContentScopeScriptsCookieDao.kt │ │ │ └── ContentScopeScriptsCookieRepository.kt │ │ │ └── thirdpartycookienames │ │ │ └── ThirdPartyCookieNamesDao.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── cookies │ │ └── store │ │ ├── RealCookieRepositoryTest.kt │ │ └── RealCookiesFeatureToggleRepositoryTest.kt └── readme.md ├── copy-files-from-to.json ├── custom-tabs ├── custom-tabs-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── customtabs │ │ └── api │ │ └── CustomTabDetector.kt ├── custom-tabs-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── customtabs │ │ └── impl │ │ ├── RealCustomTabDetector.kt │ │ └── service │ │ └── DuckDuckGoCustomTabService.kt └── readme.md ├── data-store ├── data-store-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── data │ │ └── store │ │ └── api │ │ └── SharedPreferencesProvider.kt ├── data-store-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── data │ │ │ └── store │ │ │ └── impl │ │ │ ├── SafeSharedPreferences.kt │ │ │ └── SharedPreferencesProviderImpl.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── data │ │ └── store │ │ └── impl │ │ └── SharedPreferencesProviderImplTest.kt ├── data-store-test │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── data │ │ └── store │ │ └── api │ │ └── FakeSharedPreferencesProvider.kt └── readme.md ├── di ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ ├── com │ └── duckduckgo │ │ ├── app │ │ ├── di │ │ │ ├── AppCoroutineScope.kt │ │ │ ├── IsMainProcess.kt │ │ │ └── ProcessName.kt │ │ └── lifecycle │ │ │ ├── MainProcessLifecycleObserver.kt │ │ │ └── VpnProcessLifecycleObserver.kt │ │ └── di │ │ ├── DaggerTypes.kt │ │ └── scopes │ │ ├── ActivityScope.kt │ │ ├── AppScope.kt │ │ ├── BackupAgentScope.kt │ │ ├── FragmentScope.kt │ │ ├── ReceiverScope.kt │ │ ├── ServiceScope.kt │ │ ├── ViewScope.kt │ │ └── VpnScope.kt │ └── dagger │ ├── SingleInstanceIn.kt │ ├── WrongScope.kt │ ├── android │ ├── AndroidInjector.kt │ ├── DaggerActivity.kt │ ├── DaggerFragment.kt │ └── support │ │ └── AndroidSupportInjection.kt │ └── binding │ └── TileServiceBingingKey.kt ├── downloads ├── downloads-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── downloads │ │ └── api │ │ ├── DownloadCommand.kt │ │ ├── DownloadFailReason.kt │ │ ├── DownloadStateListener.kt │ │ ├── DownloadsRepository.kt │ │ ├── FileDownloadNotificationManager.kt │ │ ├── FileDownloader.kt │ │ └── model │ │ └── DownloadItem.kt ├── downloads-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── downloads │ │ │ │ └── impl │ │ │ │ ├── AndroidFileDownloader.kt │ │ │ │ ├── CookieManagerWrapper.kt │ │ │ │ ├── DataUriDownloader.kt │ │ │ │ ├── DataUriParser.kt │ │ │ │ ├── DefaultDownloadsRepository.kt │ │ │ │ ├── DefaultFileDownloadNotificationManager.kt │ │ │ │ ├── DownloadConfirmationFragment.kt │ │ │ │ ├── DownloadFileService.kt │ │ │ │ ├── DownloaderUtil.kt │ │ │ │ ├── FileDownloadCallback.kt │ │ │ │ ├── FileDownloadNotificationActionReceiver.kt │ │ │ │ ├── FileDownloadNotificationChannelType.kt │ │ │ │ ├── FileDownloadWorker.kt │ │ │ │ ├── FilenameExtractor.kt │ │ │ │ ├── MediaScanner.kt │ │ │ │ ├── NetworkFileDownloader.kt │ │ │ │ ├── RealDownloadConfirmation.kt │ │ │ │ ├── UrlFileDownloadCallManager.kt │ │ │ │ ├── UrlFileDownloader.kt │ │ │ │ ├── di │ │ │ │ └── DownloadsModule.kt │ │ │ │ ├── notifications │ │ │ │ └── DownloadNotificationChannels.kt │ │ │ │ └── pixels │ │ │ │ └── DownloadsPixelName.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── ic_file_download_white_24dp.xml │ │ │ └── rounded_top_corners_bottom_sheet_background.xml │ │ │ ├── layout │ │ │ └── download_confirmation.xml │ │ │ ├── values-bg │ │ │ └── strings-downloads.xml │ │ │ ├── values-cs │ │ │ └── strings-downloads.xml │ │ │ ├── values-da │ │ │ └── strings-downloads.xml │ │ │ ├── values-de │ │ │ └── strings-downloads.xml │ │ │ ├── values-el │ │ │ └── strings-downloads.xml │ │ │ ├── values-es │ │ │ └── strings-downloads.xml │ │ │ ├── values-et │ │ │ └── strings-downloads.xml │ │ │ ├── values-fi │ │ │ └── strings-downloads.xml │ │ │ ├── values-fr │ │ │ └── strings-downloads.xml │ │ │ ├── values-hr │ │ │ └── strings-downloads.xml │ │ │ ├── values-hu │ │ │ └── strings-downloads.xml │ │ │ ├── values-it │ │ │ └── strings-downloads.xml │ │ │ ├── values-lt │ │ │ └── strings-downloads.xml │ │ │ ├── values-lv │ │ │ └── strings-downloads.xml │ │ │ ├── values-nb │ │ │ └── strings-downloads.xml │ │ │ ├── values-nl │ │ │ └── strings-downloads.xml │ │ │ ├── values-pl │ │ │ └── strings-downloads.xml │ │ │ ├── values-pt │ │ │ └── strings-downloads.xml │ │ │ ├── values-ro │ │ │ └── strings-downloads.xml │ │ │ ├── values-ru │ │ │ └── strings-downloads.xml │ │ │ ├── values-sk │ │ │ └── strings-downloads.xml │ │ │ ├── values-sl │ │ │ └── strings-downloads.xml │ │ │ ├── values-sv │ │ │ └── strings-downloads.xml │ │ │ ├── values-tr │ │ │ └── strings-downloads.xml │ │ │ └── values │ │ │ ├── strings-downloads.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── downloads │ │ └── impl │ │ ├── DataUriParserTest.kt │ │ ├── DefaultDownloadsRepositoryTest.kt │ │ ├── DownloaderUtilTest.kt │ │ ├── FileDownloadCallbackTest.kt │ │ ├── PendingFileDownloadCompressTest.kt │ │ ├── RealUrlFileDownloadCallManagerTest.kt │ │ ├── UriUtilsFilenameExtractorTest.kt │ │ └── UrlFileDownloaderTest.kt ├── downloads-store │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── downloads │ │ │ └── store │ │ │ ├── DownloadEntity.kt │ │ │ ├── DownloadStatus.kt │ │ │ ├── DownloadsDao.kt │ │ │ └── DownloadsDatabase.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── downloads │ │ └── store │ │ └── DownloadsDaoTest.kt └── readme.md ├── duckplayer ├── duckplayer-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── duckplayer │ │ └── api │ │ ├── DuckPlayer.kt │ │ ├── DuckPlayerFeatureName.kt │ │ ├── DuckPlayerSettingsScreens.kt │ │ └── PrivatePlayerMode.kt ├── duckplayer-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── duckplayer │ │ │ │ └── impl │ │ │ │ ├── DuckPlayerContentScopeConfigPlugin.kt │ │ │ │ ├── DuckPlayerDataStore.kt │ │ │ │ ├── DuckPlayerDataStoreModule.kt │ │ │ │ ├── DuckPlayerEnabledRMFMatchingAttribute.kt │ │ │ │ ├── DuckPlayerFeature.kt │ │ │ │ ├── DuckPlayerFeaturePlugin.kt │ │ │ │ ├── DuckPlayerFeatureRepository.kt │ │ │ │ ├── DuckPlayerFeatureSettingsStore.kt │ │ │ │ ├── DuckPlayerLocalFilesPath.kt │ │ │ │ ├── DuckPlayerOnboardedRMFMatchingAttribute.kt │ │ │ │ ├── DuckPlayerPixelName.kt │ │ │ │ ├── DuckPlayerScriptsJsMessaging.kt │ │ │ │ ├── DuckPlayerSettings.kt │ │ │ │ ├── DuckPlayerSettingsActivity.kt │ │ │ │ ├── DuckPlayerSettingsViewModel.kt │ │ │ │ ├── JSONObjectAdapter.kt │ │ │ │ ├── RealDuckPlayer.kt │ │ │ │ ├── di │ │ │ │ └── DuckPlayerModule.kt │ │ │ │ └── ui │ │ │ │ ├── DuckPlayerPrimeBottomSheet.kt │ │ │ │ └── DuckPlayerPrimeDialogFragment.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── clean_tube_128.xml │ │ │ ├── duck_player_animation_background.xml │ │ │ ├── rounded_top_corners_bottom_sheet_background.xml │ │ │ └── youtube_warning_96.xml │ │ │ ├── layout │ │ │ ├── activity_duck_player_settings.xml │ │ │ └── modal_duck_player.xml │ │ │ ├── raw │ │ │ └── duckplayer.json │ │ │ ├── values-bg │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-cs │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-da │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-de │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-el │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-es │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-et │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-fi │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-fr │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-hr │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-hu │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-it │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-lt │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-lv │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-nb │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-nl │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-pl │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-pt │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-ro │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-ru │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-sk │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-sl │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-sv │ │ │ └── strings-duckplayer.xml │ │ │ ├── values-tr │ │ │ └── strings-duckplayer.xml │ │ │ └── values │ │ │ ├── strings-duckplayer.xml │ │ │ └── styles.xml │ │ └── test │ │ └── kotlin │ │ └── com │ │ └── duckduckgo │ │ └── duckplayer │ │ └── impl │ │ └── RealDuckPlayerTest.kt └── readme.md ├── element-hiding ├── element-hiding-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── elementhiding │ │ │ └── impl │ │ │ ├── ElementHidingContentScopeConfigPlugin.kt │ │ │ ├── ElementHidingFeatureName.kt │ │ │ ├── ElementHidingFeatureNameUtil.kt │ │ │ ├── ElementHidingFeaturePlugin.kt │ │ │ └── di │ │ │ └── ElementHidingModule.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── elementhiding │ │ └── impl │ │ ├── ElementHidingContentScopeConfigPluginTest.kt │ │ └── ElementHidingFeaturePluginTest.kt ├── element-hiding-store │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── elementhiding │ │ │ └── store │ │ │ ├── ElementHidingDao.kt │ │ │ ├── ElementHidingDatabase.kt │ │ │ ├── ElementHidingEntity.kt │ │ │ └── ElementHidingRepository.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── elementhiding │ │ └── store │ │ └── ElementHidingRepositoryTest.kt └── readme.md ├── example-feature ├── example-feature-api-android │ ├── .gitignore │ └── build.gradle ├── example-feature-api │ ├── .gitignore │ └── build.gradle ├── example-feature-impl │ ├── build.gradle │ └── lint-baseline.xml ├── example-feature-internal │ ├── build.gradle │ └── lint-baseline.xml └── readme.md ├── experiments ├── experiments-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── experiments │ │ └── api │ │ ├── VariantConfig.kt │ │ └── VariantManager.kt ├── experiments-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── experiments │ │ │ └── impl │ │ │ ├── ExperimentFiltersManager.kt │ │ │ ├── ExperimentVariantRepository.kt │ │ │ ├── ReturningUserToggleTargetMatcher.kt │ │ │ ├── Variant.kt │ │ │ ├── VariantManagerImpl.kt │ │ │ ├── WeightedRandomizer.kt │ │ │ ├── reinstalls │ │ │ ├── BackupServiceDataStore.kt │ │ │ └── ReinstallAtbListener.kt │ │ │ └── store │ │ │ ├── ExperimentVariantDao.kt │ │ │ └── VariantManagerEntity.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── experiments │ │ └── impl │ │ ├── ExperimentFiltersManagerImplTest.kt │ │ ├── ReturningUserToggleTargetMatcherTest.kt │ │ ├── VariantManagerImplTest.kt │ │ ├── VariantManagerTest.kt │ │ └── reinstalls │ │ └── ReinstallAtbListenerTest.kt └── readme.md ├── fastlane ├── Appfile ├── Fastfile ├── Pluginfile ├── README.md └── metadata │ └── android │ ├── ca │ └── changelogs │ │ └── default.txt │ ├── cs-CZ │ └── changelogs │ │ └── default.txt │ ├── de-DE │ └── changelogs │ │ └── default.txt │ ├── en-CA │ └── changelogs │ │ └── default.txt │ ├── en-GB │ └── changelogs │ │ └── default.txt │ ├── en-US │ ├── changelogs │ │ └── default.txt │ └── images │ │ ├── featureGraphic.png │ │ ├── icon.png │ │ └── phoneScreenshots │ │ ├── 1-Main.jpg │ │ ├── 2-Search.jpg │ │ ├── 3-Website.jpg │ │ ├── 4-Email.jpg │ │ ├── 5-ATP.jpg │ │ ├── 6-Smarter.jpg │ │ └── 7-Fire.jpg │ ├── es-ES │ └── changelogs │ │ └── default.txt │ ├── fi-FI │ └── changelogs │ │ └── default.txt │ ├── fr-FR │ └── changelogs │ │ └── default.txt │ ├── id │ └── changelogs │ │ └── default.txt │ ├── ja-JP │ └── changelogs │ │ └── default.txt │ ├── ko-KR │ └── changelogs │ │ └── default.txt │ ├── no-NO │ └── changelogs │ │ └── default.txt │ ├── pl-PL │ └── changelogs │ │ └── default.txt │ ├── pt-PT │ └── changelogs │ │ └── default.txt │ ├── ro │ └── changelogs │ │ └── default.txt │ ├── ru-RU │ └── changelogs │ │ └── default.txt │ ├── sv-SE │ └── changelogs │ │ └── default.txt │ ├── tr-TR │ └── changelogs │ │ └── default.txt │ ├── zh-CN │ └── changelogs │ │ └── default.txt │ └── zh-TW │ └── changelogs │ └── default.txt ├── feature-toggles ├── feature-toggles-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── feature │ │ └── toggles │ │ └── api │ │ ├── FeatureExceptions.kt │ │ ├── FeatureSettings.kt │ │ ├── FeatureToggle.kt │ │ ├── FeatureToggles.kt │ │ ├── FeatureTogglesInventory.kt │ │ ├── FeatureTogglesPlugin.kt │ │ ├── MetricsPixelPlugin.kt │ │ └── RemoteFeatureStoreNamed.kt ├── feature-toggles-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── feature │ │ │ └── toggles │ │ │ └── impl │ │ │ ├── MetricPixelInterceptor.kt │ │ │ ├── MetricPixelRemovalInterceptor.kt │ │ │ ├── MetricsPixelStore.kt │ │ │ ├── RealFeatureTogglesCallback.kt │ │ │ ├── RealFeatureTogglesImpl.kt │ │ │ ├── RealFeatureTogglesInventory.kt │ │ │ └── metrics │ │ │ ├── AppUseMetricPixelsPlugin.kt │ │ │ ├── RetentionMetricsAtbLifecyclePlugin.kt │ │ │ └── SearchMetricPixelsPlugin.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── feature │ │ └── toggles │ │ ├── api │ │ └── FeatureTogglesTest.kt │ │ ├── codegen │ │ ├── ContributesActivePluginPointCodeGeneratorTest.kt │ │ ├── ContributesRemoteFeatureCodeGeneratorBucketAssignmentTest.kt │ │ ├── ContributesRemoteFeatureCodeGeneratorTest.kt │ │ ├── TestActivePlugins.kt │ │ └── TestTriggerFeature.kt │ │ ├── fakes │ │ └── FakeFeatureTogglesCallback.kt │ │ └── impl │ │ ├── LocaleToggleTargetMatcherTest.kt │ │ ├── MetricPixelInterceptorTest.kt │ │ ├── RealFeatureToggleImplTest.kt │ │ ├── RealFeatureTogglesCallbackTest.kt │ │ └── metrics │ │ └── RetentionMetricsAtbLifecyclePluginTest.kt ├── feature-toggles-internal-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── feature │ │ └── toggles │ │ └── internal │ │ └── api │ │ └── FeatureTogglesCallback.kt ├── feature-toggles-internal │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── examplefeature │ │ │ └── internal │ │ │ └── ui │ │ │ └── FeatureToggleInventoryActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_feature_toggle_inventory.xml │ │ └── values │ │ └── donottranslate.xml ├── feature-toggles-test │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── feature │ │ └── toggles │ │ └── api │ │ └── FakeToggleStore.kt └── readme.md ├── fingerprint-protection ├── fingerprint-protection-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── fingerprintprotection │ │ └── api │ │ ├── FingerprintProtectionFeatureName.kt │ │ └── FingerprintProtectionManager.kt ├── fingerprint-protection-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── fingerprintprotection │ │ │ └── impl │ │ │ ├── FingerprintProtectionFeatureNameUtil.kt │ │ │ ├── FingerprintProtectionSeedManager.kt │ │ │ ├── FingerprintProtectionSeedWorker.kt │ │ │ ├── di │ │ │ └── FingerprintProtectionModule.kt │ │ │ └── features │ │ │ ├── fingerprintingbattery │ │ │ ├── FingerprintingBatteryContentScopeConfigPlugin.kt │ │ │ └── FingerprintingBatteryFeaturePlugin.kt │ │ │ ├── fingerprintingcanvas │ │ │ ├── FingerprintingCanvasContentScopeConfigPlugin.kt │ │ │ └── FingerprintingCanvasFeaturePlugin.kt │ │ │ ├── fingerprintinghardware │ │ │ ├── FingerprintingHardwareContentScopeConfigPlugin.kt │ │ │ └── FingerprintingHardwareFeaturePlugin.kt │ │ │ ├── fingerprintingscreensize │ │ │ ├── FingerprintingScreenSizeContentScopeConfigPlugin.kt │ │ │ └── FingerprintingScreenSizeFeaturePlugin.kt │ │ │ └── fingerprintingtemporarystorage │ │ │ ├── FingerprintingTemporaryStorageContentScopeConfigPlugin.kt │ │ │ └── FingerprintingTemporaryStorageFeaturePlugin.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── fingerprintprotection │ │ ├── FingerprintProtectionSeedWorkerSchedulerTest.kt │ │ ├── FingerprintProtectionSeedWorkerTest.kt │ │ └── impl │ │ └── features │ │ ├── fingerprintingbattery │ │ ├── FingerprintingBatteryContentScopeConfigPluginTest.kt │ │ └── FingerprintingBatteryFeaturePluginTest.kt │ │ ├── fingerprintingcanvas │ │ ├── FingerprintingCanvasContentScopeConfigPluginTest.kt │ │ └── FingerprintingCanvasFeaturePluginTest.kt │ │ ├── fingerprintinghardware │ │ ├── FingerprintingHardwareContentScopeConfigPluginTest.kt │ │ └── FingerprintingHardwareFeaturePluginTest.kt │ │ ├── fingerprintingscreensize │ │ ├── FingerprintingScreenSizeContentScopeConfigPluginTest.kt │ │ └── FingerprintingScreenSizeFeaturePluginTest.kt │ │ └── fingerprintingtemporarystorage │ │ ├── FingerprintingTemporaryStorageContentScopeConfigPluginTest.kt │ │ └── FingerprintingTemporaryStorageFeaturePluginTest.kt ├── fingerprint-protection-store │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── fingerprintprotection │ │ │ └── store │ │ │ ├── FingerprintProtectionDatabase.kt │ │ │ ├── FingerprintProtectionEntities.kt │ │ │ ├── features │ │ │ ├── fingerprintingbattery │ │ │ │ ├── FingerprintingBatteryDao.kt │ │ │ │ └── FingerprintingBatteryRepository.kt │ │ │ ├── fingerprintingcanvas │ │ │ │ ├── FingerprintingCanvasDao.kt │ │ │ │ └── FingerprintingCanvasRepository.kt │ │ │ ├── fingerprintinghardware │ │ │ │ ├── FingerprintingHardwareDao.kt │ │ │ │ └── FingerprintingHardwareRepository.kt │ │ │ ├── fingerprintingscreensize │ │ │ │ ├── FingerprintingScreenSizeDao.kt │ │ │ │ └── FingerprintingScreenSizeRepository.kt │ │ │ └── fingerprintingtemporarystorage │ │ │ │ ├── FingerprintingTemporaryStorageDao.kt │ │ │ │ └── FingerprintingTemporaryStorageRepository.kt │ │ │ └── seed │ │ │ └── FingerprintProtectionSeedRepository.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── fingerprintprotection │ │ └── store │ │ ├── features │ │ ├── fingerprintingbattery │ │ │ └── RealFingerprintingBatteryRepositoryTest.kt │ │ ├── fingerprintingcanvas │ │ │ └── RealFingerprintingCanvasRepositoryTest.kt │ │ ├── fingerprintinghardware │ │ │ └── RealFingerprintingHardwareRepositoryTest.kt │ │ ├── fingerprintingscreensize │ │ │ └── RealFingerprintingScreenSizeRepositoryTest.kt │ │ └── fingerprintingtemporarystorage │ │ │ └── RealFingerprintingTemporaryStorageRepositoryTest.kt │ │ └── seed │ │ └── RealFingerprintProtectionSeedRepositoryTest.kt └── readme.md ├── gradle.properties ├── gradle ├── android-library.gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── history ├── history-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── history │ │ └── api │ │ ├── HistoryEntry.kt │ │ └── NavigationHistory.kt ├── history-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── history │ │ │ └── impl │ │ │ ├── HistoryEntry.kt │ │ │ ├── HistoryModule.kt │ │ │ ├── HistoryRepository.kt │ │ │ ├── RealNavigationHistory.kt │ │ │ ├── remoteconfig │ │ │ ├── HistoryFeature.kt │ │ │ └── HistoryRemoteFeature.kt │ │ │ ├── scheduleddeletion │ │ │ └── HistoryDeletionWorker.kt │ │ │ └── store │ │ │ ├── HistoryDao.kt │ │ │ ├── HistoryDataStore.kt │ │ │ ├── HistoryDatabase.kt │ │ │ └── HistoryEntryEntity.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── history │ │ └── impl │ │ ├── HistoryTest.kt │ │ └── store │ │ └── HistoryDaoTest.kt └── readme.md ├── httpsupgrade ├── httpsupgrade-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── httpsupgrade │ │ └── api │ │ ├── HttpsEmbeddedDataPersister.kt │ │ ├── HttpsUpgradeDataDownloader.kt │ │ └── HttpsUpgrader.kt ├── httpsupgrade-impl │ ├── .gitignore │ ├── CMakeLists.txt │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── httpsupgrade │ │ │ └── impl │ │ │ ├── BloomFilterTest.kt │ │ │ └── HttpsUpgraderTest.kt │ │ ├── main │ │ ├── cpp │ │ │ ├── .editorconfig │ │ │ └── https-bloom-lib.cpp │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── httpsupgrade │ │ │ └── impl │ │ │ ├── BloomFilter.kt │ │ │ ├── HttpsBloomFilterFactory.kt │ │ │ ├── HttpsDataPersister.kt │ │ │ ├── HttpsEmbeddedDataPersister.kt │ │ │ ├── HttpsFalsePositivesJsonAdapter.kt │ │ │ ├── HttpsUpgradeDataDownloaderImpl.kt │ │ │ ├── HttpsUpgradePixelName.kt │ │ │ ├── HttpsUpgradeService.kt │ │ │ ├── HttpsUpgrader.kt │ │ │ └── di │ │ │ ├── HttpsModule.kt │ │ │ └── HttpsPersisterModule.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── httpsupgrade │ │ └── impl │ │ ├── HttpsBloomFilterSpecJsonTest.kt │ │ └── HttpsFalsePositivesJsonTest.kt ├── httpsupgrade-store │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── httpsupgrade │ │ │ └── store │ │ │ ├── HttpsBloomFilterSpec.kt │ │ │ ├── HttpsBloomFilterSpecDao.kt │ │ │ ├── HttpsFalsePositiveDomain.kt │ │ │ ├── HttpsFalsePositivesDao.kt │ │ │ └── HttpsUpgradeDatabase.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── httpsupgrade │ │ └── store │ │ ├── HttpsBloomFilterSpecDaoTest.kt │ │ └── HttpsFalsePositivesDaoTest.kt └── readme.md ├── install_tools.sh ├── installation ├── installation-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── installation │ │ │ └── impl │ │ │ └── installer │ │ │ ├── InstallSourcePrivacyConfigObserver.kt │ │ │ ├── RealInstallSourceExtractor.kt │ │ │ ├── aura │ │ │ ├── AuraExperimentFeature.kt │ │ │ ├── AuraExperimentListJsonParser.kt │ │ │ └── AuraExperimentManager.kt │ │ │ ├── di │ │ │ └── InstallerModule.kt │ │ │ └── fullpackage │ │ │ ├── InstallSourceFullPackageStore.kt │ │ │ └── feature │ │ │ ├── InstallSourceFullPackageFeature.kt │ │ │ └── InstallSourceFullPackageListJsonParser.kt │ │ └── test │ │ ├── java │ │ ├── InstallSourcePrivacyConfigObserverTest.kt │ │ └── com │ │ │ └── duckduckgo │ │ │ └── installation │ │ │ └── impl │ │ │ └── installer │ │ │ ├── aura │ │ │ ├── AuraExperimentListJsonParserImplTest.kt │ │ │ └── AuraExperimentManagerTest.kt │ │ │ └── fullpackage │ │ │ ├── IncludedPackagesTest.kt │ │ │ ├── InstallSourceFullPackageStoreImplTest.kt │ │ │ └── feature │ │ │ └── InstallSourceFullPackageListJsonParserImplTest.kt │ │ └── resources │ │ └── json │ │ ├── auraExperiment_emptyList.json │ │ ├── auraExperiment_multipleEntryList.json │ │ ├── auraExperiment_singleEntryList.json │ │ ├── installerFullSource_emptyList.json │ │ ├── installerFullSource_multipleEntryList.json │ │ └── installerFullSource_singleEntryList.json └── readme.md ├── internal-features ├── internal-features-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── internal │ │ └── features │ │ └── api │ │ └── InternalFeaturePlugin.kt └── readme.md ├── js-messaging ├── js-messaging-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── js │ │ └── messaging │ │ └── api │ │ └── JsMessaging.kt ├── js-messaging-impl │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── js │ │ │ └── messaging │ │ │ └── impl │ │ │ ├── JSONObjectAdapter.kt │ │ │ └── RealJsMessageHelper.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── js │ │ └── messaging │ │ └── impl │ │ └── RealJsMessageHelperTest.kt └── readme.md ├── library-loader ├── library-loader-api │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── library │ │ └── loader │ │ └── LibraryLoader.kt └── readme.md ├── lint-rules ├── .gitignore ├── build.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── lint │ │ │ ├── DenyListedApiDetector.kt │ │ │ ├── NoDispatcherComputation.kt │ │ │ ├── NoFragmentDetector.kt │ │ │ ├── NoHardcodedCoroutineDispatcherDetector.kt │ │ │ ├── NoLifecycleObserverDetector.kt │ │ │ ├── NoRetrofitCreateMethodCallDetector.kt │ │ │ ├── NoRobolectricTestRunnerDetector.kt │ │ │ ├── NoSingletonDetector.kt │ │ │ ├── NoSystemLoadLibraryDetector.kt │ │ │ ├── NonCancellableDetector.kt │ │ │ ├── WebMessageListenerUsageDetector.kt │ │ │ ├── WrongPluginPointCollectorDetector.kt │ │ │ ├── registry │ │ │ └── DuckDuckGoIssueRegistry.kt │ │ │ ├── strings │ │ │ ├── MissingInstructionDetector.kt │ │ │ ├── MissingSmartlingRequiredDirectivesDetector.kt │ │ │ └── PlaceholderDetector.kt │ │ │ └── ui │ │ │ ├── ColorAttributeInXmlDetector.kt │ │ │ ├── DaxButtonStylingDetector.kt │ │ │ ├── DaxTextViewStylingDetector.kt │ │ │ ├── DeprecatedAndroidWidgetsUsedInXmlDetector.kt │ │ │ ├── DesignSystemLintExtensions.kt │ │ │ ├── MissingDividerDetector.kt │ │ │ ├── NoAlertDialogDetector.kt │ │ │ ├── NoBottomSheetDialogDetector.kt │ │ │ ├── NoStyleAppliedToDesignSystemComponentDetector.kt │ │ │ ├── SkeletonViewBackgroundDetector.kt │ │ │ └── WrongStyleDetector.kt │ └── resources │ │ └── META-INF │ │ └── services │ │ └── com.android.tools.lint.client.api.IssueRegistry │ └── test │ └── java │ └── com │ └── duckduckgo │ └── lint │ ├── NoDispatcherComputationTest.kt │ ├── NoFragmentDetectorTest.kt │ ├── NoHardcodedCoroutineDispatchersTest.kt │ ├── NoLifecycleObserverTest.kt │ ├── NoRobolectricTestRunnerDetectorTest.kt │ ├── NoSingletonDetectorTest.kt │ ├── NoSystemLoadLibraryDetectorTest.kt │ ├── NonCancellableDetectorTest.kt │ ├── WrongPluginPointCollectorDetectorTest.kt │ ├── strings │ ├── MissingInstructionDetectorTest.kt │ ├── MissingSmartlingRequiredDirectivesDetectorTest.kt │ └── PlaceholderDetectorTest.kt │ ├── ui │ ├── DaxButtonStylingDetectorTest.kt │ ├── DaxTextViewStylingDetectorTest.kt │ ├── DeprecatedAndroidWidgetsUsedInXmlDetectorTest.kt │ ├── MissingDividerDetectorTest.kt │ ├── NoStyleAppliedToDesignSystemComponentDetectorTest.kt │ └── WrongStyleDetectorTest.kt │ └── utils │ └── PluginUtils.kt ├── lint.xml ├── macos ├── macos-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── macos │ │ └── api │ │ └── MacOsScreens.kt ├── macos-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── macos │ │ │ │ └── impl │ │ │ │ ├── MacOsActivity.kt │ │ │ │ ├── MacOsDownloadLinkOrigin.kt │ │ │ │ ├── MacOsLinkShareBroadcastReceiver.kt │ │ │ │ ├── MacOsPixelNames.kt │ │ │ │ └── MacOsViewModel.kt │ │ └── res │ │ │ ├── layout │ │ │ └── activity_macos.xml │ │ │ ├── values-bg │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-cs │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-da │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-de │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-el │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-es │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-et │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-fi │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-fr │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-hr │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-hu │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-it │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-lt │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-lv │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-nb │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-nl │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-pl │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-pt │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-ro │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-ru │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-sk │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-sl │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-sv │ │ │ └── strings-macos-waitlist.xml │ │ │ ├── values-tr │ │ │ └── strings-macos-waitlist.xml │ │ │ └── values │ │ │ └── strings-macos-waitlist.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── macos │ │ └── impl │ │ └── MacOsViewModelTest.kt └── readme.md ├── malicious-site-protection ├── malicious-site-protection-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── kotlin │ │ └── com │ │ └── duckduckgo │ │ └── malicioussiteprotection │ │ └── api │ │ └── MaliciousSiteProtection.kt ├── malicious-site-protection-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ └── main │ │ └── kotlin │ │ └── com │ │ └── duckduckgo │ │ └── malicioussiteprotection │ │ └── impl │ │ ├── MaliciousSiteProtectionFeature.kt │ │ └── RealMaliciousSiteProtection.kt └── readme.md ├── navigation ├── navigation-api │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── navigation │ │ └── api │ │ └── GlobalActivityStarter.kt ├── navigation-impl │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── navigation │ │ │ └── impl │ │ │ └── GlobalActivityStarterImpl.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── navigation │ │ └── impl │ │ └── GlobalActivityStarterImplTest.kt └── readme.md ├── network-protection ├── network-protection-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── networkprotection │ │ └── api │ │ ├── NetworkProtectionAccessState.kt │ │ ├── NetworkProtectionExclusionList.kt │ │ ├── NetworkProtectionScreens.kt │ │ └── NetworkProtectionState.kt ├── network-protection-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ ├── duckduckgo │ │ │ │ └── networkprotection │ │ │ │ │ └── impl │ │ │ │ │ ├── CurrentTimeProvider.kt │ │ │ │ │ ├── NetPVpnFeature.kt │ │ │ │ │ ├── NetworkProtectionStatistics.kt │ │ │ │ │ ├── VpnRemoteFeatures.kt │ │ │ │ │ ├── VpnRemoteSettingsStore.kt │ │ │ │ │ ├── WgProtocol.kt │ │ │ │ │ ├── WgVpnNetworkStack.kt │ │ │ │ │ ├── autoexclude │ │ │ │ │ ├── AppUtils.kt │ │ │ │ │ ├── AutoExcludeAppsRepository.kt │ │ │ │ │ ├── AutoExcludePrompt.kt │ │ │ │ │ ├── MockAutoExcludeList.kt │ │ │ │ │ ├── NewAppBroadcastReceiver.kt │ │ │ │ │ ├── VpnAutoExcludePromptFragment.kt │ │ │ │ │ └── VpnAutoExcludePromptViewModel.kt │ │ │ │ │ ├── cohort │ │ │ │ │ ├── NetPCohortUpdater.kt │ │ │ │ │ ├── NetpCohortPixelInterceptor.kt │ │ │ │ │ └── NetpCohortStore.kt │ │ │ │ │ ├── config │ │ │ │ │ ├── NetPDefaultConfigProvider.kt │ │ │ │ │ └── WgVpnRoutes.kt │ │ │ │ │ ├── configuration │ │ │ │ │ ├── DelegatingSSLSocketFactory.kt │ │ │ │ │ ├── InetAddressDnsOperations.kt │ │ │ │ │ ├── NetpControllerRequestInterceptor.kt │ │ │ │ │ ├── ServerDetails.kt │ │ │ │ │ ├── WgServerApi.kt │ │ │ │ │ ├── WgTunnel.kt │ │ │ │ │ └── WgVpnControllerService.kt │ │ │ │ │ ├── connectionclass │ │ │ │ │ ├── ConnectionClassManager.kt │ │ │ │ │ ├── ConnectionQuality.kt │ │ │ │ │ ├── ConnectionQualityStore.kt │ │ │ │ │ ├── ExponentialGeometricAverage.kt │ │ │ │ │ ├── LatencyMeasurer.kt │ │ │ │ │ └── VpnLatencySampler.kt │ │ │ │ │ ├── di │ │ │ │ │ ├── NetpBreakageCategories.kt │ │ │ │ │ ├── NetworkProtectionModule.kt │ │ │ │ │ ├── ProdNetPConfigTogglesDao.kt │ │ │ │ │ ├── ProtectedVpnControllerService.kt │ │ │ │ │ └── UnprotectedVpnControllerService.kt │ │ │ │ │ ├── exclusion │ │ │ │ │ ├── NetpExclusionListRepository.kt │ │ │ │ │ ├── RealNetworkProtectionExclusionList.kt │ │ │ │ │ ├── SystemAppUtils.kt │ │ │ │ │ ├── systemapps │ │ │ │ │ │ └── SystemAppsExclusionRepository.kt │ │ │ │ │ └── ui │ │ │ │ │ │ ├── AppExclusionListAdapter.kt │ │ │ │ │ │ ├── ManuallyDisableAppProtectionDialog.kt │ │ │ │ │ │ ├── NetpAppExclusionListActivity.kt │ │ │ │ │ │ ├── NetpAppExclusionListViewModel.kt │ │ │ │ │ │ ├── NetpExclusionListApp.kt │ │ │ │ │ │ └── RestoreDefaultProtectionDialog.kt │ │ │ │ │ ├── failure │ │ │ │ │ ├── FailureRecoveryHandler.kt │ │ │ │ │ └── ServerMigrationMonitor.kt │ │ │ │ │ ├── integration │ │ │ │ │ ├── NetPStateCollector.kt │ │ │ │ │ └── NetpVpnNetworkStackProviderImpl.kt │ │ │ │ │ ├── management │ │ │ │ │ ├── LocationView.kt │ │ │ │ │ ├── NetworkProtectionManagementActivity.kt │ │ │ │ │ ├── NetworkProtectionManagementViewModel.kt │ │ │ │ │ ├── TimerUtils.kt │ │ │ │ │ ├── VpnExcludeAppPromptDialogBuilder.kt │ │ │ │ │ ├── VpnToggle.kt │ │ │ │ │ └── alwayson │ │ │ │ │ │ └── NetworkProtectionAlwaysOnDialogFragment.kt │ │ │ │ │ ├── notification │ │ │ │ │ ├── NetPDisabledNotificationBuilder.kt │ │ │ │ │ ├── NetPDisabledNotificationScheduler.kt │ │ │ │ │ ├── NetPEnableReceiver.kt │ │ │ │ │ ├── NetPEnabledNotificationContentPlugin.kt │ │ │ │ │ └── NetPNotificationActions.kt │ │ │ │ │ ├── pixels │ │ │ │ │ ├── NetworkProtectionPixelNames.kt │ │ │ │ │ ├── NetworkProtectionPixels.kt │ │ │ │ │ ├── NetworkProtectionRetentionPixelSender.kt │ │ │ │ │ ├── NetworkProtectionStatusReporting.kt │ │ │ │ │ ├── PrivateDnsSettingReporter.kt │ │ │ │ │ └── WireguardHandshakeMonitor.kt │ │ │ │ │ ├── quickaccess │ │ │ │ │ ├── VpnTileService.kt │ │ │ │ │ └── VpnTileStateProvider.kt │ │ │ │ │ ├── reddit │ │ │ │ │ └── RedditBlockWorkaround.kt │ │ │ │ │ ├── rekey │ │ │ │ │ ├── NetPRekeyScheduler.kt │ │ │ │ │ └── NetPRekeyer.kt │ │ │ │ │ ├── revoked │ │ │ │ │ ├── AccessRevokedDialog.kt │ │ │ │ │ └── NetpVpnAccessRevokedDialogMonitor.kt │ │ │ │ │ ├── rmf │ │ │ │ │ └── VpnRMFMatchingAttribute.kt │ │ │ │ │ ├── settings │ │ │ │ │ ├── NetPSettingsLocalConfig.kt │ │ │ │ │ ├── NetPVpnSettingsActivity.kt │ │ │ │ │ ├── NetPVpnSettingsViewModel.kt │ │ │ │ │ ├── NetpVpnSettingsDataStore.kt │ │ │ │ │ ├── VPNSettingPriorities.kt │ │ │ │ │ ├── VpnSettingPlugin.kt │ │ │ │ │ ├── custom_dns │ │ │ │ │ │ ├── VpnCustomDnsActivity.kt │ │ │ │ │ │ ├── VpnCustomDnsHeaderView.kt │ │ │ │ │ │ ├── VpnCustomDnsSettingView.kt │ │ │ │ │ │ ├── VpnCustomDnsViewModel.kt │ │ │ │ │ │ └── VpnCustomDnsViewSettingViewModel.kt │ │ │ │ │ └── geoswitching │ │ │ │ │ │ ├── CountryUtils.kt │ │ │ │ │ │ ├── DisplayablePreferredLocationProvider.kt │ │ │ │ │ │ ├── NetpEgressServersProvider.kt │ │ │ │ │ │ ├── NetpGeoSwitchingViewModel.kt │ │ │ │ │ │ ├── NetpGeoswitchingActivity.kt │ │ │ │ │ │ └── NetpGeoswitchingCityChoiceDialogFragment.kt │ │ │ │ │ ├── snooze │ │ │ │ │ ├── VpnCallStateReceiver.kt │ │ │ │ │ └── VpnDisableOnCall.kt │ │ │ │ │ ├── state │ │ │ │ │ ├── NetPFeatureRemover.kt │ │ │ │ │ └── NetworkProtectionStateImpl.kt │ │ │ │ │ ├── store │ │ │ │ │ └── NetworkProtectionRepository.kt │ │ │ │ │ ├── subscription │ │ │ │ │ ├── NetPWaitlistEndedChecker.kt │ │ │ │ │ ├── NetpSubscriptionChecker.kt │ │ │ │ │ ├── NetpSubscriptionManager.kt │ │ │ │ │ ├── NetworkProtectionAccessStateImpl.kt │ │ │ │ │ └── settings │ │ │ │ │ │ ├── LegacyProSettingNetPView.kt │ │ │ │ │ │ ├── LegacyProSettingNetPViewModel.kt │ │ │ │ │ │ ├── NetworkProtectionSettingsState.kt │ │ │ │ │ │ ├── NetworkProtectionSettingsStateImpl.kt │ │ │ │ │ │ ├── ProSettingNetPView.kt │ │ │ │ │ │ ├── ProSettingNetPViewModel.kt │ │ │ │ │ │ └── SubsSettingsPlugin.kt │ │ │ │ │ ├── survey │ │ │ │ │ └── VpnSurveyParameters.kt │ │ │ │ │ ├── timezone │ │ │ │ │ └── NetPTimezoneMonitor.kt │ │ │ │ │ ├── volume │ │ │ │ │ ├── NetpDataVolumeMonitor.kt │ │ │ │ │ └── NetpDataVolumeStore.kt │ │ │ │ │ └── waitlist │ │ │ │ │ └── store │ │ │ │ │ └── NetPWaitlistRepository.kt │ │ │ │ └── wireguard │ │ │ │ ├── android │ │ │ │ └── backend │ │ │ │ │ └── GoBackend.kt │ │ │ │ ├── config │ │ │ │ ├── Attribute.kt │ │ │ │ ├── BadConfigException.kt │ │ │ │ ├── Config.kt │ │ │ │ ├── InetAddresses.kt │ │ │ │ ├── InetEndpoint.kt │ │ │ │ ├── InetNetwork.kt │ │ │ │ ├── Interface.kt │ │ │ │ ├── ParseException.kt │ │ │ │ └── Peer.kt │ │ │ │ └── crypto │ │ │ │ ├── BitwiseExtensions.kt │ │ │ │ ├── Curve25519.kt │ │ │ │ ├── Key.kt │ │ │ │ ├── KeyFormatException.kt │ │ │ │ └── KeyPair.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── ic_alert.xml │ │ │ ├── ic_baseline_feedback_24.xml │ │ │ ├── ic_card_24.xml │ │ │ ├── ic_down.xml │ │ │ ├── ic_exclusion.xml │ │ │ ├── ic_gift_24.xml │ │ │ ├── ic_gift_large.xml │ │ │ ├── ic_info_gray.xml │ │ │ ├── ic_ip_24.xml │ │ │ ├── ic_location.xml │ │ │ ├── ic_lock.xml │ │ │ ├── ic_platform_android_24.xml │ │ │ ├── ic_quick_tile.xml │ │ │ ├── ic_rocket_24.xml │ │ │ ├── ic_server_location_24.xml │ │ │ ├── ic_settings.xml │ │ │ ├── ic_shield_24.xml │ │ │ ├── ic_vpn_color_24.xml │ │ │ ├── ic_vpn_grayscale_color_24.xml │ │ │ ├── ic_vpn_notification_24.xml │ │ │ ├── illustration_vpn_connected.xml │ │ │ ├── illustration_vpn_disconnected.xml │ │ │ ├── ilustration_network_protetion_vpn.xml │ │ │ ├── ilustration_success.xml │ │ │ ├── indicator_vpn_connected.xml │ │ │ ├── indicator_vpn_disconnected.xml │ │ │ ├── rounded_top_corners_bottom_sheet_background.xml │ │ │ └── we_hatched.xml │ │ │ ├── layout │ │ │ ├── activity_netp_app_exclusion.xml │ │ │ ├── activity_netp_custom_dns.xml │ │ │ ├── activity_netp_geoswitching.xml │ │ │ ├── activity_netp_management.xml │ │ │ ├── activity_netp_verify_subs.xml │ │ │ ├── activity_netp_vpn_settings.xml │ │ │ ├── dialog_auto_exclude.xml │ │ │ ├── dialog_geoswitching_city.xml │ │ │ ├── dialog_netp_always_on.xml │ │ │ ├── dialog_netp_manually_disable_app.xml │ │ │ ├── dialog_netp_restore_defaults.xml │ │ │ ├── dialog_vpn_disable.xml │ │ │ ├── item_about_qa.xml │ │ │ ├── item_autoexclude_prompt_app.xml │ │ │ ├── item_exclusion_list_app.xml │ │ │ ├── item_exclusion_list_app_warning.xml │ │ │ ├── item_exclusion_list_filter.xml │ │ │ ├── item_exclusion_list_header.xml │ │ │ ├── item_exclusion_list_systemapp_category.xml │ │ │ ├── item_exclusion_list_systemapp_header.xml │ │ │ ├── item_geoswitching_country.xml │ │ │ ├── legacy_view_settings_netp.xml │ │ │ ├── popup_exclusion_list_filter.xml │ │ │ ├── section_about.xml │ │ │ ├── section_auto_exclude.xml │ │ │ ├── section_connection_details.xml │ │ │ ├── section_location.xml │ │ │ ├── section_settings.xml │ │ │ ├── view_app_exclusion_list_app_item_skeleton.xml │ │ │ ├── view_location.xml │ │ │ ├── view_settings_netp.xml │ │ │ ├── view_vpn_toggle.xml │ │ │ └── vpn_view_settings_custom_dns.xml │ │ │ ├── menu │ │ │ └── menu_netp_exclusion_list_activity.xml │ │ │ ├── raw │ │ │ ├── always_on.json │ │ │ ├── always_on_dark.json │ │ │ ├── always_on_lockdown.json │ │ │ ├── always_on_lockdown_dark.json │ │ │ ├── vpn_header.json │ │ │ └── vpn_header_dark.json │ │ │ ├── values-bg │ │ │ └── strings-netp.xml │ │ │ ├── values-cs │ │ │ └── strings-netp.xml │ │ │ ├── values-da │ │ │ └── strings-netp.xml │ │ │ ├── values-de │ │ │ └── strings-netp.xml │ │ │ ├── values-el │ │ │ └── strings-netp.xml │ │ │ ├── values-es │ │ │ └── strings-netp.xml │ │ │ ├── values-et │ │ │ └── strings-netp.xml │ │ │ ├── values-fi │ │ │ └── strings-netp.xml │ │ │ ├── values-fr │ │ │ └── strings-netp.xml │ │ │ ├── values-hr │ │ │ └── strings-netp.xml │ │ │ ├── values-hu │ │ │ └── strings-netp.xml │ │ │ ├── values-it │ │ │ └── strings-netp.xml │ │ │ ├── values-lt │ │ │ └── strings-netp.xml │ │ │ ├── values-lv │ │ │ └── strings-netp.xml │ │ │ ├── values-nb │ │ │ └── strings-netp.xml │ │ │ ├── values-nl │ │ │ └── strings-netp.xml │ │ │ ├── values-pl │ │ │ └── strings-netp.xml │ │ │ ├── values-pt │ │ │ └── strings-netp.xml │ │ │ ├── values-ro │ │ │ └── strings-netp.xml │ │ │ ├── values-ru │ │ │ └── strings-netp.xml │ │ │ ├── values-sk │ │ │ └── strings-netp.xml │ │ │ ├── values-sl │ │ │ └── strings-netp.xml │ │ │ ├── values-sv │ │ │ └── strings-netp.xml │ │ │ ├── values-tr │ │ │ └── strings-netp.xml │ │ │ └── values │ │ │ ├── attrs-qa-item.xml │ │ │ ├── attrs-waitlist-check-list-item.xml │ │ │ └── strings-netp.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── networkprotection │ │ └── impl │ │ ├── WgVpnNetworkStackTest.kt │ │ ├── autoexclude │ │ ├── FakeAutoExcludeAppsRepository.kt │ │ ├── FakeAutoExcludePrompt.kt │ │ ├── RealAutoExcludePromptTest.kt │ │ └── VpnAutoExcludePromptViewModelTest.kt │ │ ├── cohort │ │ ├── NetPCohortUpdaterTest.kt │ │ └── NetpCohortPixelInterceptorTest.kt │ │ ├── configuration │ │ ├── FakeWgVpnControllerService.kt │ │ ├── NetpControllerRequestInterceptorTest.kt │ │ ├── RealWgServerApiTest.kt │ │ └── WgTunnelTest.kt │ │ ├── connectionclass │ │ ├── ConnectionClassManagerTest.kt │ │ └── ConnectionQualityStoreTest.kt │ │ ├── exclusion │ │ ├── FakeNetpExclusionListRepository.kt │ │ ├── RealNetPExclusionListRepositoryTest.kt │ │ ├── RealNetworkProtectionExclusionListTest.kt │ │ └── ui │ │ │ └── NetpAppExclusionListViewModelTest.kt │ │ ├── failure │ │ └── FailureRecoveryHandlerTest.kt │ │ ├── fakes │ │ └── FakeNetpDataStore.kt │ │ ├── management │ │ └── NetworkProtectionManagementViewModelTest.kt │ │ ├── notification │ │ ├── NetPDisabledNotificationSchedulerTest.kt │ │ └── NetPEnabledNotificationContentPluginTest.kt │ │ ├── pixels │ │ ├── NetworkProtectionPixelNamesTest.kt │ │ ├── NetworkProtectionRetentionPixelSenderTest.kt │ │ └── RealNetworkProtectionPixelTest.kt │ │ ├── reddit │ │ └── RedditBlockWorkaroundTest.kt │ │ ├── rekey │ │ └── RealNetPRekeyerTest.kt │ │ ├── revoked │ │ └── NetpVpnAccessRevokedDialogMonitorTest.kt │ │ ├── settings │ │ ├── FakeNetPSettingsLocalConfigFactory.kt │ │ ├── NetPVpnSettingsViewModelTest.kt │ │ └── geoswitching │ │ │ ├── CountryUtilsKtTest.kt │ │ │ ├── FakeNetpEgressServersProvider.kt │ │ │ ├── NetpGeoSwitchingViewModelTest.kt │ │ │ ├── RealDisplayablePreferredLocationProviderTest.kt │ │ │ └── RealNetpEgressServersProviderTest.kt │ │ ├── store │ │ └── RealNetworkProtectionRepositoryTest.kt │ │ ├── subscription │ │ ├── NetworkProtectionAccessStateImplTest.kt │ │ └── settings │ │ │ ├── LegacyProSettingNetPViewModelTest.kt │ │ │ ├── NetworkProtectionSettingsStateImplTest.kt │ │ │ └── ProSettingNetPViewModelTest.kt │ │ └── survey │ │ └── VpnFirstUsedSurveyParameterPluginTest.kt ├── network-protection-internal │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── networkprotection │ │ │ │ └── internal │ │ │ │ ├── di │ │ │ │ ├── InternalNetPConfigTogglesDao.kt │ │ │ │ └── NetPInternalModule.kt │ │ │ │ ├── feature │ │ │ │ ├── ExportPcapContract.kt │ │ │ │ ├── FeaturePriorities.kt │ │ │ │ ├── InternalFeatureReceiver.kt │ │ │ │ ├── NetPInternalFeatureToggleStore.kt │ │ │ │ ├── NetPInternalFeatureToggles.kt │ │ │ │ ├── NetPInternalSettingsActivity.kt │ │ │ │ ├── NetPInternalSettingsFeature.kt │ │ │ │ ├── system_apps │ │ │ │ │ ├── NetPSystemAppsExclusionListActivity.kt │ │ │ │ │ └── SystemAppView.kt │ │ │ │ └── unsafe_wifi │ │ │ │ │ ├── NetworkObserver.kt │ │ │ │ │ ├── UnsafeWifiDetectionSettingView.kt │ │ │ │ │ ├── UnsafeWifiDetectionViewModel.kt │ │ │ │ │ └── UnsafeWifiMonitor.kt │ │ │ │ ├── network │ │ │ │ ├── NetPInternalDefaultConfigProvider.kt │ │ │ │ ├── NetPInternalEnvDataStore.kt │ │ │ │ ├── NetPInternalEnvInterceptor.kt │ │ │ │ ├── NetPInternalExclusionListProvider.kt │ │ │ │ ├── NetPInternalMtuProvider.kt │ │ │ │ └── WgServerInternalProvider.kt │ │ │ │ ├── rekey │ │ │ │ └── DebugRekeyReceiver.kt │ │ │ │ └── settings │ │ │ │ └── VpnInternalSettingHeading.kt │ │ └── res │ │ │ ├── layout │ │ │ ├── activity_netp_env_internal_settings.xml │ │ │ ├── activity_netp_internal_settings.xml │ │ │ ├── activity_netp_internal_system_apps_exclusion.xml │ │ │ ├── system_app_view.xml │ │ │ ├── vpn_view_settings_block_malware.xml │ │ │ └── vpn_view_settings_unsafe_wifi.xml │ │ │ └── values │ │ │ └── donottranslate.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── networkprotection │ │ └── internal │ │ └── feature │ │ └── TestNetPInternalFeatureToggles.kt ├── network-protection-store │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── networkprotection │ │ │ └── store │ │ │ ├── NetPGeoswitchingRepository.kt │ │ │ ├── NetPManualExclusionListRepository.kt │ │ │ ├── NetpDataStore.kt │ │ │ ├── NetworkProtectionPrefs.kt │ │ │ ├── db │ │ │ ├── AutoExcludeDao.kt │ │ │ ├── AutoExcludeEntities.kt │ │ │ ├── NetPDatabase.kt │ │ │ ├── NetPExclusionListDao.kt │ │ │ ├── NetPExclusionListEntities.kt │ │ │ ├── NetPGeoswitchingDao.kt │ │ │ └── NetPGeoswitchingEntities.kt │ │ │ └── remote_config │ │ │ ├── NetPConfigToggle.kt │ │ │ ├── NetPConfigTogglesDao.kt │ │ │ ├── NetPEgressServer.kt │ │ │ ├── NetPInternalConfigDatabase.kt │ │ │ ├── NetPServerRepository.kt │ │ │ └── NetPServersDao.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── networkprotection │ │ └── store │ │ └── RealNetPManualExclusionListRepositoryTest.kt └── readme.md ├── new-tab-page ├── new-tab-page-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── newtabpage │ │ │ └── api │ │ │ ├── NewTabPagePlugin.kt │ │ │ ├── NewTabPageSectionPlugin.kt │ │ │ ├── NewTabPageSectionProvider.kt │ │ │ ├── NewTabPageSectionSettingsPlugin.kt │ │ │ └── NewTabPageShortcutPlugin.kt │ │ └── res │ │ └── values │ │ └── donottranslate.xml ├── new-tab-page-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── newtabpage │ │ │ │ └── impl │ │ │ │ ├── NewTabPage.kt │ │ │ │ ├── RealNewTabPageSectionProvider.kt │ │ │ │ ├── pixels │ │ │ │ ├── NewTabPixelNames.kt │ │ │ │ └── NewTabPixels.kt │ │ │ │ ├── settings │ │ │ │ ├── DragLinearLayout.kt │ │ │ │ ├── ManageShortcutsAdapter.kt │ │ │ │ ├── NewTabSettingsActivity.kt │ │ │ │ ├── NewTabSettingsStore.kt │ │ │ │ ├── NewTabSettingsViewModel.kt │ │ │ │ └── RealNewTabPageSectionSettingsProvider.kt │ │ │ │ ├── shortcuts │ │ │ │ ├── NewTabShortcutDataStore.kt │ │ │ │ ├── NewTabShortcuts.kt │ │ │ │ ├── NewTabShortcutsProvider.kt │ │ │ │ ├── QuickAccessDragTouchItemListener.kt │ │ │ │ ├── ShortcutSectionItemView.kt │ │ │ │ ├── ShortcutsAdapter.kt │ │ │ │ ├── ShortcutsNewTabSectionView.kt │ │ │ │ ├── ShortcutsNewTabSettingView.kt │ │ │ │ ├── ShortcutsNewTabSettingsViewModel.kt │ │ │ │ └── ShortcutsViewModel.kt │ │ │ │ └── view │ │ │ │ ├── NewTabPageView.kt │ │ │ │ └── NewTabPageViewModel.kt │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ └── ab_solid_shadow_holo.9.png │ │ │ ├── drawable │ │ │ ├── ab_solid_shadow_holo_flipped.xml │ │ │ ├── background_shortcut_selected.xml │ │ │ ├── background_shortcut_unselected.xml │ │ │ ├── ic_options_16.xml │ │ │ ├── ic_placeholder_color_16.xml │ │ │ ├── ic_shortcut_16.xml │ │ │ ├── ic_shortcut_selected.xml │ │ │ ├── ic_shortcut_unselected.xml │ │ │ └── ic_shortcuts_ai_chat.xml │ │ │ ├── layout │ │ │ ├── activity_new_tab_settings.xml │ │ │ ├── row_shortcut_section_item.xml │ │ │ ├── view_new_tab_page.xml │ │ │ ├── view_new_tab_page_old.xml │ │ │ ├── view_new_tab_page_shimmer.xml │ │ │ ├── view_new_tab_page_shimmer_grid_item.xml │ │ │ ├── view_new_tab_setting_manage_shortcut_item.xml │ │ │ ├── view_new_tab_shortcuts_section.xml │ │ │ ├── view_new_tab_shortcuts_setting_item.xml │ │ │ └── view_shortcut_section_item.xml │ │ │ └── values │ │ │ ├── attrs-draglinearlayout.xml │ │ │ ├── atts-new-tab.xml │ │ │ ├── dimens.xml │ │ │ ├── donottranslate.xml │ │ │ └── styles-new-tab.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── newtabpage │ │ └── impl │ │ ├── NewTabPageSectionProviderTest.kt │ │ ├── TestPluginPoints.kt │ │ ├── pixels │ │ └── RealNewTabPixelsTest.kt │ │ ├── settings │ │ ├── NewTabPageViewModelTest.kt │ │ ├── NewTabSetingsViewModelTest.kt │ │ └── RealNewTabPageSectionSettingsProviderTest.kt │ │ └── shortcuts │ │ ├── NewTabShortcutsProviderTest.kt │ │ ├── ShortcutsNewTabSettingsViewModelTest.kt │ │ └── ShortcutsViewModelTest.kt └── readme.md ├── package.json ├── privacy-config ├── privacy-config-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── privacy │ │ └── config │ │ └── api │ │ ├── AmpLinks.kt │ │ ├── ContentBlocking.kt │ │ ├── Drm.kt │ │ ├── Gpc.kt │ │ ├── Https.kt │ │ ├── PrivacyConfig.kt │ │ ├── PrivacyConfigCallbackPlugin.kt │ │ ├── PrivacyFeatureName.kt │ │ ├── PrivacyFeaturePlugin.kt │ │ ├── TrackerAllowlist.kt │ │ ├── TrackingParameters.kt │ │ └── UnprotectedTemporary.kt ├── privacy-config-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── privacy │ │ │ │ └── config │ │ │ │ └── impl │ │ │ │ ├── PrivacyConfigPersister.kt │ │ │ │ ├── RealPrivacyConfig.kt │ │ │ │ ├── RealPrivacyConfigDownloader.kt │ │ │ │ ├── VariantManagerPlugin.kt │ │ │ │ ├── di │ │ │ │ ├── ConfigPersisterPreferences.kt │ │ │ │ └── PrivacyConfigModule.kt │ │ │ │ ├── features │ │ │ │ ├── PrivacyFeatureNameUtil.kt │ │ │ │ ├── amplinks │ │ │ │ │ ├── AmpLinksFeature.kt │ │ │ │ │ ├── AmpLinksPlugin.kt │ │ │ │ │ └── RealAmpLinks.kt │ │ │ │ ├── contentblocking │ │ │ │ │ ├── ContentBlockingFeature.kt │ │ │ │ │ ├── ContentBlockingPlugin.kt │ │ │ │ │ └── RealContentBlocking.kt │ │ │ │ ├── drm │ │ │ │ │ ├── DrmFeature.kt │ │ │ │ │ ├── DrmPlugin.kt │ │ │ │ │ └── RealDrm.kt │ │ │ │ ├── gpc │ │ │ │ │ ├── GpcContentScopeConfigPlugin.kt │ │ │ │ │ ├── GpcFeature.kt │ │ │ │ │ ├── GpcHeaderPlugin.kt │ │ │ │ │ ├── GpcPlugin.kt │ │ │ │ │ └── RealGpc.kt │ │ │ │ ├── https │ │ │ │ │ ├── HttpsFeature.kt │ │ │ │ │ ├── HttpsPlugin.kt │ │ │ │ │ └── RealHttps.kt │ │ │ │ ├── trackerallowlist │ │ │ │ │ ├── RealTrackerAllowlist.kt │ │ │ │ │ ├── TrackerAllowlistFeature.kt │ │ │ │ │ └── TrackerAllowlistPlugin.kt │ │ │ │ ├── trackingparameters │ │ │ │ │ ├── RealTrackingParameters.kt │ │ │ │ │ ├── TrackingParametersFeature.kt │ │ │ │ │ └── TrackingParametersPlugin.kt │ │ │ │ └── unprotectedtemporary │ │ │ │ │ └── RealUnprotectedTemporary.kt │ │ │ │ ├── models │ │ │ │ └── JsonPrivacyConfig.kt │ │ │ │ ├── network │ │ │ │ ├── JSONObjectAdapter.kt │ │ │ │ └── PrivacyConfigService.kt │ │ │ │ ├── observers │ │ │ │ └── LocalPrivacyConfigObserver.kt │ │ │ │ ├── plugins │ │ │ │ ├── PrivacyConfigCallbackPluginPoint.kt │ │ │ │ ├── PrivacyFeaturePluginPoint.kt │ │ │ │ └── PrivacyFeatureTogglesPlugin.kt │ │ │ │ └── workers │ │ │ │ └── RemoteConfigDownloadWorker.kt │ │ └── res │ │ │ └── raw │ │ │ └── privacy_config.json │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── privacy │ │ │ └── config │ │ │ └── impl │ │ │ ├── RealPrivacyConfigDownloaderTest.kt │ │ │ ├── RealPrivacyConfigPersisterTest.kt │ │ │ ├── ReferenceTestUtilities.kt │ │ │ ├── features │ │ │ ├── amplinks │ │ │ │ ├── AmpLinksPluginTest.kt │ │ │ │ └── RealAmpLinksTest.kt │ │ │ ├── contentblocking │ │ │ │ ├── ContentBlockingPluginTest.kt │ │ │ │ └── RealContentBlockingTest.kt │ │ │ ├── drm │ │ │ │ ├── DrmPluginTest.kt │ │ │ │ └── RealDrmTest.kt │ │ │ ├── gpc │ │ │ │ ├── GpcContentScopeConfigPluginTest.kt │ │ │ │ ├── GpcHeaderPluginTest.kt │ │ │ │ ├── GpcPluginTest.kt │ │ │ │ └── RealGpcTest.kt │ │ │ ├── https │ │ │ │ ├── HttpsPluginTest.kt │ │ │ │ └── RealHttpsTest.kt │ │ │ ├── trackerallowlist │ │ │ │ ├── RealTrackerAllowlistTest.kt │ │ │ │ └── TrackerAllowlistPluginTest.kt │ │ │ ├── trackingparameters │ │ │ │ ├── RealTrackingParametersTest.kt │ │ │ │ └── TrackingParametersPluginTest.kt │ │ │ └── unprotectedtemporary │ │ │ │ └── RealUnprotectedTemporaryTest.kt │ │ │ ├── observers │ │ │ └── LocalPrivacyConfigObserverTest.kt │ │ │ ├── plugins │ │ │ └── PrivacyFeatureTogglesPluginTest.kt │ │ │ ├── referencetests │ │ │ ├── amplinks │ │ │ │ ├── AmpFormatReferenceTest.kt │ │ │ │ └── AmpKeywordReferenceTest.kt │ │ │ ├── gpc │ │ │ │ └── GpcHeaderReferenceTest.kt │ │ │ ├── privacyconfig │ │ │ │ ├── PrivacyConfigDisabledReferenceTest.kt │ │ │ │ ├── PrivacyConfigEnabledReferenceTest.kt │ │ │ │ ├── PrivacyConfigGlobalExceptionsReferenceTest.kt │ │ │ │ ├── PrivacyConfigLocalExceptionsReferenceTest.kt │ │ │ │ └── PrivacyConfigMissingReferenceTest.kt │ │ │ ├── trackerallowlist │ │ │ │ └── TrackerAllowlistReferenceTest.kt │ │ │ └── trackingparameters │ │ │ │ └── TrackingParameterReferenceTest.kt │ │ │ └── workers │ │ │ └── PrivacyConfigDownloadWorkerTest.kt │ │ └── resources │ │ ├── json │ │ ├── amp_links.json │ │ ├── amp_links_disabled.json │ │ ├── amp_links_min_supported_version.json │ │ ├── content_blocking.json │ │ ├── content_blocking_disabled.json │ │ ├── content_blocking_min_supported_version.json │ │ ├── drm.json │ │ ├── drm_disabled.json │ │ ├── drm_min_supported_version.json │ │ ├── gpc.json │ │ ├── gpc_disabled.json │ │ ├── gpc_min_supported_version.json │ │ ├── https.json │ │ ├── https_disabled.json │ │ ├── https_min_supported_version.json │ │ ├── privacy_config.json │ │ ├── tracker_allowlist.json │ │ ├── tracker_allowlist_disabled.json │ │ ├── tracker_allowlist_min_supported_version.json │ │ ├── tracking_parameters.json │ │ ├── tracking_parameters_disabled.json │ │ └── tracking_parameters_min_supported_version.json │ │ └── reference_tests │ │ ├── amplinks │ │ ├── config_reference.json │ │ └── tests.json │ │ ├── gpc │ │ ├── config_reference.json │ │ └── tests.json │ │ ├── privacyconfig │ │ ├── config1_reference.json │ │ ├── config2_reference.json │ │ ├── config3_reference.json │ │ └── tests.json │ │ ├── trackerallowlist │ │ ├── tracker_allowlist_matching_tests.json │ │ └── tracker_allowlist_reference.json │ │ └── trackingparameters │ │ ├── config_reference.json │ │ └── tests.json ├── privacy-config-internal │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── privacy │ │ │ └── config │ │ │ └── internal │ │ │ ├── PrivacyConfigInternalSettingsActivity.kt │ │ │ ├── PrivacyConfigInternalViewModel.kt │ │ │ ├── plugins │ │ │ └── ApiDevPrivacyConfigInterceptor.kt │ │ │ └── store │ │ │ └── DevPrivacyConfigSettingsDataStore.kt │ │ └── res │ │ ├── layout │ │ └── activity_privacy_config_internal_settings.xml │ │ └── values │ │ └── donottranslate.xml ├── privacy-config-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── privacy │ │ │ └── config │ │ │ └── store │ │ │ ├── PrivacyConfigDao.kt │ │ │ ├── PrivacyConfigDatabase.kt │ │ │ ├── PrivacyConfigDatabaseModels.kt │ │ │ ├── PrivacyConfigRepository.kt │ │ │ ├── PrivacyFeatureTogglesDataStore.kt │ │ │ ├── PrivacyFeatureTogglesRepository.kt │ │ │ └── features │ │ │ ├── amplinks │ │ │ ├── AmpLinksDao.kt │ │ │ └── AmpLinksRepository.kt │ │ │ ├── contentblocking │ │ │ ├── ContentBlockingDao.kt │ │ │ └── ContentBlockingRepository.kt │ │ │ ├── drm │ │ │ ├── DrmDao.kt │ │ │ └── DrmRepository.kt │ │ │ ├── gpc │ │ │ ├── GpcContentScopeConfigDao.kt │ │ │ ├── GpcDataStore.kt │ │ │ ├── GpcExceptionsDao.kt │ │ │ ├── GpcHeadersDao.kt │ │ │ └── GpcRepository.kt │ │ │ ├── https │ │ │ ├── HttpsDao.kt │ │ │ └── HttpsRepository.kt │ │ │ ├── trackerallowlist │ │ │ ├── TrackerAllowlistDao.kt │ │ │ └── TrackerAllowlistRepository.kt │ │ │ ├── trackingparameters │ │ │ ├── TrackingParametersDao.kt │ │ │ └── TrackingParametersRepository.kt │ │ │ └── unprotectedtemporary │ │ │ ├── UnprotectedTemporaryDao.kt │ │ │ └── UnprotectedTemporaryRepository.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── privacy │ │ └── config │ │ └── store │ │ ├── RealPrivacyConfigRepositoryTest.kt │ │ ├── RealPrivacyFeatureTogglesRepositoryTest.kt │ │ └── features │ │ ├── amplinks │ │ └── RealAmpLinksRepositoryTest.kt │ │ ├── contentblocking │ │ └── RealContentBlockingRepositoryTest.kt │ │ ├── drm │ │ └── RealDrmRepositoryTest.kt │ │ ├── gpc │ │ └── RealGpcRepositoryTest.kt │ │ ├── https │ │ └── RealHttpsRepositoryTest.kt │ │ ├── trackerallowlist │ │ └── RealTrackerAllowlistRepositoryTest.kt │ │ ├── trackingparameters │ │ └── RealTrackingParametersRepositoryTest.kt │ │ └── unprotectedtemporary │ │ └── RealUnprotectedTemporaryRepositoryTest.kt └── readme.md ├── privacy-dashboard ├── privacy-dashboard-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── privacy │ │ └── dashboard │ │ └── api │ │ ├── PrivacyProtectionTogglePlugin.kt │ │ └── ui │ │ ├── PrivacyDashboardHybridScreenParams.kt │ │ ├── ToggleReports.kt │ │ └── WebBrokenSiteForm.kt ├── privacy-dashboard-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── privacy │ │ │ │ └── dashboard │ │ │ │ └── impl │ │ │ │ ├── ToggleReportsDataStore.kt │ │ │ │ ├── ToggleReportsDataStoreModule.kt │ │ │ │ ├── ToggleReportsFeature.kt │ │ │ │ ├── WebBrokenSiteFormFeature.kt │ │ │ │ ├── di │ │ │ │ ├── JsonModule.kt │ │ │ │ └── PrivacyProtectionTogglePluginPoint.kt │ │ │ │ ├── pixels │ │ │ │ └── PrivacyDashboardPixels.kt │ │ │ │ └── ui │ │ │ │ ├── AutoconsentStatusViewStateMapper.kt │ │ │ │ ├── EventOrigin.kt │ │ │ │ ├── PrivacyDashboardHybridActivity.kt │ │ │ │ ├── PrivacyDashboardHybridViewModel.kt │ │ │ │ ├── PrivacyDashboardJavascriptInterface.kt │ │ │ │ ├── PrivacyDashboardPayloadAdapter.kt │ │ │ │ ├── PrivacyDashboardRenderer.kt │ │ │ │ ├── PrivacyDashboardRendererFactory.kt │ │ │ │ ├── ProtectionStatusViewStateMapper.kt │ │ │ │ ├── PublicKeyInfoMapper.kt │ │ │ │ ├── RequestDataViewStateMapper.kt │ │ │ │ ├── ScreenKind.kt │ │ │ │ ├── SiteViewStateMapper.kt │ │ │ │ ├── ToggleReportsImpl.kt │ │ │ │ └── WebBrokenSiteFormImpl.kt │ │ └── res │ │ │ ├── layout │ │ │ └── activity_privacy_hybrid_dashboard.xml │ │ │ ├── values-bg │ │ │ └── strings-dashboard.xml │ │ │ ├── values-cs │ │ │ └── strings-dashboard.xml │ │ │ ├── values-da │ │ │ └── strings-dashboard.xml │ │ │ ├── values-de │ │ │ └── strings-dashboard.xml │ │ │ ├── values-el │ │ │ └── strings-dashboard.xml │ │ │ ├── values-es │ │ │ └── strings-dashboard.xml │ │ │ ├── values-et │ │ │ └── strings-dashboard.xml │ │ │ ├── values-fi │ │ │ └── strings-dashboard.xml │ │ │ ├── values-fr │ │ │ └── strings-dashboard.xml │ │ │ ├── values-hr │ │ │ └── strings-dashboard.xml │ │ │ ├── values-hu │ │ │ └── strings-dashboard.xml │ │ │ ├── values-it │ │ │ └── strings-dashboard.xml │ │ │ ├── values-lt │ │ │ └── strings-dashboard.xml │ │ │ ├── values-lv │ │ │ └── strings-dashboard.xml │ │ │ ├── values-nb │ │ │ └── strings-dashboard.xml │ │ │ ├── values-nl │ │ │ └── strings-dashboard.xml │ │ │ ├── values-pl │ │ │ └── strings-dashboard.xml │ │ │ ├── values-pt │ │ │ └── strings-dashboard.xml │ │ │ ├── values-ro │ │ │ └── strings-dashboard.xml │ │ │ ├── values-ru │ │ │ └── strings-dashboard.xml │ │ │ ├── values-sk │ │ │ └── strings-dashboard.xml │ │ │ ├── values-sl │ │ │ └── strings-dashboard.xml │ │ │ ├── values-sv │ │ │ └── strings-dashboard.xml │ │ │ ├── values-tr │ │ │ └── strings-dashboard.xml │ │ │ └── values │ │ │ ├── strings-dashboard.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ ├── ToggleReportsDataStoreTest.kt │ │ └── com │ │ └── duckduckgo │ │ └── privacy │ │ └── dashboard │ │ └── impl │ │ └── ui │ │ ├── AppProtectionStatusViewStateMapperTest.kt │ │ ├── AppSiteRequestDataViewStateMapperTest.kt │ │ ├── AppSiteViewStateMapperTest.kt │ │ ├── PrivacyDashboardHybridViewModelTest.kt │ │ ├── PrivacyDashboardRendererTest.kt │ │ └── PublicKeyInfoMapperTest.kt └── readme.md ├── privacy-protections-popup ├── privacy-protections-popup-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── privacyprotectionspopup │ │ └── api │ │ ├── PrivacyProtectionsPopup.kt │ │ ├── PrivacyProtectionsPopupDataClearer.kt │ │ ├── PrivacyProtectionsPopupExperimentExternalPixels.kt │ │ ├── PrivacyProtectionsPopupFactory.kt │ │ ├── PrivacyProtectionsPopupManager.kt │ │ ├── PrivacyProtectionsPopupUiEvent.kt │ │ ├── PrivacyProtectionsPopupViewState.kt │ │ └── PrivacyProtectionsToggleUsageListener.kt ├── privacy-protections-popup-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── privacyprotectionspopup │ │ │ │ └── impl │ │ │ │ ├── PrivacyProtectionsPopupDomainsCleanupWorker.kt │ │ │ │ ├── PrivacyProtectionsPopupExperimentExternalPixelsImpl.kt │ │ │ │ ├── PrivacyProtectionsPopupExperimentVariant.kt │ │ │ │ ├── PrivacyProtectionsPopupExperimentVariantRandomizer.kt │ │ │ │ ├── PrivacyProtectionsPopupFactoryImpl.kt │ │ │ │ ├── PrivacyProtectionsPopupFeature.kt │ │ │ │ ├── PrivacyProtectionsPopupImpl.kt │ │ │ │ ├── PrivacyProtectionsPopupManagerDataProvider.kt │ │ │ │ ├── PrivacyProtectionsPopupManagerImpl.kt │ │ │ │ ├── PrivacyProtectionsPopupPixelName.kt │ │ │ │ ├── PrivacyProtectionsPopupPixels.kt │ │ │ │ ├── PrivacyProtectionsToggleUsageListenerImpl.kt │ │ │ │ ├── ProtectionsStateProvider.kt │ │ │ │ ├── ShieldIconHighlightAnimation.kt │ │ │ │ ├── TimeProvider.kt │ │ │ │ ├── db │ │ │ │ ├── PopupDismissDomain.kt │ │ │ │ ├── PopupDismissDomainRepository.kt │ │ │ │ ├── PopupDismissDomainsDao.kt │ │ │ │ ├── PrivacyProtectionsPopupDataClearerImpl.kt │ │ │ │ ├── PrivacyProtectionsPopupDatabase.kt │ │ │ │ └── PrivacyProtectionsPopupDatabaseModule.kt │ │ │ │ └── store │ │ │ │ ├── PrivacyProtectionsPopupDataStore.kt │ │ │ │ └── PrivacyProtectionsPopupDataStoreModule.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── ic_highlight_blue.xml │ │ │ ├── layout │ │ │ ├── popup_buttons_horizontal.xml │ │ │ ├── popup_buttons_vertical.xml │ │ │ ├── popup_privacy_dashboard.xml │ │ │ └── popup_privacy_dashboard_bottom.xml │ │ │ ├── values-bg │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-cs │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-da │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-de │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-el │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-es │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-et │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-fi │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-fr │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-hr │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-hu │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-it │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-lt │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-lv │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-nb │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-nl │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-pl │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-pt │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-ro │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-ru │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-sk │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-sl │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-sv │ │ │ └── strings-privacy-protections-popup.xml │ │ │ ├── values-tr │ │ │ └── strings-privacy-protections-popup.xml │ │ │ └── values │ │ │ └── strings-privacy-protections-popup.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── privacyprotectionspopup │ │ └── impl │ │ ├── FakePrivacyProtectionsPopupDataStore.kt │ │ ├── FakeTimeProvider.kt │ │ ├── FakeUserAllowlistRepository.kt │ │ ├── PrivacyProtectionsPopupDomainsCleanupWorkerTest.kt │ │ ├── PrivacyProtectionsPopupManagerImplTest.kt │ │ ├── PrivacyProtectionsPopupPixelNameTest.kt │ │ ├── ProtectionsStateProviderTest.kt │ │ ├── db │ │ └── PopupDismissDomainRepositoryTest.kt │ │ └── store │ │ └── PrivacyProtectionsPopupDataStoreTest.kt └── readme.md ├── remote-messaging ├── readme.md ├── remote-messaging-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── remote │ │ └── messaging │ │ └── api │ │ ├── AttributeMatcherPlugin.kt │ │ ├── MessageActionMapperPlugin.kt │ │ ├── RemoteMessage.kt │ │ ├── RemoteMessageModel.kt │ │ └── RemoteMessagingRepository.kt ├── remote-messaging-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── AndroidManifest.xml │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── remote │ │ │ │ └── messaging │ │ │ │ └── impl │ │ │ │ ├── AppRemoteMessagingRepository.kt │ │ │ │ ├── RealRemoteMessageModel.kt │ │ │ │ ├── RemoteMessagingConfigDownloadScheduler.kt │ │ │ │ ├── RemoteMessagingConfigDownloader.kt │ │ │ │ ├── RemoteMessagingConfigMatcher.kt │ │ │ │ ├── RemoteMessagingConfigProcessor.kt │ │ │ │ ├── di │ │ │ │ ├── RMFMapperModule.kt │ │ │ │ └── RemoteMessagingModule.kt │ │ │ │ ├── mappers │ │ │ │ ├── ActionAdapter.kt │ │ │ │ ├── JsonActionMappers.kt │ │ │ │ ├── JsonRemoteMessageMapper.kt │ │ │ │ ├── JsonRulesMapper.kt │ │ │ │ ├── MessageMapper.kt │ │ │ │ ├── RemoteMessageMapper.kt │ │ │ │ ├── RemoteMessagingConfigJsonMapper.kt │ │ │ │ └── UnusedRemoteMessageNavigationActionPluginPoint.kt │ │ │ │ ├── matchers │ │ │ │ ├── AndroidAppAttributeMatcher.kt │ │ │ │ ├── DeviceAttributeMatcher.kt │ │ │ │ ├── EvaluationResult.kt │ │ │ │ ├── InteractedWithMessageMatcher.kt │ │ │ │ ├── ShownMessageMatcher.kt │ │ │ │ └── UserAttributeMatcher.kt │ │ │ │ ├── models │ │ │ │ ├── JsonRemoteMessagingConfig.kt │ │ │ │ ├── MatchingAttributes.kt │ │ │ │ └── RemoteConfig.kt │ │ │ │ ├── network │ │ │ │ └── RemoteMessagingService.kt │ │ │ │ ├── newtab │ │ │ │ ├── RemoteMessageView.kt │ │ │ │ ├── RemoteMessageViewModel.kt │ │ │ │ └── SharePromoLinkBroadCastReceiver.kt │ │ │ │ └── pixels │ │ │ │ ├── RemoteMessagingPixelName.kt │ │ │ │ └── RemoteMessagingPixels.kt │ │ └── res │ │ │ ├── layout │ │ │ └── view_remote_message.xml │ │ │ └── values │ │ │ └── donottranslate.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── remote │ │ │ └── messaging │ │ │ ├── fixtures │ │ │ ├── FakeActionPlugins.kt │ │ │ ├── FakeJsonMatchingAttributeMapper.kt │ │ │ ├── FakeJsonMatchingAttributeMapperPlugins.kt │ │ │ ├── JsonRemoteMessageOM.kt │ │ │ ├── RemoteMessageOM.kt │ │ │ ├── RemoteMessagingConfigOM.kt │ │ │ └── TestMessageMapper.kt │ │ │ ├── impl │ │ │ ├── AppRemoteMessagingRepositoryTest.kt │ │ │ ├── JsonRemoteMessageMapperTest.kt │ │ │ ├── JsonRulesMapperTest.kt │ │ │ ├── RealRemoteMessagingConfigProcessorTest.kt │ │ │ ├── RemoteMessagingConfigJsonMapperTest.kt │ │ │ ├── RemoteMessagingConfigMatcherTest.kt │ │ │ ├── RemoteMessagingModelTests.kt │ │ │ └── matchers │ │ │ │ ├── AndroidAppAttributeMatcherTest.kt │ │ │ │ ├── DeviceAttributeMatcherTest.kt │ │ │ │ ├── InteractedWithMessageMatcherTest.kt │ │ │ │ ├── ShownMessageMatcherTest.kt │ │ │ │ └── UserAttributeMatcherTest.kt │ │ │ └── newtab │ │ │ └── RemoteMessageViewModelTest.kt │ │ └── resources │ │ └── json │ │ ├── remote_messaging_config.json │ │ ├── remote_messaging_config_malformed.json │ │ └── remote_messaging_config_unsupported_items.json ├── remote-messaging-internal │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── remote │ │ │ │ └── messaging │ │ │ │ └── internal │ │ │ │ ├── feature │ │ │ │ ├── InternalViews.kt │ │ │ │ ├── RMFInternalSettingsActivity.kt │ │ │ │ ├── RmfSettingPlugin.kt │ │ │ │ └── RmfStagingEnvInterceptor.kt │ │ │ │ └── setting │ │ │ │ ├── RmfInternalSettings.kt │ │ │ │ └── RmfStagingEndpointSettingView.kt │ │ └── res │ │ │ └── layout │ │ │ ├── activity_rmf_internal_settings.xml │ │ │ └── rmf_simple_view.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── remote │ │ └── messaging │ │ └── internal │ │ └── feature │ │ └── RmfStagingEnvInterceptorTest.kt └── remote-messaging-store │ ├── .gitignore │ ├── build.gradle │ ├── schemas │ └── com.duckduckgo.remote.messaging.store.RemoteMessagingDatabase │ │ └── 1.json │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── remote │ │ └── messaging │ │ └── store │ │ ├── DateFormatter.kt │ │ ├── RemoteMessageEntity.kt │ │ ├── RemoteMessagesDao.kt │ │ ├── RemoteMessagingCohort.kt │ │ ├── RemoteMessagingCohortDao.kt │ │ ├── RemoteMessagingCohortStoreImpl.kt │ │ ├── RemoteMessagingConfig.kt │ │ ├── RemoteMessagingConfigDao.kt │ │ ├── RemoteMessagingConfigRepository.kt │ │ └── RemoteMessagingDatabase.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── remote │ └── messaging │ └── store │ ├── LocalRemoteMessagingConfigRepositoryTest.kt │ └── RemoteMessagingCohortStoreImplTest.kt ├── request-filterer ├── readme.md ├── request-filterer-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── request │ │ └── filterer │ │ └── api │ │ ├── RequestFilterer.kt │ │ └── RequestFiltererFeatureName.kt ├── request-filterer-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── request │ │ │ └── filterer │ │ │ └── impl │ │ │ ├── RequestFiltererFeature.kt │ │ │ ├── RequestFiltererFeatureNameUtil.kt │ │ │ ├── RequestFiltererImpl.kt │ │ │ ├── di │ │ │ └── RequestFiltererModule.kt │ │ │ └── plugins │ │ │ ├── RequestFiltererFeaturePlugin.kt │ │ │ └── RequestFiltererFeatureTogglesPlugin.kt │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── request │ │ │ └── filterer │ │ │ └── impl │ │ │ ├── RequestFiltererImplTest.kt │ │ │ └── plugins │ │ │ ├── RequestFiltererFeaturePluginTest.kt │ │ │ └── RequestFiltererFeatureTogglesPluginTest.kt │ │ └── resources │ │ └── json │ │ ├── request_filterer.json │ │ ├── request_filterer_disabled.json │ │ └── request_filterer_min_supported_version.json └── request-filterer-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── request │ │ └── filterer │ │ └── store │ │ ├── RequestFiltererDao.kt │ │ ├── RequestFiltererDatabase.kt │ │ ├── RequestFiltererDatabaseModels.kt │ │ ├── RequestFiltererFeatureToggleRepository.kt │ │ ├── RequestFiltererFeatureToggleStore.kt │ │ └── RequestFiltererRepository.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── request │ └── filterer │ └── store │ ├── RealFiltererRequestFeatureToggleRepositoryTest.kt │ └── RealRequestFiltererRepositoryTest.kt ├── rollup.config.js ├── runtime-checks ├── readme.md ├── runtime-checks-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── runtimechecks │ │ │ └── impl │ │ │ ├── RuntimeChecksContentScopeConfigPlugin.kt │ │ │ ├── RuntimeChecksFeatureName.kt │ │ │ ├── RuntimeChecksFeatureNameUtil.kt │ │ │ ├── RuntimeChecksFeaturePlugin.kt │ │ │ └── di │ │ │ └── RuntimeChecksModule.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── runtimechecks │ │ └── impl │ │ ├── RuntimeChecksContentScopeConfigPluginTest.kt │ │ └── RuntimeChecksFeaturePluginTest.kt └── runtime-checks-store │ ├── .gitignore │ ├── build.gradle │ └── src │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── runtimechecks │ │ └── store │ │ ├── RuntimeChecksDao.kt │ │ ├── RuntimeChecksDatabase.kt │ │ ├── RuntimeChecksEntity.kt │ │ └── RuntimeChecksRepository.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── runtimechecks │ └── store │ └── RuntimeChecksRepositoryTest.kt ├── saved-sites ├── readme.md ├── saved-sites-api │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── savedsites │ │ └── api │ │ ├── SavedSitesRepository.kt │ │ ├── models │ │ ├── Models.kt │ │ └── TreeNode.kt │ │ ├── promotion │ │ └── BookmarksScreenPromotionPlugin.kt │ │ └── service │ │ ├── SavedSitesExporter.kt │ │ ├── SavedSitesImporter.kt │ │ └── SavedSitesManager.kt ├── saved-sites-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── savedsites │ │ │ │ └── impl │ │ │ │ ├── FavoritesDelegate.kt │ │ │ │ ├── FavoritesDisplayModeSettingsRepository.kt │ │ │ │ ├── RelationsReconciler.kt │ │ │ │ ├── SavedSitesPixelName.kt │ │ │ │ ├── SavedSitesPixelsParamRemovalPlugin.kt │ │ │ │ ├── SavedSitesRepository.kt │ │ │ │ ├── bookmarks │ │ │ │ ├── BookmarkItemTouchHelperCallback.kt │ │ │ │ ├── BookmarkScreenViewHolders.kt │ │ │ │ ├── BookmarksActivity.kt │ │ │ │ ├── BookmarksAdapter.kt │ │ │ │ ├── BookmarksBottomSheetDialog.kt │ │ │ │ ├── BookmarksQueryListener.kt │ │ │ │ ├── BookmarksViewModel.kt │ │ │ │ └── FaviconPromptSheet.kt │ │ │ │ ├── di │ │ │ │ └── SavedSitesModule.kt │ │ │ │ ├── dialogs │ │ │ │ ├── AddBookmarkFolderDialogFragment.kt │ │ │ │ ├── EditBookmarkFolderDialogFragment.kt │ │ │ │ ├── EditSavedSiteDialogFragment.kt │ │ │ │ └── SavedSiteDialogFragment.kt │ │ │ │ ├── folders │ │ │ │ ├── BookmarkFolderStructureAdapter.kt │ │ │ │ ├── BookmarkFoldersActivity.kt │ │ │ │ └── BookmarkFoldersViewModel.kt │ │ │ │ ├── newtab │ │ │ │ ├── BookmarksShortcut.kt │ │ │ │ ├── FavouriteNewTabSectionItemView.kt │ │ │ │ ├── FavouritesNewTabSectionView.kt │ │ │ │ ├── FavouritesNewTabSectionViewModel.kt │ │ │ │ ├── FavouritesNewTabSectionsAdapter.kt │ │ │ │ ├── FavouritesNewTabSettingView.kt │ │ │ │ ├── FavouritesNewTabSettingsViewModel.kt │ │ │ │ └── QuickAccessDragTouchItemListener.kt │ │ │ │ ├── service │ │ │ │ ├── SavedSitesDataCleaner.kt │ │ │ │ ├── SavedSitesExporter.kt │ │ │ │ ├── SavedSitesImporter.kt │ │ │ │ ├── SavedSitesManager.kt │ │ │ │ └── SavedSitesParser.kt │ │ │ │ └── sync │ │ │ │ ├── BookmarksSyncLocalValidationFeature.kt │ │ │ │ ├── DisplayModeSyncSetting.kt │ │ │ │ ├── DisplayModeSyncSettingsPlugin.kt │ │ │ │ ├── DisplayModeSyncableSetting.kt │ │ │ │ ├── DisplayModeViewModel.kt │ │ │ │ ├── Models.kt │ │ │ │ ├── RealSavedSitesSyncStore.kt │ │ │ │ ├── RealSyncSavedSitesRepository.kt │ │ │ │ ├── SavedSiteInvalidItemsView.kt │ │ │ │ ├── SavedSiteInvalidItemsViewModel.kt │ │ │ │ ├── SavedSiteSyncPausedView.kt │ │ │ │ ├── SavedSiteSyncPausedViewModel.kt │ │ │ │ ├── SavedSitesFormFactorSyncMigration.kt │ │ │ │ ├── SavedSitesInvalidItemSyncMessagePlugin.kt │ │ │ │ ├── SavedSitesSyncDataObserver.kt │ │ │ │ ├── SavedSitesSyncDataProvider.kt │ │ │ │ ├── SavedSitesSyncFeatureListener.kt │ │ │ │ ├── SavedSitesSyncNotificationBuilder.kt │ │ │ │ ├── SavedSitesSyncPausedSyncMessagePlugin.kt │ │ │ │ ├── SavedSitesSyncPersister.kt │ │ │ │ ├── SyncEntitiesExtension.kt │ │ │ │ ├── SyncSavedSitesRepository.kt │ │ │ │ ├── algorithm │ │ │ │ ├── SavedSitesDeduplicationPersister.kt │ │ │ │ ├── SavedSitesDuplicateFinder.kt │ │ │ │ ├── SavedSitesLocalWinsPersister.kt │ │ │ │ ├── SavedSitesRemoteWinsPersister.kt │ │ │ │ ├── SavedSitesSyncPersisterAlgorithm.kt │ │ │ │ ├── SavedSitesSyncPersisterStrategy.kt │ │ │ │ └── SavedSitesTimestampPersister.kt │ │ │ │ └── store │ │ │ │ ├── SavedSitesSyncEntitiesStore.kt │ │ │ │ ├── SavedSitesSyncMetadataDao.kt │ │ │ │ └── SavedSitesSyncMetadataDatabase.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── background_circular_32dp_shape_icon_container.xml │ │ │ ├── favourite_new_tab_favicon_background.xml │ │ │ ├── favourite_new_tab_placeholder_background.xml │ │ │ ├── ic_bookmarks_import.xml │ │ │ ├── ic_chevron_small_down_16.xml │ │ │ ├── ic_chevron_small_up_16.xml │ │ │ ├── ic_favorite_24.xml │ │ │ ├── ic_folder_24.xml │ │ │ ├── ic_folder_add_24.xml │ │ │ ├── ic_icons_download_128.xml │ │ │ ├── ic_info_black_16.xml │ │ │ ├── ic_shortcut_bookmarks.xml │ │ │ ├── ic_sync_device_all_24.xml │ │ │ ├── selectable_circular_32dp_shape_container_ripple.xml │ │ │ └── selected_icon_background.xml │ │ │ ├── layout │ │ │ ├── activity_bookmark_folders.xml │ │ │ ├── activity_bookmarks.xml │ │ │ ├── activity_edit_bookmark.xml │ │ │ ├── bottom_sheet_add_bookmark.xml │ │ │ ├── bottom_sheet_favicons_prompt.xml │ │ │ ├── content_bookmarks.xml │ │ │ ├── dialog_fragment_saved_site.xml │ │ │ ├── item_bookmark_folder.xml │ │ │ ├── notification_invalid_request.xml │ │ │ ├── notification_rate_limit.xml │ │ │ ├── popup_window_edit_delete_menu.xml │ │ │ ├── popup_window_edit_favorite_delete_menu.xml │ │ │ ├── popup_window_edit_remove_favorite_delete_menu.xml │ │ │ ├── row_bookmark_two_line_item.xml │ │ │ ├── row_favourite_section_item.xml │ │ │ ├── view_favourite_section_item.xml │ │ │ ├── view_favourites_settings_item.xml │ │ │ ├── view_new_tab_favourites_section.xml │ │ │ ├── view_new_tab_favourites_setting_item.xml │ │ │ ├── view_new_tab_favourites_tooltip.xml │ │ │ ├── view_save_site_sync_invalid_items_warning.xml │ │ │ ├── view_save_site_sync_paused_warning.xml │ │ │ ├── view_saved_site_empty_hint.xml │ │ │ ├── view_saved_site_empty_search_hint.xml │ │ │ └── view_sync_setting_display_mode.xml │ │ │ ├── menu │ │ │ ├── bookmark_activity_menu.xml │ │ │ ├── bookmark_folders_activity_menu.xml │ │ │ └── edit_saved_site_menu.xml │ │ │ ├── values-bg │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-cs │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-da │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-de │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-el │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-es │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-et │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-fi │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-fr │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-hr │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-hu │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-it │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-lt │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-lv │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-nb │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-nl │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-pl │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-pt │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-ro │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-ru │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-sk │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-sl │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-sv │ │ │ └── strings-saved-sites.xml │ │ │ ├── values-tr │ │ │ └── strings-saved-sites.xml │ │ │ └── values │ │ │ ├── attrs-saves-sites.xml │ │ │ ├── dimen-saved-sites.xml │ │ │ ├── donottranslate.xml │ │ │ ├── saved-sites-dimensions.xml │ │ │ ├── strings-saved-sites.xml │ │ │ └── styles-saved-sites.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── savedsites │ │ │ └── impl │ │ │ ├── bookmarks │ │ │ └── BookmarksViewModelTest.kt │ │ │ ├── folders │ │ │ └── BookmarkFoldersViewModelTest.kt │ │ │ ├── newtab │ │ │ ├── FavouritesNewTabSectionViewModelTests.kt │ │ │ └── FavouritesNewTabSettingsViewModelTest.kt │ │ │ ├── service │ │ │ └── SavedSitesManagerTest.kt │ │ │ └── sync │ │ │ ├── AppSavedSitesSyncFeatureListenerTest.kt │ │ │ ├── DisplayModeSyncableSettingTest.kt │ │ │ ├── DisplayModeViewModelTest.kt │ │ │ ├── FakeSavedSitesSettingsStore.kt │ │ │ ├── RealSavedSitesSyncStoreTest.kt │ │ │ ├── SavedSiteSyncPausedViewModelTest.kt │ │ │ ├── SavedSitesSyncPersisterTest.kt │ │ │ └── algorithm │ │ │ └── SavedSitesSyncPersisterAlgorithmTest.kt │ │ └── resources │ │ └── json │ │ ├── duplicated_data_sync.json │ │ ├── first_sync_get_data.json │ │ ├── merger_deleted_entries.json │ │ ├── merger_empty_entries.json │ │ ├── merger_first_get.json │ │ ├── merger_invalid_data.json │ │ ├── merger_null_entries.json │ │ ├── parser_deleted_bookmark.json │ │ ├── parser_favourites.json │ │ ├── parser_folders.json │ │ └── parser_folders_and_favourites.json └── saved-sites-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── savedsites │ │ └── store │ │ ├── RoomEntities.kt │ │ ├── SavedSitesEntitiesDao.kt │ │ ├── SavedSitesRelationsDao.kt │ │ └── SavedSitesSettingsStore.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── savedsites │ └── store │ └── SavedSitesSettingsSharedPrefStoreTest.kt ├── settings.gradle ├── settings ├── readme.md ├── settings-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── settings │ │ └── api │ │ ├── NewSettingsFeature.kt │ │ └── ProSettingsPlugin.kt └── settings-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ └── main │ └── java │ └── com │ └── duckduckgo │ └── settings │ └── impl │ ├── DuckPlayerSettingModule.kt │ ├── NewSettingsTrigger.kt │ └── ProSettingModule.kt ├── site-permissions ├── readme.md ├── site-permissions-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── site │ │ └── permissions │ │ └── api │ │ ├── SitePermissionsDialogLauncher.kt │ │ ├── SitePermissionsGrantedListener.kt │ │ └── SitePermissionsManager.kt ├── site-permissions-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── site │ │ │ │ └── permissions │ │ │ │ └── impl │ │ │ │ ├── SitePermissionsDialogActivityLauncher.kt │ │ │ │ ├── SitePermissionsManagerImpl.kt │ │ │ │ ├── SitePermissionsPixelName.kt │ │ │ │ ├── SitePermissionsRepository.kt │ │ │ │ ├── SystemPermissionsHelper.kt │ │ │ │ ├── di │ │ │ │ └── SitePermissionsModule.kt │ │ │ │ ├── drmblock │ │ │ │ ├── DrmBlock.kt │ │ │ │ ├── DrmBlockFeature.kt │ │ │ │ ├── DrmBlockFeatureExceptionStore.kt │ │ │ │ ├── DrmBlockRepository.kt │ │ │ │ └── RealDrmBlock.kt │ │ │ │ └── ui │ │ │ │ ├── SitePermissionsActivity.kt │ │ │ │ ├── SitePermissionsAdapter.kt │ │ │ │ ├── SitePermissionsScreens.kt │ │ │ │ ├── SitePermissionsViewModel.kt │ │ │ │ └── permissionsperwebsite │ │ │ │ ├── PermissionSettingAdapter.kt │ │ │ │ ├── PermissionsPerWebsiteActivity.kt │ │ │ │ ├── PermissionsPerWebsiteViewModel.kt │ │ │ │ └── WebsitePermissionSettingOption.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── ic_location_24.xml │ │ │ ├── ic_location_blocked_24.xml │ │ │ ├── ic_microphone_24.xml │ │ │ ├── ic_microphone_blocked_24.xml │ │ │ ├── ic_video_24.xml │ │ │ ├── ic_video_blocked_24.xml │ │ │ ├── ic_video_player_24.xml │ │ │ └── ic_video_player_blocked_24.xml │ │ │ ├── layout │ │ │ ├── activity_permission_per_website.xml │ │ │ ├── activity_site_permissions.xml │ │ │ ├── content_site_drm_permission_dialog.xml │ │ │ ├── item_site_permission_setting_selection.xml │ │ │ ├── popup_window_remove_all_menu.xml │ │ │ ├── view_site_permissions_description.xml │ │ │ ├── view_site_permissions_empty_list.xml │ │ │ ├── view_site_permissions_site.xml │ │ │ ├── view_site_permissions_title.xml │ │ │ └── view_site_permissions_toggle.xml │ │ │ ├── menu │ │ │ └── menu_permissions_per_website_activity.xml │ │ │ ├── values-bg │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-cs │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-da │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-de │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-el │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-es │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-et │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-fi │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-fr │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-hr │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-hu │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-it │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-lt │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-lv │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-nb │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-nl │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-pl │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-pt │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-ro │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-ru │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-sk │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-sl │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-sv │ │ │ └── strings-site-permissions.xml │ │ │ ├── values-tr │ │ │ └── strings-site-permissions.xml │ │ │ └── values │ │ │ ├── donottranslate.xml │ │ │ └── strings-site-permissions.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── site │ │ └── permissions │ │ └── impl │ │ ├── SitePermissionsManagerTest.kt │ │ ├── SitePermissionsRepositoryTest.kt │ │ ├── drmblock │ │ └── RealDrmBlockTest.kt │ │ └── ui │ │ └── sitepermissions │ │ ├── PermissionsPerWebsiteViewModelTest.kt │ │ └── SitePermissionsViewModelTest.kt └── site-permissions-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ ├── schemas │ └── com.duckduckgo.site.permissions.store.SitePermissionsDatabase │ │ └── 1.json │ └── src │ └── main │ └── java │ └── com │ └── duckduckgo │ └── site │ └── permissions │ └── store │ ├── SitePermissionsDatabase.kt │ ├── SitePermissionsPreferences.kt │ ├── drmblock │ ├── DrmBlockDao.kt │ └── DrmBlockExceptionEntity.kt │ ├── sitepermissions │ ├── SitePermissionsDao.kt │ └── SitePermissionsEntity.kt │ └── sitepermissionsallowed │ ├── SitePermissionAllowedEntity.kt │ └── SitePermissionsAllowedDao.kt ├── smartling-config.json ├── statistics ├── readme.md ├── statistics-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── app │ │ └── statistics │ │ ├── AtbInitializerListener.kt │ │ ├── api │ │ ├── AtbLifecyclePlugin.kt │ │ ├── BrowserFeatureStateReporterPlugin.kt │ │ ├── OfflinePixel.kt │ │ └── PixelSender.kt │ │ ├── model │ │ └── Atb.kt │ │ ├── pixels │ │ └── Pixel.kt │ │ └── store │ │ └── StatisticsDataStore.kt └── statistics-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── app │ │ └── statistics │ │ ├── AtbInitializer.kt │ │ ├── api │ │ ├── AtbLifecyclePluginPoint.kt │ │ ├── BrowserFeatureStateReporterPluginPoint.kt │ │ ├── OfflinePixelScheduler.kt │ │ ├── OfflinePixelSender.kt │ │ ├── PixelService.kt │ │ ├── RxPixelSender.kt │ │ ├── StatisticsRequester.kt │ │ └── StatisticsService.kt │ │ ├── config │ │ └── StatisticsLibraryConfig.kt │ │ ├── model │ │ ├── DailyPixelFired.kt │ │ ├── PixelEntity.kt │ │ └── UniquePixelFired.kt │ │ ├── pixels │ │ ├── FeatureRetentionPixelSender.kt │ │ ├── RxBasedPixel.kt │ │ ├── StatisticsPixelName.kt │ │ └── StatisticsPixelParamsRemovalPlugin.kt │ │ ├── store │ │ ├── DailyPixelFiredDao.kt │ │ ├── PendingPixelDao.kt │ │ ├── PixelFiredRepository.kt │ │ ├── StatisticsDatabase.kt │ │ ├── StatisticsDatabaseModule.kt │ │ ├── StatisticsSharedPreferences.kt │ │ ├── TimeProvider.kt │ │ └── UniquePixelFiredDao.kt │ │ └── user_segments │ │ ├── SegmentCalculation.kt │ │ ├── StringAtbExtensions.kt │ │ ├── UsageHistory.kt │ │ └── UserSegmentsPixelSender.kt │ └── test │ ├── java │ └── com │ │ └── duckduckgo │ │ └── app │ │ └── statistics │ │ ├── AtbInitializerTest.kt │ │ ├── api │ │ ├── RxPixelSenderTest.kt │ │ └── StatisticsRequesterTest.kt │ │ ├── model │ │ └── AtbJsonTest.kt │ │ ├── pixels │ │ └── RxBasedPixelTest.kt │ │ ├── store │ │ └── PixelFiredRepositoryTest.kt │ │ └── user_segments │ │ └── SegmentCalculationTest.kt │ └── resources │ └── json │ ├── atb_response_valid.json │ └── mobile_segments_test_cases.json ├── submodules └── .editorconfig ├── subscriptions ├── readme.md ├── subscriptions-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── subscriptions │ │ └── api │ │ ├── PrivacyProFeedbackScreens.kt │ │ ├── PrivacyProUnifiedFeedback.kt │ │ ├── SubscriptionScreens.kt │ │ └── Subscriptions.kt ├── subscriptions-dummy-impl │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── subscriptions │ │ └── impl │ │ ├── SubscriptionsDummy.kt │ │ └── feedback │ │ └── DummyPrivacyProUnifiedFeedback.kt ├── subscriptions-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── subscriptions │ │ │ │ └── impl │ │ │ │ ├── JSONObjectAdapter.kt │ │ │ │ ├── ProductSubscriptionManager.kt │ │ │ │ ├── RealSubscriptions.kt │ │ │ │ ├── SubscriptionFeaturesFetcher.kt │ │ │ │ ├── SubscriptionsChecker.kt │ │ │ │ ├── SubscriptionsConstants.kt │ │ │ │ ├── SubscriptionsManager.kt │ │ │ │ ├── SubscriptionsToggleTargetMatcherPlugin.kt │ │ │ │ ├── auth │ │ │ │ └── AuthInterceptor.kt │ │ │ │ ├── auth2 │ │ │ │ ├── AuthClient.kt │ │ │ │ ├── AuthJwtValidator.kt │ │ │ │ ├── AuthJwtValidatorImpl.kt │ │ │ │ ├── AuthService.kt │ │ │ │ ├── AuthServiceModule.kt │ │ │ │ ├── BackgroundTokenRefresh.kt │ │ │ │ └── PkceGenerator.kt │ │ │ │ ├── billing │ │ │ │ ├── BillingClientAdapter.kt │ │ │ │ ├── PlayBillingManager.kt │ │ │ │ ├── RealBillingClientAdapter.kt │ │ │ │ └── Retry.kt │ │ │ │ ├── feedback │ │ │ │ ├── FeedbackCustomMetadataProvider.kt │ │ │ │ ├── FeedbackHelpUrlProvider.kt │ │ │ │ ├── FeedbackSubCategoryProvider.kt │ │ │ │ ├── RealPrivacyProUnifiedFeedback.kt │ │ │ │ ├── SubscriptionFeedbackActionFragment.kt │ │ │ │ ├── SubscriptionFeedbackActivity.kt │ │ │ │ ├── SubscriptionFeedbackCategoryFragment.kt │ │ │ │ ├── SubscriptionFeedbackFragment.kt │ │ │ │ ├── SubscriptionFeedbackGeneralFragment.kt │ │ │ │ ├── SubscriptionFeedbackParams.kt │ │ │ │ ├── SubscriptionFeedbackSubcategoryFragment.kt │ │ │ │ ├── SubscriptionFeedbackSubmitFragment.kt │ │ │ │ ├── SubscriptionFeedbackViewModel.kt │ │ │ │ ├── SubscriptionSupportInbox.kt │ │ │ │ └── pixels │ │ │ │ │ ├── PrivacyProUnifiedFeedbackPixel.kt │ │ │ │ │ └── PrivacyProUnifiedFeedbackPixelSender.kt │ │ │ │ ├── messaging │ │ │ │ ├── ItrMessagingInterface.kt │ │ │ │ └── SubscriptionMessagingInterface.kt │ │ │ │ ├── model │ │ │ │ └── Entitlement.kt │ │ │ │ ├── pir │ │ │ │ └── PirActivity.kt │ │ │ │ ├── pixels │ │ │ │ ├── SubscriptionPixel.kt │ │ │ │ ├── SubscriptionPixelParamRemovalPlugin.kt │ │ │ │ ├── SubscriptionPixelSender.kt │ │ │ │ └── SubscriptionRefreshRetentionAtbPlugin.kt │ │ │ │ ├── repository │ │ │ │ └── AuthRepository.kt │ │ │ │ ├── rmf │ │ │ │ ├── RMFPProBillingPeriodMatchingAttribute.kt │ │ │ │ ├── RMFPProDaysSinceSubscribedMatchingAttribute.kt │ │ │ │ ├── RMFPProDaysUntilExpiryRenewalMatchingAttribute.kt │ │ │ │ ├── RMFPProEligibleMatchingAttribute.kt │ │ │ │ ├── RMFPProPurchasePlatformMatchingAttribute.kt │ │ │ │ ├── RMFPProSubscriberMatchingAttribute.kt │ │ │ │ └── RMFPProSubscriptionStatusMatchingAttribute.kt │ │ │ │ ├── serp_promo │ │ │ │ └── SerpPromo.kt │ │ │ │ ├── services │ │ │ │ ├── AuthService.kt │ │ │ │ └── SubscriptionsService.kt │ │ │ │ ├── settings │ │ │ │ ├── plugins │ │ │ │ │ └── SubsSettingsPlugins.kt │ │ │ │ └── views │ │ │ │ │ ├── ItrSettingView.kt │ │ │ │ │ ├── ItrSettingViewModel.kt │ │ │ │ │ ├── LegacyItrSettingView.kt │ │ │ │ │ ├── LegacyItrSettingViewModel.kt │ │ │ │ │ ├── LegacyPirSettingView.kt │ │ │ │ │ ├── LegacyPirSettingViewModel.kt │ │ │ │ │ ├── LegacyProSettingView.kt │ │ │ │ │ ├── LegacyProSettingViewModel.kt │ │ │ │ │ ├── PirSettingView.kt │ │ │ │ │ ├── PirSettingViewModel.kt │ │ │ │ │ ├── ProSettingView.kt │ │ │ │ │ └── ProSettingViewModel.kt │ │ │ │ ├── store │ │ │ │ └── SubscriptionsDataStore.kt │ │ │ │ ├── survey │ │ │ │ └── PproSurveyParameters.kt │ │ │ │ └── ui │ │ │ │ ├── ChangePlanActivity.kt │ │ │ │ ├── RestoreSubscriptionActivity.kt │ │ │ │ ├── RestoreSubscriptionViewModel.kt │ │ │ │ ├── SelectableLinearLayout.kt │ │ │ │ ├── SubscriptionSettingsActivity.kt │ │ │ │ ├── SubscriptionSettingsViewModel.kt │ │ │ │ ├── SubscriptionWebViewViewModel.kt │ │ │ │ ├── SubscriptionsWebViewActivity.kt │ │ │ │ └── SubscriptionsWebViewClient.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── gradient_dark.xml │ │ │ ├── gradient_light.xml │ │ │ ├── ic_apple_logo.xml │ │ │ ├── ic_dot_green.xml │ │ │ ├── ic_identity_blocked_pir_color_24.xml │ │ │ ├── ic_identity_blocked_pir_grayscale_color_24.xml │ │ │ ├── ic_identity_theft_restoration_color_24.xml │ │ │ ├── ic_identity_theft_restoration_grayscale_color_24.xml │ │ │ ├── ic_info_16.xml │ │ │ ├── ic_information_remover.xml │ │ │ ├── ic_privacy_pro_add_device.xml │ │ │ ├── ic_privacy_pro_color_24.xml │ │ │ ├── ic_privacy_pro_settings_hero.xml │ │ │ └── ic_subs_toolbar_logo.xml │ │ │ ├── layout │ │ │ ├── activity_change_plan.xml │ │ │ ├── activity_feedback.xml │ │ │ ├── activity_pir.xml │ │ │ ├── activity_restore_subscription.xml │ │ │ ├── activity_subscription_settings.xml │ │ │ ├── activity_subscriptions_webview.xml │ │ │ ├── content_feedback_action.xml │ │ │ ├── content_feedback_category.xml │ │ │ ├── content_feedback_general.xml │ │ │ ├── content_feedback_subcategory.xml │ │ │ ├── content_feedback_submit.xml │ │ │ ├── legacy_view_itr_settings.xml │ │ │ ├── legacy_view_pir_settings.xml │ │ │ ├── legacy_view_settings.xml │ │ │ ├── privacy_pro_toolbar.xml │ │ │ ├── view_itr_settings.xml │ │ │ ├── view_pir_settings.xml │ │ │ └── view_settings.xml │ │ │ ├── values-bg │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-cs │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-da │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-de │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-el │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-es │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-et │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-fi │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-fr │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-hr │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-hu │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-it │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-lt │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-lv │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-nb │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-nl │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-pl │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-pt │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-ro │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-ru │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-sk │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-sl │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-sv │ │ │ └── strings-subscriptions.xml │ │ │ ├── values-tr │ │ │ └── strings-subscriptions.xml │ │ │ └── values │ │ │ ├── donottranslate.xml │ │ │ └── strings-subscriptions.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── subscriptions │ │ └── impl │ │ ├── RealProductSubscriptionManagerTest.kt │ │ ├── RealSubscriptionsCheckerTest.kt │ │ ├── RealSubscriptionsManagerTest.kt │ │ ├── RealSubscriptionsTest.kt │ │ ├── SubscriptionFeaturesFetcherTest.kt │ │ ├── SubscriptionsCheckWorkerTest.kt │ │ ├── SubscriptionsToggleTargetMatcherPluginTest.kt │ │ ├── auth │ │ └── AuthInterceptorTest.kt │ │ ├── auth2 │ │ ├── AuthClientImplTest.kt │ │ ├── AuthJwtValidatorImplTest.kt │ │ └── PkceGeneratorImplTest.kt │ │ ├── billing │ │ ├── RealPlayBillingManagerTest.kt │ │ └── RetryTest.kt │ │ ├── feedback │ │ ├── FakeCustomMetadataProvider.kt │ │ ├── FakeSubscriptionSupportInbox.kt │ │ ├── RealPrivacyProUnifiedFeedbackTest.kt │ │ └── SubscriptionFeedbackViewModelTest.kt │ │ ├── messaging │ │ ├── ItrMessagingInterfaceTest.kt │ │ └── SubscriptionMessagingInterfaceTest.kt │ │ ├── pixels │ │ ├── SubscriptionPixelTest.kt │ │ └── SubscriptionRefreshRetentionAtbPluginTest.kt │ │ ├── repository │ │ ├── FakeSubscriptionsDataStore.kt │ │ └── RealAuthRepositoryTest.kt │ │ ├── rmf │ │ ├── FakeBooleanMatchingAttribute.kt │ │ ├── RMFPProBillingPeriodMatchingAttributeTest.kt │ │ ├── RMFPProDaysSinceSubscribedMatchingAttributeTest.kt │ │ ├── RMFPProDaysUntilExpiryRenewalMatchingAttributeTest.kt │ │ ├── RMFPProEligibleMatchingAttributeTest.kt │ │ ├── RMFPProPurchasePlatformMatchingAttributeTest.kt │ │ ├── RMFPProSubscriberMatchingAttributeTest.kt │ │ └── RMFPProSubscriptionStatusMatchingAttributeTest.kt │ │ ├── serp_promo │ │ ├── FakeSerpPromo.kt │ │ └── SerpPromoTest.kt │ │ ├── settings │ │ └── views │ │ │ ├── LegacyItrSettingViewModelTest.kt │ │ │ ├── LegacyPirSettingViewModelTest.kt │ │ │ ├── LegacyProSettingViewModelTest.kt │ │ │ └── ProSettingViewModelTest.kt │ │ ├── survey │ │ └── PproSurveyParameterPluginsTest.kt │ │ └── ui │ │ ├── RestoreSubscriptionViewModelTest.kt │ │ ├── SubscriptionSettingsViewModelTest.kt │ │ └── SubscriptionWebViewViewModelTest.kt └── subscriptions-internal │ ├── .gitignore │ ├── build.gradle │ └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── duckduckgo │ │ └── subscriptions │ │ └── internal │ │ ├── InternalViews.kt │ │ ├── SubsSettingPlugin.kt │ │ ├── SubscriptionsInternalSettingsActivity.kt │ │ └── settings │ │ ├── CopySubscriptionDataView.kt │ │ └── RecoverSubscriptionView.kt │ └── res │ └── layout │ ├── activity_subs_internal_settings.xml │ └── subs_simple_view.xml ├── survey ├── survey-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── survey │ │ └── api │ │ ├── SurveyParameterManager.kt │ │ └── SurveyParameterPlugin.kt └── survey-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── survey │ │ └── impl │ │ ├── RealSurveyParameterManager.kt │ │ └── SurveyParameterProviderPluginPoint.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── survey │ └── impl │ └── RealSurveyParameterManagerTest.kt ├── sync ├── readme.md ├── sync-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── sync │ │ └── api │ │ ├── DeviceSyncState.kt │ │ ├── SyncCrypto.kt │ │ ├── SyncMessagePlugin.kt │ │ ├── SyncNotificationChannel.kt │ │ ├── SyncScreens.kt │ │ ├── SyncSettingsPlugin.kt │ │ ├── SyncStateMonitor.kt │ │ ├── engine │ │ ├── Models.kt │ │ ├── SyncEngine.kt │ │ ├── SyncableDataPersister.kt │ │ └── SyncableDataProvider.kt │ │ └── favicons │ │ ├── FaviconsFetchingPrompt.kt │ │ └── FaviconsFetchingStore.kt ├── sync-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── sync │ │ │ │ └── impl │ │ │ │ ├── AppDeviceSyncState.kt │ │ │ │ ├── ClipboardManager.kt │ │ │ │ ├── EncodingExtension.kt │ │ │ │ ├── QREncoder.kt │ │ │ │ ├── RealSyncCrypto.kt │ │ │ │ ├── RealSyncStateMonitor.kt │ │ │ │ ├── RecoveryCodePDF.kt │ │ │ │ ├── ShareAction.kt │ │ │ │ ├── StoragePermissionRequest.kt │ │ │ │ ├── SyncAccountRepository.kt │ │ │ │ ├── SyncDeviceId.kt │ │ │ │ ├── SyncFeature.kt │ │ │ │ ├── SyncFeatureToggle.kt │ │ │ │ ├── SyncNotificationChannelPlugin.kt │ │ │ │ ├── SyncService.kt │ │ │ │ ├── SyncServiceRemote.kt │ │ │ │ ├── auth │ │ │ │ ├── AuthLauncher.kt │ │ │ │ ├── DeviceAuthenticationGracePeriodLifecycleObserver.kt │ │ │ │ ├── DeviceAuthenticator.kt │ │ │ │ ├── DeviceAuthorizationGracePeriod.kt │ │ │ │ └── SupportedDeviceAuthChecker.kt │ │ │ │ ├── di │ │ │ │ ├── SyncMessageModule.kt │ │ │ │ ├── SyncModule.kt │ │ │ │ ├── SyncSettingsModule.kt │ │ │ │ ├── UnusedSyncableDataPersisterPluginCodegenTrigger.kt │ │ │ │ └── UnusedSyncableDataProviderPluginCodegenTrigger.kt │ │ │ │ ├── engine │ │ │ │ ├── RealSyncEngine.kt │ │ │ │ ├── SyncAccountDisabledObserver.kt │ │ │ │ ├── SyncApiClient.kt │ │ │ │ ├── SyncEngineLifecycle.kt │ │ │ │ ├── SyncGzipInterceptor.kt │ │ │ │ ├── SyncInvalidTokenInterceptor.kt │ │ │ │ ├── SyncNotificationBuilder.kt │ │ │ │ ├── SyncScheduler.kt │ │ │ │ ├── SyncServerUnavailableInterceptor.kt │ │ │ │ └── SyncStateRepository.kt │ │ │ │ ├── error │ │ │ │ ├── SyncApiErrorRecorder.kt │ │ │ │ ├── SyncApiErrorRepository.kt │ │ │ │ ├── SyncOperationErrorRecorder.kt │ │ │ │ ├── SyncOperationErrorRepository.kt │ │ │ │ └── SyncUnavailableRepository.kt │ │ │ │ ├── favicons │ │ │ │ ├── SyncFaviconsFetchingStore.kt │ │ │ │ └── SyncFaviconsFethcingPrompt.kt │ │ │ │ ├── internal │ │ │ │ ├── SyncInternalEnvDataStore.kt │ │ │ │ └── SyncInternalEnvInterceptor.kt │ │ │ │ ├── pixels │ │ │ │ ├── SyncDailyReportingWorker.kt │ │ │ │ ├── SyncPixelParamRemovalPlugin.kt │ │ │ │ └── SyncPixels.kt │ │ │ │ ├── promotion │ │ │ │ ├── SyncGetOnOtherPlatformsActivity.kt │ │ │ │ ├── SyncGetOnOtherPlatformsViewModel.kt │ │ │ │ ├── SyncPromotionDataStore.kt │ │ │ │ ├── SyncPromotionFeature.kt │ │ │ │ ├── SyncPromotions.kt │ │ │ │ ├── bookmarks │ │ │ │ │ ├── SyncBookmarksPromotion.kt │ │ │ │ │ └── SyncBookmarksPromotionViewModel.kt │ │ │ │ └── passwords │ │ │ │ │ ├── SyncPasswordsPromotion.kt │ │ │ │ │ └── SyncPasswordsPromotionViewModel.kt │ │ │ │ ├── rmf │ │ │ │ ├── SyncJsonMatchingAttributeMapper.kt │ │ │ │ └── SyncMatchingAttributes.kt │ │ │ │ ├── stats │ │ │ │ └── SyncStatsRepository.kt │ │ │ │ ├── triggers │ │ │ │ ├── AppLifecycleSyncObserver.kt │ │ │ │ └── SyncBackgroundWorker.kt │ │ │ │ └── ui │ │ │ │ ├── DeviceUnsupportedActivity.kt │ │ │ │ ├── EnterCodeActivity.kt │ │ │ │ ├── EnterCodeViewModel.kt │ │ │ │ ├── SyncActivity.kt │ │ │ │ ├── SyncActivityViewModel.kt │ │ │ │ ├── SyncConnectActivity.kt │ │ │ │ ├── SyncConnectViewModel.kt │ │ │ │ ├── SyncDisabledView.kt │ │ │ │ ├── SyncDisabledViewModel.kt │ │ │ │ ├── SyncErrorMessagePlugin.kt │ │ │ │ ├── SyncErrorView.kt │ │ │ │ ├── SyncErrorViewModel.kt │ │ │ │ ├── SyncInternalSettingsActivity.kt │ │ │ │ ├── SyncInternalSettingsViewModel.kt │ │ │ │ ├── SyncLoginActivity.kt │ │ │ │ ├── SyncLoginViewModel.kt │ │ │ │ ├── SyncWithAnotherActivityViewModel.kt │ │ │ │ ├── SyncWithAnotherDeviceActivity.kt │ │ │ │ ├── SyncedDevicesAdapter.kt │ │ │ │ ├── qrcode │ │ │ │ ├── BlurredTextContainer.kt │ │ │ │ ├── SquareDecoratedBarcodeViewModel.kt │ │ │ │ └── SyncBarcodeView.kt │ │ │ │ └── setup │ │ │ │ ├── ConnectFlowContract.kt │ │ │ │ ├── EnterCodeContract.kt │ │ │ │ ├── LoginFlowContract.kt │ │ │ │ ├── SaveRecoveryCodeFragment.kt │ │ │ │ ├── SaveRecoveryCodeViewModel.kt │ │ │ │ ├── SetupAccountActivity.kt │ │ │ │ ├── SetupAccountViewModel.kt │ │ │ │ ├── SetupFlowListener.kt │ │ │ │ ├── SyncCreateAccountFragment.kt │ │ │ │ ├── SyncCreateAccountViewModel.kt │ │ │ │ ├── SyncDeviceConnectedFragment.kt │ │ │ │ ├── SyncDeviceConnectedViewModel.kt │ │ │ │ ├── SyncIntroContract.kt │ │ │ │ ├── SyncSetupIntroFragment.kt │ │ │ │ ├── SyncSetupIntroViewModel.kt │ │ │ │ └── SyncWithAnotherDeviceContract.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── camera_blocked.xml │ │ │ ├── camera_permission.xml │ │ │ ├── circled_accent_background.xml │ │ │ ├── device_not_supported_android_128.xml │ │ │ ├── frame.xml │ │ │ ├── ic_camera_photos_24.xml │ │ │ ├── ic_code_24.xml │ │ │ ├── ic_dax_stacked.xml │ │ │ ├── ic_device_desktop_24.xml │ │ │ ├── ic_device_laptop_24.xml │ │ │ ├── ic_device_mobile_24.xml │ │ │ ├── ic_device_tablet_24.xml │ │ │ ├── ic_document_replace_24.xml │ │ │ ├── ic_download_qr_128.xml │ │ │ ├── ic_duckduckgo_silhouette_onlight_24.xml │ │ │ ├── ic_keyboard_24.xml │ │ │ ├── ic_platform_android_24.xml │ │ │ ├── ic_platform_apple_24.xml │ │ │ ├── ic_qr_24.xml │ │ │ ├── ic_start_stop_24.xml │ │ │ ├── ic_sync_connecting_128.xml │ │ │ ├── ic_sync_device_all_24.xml │ │ │ ├── ic_sync_ok_48.xml │ │ │ ├── ic_sync_recover_128.xml │ │ │ ├── ic_sync_server_128.xml │ │ │ ├── ic_sync_single_device.xml │ │ │ ├── ic_sync_start_128.xml │ │ │ ├── ic_sync_success_128.xml │ │ │ ├── rounded_bottom_corners_background.xml │ │ │ └── rounded_top_corners_solid_accent_background.xml │ │ │ ├── layout │ │ │ ├── activity_connect_sync.xml │ │ │ ├── activity_device_unsupported.xml │ │ │ ├── activity_enter_code.xml │ │ │ ├── activity_internal_sync_settings.xml │ │ │ ├── activity_login_sync.xml │ │ │ ├── activity_sync.xml │ │ │ ├── activity_sync_get_on_other_devices.xml │ │ │ ├── activity_sync_setup_account.xml │ │ │ ├── dialog_edit_device.xml │ │ │ ├── fragment_create_account.xml │ │ │ ├── fragment_device_connected.xml │ │ │ ├── fragment_intro_sync.xml │ │ │ ├── fragment_recovery_code.xml │ │ │ ├── item_connected_device.xml │ │ │ ├── item_sync_device.xml │ │ │ ├── item_sync_device_loading.xml │ │ │ ├── notification_sync_error.xml │ │ │ ├── notification_sync_paused.xml │ │ │ ├── notification_sync_signed_out.xml │ │ │ ├── popup_windows_edit_device_menu.xml │ │ │ ├── popup_windows_remove_device_menu.xml │ │ │ ├── view_blurred_cta.xml │ │ │ ├── view_recovery_code.xml │ │ │ ├── view_square_decorated_barcode.xml │ │ │ ├── view_sync_disabled.xml │ │ │ ├── view_sync_disabled_warning.xml │ │ │ ├── view_sync_enabled.xml │ │ │ ├── view_sync_error_warning.xml │ │ │ └── view_sync_promo.xml │ │ │ ├── values-bg │ │ │ └── strings-sync.xml │ │ │ ├── values-cs │ │ │ └── strings-sync.xml │ │ │ ├── values-da │ │ │ └── strings-sync.xml │ │ │ ├── values-de │ │ │ └── strings-sync.xml │ │ │ ├── values-el │ │ │ └── strings-sync.xml │ │ │ ├── values-es │ │ │ └── strings-sync.xml │ │ │ ├── values-et │ │ │ └── strings-sync.xml │ │ │ ├── values-fi │ │ │ └── strings-sync.xml │ │ │ ├── values-fr │ │ │ └── strings-sync.xml │ │ │ ├── values-hr │ │ │ └── strings-sync.xml │ │ │ ├── values-hu │ │ │ └── strings-sync.xml │ │ │ ├── values-it │ │ │ └── strings-sync.xml │ │ │ ├── values-lt │ │ │ └── strings-sync.xml │ │ │ ├── values-lv │ │ │ └── strings-sync.xml │ │ │ ├── values-nb │ │ │ └── strings-sync.xml │ │ │ ├── values-nl │ │ │ └── strings-sync.xml │ │ │ ├── values-pl │ │ │ └── strings-sync.xml │ │ │ ├── values-pt │ │ │ └── strings-sync.xml │ │ │ ├── values-ro │ │ │ └── strings-sync.xml │ │ │ ├── values-ru │ │ │ └── strings-sync.xml │ │ │ ├── values-sk │ │ │ └── strings-sync.xml │ │ │ ├── values-sl │ │ │ └── strings-sync.xml │ │ │ ├── values-sv │ │ │ └── strings-sync.xml │ │ │ ├── values-tr │ │ │ └── strings-sync.xml │ │ │ └── values │ │ │ ├── attrs-blurred-item.xml │ │ │ ├── dimens.xml │ │ │ ├── donottranslate.xml │ │ │ ├── strings-sync.xml │ │ │ └── styles.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── sync │ │ │ ├── AppSyncDeviceIdsTest.kt │ │ │ ├── TestSyncFixtures.kt │ │ │ └── impl │ │ │ ├── AppDeviceSyncStateTest.kt │ │ │ ├── AppSyncAccountRepositoryTest.kt │ │ │ ├── RealSyncStateMonitorTest.kt │ │ │ ├── SyncCryptoTest.kt │ │ │ ├── SyncRemoteFeatureToggleTest.kt │ │ │ ├── SyncServiceRemoteTest.kt │ │ │ ├── engine │ │ │ ├── FakeNotificationBuilder.kt │ │ │ ├── FakeSyncableDataPersister.kt │ │ │ ├── FakeSyncableDataProvider.kt │ │ │ ├── SyncApiClientTest.kt │ │ │ ├── SyncEngineTest.kt │ │ │ ├── SyncInvalidTokenInterceptorTest.kt │ │ │ ├── SyncSchedulerTest.kt │ │ │ ├── SyncServerUnavailableInterceptorTest.kt │ │ │ ├── SyncStateObserverTest.kt │ │ │ └── SyncStateRepositoryTest.kt │ │ │ ├── error │ │ │ ├── RealSyncUnavailableRepositoryTest.kt │ │ │ ├── SyncApiErrorRecorderTest.kt │ │ │ ├── SyncApiErrorRepositoryTest.kt │ │ │ ├── SyncOperationErrorRecorderTest.kt │ │ │ └── SyncOperationErrorRepositoryTest.kt │ │ │ ├── favicons │ │ │ └── FaviconsFetchingPromptTest.kt │ │ │ ├── pixels │ │ │ └── SyncPixelsTest.kt │ │ │ ├── promotion │ │ │ ├── SyncPromotionDataStoreImplTest.kt │ │ │ └── SyncPromotionsImplTest.kt │ │ │ ├── stats │ │ │ └── SyncStatsRepositoryTest.kt │ │ │ ├── triggers │ │ │ ├── AppLifecycleSyncObserverTest.kt │ │ │ ├── BackgroundSyncWorkerSchedulerTest.kt │ │ │ └── BackgroundSyncWorkerTest.kt │ │ │ └── ui │ │ │ ├── EnterCodeViewModelTest.kt │ │ │ ├── SyncActivityViewModelTest.kt │ │ │ ├── SyncConnectViewModelTest.kt │ │ │ ├── SyncDisabledViewModelTest.kt │ │ │ ├── SyncLoginViewModelTest.kt │ │ │ ├── SyncWithAnotherDeviceViewModelTest.kt │ │ │ ├── qrcode │ │ │ └── SyncBarcodeViewModelTest.kt │ │ │ └── setup │ │ │ ├── SaveRecoveryCodeViewModelTest.kt │ │ │ ├── SetupAccountViewModelTest.kt │ │ │ ├── SyncCreateAccountViewModelTest.kt │ │ │ ├── SyncSetupIntroViewModelTest.kt │ │ │ └── SyncShowRecoveryCodeViewModelTest.kt │ │ └── resources │ │ ├── data_sync_account_create_success.json │ │ ├── data_sync_received_bookmarks.json │ │ └── data_sync_sent_bookmarks.json ├── sync-internal │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── sync │ │ │ └── internal │ │ │ └── InternalSyncFeature.kt │ │ └── res │ │ └── values │ │ └── donottranslate.xml ├── sync-lib │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── sync │ │ │ └── crypto │ │ │ └── SyncNativeLibTest.kt │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── sync │ │ └── crypto │ │ └── SyncNativeLib.kt ├── sync-settings-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── sync │ │ └── settings │ │ └── api │ │ ├── SyncSettingsListener.kt │ │ └── SyncableSetting.kt ├── sync-settings-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── sync │ │ │ └── settings │ │ │ └── impl │ │ │ ├── AppSyncSettingsListener.kt │ │ │ ├── SettingsDatabase.kt │ │ │ ├── SettingsSyncDataObserver.kt │ │ │ ├── SettingsSyncDataPersister.kt │ │ │ ├── SettingsSyncDataProvider.kt │ │ │ ├── SettingsSyncMetadataDao.kt │ │ │ ├── SettingsSyncMetadataEntity.kt │ │ │ ├── SettingsSyncStore.kt │ │ │ ├── StoreModule.kt │ │ │ ├── SyncDateProvider.kt │ │ │ └── UnusedSyncableSetting.kt │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── sync │ │ │ └── settings │ │ │ └── impl │ │ │ ├── FakeCrypto.kt │ │ │ ├── FakeSettingsSyncStore.kt │ │ │ ├── FakeSyncableSetting.kt │ │ │ ├── SettingsSyncDataPersisterTest.kt │ │ │ ├── SettingsSyncDataProviderTest.kt │ │ │ └── SyncableSettingsPluginPoint.kt │ │ └── resources │ │ └── json │ │ ├── settings_with_deleted_object_response.json │ │ └── settings_with_values_response.json └── sync-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── sync │ │ └── store │ │ ├── SharedPrefsProvider.kt │ │ ├── SyncDatabase.kt │ │ ├── SyncStore.kt │ │ ├── SyncUnavailableStore.kt │ │ ├── dao │ │ ├── SyncApiErrorDao.kt │ │ ├── SyncAttemptDao.kt │ │ └── SyncOperationErrorDao.kt │ │ └── model │ │ └── SyncDatabaseModels.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── sync │ └── store │ ├── SyncSharedPrefsStoreTest.kt │ ├── SyncUnavailableSharedPrefsStoreTest.kt │ ├── TestSharedPrefsProvider.kt │ └── dao │ └── SyncApiErrorDaoTest.kt ├── traces ├── readme.md ├── traces-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── traces │ │ └── api │ │ └── StartupTraces.kt └── traces-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── duckduckgo │ └── traces │ └── impl │ ├── AppStartUpTracer.kt │ └── RealStartupTraces.kt ├── user-agent ├── readme.md ├── user-agent-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── user │ │ └── agent │ │ └── api │ │ ├── ClientBrandHintProvider.kt │ │ └── UserAgentProvider.kt ├── user-agent-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── user │ │ │ └── agent │ │ │ └── impl │ │ │ ├── ClientBrandHintProvider.kt │ │ │ ├── RealUserAgent.kt │ │ │ ├── UserAgentFeature.kt │ │ │ ├── UserAgentFeatureTogglesPlugin.kt │ │ │ ├── UserAgentInterceptor.kt │ │ │ ├── UserAgentNameUtil.kt │ │ │ ├── UserAgentPlugin.kt │ │ │ ├── UserAgentProvider.kt │ │ │ ├── di │ │ │ ├── ClientBrandHintModule.kt │ │ │ └── UserAgentModule.kt │ │ │ ├── remoteconfig │ │ │ ├── ClientBrandHintFeature.kt │ │ │ ├── ClientBrandHintFeatureModels.kt │ │ │ ├── ClientBrandHintFeatureSettingsRepository.kt │ │ │ └── ClientBrandHintFeatureSettingsStore.kt │ │ │ └── store │ │ │ ├── ClientBrandHintDao.kt │ │ │ ├── ClientBrandHintDatabase.kt │ │ │ └── ClientBrandHintDatabaseModels.kt │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── duckduckgo │ │ │ └── user │ │ │ └── agent │ │ │ └── impl │ │ │ ├── RealUserAgentTest.kt │ │ │ ├── UserAgentFakePluginPoint.kt │ │ │ ├── UserAgentPluginTest.kt │ │ │ └── UserAgentProviderTest.kt │ │ └── resources │ │ └── json │ │ ├── useragent.json │ │ ├── useragent_disabled.json │ │ └── useragent_min_supported_version.json └── user-agent-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── user │ │ └── agent │ │ └── store │ │ ├── UserAgentDatabase.kt │ │ ├── UserAgentDatabaseModels.kt │ │ ├── UserAgentExceptionsDao.kt │ │ ├── UserAgentFeatureName.kt │ │ ├── UserAgentFeatureToggleRepository.kt │ │ ├── UserAgentFeatureToggleStore.kt │ │ └── UserAgentRepository.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── user │ └── agent │ └── store │ ├── RealUserAgentFeatureToggleRepositoryTest.kt │ └── RealUserAgentRepositoryTest.kt ├── verified-installation ├── readme.md ├── verified-installation-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── verifiedinstallation │ │ └── IsVerifiedPlayStoreInstall.kt └── verified-installation-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── verifiedinstallation │ │ ├── IsVerifiedPlayStoreInstallImpl.kt │ │ ├── apppackage │ │ └── VerificationCheckAppPackage.kt │ │ ├── buildtype │ │ └── VerificationCheckBuildType.kt │ │ ├── certificate │ │ ├── SigningCertificateHashExtractor.kt │ │ └── VerificationCheckBuildCertificate.kt │ │ └── installsource │ │ ├── InstallSourceExtractor.kt │ │ └── VerificationCheckPlayStoreInstall.kt │ └── test │ └── kotlin │ └── com │ └── duckduckgo │ └── verifiedinstallation │ ├── apppackage │ └── VerificationCheckAppPackageImplTest.kt │ ├── buildtype │ └── VerificationCheckBuildTypeImplTest.kt │ ├── certificate │ └── VerificationCheckBuildCertificateImplTest.kt │ └── installsource │ └── VerificationCheckPlayStoreInstallImplTest.kt ├── versioning.gradle ├── versions.properties ├── voice-search ├── readme.md ├── voice-search-api │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── voice │ │ └── api │ │ ├── VoiceSearchAvailability.kt │ │ ├── VoiceSearchAvailabilityPixelLogger.kt │ │ ├── VoiceSearchLauncher.kt │ │ └── VoiceSearchStatusListener.kt ├── voice-search-impl │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duckduckgo │ │ │ │ └── voice │ │ │ │ └── impl │ │ │ │ ├── ActivityResultLauncherWrapper.kt │ │ │ │ ├── PermissionAwareVoiceSearchLauncher.kt │ │ │ │ ├── PermissionRationale.kt │ │ │ │ ├── PermissionRequest.kt │ │ │ │ ├── RealVoiceSearchAvailability.kt │ │ │ │ ├── RealVoiceSearchAvailabilityPixelLogger.kt │ │ │ │ ├── RealVoiceStateReporterPlugin.kt │ │ │ │ ├── VoiceSearchActivityLauncher.kt │ │ │ │ ├── VoiceSearchAvailabilityConfig.kt │ │ │ │ ├── VoiceSearchPermissionCheck.kt │ │ │ │ ├── VoiceSearchPermissionDialogsLauncher.kt │ │ │ │ ├── VoiceSearchPixelNames.kt │ │ │ │ ├── di │ │ │ │ └── VoiceSearchModule.kt │ │ │ │ ├── language │ │ │ │ ├── LanguageSupportChecker.kt │ │ │ │ ├── LanguageSupportCheckerDelegate.kt │ │ │ │ └── LocaleChangeReceiver.kt │ │ │ │ ├── listeningmode │ │ │ │ ├── OnDeviceSpeechRecognizer.kt │ │ │ │ ├── VoiceSearchActivity.kt │ │ │ │ ├── VoiceSearchViewModel.kt │ │ │ │ └── ui │ │ │ │ │ ├── VoiceRecognizingIndicator.kt │ │ │ │ │ └── VoiceSearchBackgroundBlurRenderer.kt │ │ │ │ ├── remoteconfig │ │ │ │ ├── VoiceSearchFeature.kt │ │ │ │ ├── VoiceSearchFeatureModels.kt │ │ │ │ ├── VoiceSearchFeatureRepository.kt │ │ │ │ └── VoiceSearchFeatureSettingStore.kt │ │ │ │ └── rmf │ │ │ │ └── VoiceSearchAttributeMatcher.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── background_voice_search_indicator.xml │ │ │ ├── background_voice_search_pulse.xml │ │ │ ├── ic_microphone_dark.xml │ │ │ ├── ic_microphone_filled_dark.xml │ │ │ ├── ic_microphone_light.xml │ │ │ └── ic_microphone_widget_daynight.xml │ │ │ ├── layout-land │ │ │ └── activity_voice_search.xml │ │ │ ├── layout │ │ │ ├── activity_voice_search.xml │ │ │ └── view_voice_recognizing_indicator.xml │ │ │ ├── values-bg │ │ │ └── strings-voice-search.xml │ │ │ ├── values-cs │ │ │ └── strings-voice-search.xml │ │ │ ├── values-da │ │ │ └── strings-voice-search.xml │ │ │ ├── values-de │ │ │ └── strings-voice-search.xml │ │ │ ├── values-el │ │ │ └── strings-voice-search.xml │ │ │ ├── values-es │ │ │ └── strings-voice-search.xml │ │ │ ├── values-et │ │ │ └── strings-voice-search.xml │ │ │ ├── values-fi │ │ │ └── strings-voice-search.xml │ │ │ ├── values-fr │ │ │ └── strings-voice-search.xml │ │ │ ├── values-hr │ │ │ └── strings-voice-search.xml │ │ │ ├── values-hu │ │ │ └── strings-voice-search.xml │ │ │ ├── values-it │ │ │ └── strings-voice-search.xml │ │ │ ├── values-lt │ │ │ └── strings-voice-search.xml │ │ │ ├── values-lv │ │ │ └── strings-voice-search.xml │ │ │ ├── values-nb │ │ │ └── strings-voice-search.xml │ │ │ ├── values-nl │ │ │ └── strings-voice-search.xml │ │ │ ├── values-pl │ │ │ └── strings-voice-search.xml │ │ │ ├── values-pt │ │ │ └── strings-voice-search.xml │ │ │ ├── values-ro │ │ │ └── strings-voice-search.xml │ │ │ ├── values-ru │ │ │ └── strings-voice-search.xml │ │ │ ├── values-sk │ │ │ └── strings-voice-search.xml │ │ │ ├── values-sl │ │ │ └── strings-voice-search.xml │ │ │ ├── values-sv │ │ │ └── strings-voice-search.xml │ │ │ ├── values-tr │ │ │ └── strings-voice-search.xml │ │ │ └── values │ │ │ └── strings-voice-search.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── voice │ │ └── impl │ │ ├── MicrophonePermissionRequestTest.kt │ │ ├── PermissionAwareVoiceSearchLauncherTest.kt │ │ ├── RealVoiceSearchActivityLauncherTest.kt │ │ ├── RealVoiceSearchAvailabilityPixelLoggerTest.kt │ │ ├── RealVoiceSearchAvailabilityTest.kt │ │ ├── fakes │ │ ├── FakeActivityResultLauncherWrapper.kt │ │ └── FakeVoiceSearchPermissionDialogsLauncher.kt │ │ ├── language │ │ └── RealLanguageSupportCheckerTest.kt │ │ ├── listeningmode │ │ └── VoiceSearchViewModelTest.kt │ │ └── remoteconfig │ │ └── RealVoiceSearchFeatureRepositoryTest.kt └── voice-search-store │ ├── .gitignore │ ├── build.gradle │ ├── lint-baseline.xml │ ├── schemas │ └── com.duckduckgo.voice.store.VoiceSearchDatabase │ │ └── 1.json │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── voice │ │ └── store │ │ ├── VoiceSearchDao.kt │ │ ├── VoiceSearchDataStore.kt │ │ ├── VoiceSearchDatabase.kt │ │ ├── VoiceSearchDatabaseModels.kt │ │ └── VoiceSearchRepository.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── voice │ └── store │ └── RealVoiceSearchRepositoryTest.kt ├── vpn-network ├── readme.md ├── vpn-network-api │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── vpn │ │ └── network │ │ └── api │ │ ├── VpnNetwork.kt │ │ └── VpnNetworkCallback.kt └── vpn-network-impl │ ├── build.gradle │ ├── lint-baseline.xml │ └── src │ └── main │ └── java │ └── com │ └── duckduckgo │ └── vpn │ └── network │ └── impl │ ├── ModelExtensions.kt │ ├── RealVpnNetwork.kt │ └── models │ ├── Allowed.kt │ ├── Packet.kt │ ├── ResourceRecord.kt │ └── Usage.kt ├── web-compat ├── readme.md ├── web-compat-impl │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── duckduckgo │ │ │ └── webcompat │ │ │ └── impl │ │ │ ├── WebCompatContentScopeConfigPlugin.kt │ │ │ ├── WebCompatFeatureName.kt │ │ │ ├── WebCompatFeatureNameUtil.kt │ │ │ ├── WebCompatFeaturePlugin.kt │ │ │ └── di │ │ │ └── WebCompatModule.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── webcompat │ │ └── impl │ │ ├── WebCompatContentScopeConfigPluginTest.kt │ │ └── WebCompatFeaturePluginTest.kt └── web-compat-store │ ├── .gitignore │ ├── build.gradle │ └── src │ ├── main │ └── java │ │ └── com │ │ └── duckduckgo │ │ └── webcompat │ │ └── store │ │ ├── WebCompatDao.kt │ │ ├── WebCompatDatabase.kt │ │ ├── WebCompatEntity.kt │ │ └── WebCompatRepository.kt │ └── test │ └── java │ └── com │ └── duckduckgo │ └── webcompat │ └── store │ └── WebCompatRepositoryTest.kt └── windows ├── readme.md ├── windows-api ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── duckduckgo │ └── windows │ └── api │ └── ui │ └── WindowsScreens.kt └── windows-impl ├── .gitignore ├── build.gradle ├── lint-baseline.xml └── src ├── main ├── AndroidManifest.xml ├── java │ └── com │ │ └── duckduckgo │ │ └── windows │ │ └── impl │ │ ├── WindowsDownloadLinkOrigin.kt │ │ ├── WindowsLinkShareBroadcastReceiver.kt │ │ ├── WindowsPixelNames.kt │ │ └── ui │ │ ├── WindowsActivity.kt │ │ └── WindowsViewModel.kt └── res │ ├── layout │ └── activity_windows.xml │ ├── values-bg │ └── strings-windows.xml │ ├── values-cs │ └── strings-windows.xml │ ├── values-da │ └── strings-windows.xml │ ├── values-de │ └── strings-windows.xml │ ├── values-el │ └── strings-windows.xml │ ├── values-es │ └── strings-windows.xml │ ├── values-et │ └── strings-windows.xml │ ├── values-fi │ └── strings-windows.xml │ ├── values-fr │ └── strings-windows.xml │ ├── values-hr │ └── strings-windows.xml │ ├── values-hu │ └── strings-windows.xml │ ├── values-it │ └── strings-windows.xml │ ├── values-lt │ └── strings-windows.xml │ ├── values-lv │ └── strings-windows.xml │ ├── values-nb │ └── strings-windows.xml │ ├── values-nl │ └── strings-windows.xml │ ├── values-pl │ └── strings-windows.xml │ ├── values-pt │ └── strings-windows.xml │ ├── values-ro │ └── strings-windows.xml │ ├── values-ru │ └── strings-windows.xml │ ├── values-sk │ └── strings-windows.xml │ ├── values-sl │ └── strings-windows.xml │ ├── values-sv │ └── strings-windows.xml │ ├── values-tr │ └── strings-windows.xml │ └── values │ └── strings-windows.xml └── test └── java └── com └── duckduckgo └── windows └── impl └── ui └── WindowsViewModelTest.kt /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.editorconfig -------------------------------------------------------------------------------- /.githooks/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.githooks/pre-commit -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/ISSUE_TEMPLATE/bug_report.yaml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/actions/assign-release-task/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/actions/assign-release-task/action.yml -------------------------------------------------------------------------------- /.github/actions/check-for-changes-since-tag/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/actions/check-for-changes-since-tag/action.yml -------------------------------------------------------------------------------- /.github/issue-reply-template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/issue-reply-template.md -------------------------------------------------------------------------------- /.github/pr-reply-template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/pr-reply-template.md -------------------------------------------------------------------------------- /.github/workflows/action-issue-opened.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/action-issue-opened.yaml -------------------------------------------------------------------------------- /.github/workflows/action-pr-merged.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/action-pr-merged.yaml -------------------------------------------------------------------------------- /.github/workflows/action-pr-opened.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/action-pr-opened.yaml -------------------------------------------------------------------------------- /.github/workflows/ads-end-to-end.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/ads-end-to-end.yml -------------------------------------------------------------------------------- /.github/workflows/build-debug-apk.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/build-debug-apk.yaml -------------------------------------------------------------------------------- /.github/workflows/build-fdroid-apk.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/build-fdroid-apk.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/custom-tabs-nightly.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/custom-tabs-nightly.yml -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/e2e-nightly-autofill.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/e2e-nightly-autofill.yml -------------------------------------------------------------------------------- /.github/workflows/end-to-end-robintest.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/end-to-end-robintest.yml -------------------------------------------------------------------------------- /.github/workflows/end-to-end.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/end-to-end.yml -------------------------------------------------------------------------------- /.github/workflows/external-css-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/external-css-tests.yml -------------------------------------------------------------------------------- /.github/workflows/external-ref-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/external-ref-tests.yml -------------------------------------------------------------------------------- /.github/workflows/nightly.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/nightly.yml -------------------------------------------------------------------------------- /.github/workflows/pr-review-notifications.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/pr-review-notifications.yaml -------------------------------------------------------------------------------- /.github/workflows/privacy-dashboard-end-to-end.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/privacy-dashboard-end-to-end.yml -------------------------------------------------------------------------------- /.github/workflows/privacy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/privacy.yml -------------------------------------------------------------------------------- /.github/workflows/release_create_tag.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/release_create_tag.yml -------------------------------------------------------------------------------- /.github/workflows/release_create_task.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/release_create_task.yml -------------------------------------------------------------------------------- /.github/workflows/release_nightly.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/release_nightly.yml -------------------------------------------------------------------------------- /.github/workflows/release_production.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/release_production.yml -------------------------------------------------------------------------------- /.github/workflows/release_report_error.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/release_report_error.yml -------------------------------------------------------------------------------- /.github/workflows/release_tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/release_tests.yml -------------------------------------------------------------------------------- /.github/workflows/release_update_release_notes.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/release_update_release_notes.yml -------------------------------------------------------------------------------- /.github/workflows/release_upload_play_store.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/release_upload_play_store.yml -------------------------------------------------------------------------------- /.github/workflows/sync-critical-path.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/sync-critical-path.yml -------------------------------------------------------------------------------- /.github/workflows/update-content-scope.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/update-content-scope.yml -------------------------------------------------------------------------------- /.github/workflows/update-ref-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.github/workflows/update-ref-tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.gitmodules -------------------------------------------------------------------------------- /.idea/copyright/Apache_2_0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.idea/copyright/Apache_2_0.xml -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.idea/copyright/profiles_settings.xml -------------------------------------------------------------------------------- /.idea/icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.idea/icon.svg -------------------------------------------------------------------------------- /.maestro/app_tp/app_tp_onboarding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/app_tp/app_tp_onboarding.yaml -------------------------------------------------------------------------------- /.maestro/autofill/0_all.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/autofill/0_all.yaml -------------------------------------------------------------------------------- /.maestro/autofill/1_autofill_shown_in_overflow.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/autofill/1_autofill_shown_in_overflow.yaml -------------------------------------------------------------------------------- /.maestro/autofill/smoke.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/autofill/smoke.yaml -------------------------------------------------------------------------------- /.maestro/autofill/steps/2_script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/autofill/steps/2_script.js -------------------------------------------------------------------------------- /.maestro/autofill/steps/access_passwords_screen.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/autofill/steps/access_passwords_screen.yaml -------------------------------------------------------------------------------- /.maestro/autofill/steps/delete_logins.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/autofill/steps/delete_logins.yaml -------------------------------------------------------------------------------- /.maestro/autofill/steps/manual_update.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/autofill/steps/manual_update.yaml -------------------------------------------------------------------------------- /.maestro/autofill/steps/search_logins.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/autofill/steps/search_logins.yaml -------------------------------------------------------------------------------- /.maestro/bookmarks/open_bookmark_and_navigate_back.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/bookmarks/open_bookmark_and_navigate_back.yaml -------------------------------------------------------------------------------- /.maestro/browsing/visit_site.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/browsing/visit_site.yaml -------------------------------------------------------------------------------- /.maestro/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/config.yaml -------------------------------------------------------------------------------- /.maestro/custom_tabs/custom_tabs_navigation.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/custom_tabs/custom_tabs_navigation.yaml -------------------------------------------------------------------------------- /.maestro/favorites/favorites_bookmarks_add.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/favorites/favorites_bookmarks_add.yaml -------------------------------------------------------------------------------- /.maestro/favorites/favorites_bookmarks_delete.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/favorites/favorites_bookmarks_delete.yaml -------------------------------------------------------------------------------- /.maestro/fire_button/fire_during_onboarding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/fire_button/fire_during_onboarding.yaml -------------------------------------------------------------------------------- /.maestro/privacy_tests/6_-_Multi-tab.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/privacy_tests/6_-_Multi-tab.yaml -------------------------------------------------------------------------------- /.maestro/privacy_tests/9_-_Navigation_with_refresh.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/privacy_tests/9_-_Navigation_with_refresh.yaml -------------------------------------------------------------------------------- /.maestro/shared/onboarding.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/shared/onboarding.yaml -------------------------------------------------------------------------------- /.maestro/shared/open_bookmarks.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/shared/open_bookmarks.yaml -------------------------------------------------------------------------------- /.maestro/shared/open_sync_dev_settings_screen.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/shared/open_sync_dev_settings_screen.yaml -------------------------------------------------------------------------------- /.maestro/shared/open_sync_screen.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/shared/open_sync_screen.yaml -------------------------------------------------------------------------------- /.maestro/sync_flows/create_account.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/sync_flows/create_account.yaml -------------------------------------------------------------------------------- /.maestro/sync_flows/delete_server_data.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/sync_flows/delete_server_data.yaml -------------------------------------------------------------------------------- /.maestro/sync_flows/recover_account.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/sync_flows/recover_account.yaml -------------------------------------------------------------------------------- /.maestro/sync_flows/steps/action_add_new_device.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/sync_flows/steps/action_add_new_device.yaml -------------------------------------------------------------------------------- /.maestro/sync_flows/steps/action_disable_sync.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/sync_flows/steps/action_disable_sync.yaml -------------------------------------------------------------------------------- /.maestro/sync_flows/steps/action_recover_account.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/sync_flows/steps/action_recover_account.yaml -------------------------------------------------------------------------------- /.maestro/sync_flows/sync_data.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/sync_flows/sync_data.yaml -------------------------------------------------------------------------------- /.maestro/tabs/open_multiple_tabs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/.maestro/tabs/open_multiple_tabs.yaml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/LICENSE -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/NOTICE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/README.md -------------------------------------------------------------------------------- /STYLEGUIDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/STYLEGUIDE.md -------------------------------------------------------------------------------- /TRANSLATIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/TRANSLATIONS.md -------------------------------------------------------------------------------- /ad-click/ad-click-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /ad-click/ad-click-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/ad-click/ad-click-api/build.gradle -------------------------------------------------------------------------------- /ad-click/ad-click-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /ad-click/ad-click-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/ad-click/ad-click-impl/build.gradle -------------------------------------------------------------------------------- /ad-click/ad-click-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/ad-click/ad-click-impl/lint-baseline.xml -------------------------------------------------------------------------------- /ad-click/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/ad-click/readme.md -------------------------------------------------------------------------------- /anrs/anrs-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /anrs/anrs-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-api/build.gradle -------------------------------------------------------------------------------- /anrs/anrs-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /anrs/anrs-impl/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-impl/CMakeLists.txt -------------------------------------------------------------------------------- /anrs/anrs-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-impl/build.gradle -------------------------------------------------------------------------------- /anrs/anrs-impl/src/main/cpp/android.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-impl/src/main/cpp/android.h -------------------------------------------------------------------------------- /anrs/anrs-impl/src/main/cpp/jni.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-impl/src/main/cpp/jni.cpp -------------------------------------------------------------------------------- /anrs/anrs-impl/src/main/cpp/ndk-crash.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-impl/src/main/cpp/ndk-crash.cpp -------------------------------------------------------------------------------- /anrs/anrs-impl/src/main/cpp/ndk-crash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-impl/src/main/cpp/ndk-crash.h -------------------------------------------------------------------------------- /anrs/anrs-impl/src/main/cpp/pixel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-impl/src/main/cpp/pixel.cpp -------------------------------------------------------------------------------- /anrs/anrs-impl/src/main/cpp/pixel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-impl/src/main/cpp/pixel.h -------------------------------------------------------------------------------- /anrs/anrs-internal/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-internal/build.gradle -------------------------------------------------------------------------------- /anrs/anrs-internal/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-internal/lint-baseline.xml -------------------------------------------------------------------------------- /anrs/anrs-internal/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-internal/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /anrs/anrs-internal/src/main/res/layout/item_anr.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-internal/src/main/res/layout/item_anr.xml -------------------------------------------------------------------------------- /anrs/anrs-internal/src/main/res/layout/item_crash.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-internal/src/main/res/layout/item_crash.xml -------------------------------------------------------------------------------- /anrs/anrs-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /anrs/anrs-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/anrs-store/build.gradle -------------------------------------------------------------------------------- /anrs/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anrs/readme.md -------------------------------------------------------------------------------- /anvil/anvil-annotations/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anvil/anvil-annotations/build.gradle -------------------------------------------------------------------------------- /anvil/anvil-compiler/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anvil/anvil-compiler/build.gradle -------------------------------------------------------------------------------- /anvil/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/anvil/readme.md -------------------------------------------------------------------------------- /app-build-config/app-build-config-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app-build-config/app-build-config-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-build-config/app-build-config-api/build.gradle -------------------------------------------------------------------------------- /app-build-config/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-build-config/readme.md -------------------------------------------------------------------------------- /app-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-store/build.gradle -------------------------------------------------------------------------------- /app-tracking-protection/app-tracking-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app-tracking-protection/app-tracking-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/app-tracking-api/build.gradle -------------------------------------------------------------------------------- /app-tracking-protection/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/readme.md -------------------------------------------------------------------------------- /app-tracking-protection/vpn-api-test/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/vpn-api-test/build.gradle -------------------------------------------------------------------------------- /app-tracking-protection/vpn-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app-tracking-protection/vpn-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/vpn-api/build.gradle -------------------------------------------------------------------------------- /app-tracking-protection/vpn-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app-tracking-protection/vpn-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/vpn-impl/build.gradle -------------------------------------------------------------------------------- /app-tracking-protection/vpn-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/vpn-impl/lint-baseline.xml -------------------------------------------------------------------------------- /app-tracking-protection/vpn-impl/src/test/resources/proc_net/invalid_proc_net_empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app-tracking-protection/vpn-internal/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app-tracking-protection/vpn-internal/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/vpn-internal/build.gradle -------------------------------------------------------------------------------- /app-tracking-protection/vpn-internal/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/vpn-internal/lint-baseline.xml -------------------------------------------------------------------------------- /app-tracking-protection/vpn-store-test/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/vpn-store-test/build.gradle -------------------------------------------------------------------------------- /app-tracking-protection/vpn-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app-tracking-protection/vpn-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app-tracking-protection/vpn-store/build.gradle -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/lint-baseline.xml -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/fdroid/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/fdroid/res/xml/network_security_config.xml -------------------------------------------------------------------------------- /app/src/internal/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/internal/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/internal/res/layout/activity_audit_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/internal/res/layout/activity_audit_settings.xml -------------------------------------------------------------------------------- /app/src/internal/res/layout/activity_dev_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/internal/res/layout/activity_dev_settings.xml -------------------------------------------------------------------------------- /app/src/internal/res/layout/activity_notifications.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/internal/res/layout/activity_notifications.xml -------------------------------------------------------------------------------- /app/src/internal/res/values/donottranslate.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/internal/res/values/donottranslate.xml -------------------------------------------------------------------------------- /app/src/internal/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/internal/res/xml/network_security_config.xml -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/browser/autofill/AutofillCredentialsSelectionResultHandler.kt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/browser/webview/WebViewFeatureFlagReporter.kt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/cta/ui/Cta.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/cta/ui/Cta.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/di/AppComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/di/AppComponent.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/di/DaoModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/di/DaoModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/di/FileModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/di/FileModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/di/JobsModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/di/JobsModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/di/JsonModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/di/JsonModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/di/StoreModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/di/StoreModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/di/WidgetModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/di/WidgetModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/di/WorkerModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/di/WorkerModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/job/JobCleaner.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/job/JobCleaner.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/app/tabs/db/TabsDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/app/tabs/db/TabsDao.kt -------------------------------------------------------------------------------- /app/src/main/java/com/duckduckgo/widget/SearchWidget.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/java/com/duckduckgo/widget/SearchWidget.kt -------------------------------------------------------------------------------- /app/src/main/res/anim/tab_anim_fade_out.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/anim/tab_anim_fade_out.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_happy_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-hdpi/ic_happy_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_sad_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-hdpi/ic_sad_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_fire_glyph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-hdpi/icon_fire_glyph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/logo_mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-hdpi/logo_mini.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_happy_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-mdpi/ic_happy_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_sad_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-mdpi/ic_sad_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon_fire_glyph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-mdpi/icon_fire_glyph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/logo_mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-mdpi/logo_mini.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_happy_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xhdpi/ic_happy_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_sad_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xhdpi/ic_sad_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/icon_fire_glyph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xhdpi/icon_fire_glyph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/logo_mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xhdpi/logo_mini.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_happy_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xxhdpi/ic_happy_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_sad_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xxhdpi/ic_sad_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_fire_glyph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xxhdpi/icon_fire_glyph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/logo_mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xxhdpi/logo_mini.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_happy_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xxxhdpi/ic_happy_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_sad_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xxxhdpi/ic_sad_face.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/icon_fire_glyph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xxxhdpi/icon_fire_glyph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/logo_mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable-xxxhdpi/logo_mini.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/add_widget_cta_icon.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/add_widget_cta_icon.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_app_icon.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/background_app_icon.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_grey_border.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/background_grey_border.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/broken_bike.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/broken_bike.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/contact_us.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/contact_us.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/cross_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/cross_24.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_bookmarks.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_app_shortcut_bookmarks.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_fire.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_app_shortcut_fire.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_new_tab.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_app_shortcut_new_tab.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_autocomplete_20dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_autocomplete_20dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_autocomplete_down_20dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_autocomplete_down_20dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_beta_pill.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_beta_pill.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bookmark_20.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_bookmark_20.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bookmark_favorite_20.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_bookmark_favorite_20.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bookmarks.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_bookmarks.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_check.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_check.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_circle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_circle.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_circle_pulse.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_circle_pulse.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_circle_pulse_blue.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_circle_pulse_blue.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_comparison_chart_ads.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_comparison_chart_ads.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_comparison_chart_fire.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_comparison_chart_fire.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ddg_comparison_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_ddg_comparison_chart.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_device_shield_tile.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_device_shield_tile.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_document_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_document_24.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_download_image.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_download_image.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_duckplayer.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_duckplayer.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_empty_drawable.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_empty_drawable.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_find_search_20.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_find_search_20.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_find_search_20_a05.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_find_search_20_a05.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_find_search_20_dark.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_find_search_20_dark.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_find_search_20_light.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_find_search_20_light.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_fire.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_fire.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_fire_red.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_fire_red.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_folder_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_folder_24.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_folder_add_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_folder_add_24.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_globe_20.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_globe_20.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_grid_view_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_grid_view_24.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_history.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_history.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_list_view_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_list_view_24.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_more_trackers.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_more_trackers.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_newtab.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_newtab.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_share.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_share.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_shield.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_shield.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_shield_alert_128.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_shield_alert_128.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_shortcut_downloads.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_shortcut_downloads.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_shortcut_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_shortcut_settings.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_sites_empty.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_sites_empty.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_success.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_success.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_success_128.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_success_128.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_switch_to_tab_20.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_switch_to_tab_20.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tabs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/ic_tabs.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/layer_list_find_in_page.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/layer_list_find_in_page.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/loading_progress.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/loading_progress.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_adform.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_adform.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_adobe_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_adobe_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_amobee_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_amobee_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_appnexus_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_appnexus_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_blank.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_blank.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_centro_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_centro_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_chartbeat.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_chartbeat.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_cloudflare.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_cloudflare.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_comscore_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_comscore_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_critero_sa.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_critero_sa.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_dataxu_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_dataxu_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_facebook_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_facebook_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_google_ads.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_google_ads.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_google_llc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_google_llc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_hotjar_ltd.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_hotjar_ltd.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_instagram.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_instagram.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_iponweb_gmbh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_iponweb_gmbh.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_linkedin.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_linkedin.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_mixpanel_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_mixpanel_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_more.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_more.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_neustar_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_neustar_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_new_relic.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_new_relic.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_outbrain.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_outbrain.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_pubmatic_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_pubmatic_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_spotx_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_spotx_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_stackpath.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_stackpath.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_tapad_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_tapad_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_towerdata.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_towerdata.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_twitter_inc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_twitter_inc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_xaxis.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_xaxis.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_yandex_llc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_yandex_llc.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/network_logo_youtube.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/network_logo_youtube.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/networks_icon_bad.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/networks_icon_bad.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/networks_icon_bad_large.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/networks_icon_bad_large.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/networks_icon_good.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/networks_icon_good.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/networks_icon_good_large.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/networks_icon_good_large.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/networks_icon_neutral.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/networks_icon_neutral.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/notification_fire.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/notification_fire.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/notification_sheild_lock.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/notification_sheild_lock.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/search_ok_128.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/search_ok_128.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/selected_icon_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/selected_icon_background.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/shield_check_128.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/shield_check_128.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/status_check.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/status_check.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/suggestions_divider.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/suggestions_divider.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/survey_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/survey_background.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/survey_cta_icon.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/survey_cta_icon.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/tab_unread_indicator.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/tab_unread_indicator.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/we_hatched.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/we_hatched.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/web_tracking_header_image.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/drawable/web_tracking_header_image.xml -------------------------------------------------------------------------------- /app/src/main/res/layout-w600dp/view_ssl_warning.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout-w600dp/view_ssl_warning.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_about_duck_duck_go.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_about_duck_duck_go.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_allowlist.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_allowlist.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_app_icons.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_app_icons.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_appearance.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_appearance.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_broken_site.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_broken_site.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_browser.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_browser.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_custom_tab.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_custom_tab.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_data_clearing.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_data_clearing.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_downloads.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_downloads.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_email_unsupported.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_email_unsupported.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_fire_animation.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_fire_animation.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_fire_button.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_fire_button.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_fireproof_websites.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_fireproof_websites.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_general_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_general_settings.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_launch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_launch.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_onboarding.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_onboarding.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_permissions.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_permissions.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_private_search.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_private_search.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_settings.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_settings_new.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_settings_new.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_system_search.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_system_search.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_tab_switcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_tab_switcher.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_user_survey.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_user_survey.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_webview.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/activity_webview.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_about_duck_duck_go.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_about_duck_duck_go.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_broken_sites.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_broken_sites.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_feedback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_feedback.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_permissions.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_permissions.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings_about.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings_about.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings_internal.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings_internal.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings_new.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings_new.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings_new_other.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings_new_other.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings_next_steps.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings_next_steps.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings_other.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings_other.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings_privacy.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings_privacy.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_settings_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_settings_settings.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/content_test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/content_test.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/cookie_cosmetic_scene_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/cookie_cosmetic_scene_1.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/cookie_cosmetic_scene_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/cookie_cosmetic_scene_2.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/cookie_scene_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/cookie_scene_1.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/cookie_scene_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/cookie_scene_2.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_edit_allowlist.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/dialog_edit_allowlist.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/empty_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/empty_view.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_browser_tab.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/fragment_browser_tab.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/http_authentication.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/http_authentication.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_custom_tab_toolbar.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/include_custom_tab_toolbar.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_dax_dialog_cta.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/include_dax_dialog_cta.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_error_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/include_error_view.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_find_in_page.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/include_find_in_page.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_new_browser_tab.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/include_new_browser_tab.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_quick_access_items.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/include_quick_access_items.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_app_icon.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/item_app_icon.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_autocomplete_default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/item_autocomplete_default.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_bookmark_folder.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/item_bookmark_folder.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_device_app_suggestion.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/item_device_app_suggestion.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_tab_grid.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/item_tab_grid.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_tab_list.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/item_tab_list.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/popup_window_browser_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/popup_window_browser_menu.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/popup_window_remove_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/popup_window_remove_menu.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/search_widget_dark.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/search_widget_dark.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/search_widget_light.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/search_widget_light.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/sheet_fire_clear_data.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/sheet_fire_clear_data.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_fireproof_title.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_fireproof_title.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_focused_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_focused_view.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_item_downloads_empty.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_item_downloads_empty.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_item_downloads_header.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_item_downloads_header.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_legacy_omnibar.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_legacy_omnibar.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_legacy_omnibar_bottom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_legacy_omnibar_bottom.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_list_item_description.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_list_item_description.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_list_item_empty_hint.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_list_item_empty_hint.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_new_omnibar.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_new_omnibar.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_new_omnibar_bottom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_new_omnibar_bottom.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_new_tab_legacy.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_new_tab_legacy.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_quick_access_item.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_quick_access_item.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_ssl_warning.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_ssl_warning.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_sync_favicons_fetching.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_sync_favicons_fetching.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/view_tab_switcher_button.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/layout/view_tab_switcher_button.xml -------------------------------------------------------------------------------- /app/src/main/res/menu/allowlist_activity_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/menu/allowlist_activity_menu.xml -------------------------------------------------------------------------------- /app/src/main/res/menu/downloads_activity_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/menu/downloads_activity_menu.xml -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_tab_switcher_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/menu/menu_tab_switcher_activity.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher_black.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/mipmap-anydpi/ic_launcher_black.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher_blue.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/mipmap-anydpi/ic_launcher_blue.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher_gold.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/mipmap-anydpi/ic_launcher_gold.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher_green.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/mipmap-anydpi/ic_launcher_green.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher_purple.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/mipmap-anydpi/ic_launcher_purple.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher_red.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/mipmap-anydpi/ic_launcher_red.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/raw/add_widget_instructions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/add_widget_instructions.json -------------------------------------------------------------------------------- /app/src/main/res/raw/blob_converter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/blob_converter.js -------------------------------------------------------------------------------- /app/src/main/res/raw/cookie_banner_dark.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/cookie_banner_dark.json -------------------------------------------------------------------------------- /app/src/main/res/raw/cookie_banner_light.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/cookie_banner_light.json -------------------------------------------------------------------------------- /app/src/main/res/raw/cookie_icon_animated_dark.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/cookie_icon_animated_dark.json -------------------------------------------------------------------------------- /app/src/main/res/raw/cookie_icon_animated_light.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/cookie_icon_animated_light.json -------------------------------------------------------------------------------- /app/src/main/res/raw/dark_protected_shield.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/dark_protected_shield.json -------------------------------------------------------------------------------- /app/src/main/res/raw/dark_trackers.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/dark_trackers.json -------------------------------------------------------------------------------- /app/src/main/res/raw/dark_trackers_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/dark_trackers_1.json -------------------------------------------------------------------------------- /app/src/main/res/raw/dark_trackers_2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/dark_trackers_2.json -------------------------------------------------------------------------------- /app/src/main/res/raw/dark_unprotected_shield.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/dark_unprotected_shield.json -------------------------------------------------------------------------------- /app/src/main/res/raw/hero_abstract_airstream.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/hero_abstract_airstream.json -------------------------------------------------------------------------------- /app/src/main/res/raw/hero_fire_inferno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/hero_fire_inferno.json -------------------------------------------------------------------------------- /app/src/main/res/raw/hero_water_whirlpool.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/hero_water_whirlpool.json -------------------------------------------------------------------------------- /app/src/main/res/raw/inject_alias.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/inject_alias.js -------------------------------------------------------------------------------- /app/src/main/res/raw/isrg_root_x1.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/isrg_root_x1.der -------------------------------------------------------------------------------- /app/src/main/res/raw/isrg_root_x2.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/isrg_root_x2.der -------------------------------------------------------------------------------- /app/src/main/res/raw/lets_encrypt_e1.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/lets_encrypt_e1.der -------------------------------------------------------------------------------- /app/src/main/res/raw/lets_encrypt_r3.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/lets_encrypt_r3.der -------------------------------------------------------------------------------- /app/src/main/res/raw/light_trackers.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/light_trackers.json -------------------------------------------------------------------------------- /app/src/main/res/raw/light_trackers_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/light_trackers_1.json -------------------------------------------------------------------------------- /app/src/main/res/raw/light_trackers_2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/light_trackers_2.json -------------------------------------------------------------------------------- /app/src/main/res/raw/login_form_detection_functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/login_form_detection_functions.js -------------------------------------------------------------------------------- /app/src/main/res/raw/login_form_detection_handlers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/login_form_detection_handlers.js -------------------------------------------------------------------------------- /app/src/main/res/raw/new_tab.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/new_tab.json -------------------------------------------------------------------------------- /app/src/main/res/raw/protected_shield.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/protected_shield.json -------------------------------------------------------------------------------- /app/src/main/res/raw/signout_autofill.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/signout_autofill.js -------------------------------------------------------------------------------- /app/src/main/res/raw/tds.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/tds.json -------------------------------------------------------------------------------- /app/src/main/res/raw/unprotected_shield.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/unprotected_shield.json -------------------------------------------------------------------------------- /app/src/main/res/raw/url_extraction.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/raw/url_extraction.js -------------------------------------------------------------------------------- /app/src/main/res/values-bg/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-bg/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-cs/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-cs/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-da/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-da/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-de/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-de/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-el/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-el/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-es/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-es/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-et/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-et/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-fi/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-fi/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-fr/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-fr/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-hr/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-hr/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-hu/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-hu/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-it/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-it/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-lt/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-lt/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-lv/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-lv/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-nb/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-nb/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-nl/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-nl/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-pl/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-pl/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-pt/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-pt/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-ro/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-ro/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-ru/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-ru/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-sk/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-sk/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-sl/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-sl/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-sv/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-sv/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values-sw600dp-land/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-sw600dp-land/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-sw600dp/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values-tr/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values-tr/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/animation-settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values/animation-settings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/attrs-omnibar-view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values/attrs-omnibar-view.xml -------------------------------------------------------------------------------- /app/src/main/res/values/data-clearing-process.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values/data-clearing-process.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/donottranslate.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values/donottranslate.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/xml/provider_paths.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/search_favorites_widget_info.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/xml/search_favorites_widget_info.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/search_widget_info.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/xml/search_widget_info.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/search_widget_info_light.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/main/res/xml/search_widget_info_light.xml -------------------------------------------------------------------------------- /app/src/play/res/raw/https_mobile_v2_bloom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/play/res/raw/https_mobile_v2_bloom.bin -------------------------------------------------------------------------------- /app/src/play/res/raw/https_mobile_v2_bloom_spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/play/res/raw/https_mobile_v2_bloom_spec.json -------------------------------------------------------------------------------- /app/src/play/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/play/res/xml/network_security_config.xml -------------------------------------------------------------------------------- /app/src/test/java/com/duckduckgo/app/Fakes.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/java/com/duckduckgo/app/Fakes.kt -------------------------------------------------------------------------------- /app/src/test/java/com/duckduckgo/app/browser/autofill/AutofillCredentialsSelectionResultHandlerTest.kt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/test/java/com/duckduckgo/app/cta/ui/CtaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/java/com/duckduckgo/app/cta/ui/CtaTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/duckduckgo/fakes/FakePixel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/java/com/duckduckgo/fakes/FakePixel.kt -------------------------------------------------------------------------------- /app/src/test/java/com/duckduckgo/tabs/db/TabsDaoTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/java/com/duckduckgo/tabs/db/TabsDaoTest.kt -------------------------------------------------------------------------------- /app/src/test/resources/bookmarks/bookmarks_brave.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/bookmarks/bookmarks_brave.html -------------------------------------------------------------------------------- /app/src/test/resources/bookmarks/bookmarks_chrome.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/bookmarks/bookmarks_chrome.html -------------------------------------------------------------------------------- /app/src/test/resources/bookmarks/bookmarks_firefox.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/bookmarks/bookmarks_firefox.html -------------------------------------------------------------------------------- /app/src/test/resources/bookmarks/bookmarks_invalid.html: -------------------------------------------------------------------------------- 1 |
2 | -------------------------------------------------------------------------------- /app/src/test/resources/json/atb_response_valid.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/atb_response_valid.json -------------------------------------------------------------------------------- /app/src/test/resources/json/merger_first_get.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/merger_first_get.json -------------------------------------------------------------------------------- /app/src/test/resources/json/merger_invalid_data.json: -------------------------------------------------------------------------------- 1 | {"something": "else"} -------------------------------------------------------------------------------- /app/src/test/resources/json/merger_null_entries.json: -------------------------------------------------------------------------------- 1 | {"entries":[],"last_modified":"2023-05-19T22:23:29Z"} -------------------------------------------------------------------------------- /app/src/test/resources/json/parser_favourites.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/parser_favourites.json -------------------------------------------------------------------------------- /app/src/test/resources/json/parser_folders.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/parser_folders.json -------------------------------------------------------------------------------- /app/src/test/resources/json/tds_domain_entities.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/tds_domain_entities.json -------------------------------------------------------------------------------- /app/src/test/resources/json/tds_entities.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/tds_entities.json -------------------------------------------------------------------------------- /app/src/test/resources/json/tds_trackers.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/tds_trackers.json -------------------------------------------------------------------------------- /app/src/test/resources/json/tosdr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/tosdr.json -------------------------------------------------------------------------------- /app/src/test/resources/json/tosdr_mismatched.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/app/src/test/resources/json/tosdr_mismatched.json -------------------------------------------------------------------------------- /app/version/release-notes: -------------------------------------------------------------------------------- 1 | Bug fixes and other improvements -------------------------------------------------------------------------------- /app/version/version.properties: -------------------------------------------------------------------------------- 1 | VERSION=5.222.0 -------------------------------------------------------------------------------- /autoconsent/autoconsent-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /autoconsent/autoconsent-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autoconsent/autoconsent-api/build.gradle -------------------------------------------------------------------------------- /autoconsent/autoconsent-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /autoconsent/autoconsent-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autoconsent/autoconsent-impl/build.gradle -------------------------------------------------------------------------------- /autoconsent/autoconsent-impl/libs/userscript.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autoconsent/autoconsent-impl/libs/userscript.js -------------------------------------------------------------------------------- /autoconsent/autoconsent-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autoconsent/autoconsent-impl/lint-baseline.xml -------------------------------------------------------------------------------- /autoconsent/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autoconsent/readme.md -------------------------------------------------------------------------------- /autofill/autofill-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /autofill/autofill-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-api/build.gradle -------------------------------------------------------------------------------- /autofill/autofill-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-impl/build.gradle -------------------------------------------------------------------------------- /autofill/autofill-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-impl/lint-baseline.xml -------------------------------------------------------------------------------- /autofill/autofill-impl/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-impl/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /autofill/autofill-impl/src/test/java/com/duckduckgo/autofill/impl/ui/DefaultAutofillOverlappingDialogDetectorTest.kt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /autofill/autofill-impl/src/test/resources/json/storeFormData_topLevelDataMissing.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /autofill/autofill-impl/src/test/resources/json/storeFormData_usernameAndPasswordMissing.json: -------------------------------------------------------------------------------- 1 | { 2 | "credentials": { 3 | } 4 | } -------------------------------------------------------------------------------- /autofill/autofill-impl/src/test/resources/json/survey/autofillSurvey_no_surveys_available.json: -------------------------------------------------------------------------------- 1 | { 2 | "surveys": [ ] 3 | } -------------------------------------------------------------------------------- /autofill/autofill-impl/src/test/resources/json/sync/merger_invalid_data.json: -------------------------------------------------------------------------------- 1 | {"something": "else"} -------------------------------------------------------------------------------- /autofill/autofill-impl/src/test/resources/json/sync/merger_null_entries.json: -------------------------------------------------------------------------------- 1 | {"entries":[],"last_modified":"2023-05-19T22:23:29Z"} -------------------------------------------------------------------------------- /autofill/autofill-internal/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-internal/build.gradle -------------------------------------------------------------------------------- /autofill/autofill-internal/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-internal/lint-baseline.xml -------------------------------------------------------------------------------- /autofill/autofill-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /autofill/autofill-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-store/build.gradle -------------------------------------------------------------------------------- /autofill/autofill-store/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-store/lint-baseline.xml -------------------------------------------------------------------------------- /autofill/autofill-test/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-test/build.gradle -------------------------------------------------------------------------------- /autofill/autofill-test/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/autofill-test/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /autofill/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/autofill/readme.md -------------------------------------------------------------------------------- /breakage-reporting/breakage-reporting-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /breakage-reporting/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/breakage-reporting/readme.md -------------------------------------------------------------------------------- /broken-site/broken-site-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /broken-site/broken-site-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/broken-site/broken-site-api/build.gradle -------------------------------------------------------------------------------- /broken-site/broken-site-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /broken-site/broken-site-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/broken-site/broken-site-impl/build.gradle -------------------------------------------------------------------------------- /broken-site/broken-site-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /broken-site/broken-site-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/broken-site/broken-site-store/build.gradle -------------------------------------------------------------------------------- /broken-site/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/broken-site/readme.md -------------------------------------------------------------------------------- /browser-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /browser-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/browser-api/build.gradle -------------------------------------------------------------------------------- /code-formatting.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/code-formatting.gradle -------------------------------------------------------------------------------- /common/common-test/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /common/common-test/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-test/build.gradle -------------------------------------------------------------------------------- /common/common-test/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-test/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /common/common-ui-internal/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /common/common-ui-internal/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui-internal/build.gradle -------------------------------------------------------------------------------- /common/common-ui/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /common/common-ui/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/build.gradle -------------------------------------------------------------------------------- /common/common-ui/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/lint-baseline.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/anim/slide_to_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/anim/slide_to_left.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_add_16.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_add_16.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_add_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_add_24.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_bell.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_bell.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_copy.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_copy.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_key_16.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_key_16.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_list.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_list.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_paste.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_paste.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_tabs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_tabs.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/ic_union.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/ic_union.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/logo_full.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/logo_full.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/drawable/vd_vector.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/drawable/vd_vector.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/font/roboto_mono.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/font/roboto_mono.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/layout/view_chip.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/layout/view_chip.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/values-land/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/values-land/dimens.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/values/attrs-chip.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/values/attrs-chip.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/values/attrs-lists.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/values/attrs-lists.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/values/font_certs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/values/font_certs.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/values/temp_colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/values/temp_colors.xml -------------------------------------------------------------------------------- /common/common-ui/src/main/res/values/widgets.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-ui/src/main/res/values/widgets.xml -------------------------------------------------------------------------------- /common/common-utils/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /common/common-utils/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-utils/build.gradle -------------------------------------------------------------------------------- /common/common-utils/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-utils/lint-baseline.xml -------------------------------------------------------------------------------- /common/common-utils/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/common-utils/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /common/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/common/readme.md -------------------------------------------------------------------------------- /content-scope-scripts/content-scope-scripts-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /content-scope-scripts/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/content-scope-scripts/readme.md -------------------------------------------------------------------------------- /cookies/cookies-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /cookies/cookies-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/cookies/cookies-api/build.gradle -------------------------------------------------------------------------------- /cookies/cookies-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /cookies/cookies-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/cookies/cookies-impl/build.gradle -------------------------------------------------------------------------------- /cookies/cookies-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/cookies/cookies-impl/lint-baseline.xml -------------------------------------------------------------------------------- /cookies/cookies-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /cookies/cookies-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/cookies/cookies-store/build.gradle -------------------------------------------------------------------------------- /cookies/cookies-store/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/cookies/cookies-store/lint-baseline.xml -------------------------------------------------------------------------------- /cookies/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/cookies/readme.md -------------------------------------------------------------------------------- /copy-files-from-to.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/copy-files-from-to.json -------------------------------------------------------------------------------- /custom-tabs/custom-tabs-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /custom-tabs/custom-tabs-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/custom-tabs/custom-tabs-api/build.gradle -------------------------------------------------------------------------------- /custom-tabs/custom-tabs-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /custom-tabs/custom-tabs-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/custom-tabs/custom-tabs-impl/build.gradle -------------------------------------------------------------------------------- /custom-tabs/custom-tabs-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/custom-tabs/custom-tabs-impl/lint-baseline.xml -------------------------------------------------------------------------------- /custom-tabs/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/custom-tabs/readme.md -------------------------------------------------------------------------------- /data-store/data-store-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data-store/data-store-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/data-store/data-store-api/build.gradle -------------------------------------------------------------------------------- /data-store/data-store-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/data-store/data-store-impl/build.gradle -------------------------------------------------------------------------------- /data-store/data-store-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/data-store/data-store-impl/lint-baseline.xml -------------------------------------------------------------------------------- /data-store/data-store-test/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/data-store/data-store-test/build.gradle -------------------------------------------------------------------------------- /data-store/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/data-store/readme.md -------------------------------------------------------------------------------- /di/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /di/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/di/build.gradle -------------------------------------------------------------------------------- /di/src/main/java/com/duckduckgo/di/DaggerTypes.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/di/src/main/java/com/duckduckgo/di/DaggerTypes.kt -------------------------------------------------------------------------------- /di/src/main/java/dagger/SingleInstanceIn.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/di/src/main/java/dagger/SingleInstanceIn.kt -------------------------------------------------------------------------------- /di/src/main/java/dagger/WrongScope.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/di/src/main/java/dagger/WrongScope.kt -------------------------------------------------------------------------------- /di/src/main/java/dagger/android/AndroidInjector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/di/src/main/java/dagger/android/AndroidInjector.kt -------------------------------------------------------------------------------- /di/src/main/java/dagger/android/DaggerActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/di/src/main/java/dagger/android/DaggerActivity.kt -------------------------------------------------------------------------------- /di/src/main/java/dagger/android/DaggerFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/di/src/main/java/dagger/android/DaggerFragment.kt -------------------------------------------------------------------------------- /downloads/downloads-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /downloads/downloads-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/downloads/downloads-api/build.gradle -------------------------------------------------------------------------------- /downloads/downloads-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /downloads/downloads-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/downloads/downloads-impl/build.gradle -------------------------------------------------------------------------------- /downloads/downloads-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /downloads/downloads-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/downloads/downloads-store/build.gradle -------------------------------------------------------------------------------- /downloads/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/downloads/readme.md -------------------------------------------------------------------------------- /duckplayer/duckplayer-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /duckplayer/duckplayer-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/duckplayer/duckplayer-api/build.gradle -------------------------------------------------------------------------------- /duckplayer/duckplayer-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/duckplayer/duckplayer-impl/build.gradle -------------------------------------------------------------------------------- /duckplayer/duckplayer-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/duckplayer/duckplayer-impl/lint-baseline.xml -------------------------------------------------------------------------------- /duckplayer/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/duckplayer/readme.md -------------------------------------------------------------------------------- /element-hiding/element-hiding-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /element-hiding/element-hiding-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/element-hiding/element-hiding-impl/build.gradle -------------------------------------------------------------------------------- /element-hiding/element-hiding-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /element-hiding/element-hiding-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/element-hiding/element-hiding-store/build.gradle -------------------------------------------------------------------------------- /element-hiding/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/element-hiding/readme.md -------------------------------------------------------------------------------- /example-feature/example-feature-api-android/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example-feature/example-feature-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example-feature/example-feature-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/example-feature/example-feature-api/build.gradle -------------------------------------------------------------------------------- /example-feature/example-feature-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/example-feature/example-feature-impl/build.gradle -------------------------------------------------------------------------------- /example-feature/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/example-feature/readme.md -------------------------------------------------------------------------------- /experiments/experiments-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /experiments/experiments-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/experiments/experiments-api/build.gradle -------------------------------------------------------------------------------- /experiments/experiments-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /experiments/experiments-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/experiments/experiments-impl/build.gradle -------------------------------------------------------------------------------- /experiments/experiments-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/experiments/experiments-impl/lint-baseline.xml -------------------------------------------------------------------------------- /experiments/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/experiments/readme.md -------------------------------------------------------------------------------- /fastlane/Appfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fastlane/Appfile -------------------------------------------------------------------------------- /fastlane/Fastfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fastlane/Fastfile -------------------------------------------------------------------------------- /fastlane/Pluginfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fastlane/Pluginfile -------------------------------------------------------------------------------- /fastlane/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fastlane/README.md -------------------------------------------------------------------------------- /fastlane/metadata/android/ca/changelogs/default.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fastlane/metadata/android/ca/changelogs/default.txt -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /fastlane/metadata/android/id/changelogs/default.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fastlane/metadata/android/id/changelogs/default.txt -------------------------------------------------------------------------------- /fastlane/metadata/android/ro/changelogs/default.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fastlane/metadata/android/ro/changelogs/default.txt -------------------------------------------------------------------------------- /feature-toggles/feature-toggles-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature-toggles/feature-toggles-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/feature-toggles/feature-toggles-api/build.gradle -------------------------------------------------------------------------------- /feature-toggles/feature-toggles-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature-toggles/feature-toggles-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/feature-toggles/feature-toggles-impl/build.gradle -------------------------------------------------------------------------------- /feature-toggles/feature-toggles-internal-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature-toggles/feature-toggles-test/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/feature-toggles/feature-toggles-test/build.gradle -------------------------------------------------------------------------------- /feature-toggles/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/feature-toggles/readme.md -------------------------------------------------------------------------------- /fingerprint-protection/fingerprint-protection-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /fingerprint-protection/fingerprint-protection-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /fingerprint-protection/fingerprint-protection-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /fingerprint-protection/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/fingerprint-protection/readme.md -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/android-library.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/gradle/android-library.gradle -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/gradlew.bat -------------------------------------------------------------------------------- /history/history-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /history/history-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/history/history-api/build.gradle -------------------------------------------------------------------------------- /history/history-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/history/history-impl/build.gradle -------------------------------------------------------------------------------- /history/history-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/history/history-impl/lint-baseline.xml -------------------------------------------------------------------------------- /history/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/history/readme.md -------------------------------------------------------------------------------- /httpsupgrade/httpsupgrade-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /httpsupgrade/httpsupgrade-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/httpsupgrade/httpsupgrade-api/build.gradle -------------------------------------------------------------------------------- /httpsupgrade/httpsupgrade-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /httpsupgrade/httpsupgrade-impl/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/httpsupgrade/httpsupgrade-impl/CMakeLists.txt -------------------------------------------------------------------------------- /httpsupgrade/httpsupgrade-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/httpsupgrade/httpsupgrade-impl/build.gradle -------------------------------------------------------------------------------- /httpsupgrade/httpsupgrade-impl/src/main/cpp/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | -------------------------------------------------------------------------------- /httpsupgrade/httpsupgrade-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/httpsupgrade/httpsupgrade-store/build.gradle -------------------------------------------------------------------------------- /httpsupgrade/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/httpsupgrade/readme.md -------------------------------------------------------------------------------- /install_tools.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/install_tools.sh -------------------------------------------------------------------------------- /installation/installation-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /installation/installation-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/installation/installation-impl/build.gradle -------------------------------------------------------------------------------- /installation/installation-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/installation/installation-impl/lint-baseline.xml -------------------------------------------------------------------------------- /installation/installation-impl/src/test/resources/json/auraExperiment_emptyList.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [] 3 | } -------------------------------------------------------------------------------- /installation/installation-impl/src/test/resources/json/auraExperiment_singleEntryList.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": ["a.b.c"] 3 | } -------------------------------------------------------------------------------- /installation/installation-impl/src/test/resources/json/installerFullSource_emptyList.json: -------------------------------------------------------------------------------- 1 | { 2 | "includedPackages": [] 3 | } -------------------------------------------------------------------------------- /installation/installation-impl/src/test/resources/json/installerFullSource_singleEntryList.json: -------------------------------------------------------------------------------- 1 | { 2 | "includedPackages": ["a.b.c"] 3 | } -------------------------------------------------------------------------------- /installation/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/installation/readme.md -------------------------------------------------------------------------------- /internal-features/internal-features-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /internal-features/internal-features-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/internal-features/internal-features-api/build.gradle -------------------------------------------------------------------------------- /internal-features/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/internal-features/readme.md -------------------------------------------------------------------------------- /js-messaging/js-messaging-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /js-messaging/js-messaging-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/js-messaging/js-messaging-api/build.gradle -------------------------------------------------------------------------------- /js-messaging/js-messaging-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/js-messaging/js-messaging-impl/build.gradle -------------------------------------------------------------------------------- /js-messaging/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/js-messaging/readme.md -------------------------------------------------------------------------------- /library-loader/library-loader-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/library-loader/library-loader-api/build.gradle -------------------------------------------------------------------------------- /library-loader/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/library-loader/readme.md -------------------------------------------------------------------------------- /lint-rules/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /lint-rules/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/lint-rules/build.gradle -------------------------------------------------------------------------------- /lint.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/lint.xml -------------------------------------------------------------------------------- /macos/macos-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /macos/macos-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/macos/macos-api/build.gradle -------------------------------------------------------------------------------- /macos/macos-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /macos/macos-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/macos/macos-impl/build.gradle -------------------------------------------------------------------------------- /macos/macos-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/macos/macos-impl/lint-baseline.xml -------------------------------------------------------------------------------- /macos/macos-impl/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/macos/macos-impl/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /macos/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/macos/readme.md -------------------------------------------------------------------------------- /malicious-site-protection/malicious-site-protection-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /malicious-site-protection/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/malicious-site-protection/readme.md -------------------------------------------------------------------------------- /navigation/navigation-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/navigation/navigation-api/build.gradle -------------------------------------------------------------------------------- /navigation/navigation-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/navigation/navigation-impl/build.gradle -------------------------------------------------------------------------------- /navigation/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/navigation/readme.md -------------------------------------------------------------------------------- /network-protection/network-protection-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /network-protection/network-protection-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /network-protection/network-protection-impl/src/main/java/com/duckduckgo/networkprotection/impl/autoexclude/MockAutoExcludeList.kt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /network-protection/network-protection-internal/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /network-protection/network-protection-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /network-protection/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/network-protection/readme.md -------------------------------------------------------------------------------- /new-tab-page/new-tab-page-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /new-tab-page/new-tab-page-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/new-tab-page/new-tab-page-api/build.gradle -------------------------------------------------------------------------------- /new-tab-page/new-tab-page-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/new-tab-page/new-tab-page-impl/build.gradle -------------------------------------------------------------------------------- /new-tab-page/new-tab-page-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/new-tab-page/new-tab-page-impl/lint-baseline.xml -------------------------------------------------------------------------------- /new-tab-page/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/new-tab-page/readme.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/package.json -------------------------------------------------------------------------------- /privacy-config/privacy-config-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /privacy-config/privacy-config-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-config/privacy-config-api/build.gradle -------------------------------------------------------------------------------- /privacy-config/privacy-config-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /privacy-config/privacy-config-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-config/privacy-config-impl/build.gradle -------------------------------------------------------------------------------- /privacy-config/privacy-config-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-config/privacy-config-impl/lint-baseline.xml -------------------------------------------------------------------------------- /privacy-config/privacy-config-internal/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /privacy-config/privacy-config-internal/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-config/privacy-config-internal/build.gradle -------------------------------------------------------------------------------- /privacy-config/privacy-config-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /privacy-config/privacy-config-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-config/privacy-config-store/build.gradle -------------------------------------------------------------------------------- /privacy-config/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-config/readme.md -------------------------------------------------------------------------------- /privacy-dashboard/privacy-dashboard-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /privacy-dashboard/privacy-dashboard-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-dashboard/privacy-dashboard-api/build.gradle -------------------------------------------------------------------------------- /privacy-dashboard/privacy-dashboard-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /privacy-dashboard/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-dashboard/readme.md -------------------------------------------------------------------------------- /privacy-protections-popup/privacy-protections-popup-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /privacy-protections-popup/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/privacy-protections-popup/readme.md -------------------------------------------------------------------------------- /remote-messaging/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/remote-messaging/readme.md -------------------------------------------------------------------------------- /remote-messaging/remote-messaging-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /remote-messaging/remote-messaging-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/remote-messaging/remote-messaging-api/build.gradle -------------------------------------------------------------------------------- /remote-messaging/remote-messaging-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /remote-messaging/remote-messaging-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/remote-messaging/remote-messaging-impl/build.gradle -------------------------------------------------------------------------------- /remote-messaging/remote-messaging-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /remote-messaging/remote-messaging-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/remote-messaging/remote-messaging-store/build.gradle -------------------------------------------------------------------------------- /request-filterer/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/request-filterer/readme.md -------------------------------------------------------------------------------- /request-filterer/request-filterer-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /request-filterer/request-filterer-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/request-filterer/request-filterer-api/build.gradle -------------------------------------------------------------------------------- /request-filterer/request-filterer-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /request-filterer/request-filterer-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/request-filterer/request-filterer-impl/build.gradle -------------------------------------------------------------------------------- /request-filterer/request-filterer-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /request-filterer/request-filterer-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/request-filterer/request-filterer-store/build.gradle -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/rollup.config.js -------------------------------------------------------------------------------- /runtime-checks/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/runtime-checks/readme.md -------------------------------------------------------------------------------- /runtime-checks/runtime-checks-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /runtime-checks/runtime-checks-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/runtime-checks/runtime-checks-impl/build.gradle -------------------------------------------------------------------------------- /runtime-checks/runtime-checks-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /runtime-checks/runtime-checks-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/runtime-checks/runtime-checks-store/build.gradle -------------------------------------------------------------------------------- /saved-sites/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/saved-sites/readme.md -------------------------------------------------------------------------------- /saved-sites/saved-sites-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /saved-sites/saved-sites-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/saved-sites/saved-sites-api/build.gradle -------------------------------------------------------------------------------- /saved-sites/saved-sites-api/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/saved-sites/saved-sites-api/proguard-rules.pro -------------------------------------------------------------------------------- /saved-sites/saved-sites-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /saved-sites/saved-sites-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/saved-sites/saved-sites-impl/build.gradle -------------------------------------------------------------------------------- /saved-sites/saved-sites-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/saved-sites/saved-sites-impl/lint-baseline.xml -------------------------------------------------------------------------------- /saved-sites/saved-sites-impl/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/saved-sites/saved-sites-impl/proguard-rules.pro -------------------------------------------------------------------------------- /saved-sites/saved-sites-impl/src/test/resources/json/merger_invalid_data.json: -------------------------------------------------------------------------------- 1 | {"something": "else"} -------------------------------------------------------------------------------- /saved-sites/saved-sites-impl/src/test/resources/json/merger_null_entries.json: -------------------------------------------------------------------------------- 1 | {"entries":[],"last_modified":"2023-05-19T22:23:29Z"} -------------------------------------------------------------------------------- /saved-sites/saved-sites-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /saved-sites/saved-sites-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/saved-sites/saved-sites-store/build.gradle -------------------------------------------------------------------------------- /saved-sites/saved-sites-store/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/saved-sites/saved-sites-store/lint-baseline.xml -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/settings.gradle -------------------------------------------------------------------------------- /settings/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/settings/readme.md -------------------------------------------------------------------------------- /settings/settings-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /settings/settings-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/settings/settings-api/build.gradle -------------------------------------------------------------------------------- /settings/settings-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /settings/settings-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/settings/settings-impl/build.gradle -------------------------------------------------------------------------------- /site-permissions/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/site-permissions/readme.md -------------------------------------------------------------------------------- /site-permissions/site-permissions-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /site-permissions/site-permissions-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/site-permissions/site-permissions-api/build.gradle -------------------------------------------------------------------------------- /site-permissions/site-permissions-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /site-permissions/site-permissions-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/site-permissions/site-permissions-impl/build.gradle -------------------------------------------------------------------------------- /site-permissions/site-permissions-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /site-permissions/site-permissions-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/site-permissions/site-permissions-store/build.gradle -------------------------------------------------------------------------------- /smartling-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/smartling-config.json -------------------------------------------------------------------------------- /statistics/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/statistics/readme.md -------------------------------------------------------------------------------- /statistics/statistics-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /statistics/statistics-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/statistics/statistics-api/build.gradle -------------------------------------------------------------------------------- /statistics/statistics-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /statistics/statistics-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/statistics/statistics-impl/build.gradle -------------------------------------------------------------------------------- /statistics/statistics-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/statistics/statistics-impl/lint-baseline.xml -------------------------------------------------------------------------------- /submodules/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | -------------------------------------------------------------------------------- /subscriptions/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/subscriptions/readme.md -------------------------------------------------------------------------------- /subscriptions/subscriptions-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /subscriptions/subscriptions-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/subscriptions/subscriptions-api/build.gradle -------------------------------------------------------------------------------- /subscriptions/subscriptions-dummy-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/subscriptions/subscriptions-dummy-impl/build.gradle -------------------------------------------------------------------------------- /subscriptions/subscriptions-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /subscriptions/subscriptions-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/subscriptions/subscriptions-impl/build.gradle -------------------------------------------------------------------------------- /subscriptions/subscriptions-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/subscriptions/subscriptions-impl/lint-baseline.xml -------------------------------------------------------------------------------- /subscriptions/subscriptions-internal/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /subscriptions/subscriptions-internal/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/subscriptions/subscriptions-internal/build.gradle -------------------------------------------------------------------------------- /survey/survey-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /survey/survey-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/survey/survey-api/build.gradle -------------------------------------------------------------------------------- /survey/survey-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /survey/survey-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/survey/survey-impl/build.gradle -------------------------------------------------------------------------------- /sync/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/readme.md -------------------------------------------------------------------------------- /sync/sync-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sync/sync-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-api/build.gradle -------------------------------------------------------------------------------- /sync/sync-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sync/sync-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/build.gradle -------------------------------------------------------------------------------- /sync/sync-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/lint-baseline.xml -------------------------------------------------------------------------------- /sync/sync-impl/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/proguard-rules.pro -------------------------------------------------------------------------------- /sync/sync-impl/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /sync/sync-impl/src/main/res/drawable/frame.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/src/main/res/drawable/frame.xml -------------------------------------------------------------------------------- /sync/sync-impl/src/main/res/drawable/ic_code_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/src/main/res/drawable/ic_code_24.xml -------------------------------------------------------------------------------- /sync/sync-impl/src/main/res/drawable/ic_qr_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/src/main/res/drawable/ic_qr_24.xml -------------------------------------------------------------------------------- /sync/sync-impl/src/main/res/layout/activity_sync.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/src/main/res/layout/activity_sync.xml -------------------------------------------------------------------------------- /sync/sync-impl/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /sync/sync-impl/src/main/res/values/strings-sync.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/src/main/res/values/strings-sync.xml -------------------------------------------------------------------------------- /sync/sync-impl/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-impl/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /sync/sync-internal/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-internal/build.gradle -------------------------------------------------------------------------------- /sync/sync-lib/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sync/sync-lib/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-lib/build.gradle -------------------------------------------------------------------------------- /sync/sync-lib/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-lib/lint-baseline.xml -------------------------------------------------------------------------------- /sync/sync-settings-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sync/sync-settings-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-settings-api/build.gradle -------------------------------------------------------------------------------- /sync/sync-settings-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sync/sync-settings-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-settings-impl/build.gradle -------------------------------------------------------------------------------- /sync/sync-settings-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-settings-impl/lint-baseline.xml -------------------------------------------------------------------------------- /sync/sync-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sync/sync-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-store/build.gradle -------------------------------------------------------------------------------- /sync/sync-store/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/sync/sync-store/lint-baseline.xml -------------------------------------------------------------------------------- /traces/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/traces/readme.md -------------------------------------------------------------------------------- /traces/traces-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /traces/traces-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/traces/traces-api/build.gradle -------------------------------------------------------------------------------- /traces/traces-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /traces/traces-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/traces/traces-impl/build.gradle -------------------------------------------------------------------------------- /traces/traces-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/traces/traces-impl/lint-baseline.xml -------------------------------------------------------------------------------- /traces/traces-impl/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/traces/traces-impl/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /user-agent/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/user-agent/readme.md -------------------------------------------------------------------------------- /user-agent/user-agent-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /user-agent/user-agent-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/user-agent/user-agent-api/build.gradle -------------------------------------------------------------------------------- /user-agent/user-agent-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /user-agent/user-agent-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/user-agent/user-agent-impl/build.gradle -------------------------------------------------------------------------------- /user-agent/user-agent-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /user-agent/user-agent-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/user-agent/user-agent-store/build.gradle -------------------------------------------------------------------------------- /user-agent/user-agent-store/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/user-agent/user-agent-store/lint-baseline.xml -------------------------------------------------------------------------------- /verified-installation/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/verified-installation/readme.md -------------------------------------------------------------------------------- /verified-installation/verified-installation-api/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /versioning.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/versioning.gradle -------------------------------------------------------------------------------- /versions.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/versions.properties -------------------------------------------------------------------------------- /voice-search/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/voice-search/readme.md -------------------------------------------------------------------------------- /voice-search/voice-search-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /voice-search/voice-search-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/voice-search/voice-search-api/build.gradle -------------------------------------------------------------------------------- /voice-search/voice-search-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /voice-search/voice-search-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/voice-search/voice-search-impl/build.gradle -------------------------------------------------------------------------------- /voice-search/voice-search-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/voice-search/voice-search-impl/lint-baseline.xml -------------------------------------------------------------------------------- /voice-search/voice-search-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /voice-search/voice-search-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/voice-search/voice-search-store/build.gradle -------------------------------------------------------------------------------- /voice-search/voice-search-store/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/voice-search/voice-search-store/lint-baseline.xml -------------------------------------------------------------------------------- /vpn-network/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/vpn-network/readme.md -------------------------------------------------------------------------------- /vpn-network/vpn-network-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/vpn-network/vpn-network-api/build.gradle -------------------------------------------------------------------------------- /vpn-network/vpn-network-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/vpn-network/vpn-network-impl/build.gradle -------------------------------------------------------------------------------- /vpn-network/vpn-network-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/vpn-network/vpn-network-impl/lint-baseline.xml -------------------------------------------------------------------------------- /web-compat/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/web-compat/readme.md -------------------------------------------------------------------------------- /web-compat/web-compat-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /web-compat/web-compat-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/web-compat/web-compat-impl/build.gradle -------------------------------------------------------------------------------- /web-compat/web-compat-store/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /web-compat/web-compat-store/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/web-compat/web-compat-store/build.gradle -------------------------------------------------------------------------------- /windows/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/windows/readme.md -------------------------------------------------------------------------------- /windows/windows-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /windows/windows-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/windows/windows-api/build.gradle -------------------------------------------------------------------------------- /windows/windows-impl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /windows/windows-impl/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/windows/windows-impl/build.gradle -------------------------------------------------------------------------------- /windows/windows-impl/lint-baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/windows/windows-impl/lint-baseline.xml -------------------------------------------------------------------------------- /windows/windows-impl/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shauryaverma03/Android/HEAD/windows/windows-impl/src/main/AndroidManifest.xml --------------------------------------------------------------------------------