From 1c4db63b472f9a2cab3578d59f338f798fcc9624 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Tue, 12 Jul 2022 12:10:00 +0200 Subject: [PATCH] Update Duckduckgo build regression benchmark Compare current vs 1.7.10 release --- .../benchmarkScripts/duckduckgo.benchmark.kts | 63 +++--- .../files/duckduckgo-kotlin-1.6.20.patch | 20 -- .../files/duckduckgo-kotlin-1.7.10.patch | 213 ++++++++++++++++++ .../files/duckduckgo-kotlin-current.patch | 135 ++++------- 4 files changed, 298 insertions(+), 133 deletions(-) delete mode 100644 libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-1.6.20.patch create mode 100644 libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-1.7.10.patch diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/duckduckgo.benchmark.kts b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/duckduckgo.benchmark.kts index 41f1e421d40..8ae5f75bb40 100644 --- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/duckduckgo.benchmark.kts +++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/duckduckgo.benchmark.kts @@ -4,11 +4,17 @@ @file:BenchmarkProject( name = "duckduckgo", gitUrl = "https://github.com/duckduckgo/Android.git", - gitCommitSha = "9c808cfda9877fbee5bbc8a542f6c80ede48e95f" + gitCommitSha = "648b0aae2dd54c4da4176eb91b3a05ea44118fa5" ) import java.io.File +val stableReleasePatch = { + "duckduckgo-kotlin-1.7.10.patch" to File("benchmarkScripts/files/duckduckgo-kotlin-1.7.10.patch") + .readText() + .byteInputStream() +} + val currentReleasePatch = { "duckduckgo-kotlin-current.patch" to File("benchmarkScripts/files/duckduckgo-kotlin-current.patch") .readText() @@ -22,37 +28,40 @@ runAllBenchmarks( title = "Clean build" useGradleArgs("--no-build-cache") + warmups = 1 + iterations = 1 + runTasks(":app:assemblePlayDebug") runCleanupTasks("clean") } - scenario { - title = "Incremental build with ABI change in common ViewModelFactory" - useGradleArgs("--no-build-cache") - - runTasks(":app:assemblePlayDebug") - applyAbiChangeTo("common/src/main/java/com/duckduckgo/app/global/VpnViewModelFactory.kt") - } - - scenario { - title = "Incremetal build with ABI change in Kapt component" - useGradleArgs("--no-build-cache") - - runTasks(":app:assemblePlayDebug") - applyAbiChangeTo("vpn/src/main/java/com/duckduckgo/mobile/android/vpn/di/VpnModule.kt") - } - - scenario { - title = "Incremental build with change in Android common string resource" - useGradleArgs("--no-build-cache") - - runTasks(":app:assemblePlayDebug") - - applyAndroidResourceValueChange("common-ui/src/main/res/values/strings.xml") - } +// scenario { +// title = "Incremental build with ABI change in common ViewModelFactory" +// useGradleArgs("--no-build-cache") +// +// runTasks(":app:assemblePlayDebug") +// applyAbiChangeTo("common/src/main/java/com/duckduckgo/app/global/VpnViewModelFactory.kt") +// } +// +// scenario { +// title = "Incremetal build with ABI change in Kapt component" +// useGradleArgs("--no-build-cache") +// +// runTasks(":app:assemblePlayDebug") +// applyAbiChangeTo("vpn/src/main/java/com/duckduckgo/mobile/android/vpn/di/VpnModule.kt") +// } +// +// scenario { +// title = "Incremental build with change in Android common string resource" +// useGradleArgs("--no-build-cache") +// +// runTasks(":app:assemblePlayDebug") +// +// applyAndroidResourceValueChange("common-ui/src/main/res/values/strings.xml") +// } }, mapOf( - "1.6.20" to null, - "1.7.0" to currentReleasePatch + "1.7.10" to stableReleasePatch, + "1.7.20" to currentReleasePatch ) ) diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-1.6.20.patch b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-1.6.20.patch deleted file mode 100644 index 2b1bb126a78..00000000000 --- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-1.6.20.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/build.gradle b/build.gradle -index 5e2a7230..6093f13c 100644 ---- a/build.gradle -+++ b/build.gradle -@@ -2,7 +2,7 @@ - buildscript { - - ext { -- kotlin_version = '1.6.10' -+ kotlin_version = '1.6.20' - spotless = "6.1.2" - anvil_version = "2.3.11-1-6-10" - gradle_plugin = "7.0.3" -@@ -70,4 +70,4 @@ fladle { - } - } - --apply plugin: 'android-reporting' -\ No newline at end of file -+apply plugin: 'android-reporting' diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-1.7.10.patch b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-1.7.10.patch new file mode 100644 index 00000000000..fc30447ba06 --- /dev/null +++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-1.7.10.patch @@ -0,0 +1,213 @@ +diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt +index 823dce74..53cad010 100644 +--- a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt ++++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt +@@ -352,6 +352,7 @@ open class BrowserActivity : DuckDuckGoActivity(), CoroutineScope by MainScope() + is Command.ShowAppRatingPrompt -> showAppEnjoymentPrompt(RateAppDialogFragment.create(command.promptCount, viewModel)) + is Command.ShowAppFeedbackPrompt -> showAppEnjoymentPrompt(GiveFeedbackDialogFragment.create(command.promptCount, viewModel)) + is Command.LaunchFeedbackView -> startActivity(FeedbackActivity.intent(this)) ++ else -> Unit + } + } + +diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt +index 14a90255..e1c73904 100644 +--- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt ++++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt +@@ -881,6 +881,7 @@ class BrowserTabFragment : + notifyEmailSignEvent() + } + is Command.PrintLink -> launchPrint(it.url) ++ else -> Unit + } + } + +diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt +index 32fe43b1..ba72664f 100644 +--- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt ++++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt +@@ -1094,6 +1094,7 @@ class BrowserTabViewModel @Inject constructor( + is WebNavigationStateChange.PageCleared -> pageCleared() + is WebNavigationStateChange.UrlUpdated -> urlUpdated(stateChange.url) + is WebNavigationStateChange.PageNavigationCleared -> disableUserNavigation() ++ else -> Unit + } + + if (newWebNavigationState.progress ?: 0 >= SHOW_CONTENT_MIN_PROGRESS) { +diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt +index 399a2f56..0e4449e1 100644 +--- a/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt ++++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt +@@ -117,6 +117,7 @@ class BrowserViewModel @Inject constructor( + is AppEnjoymentPromptOptions.ShowFeedbackPrompt -> { + command.value = Command.ShowAppFeedbackPrompt(promptType.promptCount) + } ++ else -> Unit + } + } + } +diff --git a/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt b/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt +index a0d65823..8ce02b0b 100644 +--- a/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt ++++ b/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt +@@ -195,6 +195,8 @@ class AutomaticDataClearer @Inject constructor( + dataClearerState.value = FINISHED + } + } ++ ++ else -> Unit + } + } + +diff --git a/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt b/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt +index 6b3b1f4c..a54ab9e3 100644 +--- a/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt ++++ b/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt +@@ -137,6 +137,7 @@ class FireproofWebsiteAdapter( + ) + ] + ) ++ else -> Unit + } + } + +diff --git a/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt b/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt +index 5904e811..3e6eea27 100644 +--- a/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt ++++ b/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt +@@ -92,6 +92,7 @@ class ChangeIconActivity : DuckDuckGoActivity() { + } + .show() + } ++ else -> Unit + } + } + +diff --git a/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt b/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt +index ef708ab5..09fef2f8 100644 +--- a/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt ++++ b/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt +@@ -59,6 +59,7 @@ class LaunchBridgeActivity : DuckDuckGoActivity() { + is LaunchViewModel.Command.Home -> { + showHome() + } ++ else -> Unit + } + } + +diff --git a/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt b/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt +index 31750b34..a10a4e1b 100644 +--- a/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt ++++ b/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt +@@ -167,6 +167,7 @@ class LocationPermissionsAdapter( + is LocationPermissionsViewHolder.LocationPermissionsItemViewHolder -> { + holder.bind(getLocationPermission(position)) + } ++ else -> Unit + } + } + +diff --git a/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt b/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt +index 4cf9ded9..50beedbe 100644 +--- a/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt ++++ b/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt +@@ -143,6 +143,7 @@ class WebsitesAdapter( + is WebsiteViewHolder.WebsiteItemViewHolder -> { + holder.bind(entries[getWebsiteItemPosition(position)]) + } ++ else -> Unit + } + } + } +diff --git a/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt b/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt +index 91837057..4aef7829 100644 +--- a/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt ++++ b/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt +@@ -103,6 +103,7 @@ class WhitelistActivity : DuckDuckGoActivity() { + is ShowEdit -> showEditDialog(command.entry) + is ConfirmDelete -> showDeleteDialog(command.entry) + is ShowWhitelistFormatError -> showWhitelistFormatError() ++ else -> Unit + } + } + +diff --git a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt +index 2f547c10..303796b0 100644 +--- a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt ++++ b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt +@@ -174,6 +174,7 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine + private fun processCommand(command: Command?) { + when (command) { + is Close -> finishAfterTransition() ++ else -> Unit + } + } + +diff --git a/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt b/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt +index 0dc88554..7a8c4290 100644 +--- a/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt ++++ b/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt +@@ -170,6 +170,7 @@ class PlayStoreAppReferrerStateListener @Inject constructor( + variantManager.updateAppReferrerVariant(VariantManager.RESERVED_EU_AUCTION_VARIANT) + appReferrerDataStore.installedFromEuAuction = true + } ++ else -> Unit + } + + appReferrerDataStore.referrerCheckedPreviously = true +diff --git a/build.gradle b/build.gradle +index 77b11869..80075001 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -2,9 +2,9 @@ + buildscript { + + ext { +- kotlin_version = '1.6.21' ++ kotlin_version = '1.7.10' + spotless = "6.1.2" +- anvil_version = "2.4.0" ++ anvil_version = "2.4.1" + gradle_plugin = "7.0.4" + min_sdk = 23 + target_sdk = 30 +@@ -39,6 +39,7 @@ allprojects { + } + configurations.all { + resolutionStrategy.force 'org.objenesis:objenesis:2.6' ++ resolutionStrategy.force 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0' + } + } + +@@ -68,4 +69,4 @@ fladle { + } + } + +-apply plugin: 'android-reporting' +\ No newline at end of file ++apply plugin: 'android-reporting' +diff --git a/versions.properties b/versions.properties +index 059622f0..89e01988 100644 +--- a/versions.properties ++++ b/versions.properties +@@ -71,7 +71,7 @@ version.jakewharton.rxrelay2=2.0.0 + + version.jakewharton.timber=5.0.1 + +-version.kotlin=1.6.21 ++version.kotlin=1.7.10 + + version.kotlinx.coroutines=1.6.3 + +diff --git a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt +index e170423b..057181fb 100644 +--- a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt ++++ b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt +@@ -229,6 +229,7 @@ class DeviceShieldTrackerActivity : + is DeviceShieldTrackerActivityViewModel.Command.ShowRemoveFeatureConfirmationDialog -> launchRemoveFeatureConfirmationDialog() + is DeviceShieldTrackerActivityViewModel.Command.CloseScreen -> finish() + is DeviceShieldTrackerActivityViewModel.Command.OpenVpnSettings -> openVPNSettings() ++ else -> Unit + } + } + diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-current.patch b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-current.patch index 4d00b5f33bc..9cf92652361 100644 --- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-current.patch +++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/duckduckgo-kotlin-current.patch @@ -1,46 +1,38 @@ diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt -index 8e4a4e16..fd280da8 100644 +index 823dce74..53cad010 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt -@@ -342,6 +342,7 @@ open class BrowserActivity : DuckDuckGoActivity(), CoroutineScope by MainScope() +@@ -352,6 +352,7 @@ open class BrowserActivity : DuckDuckGoActivity(), CoroutineScope by MainScope() is Command.ShowAppRatingPrompt -> showAppEnjoymentPrompt(RateAppDialogFragment.create(command.promptCount, viewModel)) is Command.ShowAppFeedbackPrompt -> showAppEnjoymentPrompt(GiveFeedbackDialogFragment.create(command.promptCount, viewModel)) is Command.LaunchFeedbackView -> startActivity(FeedbackActivity.intent(this)) + else -> Unit } } - + diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt -index 1a75280d..bb4c5969 100644 +index 14a90255..e1c73904 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt -@@ -633,6 +633,7 @@ class BrowserTabFragment : - is DownloadCommand.ShowDownloadStartedMessage -> downloadStarted(command) - is DownloadCommand.ShowDownloadFailedMessage -> downloadFailed(command) - is DownloadCommand.ShowDownloadSuccessMessage -> downloadSucceeded(command) -+ else -> Unit - } - } - -@@ -863,6 +864,7 @@ class BrowserTabFragment : - omnibarTextInput.setText(it.query) - omnibarTextInput.setSelection(it.query.length) +@@ -881,6 +881,7 @@ class BrowserTabFragment : + notifyEmailSignEvent() } + is Command.PrintLink -> launchPrint(it.url) + else -> Unit } } - + diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt -index e59c99e3..fab2910d 100644 +index 32fe43b1..ba72664f 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt -@@ -1066,6 +1066,7 @@ class BrowserTabViewModel @Inject constructor( +@@ -1094,6 +1094,7 @@ class BrowserTabViewModel @Inject constructor( is WebNavigationStateChange.PageCleared -> pageCleared() is WebNavigationStateChange.UrlUpdated -> urlUpdated(stateChange.url) is WebNavigationStateChange.PageNavigationCleared -> disableUserNavigation() + else -> Unit } - + if (newWebNavigationState.progress ?: 0 >= SHOW_CONTENT_MIN_PROGRESS) { diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt index 399a2f56..0e4449e1 100644 @@ -55,17 +47,18 @@ index 399a2f56..0e4449e1 100644 } } diff --git a/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt b/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt -index a0d65823..17fc73b8 100644 +index a0d65823..8ce02b0b 100644 --- a/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt +++ b/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt -@@ -195,6 +195,7 @@ class AutomaticDataClearer @Inject constructor( +@@ -195,6 +195,8 @@ class AutomaticDataClearer @Inject constructor( dataClearerState.value = FINISHED } } ++ + else -> Unit } } - + diff --git a/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt b/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt index 6b3b1f4c..a54ab9e3 100644 --- a/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt @@ -77,7 +70,7 @@ index 6b3b1f4c..a54ab9e3 100644 + else -> Unit } } - + diff --git a/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt b/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt index 5904e811..3e6eea27 100644 --- a/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt @@ -89,7 +82,7 @@ index 5904e811..3e6eea27 100644 + else -> Unit } } - + diff --git a/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt b/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt index ef708ab5..09fef2f8 100644 --- a/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt @@ -101,7 +94,7 @@ index ef708ab5..09fef2f8 100644 + else -> Unit } } - + diff --git a/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt b/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt index 31750b34..a10a4e1b 100644 --- a/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt @@ -113,7 +106,7 @@ index 31750b34..a10a4e1b 100644 + else -> Unit } } - + diff --git a/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt b/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt index 4cf9ded9..50beedbe 100644 --- a/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt @@ -127,7 +120,7 @@ index 4cf9ded9..50beedbe 100644 } } diff --git a/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt b/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt -index e8bc2912..5d31bcd1 100644 +index 91837057..4aef7829 100644 --- a/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt +++ b/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt @@ -103,6 +103,7 @@ class WhitelistActivity : DuckDuckGoActivity() { @@ -137,9 +130,9 @@ index e8bc2912..5d31bcd1 100644 + else -> Unit } } - + diff --git a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt -index 97627faf..eb51c8d9 100644 +index 2f547c10..303796b0 100644 --- a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt +++ b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt @@ -174,6 +174,7 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine @@ -149,116 +142,86 @@ index 97627faf..eb51c8d9 100644 + else -> Unit } } - + diff --git a/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt b/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt -index d8dfa642..988cf1f9 100644 +index 0dc88554..7a8c4290 100644 --- a/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt +++ b/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt -@@ -165,6 +165,7 @@ class PlayStoreAppReferrerStateListener @Inject constructor( +@@ -170,6 +170,7 @@ class PlayStoreAppReferrerStateListener @Inject constructor( variantManager.updateAppReferrerVariant(VariantManager.RESERVED_EU_AUCTION_VARIANT) appReferrerDataStore.installedFromEuAuction = true } + else -> Unit } - + appReferrerDataStore.referrerCheckedPreviously = true diff --git a/build.gradle b/build.gradle -index 8a5b9c6e..03f70375 100644 +index 77b11869..9a6d9ea2 100644 --- a/build.gradle +++ b/build.gradle @@ -2,9 +2,9 @@ buildscript { - + ext { - kotlin_version = '1.6.21' -+ kotlin_version = '' ++ kotlin_version = '1.8.255-SNAPSHOT' spotless = "6.1.2" - anvil_version = "2.4.0" -+ anvil_version = "2.4.1-1.7.0-Beta-25-SNAPSHOT" ++ anvil_version = "2.4.1" gradle_plugin = "7.0.4" min_sdk = 23 target_sdk = 30 -@@ -13,13 +13,19 @@ buildscript { +@@ -13,6 +13,7 @@ buildscript { } - + repositories { + mavenLocal() google() mavenCentral() maven { url "https://plugins.gradle.org/m2/" } -+ maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots/" } - flatDir { - dirs "$rootProject.projectDir/libs" - } - } -+ configurations.classpath.resolutionStrategy { -+ force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:' -+ force 'org.jetbrains.kotlin:kotlin-gradle-plugin-api:' -+ } - dependencies { - classpath "com.android.tools.build:gradle:$gradle_plugin" - classpath "com.diffplug.spotless:spotless-plugin-gradle:$spotless" -@@ -36,11 +42,18 @@ apply plugin: 'com.osacky.fulladle' - +@@ -34,11 +35,13 @@ plugins { + allprojects { repositories { + mavenLocal() google() mavenCentral() -+ maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots/" } } configurations.all { -- resolutionStrategy.force 'org.objenesis:objenesis:2.6' -+ resolutionStrategy { -+ force 'org.objenesis:objenesis:2.6' -+ force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:' -+ force 'org.jetbrains.kotlin:kotlin-compiler-embeddable:' -+ force 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.4.2' -+ } + resolutionStrategy.force 'org.objenesis:objenesis:2.6' ++ resolutionStrategy.force 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0' } } - -@@ -70,4 +83,4 @@ fladle { + +@@ -68,4 +71,4 @@ fladle { } } - + -apply plugin: 'android-reporting' \ No newline at end of file +apply plugin: 'android-reporting' diff --git a/versions.properties b/versions.properties -index 069ab45e..26f56990 100644 +index 059622f0..89e01988 100644 --- a/versions.properties +++ b/versions.properties -@@ -69,7 +69,7 @@ version.jakewharton.rxrelay2=2.0.0 - +@@ -71,7 +71,7 @@ version.jakewharton.rxrelay2=2.0.0 + version.jakewharton.timber=5.0.1 - + -version.kotlin=1.6.21 +version.kotlin= - - version.kotlinx.coroutines=1.6.1 - -diff --git a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/apps/ui/TrackingProtectionExclusionListActivity.kt b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/apps/ui/TrackingProtectionExclusionListActivity.kt -index ffa80389..caa53aa3 100644 ---- a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/apps/ui/TrackingProtectionExclusionListActivity.kt -+++ b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/apps/ui/TrackingProtectionExclusionListActivity.kt -@@ -183,6 +183,7 @@ class TrackingProtectionExclusionListActivity : - command.position - ) - is Command.LaunchFeedback -> reportBreakage.launch(command.reportBreakageScreen) -+ else -> Unit - } - } - + + version.kotlinx.coroutines=1.6.3 + diff --git a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt -index bdc8881c..7c8f067e 100644 +index e170423b..057181fb 100644 --- a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt +++ b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt -@@ -228,6 +228,7 @@ class DeviceShieldTrackerActivity : +@@ -229,6 +229,7 @@ class DeviceShieldTrackerActivity : is DeviceShieldTrackerActivityViewModel.Command.ShowRemoveFeatureConfirmationDialog -> launchRemoveFeatureConfirmationDialog() is DeviceShieldTrackerActivityViewModel.Command.CloseScreen -> finish() is DeviceShieldTrackerActivityViewModel.Command.OpenVpnSettings -> openVPNSettings() + else -> Unit } } - +