diff options
Diffstat (limited to 'android')
42 files changed, 877 insertions, 435 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ListItemData.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ListItemData.kt index c04b4637bb..613fe49e8f 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ListItemData.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ListItemData.kt @@ -57,6 +57,7 @@ private constructor( const val ACTION = 3 const val DOUBLE_ACTION = 4 const val APPLICATION = 5 + fun build(identifier: String, setUp: Builder.() -> Unit): ListItemData = Builder(identifier).also(setUp).build() } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt index 5db52ca295..4469bd00ef 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/applist/ViewIntent.kt @@ -3,6 +3,8 @@ package net.mullvad.mullvadvpn.applist sealed class ViewIntent { // In future we will have search intent data class ChangeApplicationGroup(val item: ListItemData) : ViewIntent() + object ViewIsReady : ViewIntent() + data class ShowSystemApps(internal val show: Boolean) : ViewIntent() } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/SelectLocationUiState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/SelectLocationUiState.kt index 61b3abffa2..9d230a98fe 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/SelectLocationUiState.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/SelectLocationUiState.kt @@ -5,6 +5,7 @@ import net.mullvad.mullvadvpn.relaylist.RelayItem sealed interface SelectLocationUiState { object Loading : SelectLocationUiState + data class ShowData(val countries: List<RelayCountry>, val selectedRelay: RelayItem?) : SelectLocationUiState diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/SplitTunnelingUiState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/SplitTunnelingUiState.kt index d63afac400..1ebb8fb379 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/SplitTunnelingUiState.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/SplitTunnelingUiState.kt @@ -4,6 +4,7 @@ import net.mullvad.mullvadvpn.applist.AppData sealed interface SplitTunnelingUiState { object Loading : SplitTunnelingUiState + data class ShowAppList( val excludedApps: List<AppData> = emptyList(), val includedApps: List<AppData> = emptyList(), diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt index fb09846b8b..7104deb686 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt @@ -16,8 +16,11 @@ const val PROBLEM_REPORT_FILE = "problem_report.txt" class MullvadProblemReport { private sealed class Command { class Collect() : Command() + class Load(val logs: CompletableDeferred<String>) : Command() + class Send(val result: CompletableDeferred<Boolean>) : Command() + class Delete() : Command() } @@ -128,6 +131,7 @@ class MullvadProblemReport { } private external fun collectReport(logDirectory: String, reportPath: String): Boolean + private external fun sendProblemReport( userEmail: String, userMessage: String, diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/GetItemResult.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/GetItemResult.kt index d443d30cfe..edbaaf39d1 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/GetItemResult.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/GetItemResult.kt @@ -2,5 +2,6 @@ package net.mullvad.mullvadvpn.relaylist sealed class GetItemResult { data class Item(val item: RelayItem) : GetItemResult() + data class Count(val count: Int) : GetItemResult() } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/BlockingController.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/BlockingController.kt index 9589c9474b..4dd53fa937 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/BlockingController.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/BlockingController.kt @@ -34,5 +34,6 @@ class BlockingController(val blockableView: BlockableView) { interface BlockableView { fun setEnabled(enabled: Boolean) + fun onClick(): Job } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/BaseFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/BaseFragment.kt index 905cc889a9..bfbe4bdd25 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/BaseFragment.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/BaseFragment.kt @@ -12,6 +12,7 @@ import net.mullvad.mullvadvpn.util.transitionFinished abstract class BaseFragment : Fragment { constructor() : super() + constructor(@LayoutRes contentLayoutId: Int) : super(contentLayoutId) protected var transitionFinishedFlow: Flow<Unit> = emptyFlow() diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/PlainListItemView.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/PlainListItemView.kt index f472c444df..b0553619f9 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/PlainListItemView.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/PlainListItemView.kt @@ -9,6 +9,7 @@ class PlainListItemView(context: Context) : ListItemView(ContextThemeWrapper(context, R.style.ListItem_PlainText)) { override val layoutRes: Int get() = R.layout.list_item_plain_text + override val heightRes: Int? = null private val plainText: TextView = findViewById(R.id.plain_text) diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/TwoActionListItemView.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/TwoActionListItemView.kt index 8f349c0548..ffe6d0ae89 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/TwoActionListItemView.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/TwoActionListItemView.kt @@ -9,6 +9,7 @@ class TwoActionListItemView(context: Context) : ActionListItemView(ContextThemeWrapper(context, R.style.ListItem_Action_Double)) { override val layoutRes: Int get() = R.layout.list_item_two_action + private val container: ViewGroup = findViewById(R.id.container_without_widget) init { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt index 07463e1920..62325b4e1d 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/listitemview/WidgetViewController.kt @@ -21,7 +21,9 @@ sealed class WidgetViewController<T : WidgetState>(val parent: ViewGroup) { WidgetViewController<WidgetState.ImageState>(parent) { override val layoutRes: Int get() = R.layout.list_item_widget_image + private val imageView: ImageView = parent.findViewById(R.id.widgetImage) + override fun updateState(state: WidgetState.ImageState) = imageView.setImageResource(state.imageRes) } @@ -30,7 +32,9 @@ sealed class WidgetViewController<T : WidgetState>(val parent: ViewGroup) { WidgetViewController<WidgetState.SwitchState>(parent) { override val layoutRes: Int get() = R.layout.list_item_widget_switch + private val switch: SwitchCompat = parent.findViewById(R.id.widgetSwitch) + override fun updateState(state: WidgetState.SwitchState) { switch.isChecked = state.isChecked } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/notification/InAppNotification.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/notification/InAppNotification.kt index 9ee7a02698..ddba8656eb 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/notification/InAppNotification.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/notification/InAppNotification.kt @@ -27,6 +27,7 @@ abstract class InAppNotification { protected set open fun onResume() {} + open fun onPause() {} open fun onDestroy() { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ConnectionProxy.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ConnectionProxy.kt index 7470fc0712..d51bad461d 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ConnectionProxy.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ConnectionProxy.kt @@ -24,6 +24,7 @@ class ConnectionProxy(private val connection: Messenger, eventDispatcher: EventD var state by onStateChange.notifiable() private set + var uiState by onUiStateChange.notifiable() private set diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionAccountDataSource.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionAccountDataSource.kt index b8e6bc2ff9..d383035102 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionAccountDataSource.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionAccountDataSource.kt @@ -45,9 +45,14 @@ class ServiceConnectionAccountDataSource( } fun createAccount() = connection.send(Request.CreateAccount.message) + fun login(accountToken: String) = connection.send(Request.Login(accountToken).message) + fun logout() = connection.send(Request.Logout.message) + fun fetchAccountExpiry() = connection.send(Request.FetchAccountExpiry.message) + fun fetchAccountHistory() = connection.send(Request.FetchAccountHistory.message) + fun clearAccountHistory() = connection.send(Request.ClearAccountHistory.message) } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/ListenableScrollView.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/ListenableScrollView.kt index 683341686f..0b65325f42 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/ListenableScrollView.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/ListenableScrollView.kt @@ -8,6 +8,7 @@ import net.mullvad.mullvadvpn.util.ListenableScrollableView class ListenableScrollView : ScrollView, ListenableScrollableView { override val horizontalScrollOffset get() = scrollX + override val verticalScrollOffset get() = scrollY diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt index 48cd07f5c2..42f3f16122 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt @@ -25,6 +25,7 @@ class NotificationBanner : FrameLayout { private val animationListener = object : AnimatorListener { override fun onAnimationCancel(animation: Animator) {} + override fun onAnimationRepeat(animation: Animator) {} override fun onAnimationStart(animation: Animator) { @@ -78,6 +79,7 @@ class NotificationBanner : FrameLayout { } constructor(context: Context) : super(context) + constructor(context: Context, attributes: AttributeSet) : super(context, attributes) constructor( diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/WidgetState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/WidgetState.kt index 484f0262c1..e92265b2df 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/WidgetState.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/WidgetState.kt @@ -4,5 +4,6 @@ import androidx.annotation.DrawableRes sealed class WidgetState { data class ImageState(@DrawableRes val imageRes: Int) : WidgetState() + data class SwitchState(val isChecked: Boolean) : WidgetState() } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/FlowUtils.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/FlowUtils.kt index 6418652728..e4cdc95070 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/FlowUtils.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/FlowUtils.kt @@ -17,6 +17,7 @@ fun Animation.transitionFinished(): Flow<Unit> = val transitionAnimationListener = object : Animation.AnimationListener { override fun onAnimationStart(animation: Animation?) {} + override fun onAnimationEnd(animation: Animation?) { safeOffer(Unit) } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/HeaderOrHolder.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/HeaderOrHolder.kt index 308298443a..a1b50c6efb 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/HeaderOrHolder.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/HeaderOrHolder.kt @@ -5,5 +5,6 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder sealed class HeaderOrHolder<H : ViewHolder>(itemView: View) : ViewHolder(itemView) { class Header<H : ViewHolder>(headerView: View) : HeaderOrHolder<H>(headerView) + class Holder<H : ViewHolder>(val holder: H) : HeaderOrHolder<H>(holder.itemView) } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt index 79d7ae5428..30c1464a91 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt @@ -55,6 +55,7 @@ class AccountViewModel( ) } } + fun onLogoutClick() { accountRepository.logout() } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ChangelogViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ChangelogViewModel.kt index a8255f5675..bbfac3e024 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ChangelogViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ChangelogViewModel.kt @@ -39,5 +39,6 @@ class ChangelogViewModel( sealed class ChangelogDialogUiState { data class Show(val changes: List<String>) : ChangelogDialogUiState() + object Hide : ChangelogDialogUiState() } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt index 37aa06a7c9..0798bc50af 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt @@ -130,12 +130,15 @@ class ConnectViewModel(private val serviceConnectionManager: ServiceConnectionMa fun onDisconnectClick() { serviceConnectionManager.connectionProxy()?.disconnect() } + fun onReconnectClick() { serviceConnectionManager.connectionProxy()?.reconnect() } + fun onConnectClick() { serviceConnectionManager.connectionProxy()?.connect() } + fun onCancelClick() { serviceConnectionManager.connectionProxy()?.disconnect() } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModel.kt index 2f59bcb347..6fb00b1922 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModel.kt @@ -27,15 +27,23 @@ class LoginViewModel( sealed class LoginUiState { object Default : LoginUiState() + object Loading : LoginUiState() + data class Success(val isOutOfTime: Boolean) : LoginUiState() object CreatingAccount : LoginUiState() + object AccountCreated : LoginUiState() + object UnableToCreateAccountError : LoginUiState() + object InvalidAccountError : LoginUiState() + data class TooManyDevicesError(val accountToken: String) : LoginUiState() + object TooManyDevicesMissingListError : LoginUiState() + data class OtherError(val errorMessage: String) : LoginUiState() fun isLoading(): Boolean { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelState.kt index ab749e02d9..fbcc60258a 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelState.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelState.kt @@ -239,7 +239,9 @@ sealed interface StagedDns { sealed class ValidationResult { object Success : ValidationResult() + object InvalidAddress : ValidationResult() + object DuplicateAddress : ValidationResult() } diff --git a/android/buildSrc/src/main/kotlin/Versions.kt b/android/buildSrc/src/main/kotlin/Versions.kt index ffe63ae10a..106991ee3d 100644 --- a/android/buildSrc/src/main/kotlin/Versions.kt +++ b/android/buildSrc/src/main/kotlin/Versions.kt @@ -3,9 +3,9 @@ object Versions { const val jodaTime = "2.12.5" const val junit = "4.13.2" const val jvmTarget = "17" - const val kotlin = "1.8.21" - const val kotlinCompilerExtensionVersion = "1.4.7" - const val kotlinx = "1.7.1" + const val kotlin = "1.9.0" + const val kotlinCompilerExtensionVersion = "1.5.1" + const val kotlinx = "1.7.3" const val leakCanary = "2.12" // Make sure the following issue has been fixed before upgrading mockk: // https://github.com/mockk/mockk/issues/1035 @@ -52,12 +52,12 @@ object Versions { // The androidAapt plugin version must be in sync with the android plugin version. // Required for Gradle metadata verification to work properly, see: // https://github.com/gradle/gradle/issues/19228 - const val android = "8.0.2" - const val androidAapt = "$android-9289358" + const val android = "8.1.0" + const val androidAapt = "$android-10154469" const val playPublisher = "3.8.4" const val dependencyCheck = "8.3.1" const val gradleVersions = "0.47.0" - const val ktfmt = "0.12.0" + const val ktfmt = "0.13.0" } object Koin { diff --git a/android/gradle/verification-metadata.xml b/android/gradle/verification-metadata.xml index 582175a21b..0c6803122e 100644 --- a/android/gradle/verification-metadata.xml +++ b/android/gradle/verification-metadata.xml @@ -283,12 +283,12 @@ <sha256 value="80512d30da688904b645029f039cedc3e25be99de3851170e253315c55839aa6" origin="Generated by Gradle"/> </artifact> </component> - <component group="androidx.compose.compiler" name="compiler" version="1.4.7"> - <artifact name="compiler-1.4.7.jar"> - <sha256 value="4e9281473a9da54fae9220b729eca1e2b57cb85cfa3f820a794a30815c487ff1" origin="Generated by Gradle"/> + <component group="androidx.compose.compiler" name="compiler" version="1.5.1"> + <artifact name="compiler-1.5.1.jar"> + <sha256 value="b4ff8abe298d70466b8b202898fee1b0949512962bdb8c95cf77c0907afe53f0" origin="Generated by Gradle"/> </artifact> - <artifact name="compiler-1.4.7.module"> - <sha256 value="475cbc0e2715a00289f450f4497b2be01f7ea6c0100d8c1cd55baa2b6444ea70" origin="Generated by Gradle"/> + <artifact name="compiler-1.5.1.module"> + <sha256 value="96b3e519d5ce3d48ae409f914e04f71403371e74490f4b3aa2b869f27811f5f3" origin="Generated by Gradle"/> </artifact> </component> <component group="androidx.compose.foundation" name="foundation" version="1.4.3"> @@ -621,14 +621,14 @@ <sha256 value="903034d5152dd2e0162b1468ea25a22e1ca384006b3d282d5a143cc760321a01" origin="Generated by Gradle"/> </artifact> </component> - <component group="androidx.databinding" name="databinding-common" version="8.0.2"> - <artifact name="databinding-common-8.0.2.jar"> - <sha256 value="9fa21e2030273ee3cb8c4701c341af8cf9359791a3b45b2bc0be07870c03b1c8" origin="Generated by Gradle"/> + <component group="androidx.databinding" name="databinding-common" version="8.1.0"> + <artifact name="databinding-common-8.1.0.jar"> + <sha256 value="66cab82639dac0f6c2433464c093b074d608c4bb887ec38a9b8bc4ac98126732" origin="Generated by Gradle"/> </artifact> </component> - <component group="androidx.databinding" name="databinding-compiler-common" version="8.0.2"> - <artifact name="databinding-compiler-common-8.0.2.jar"> - <sha256 value="7b5cf583171d30a3fff4a0230b620a601e4b0a9d2de05d66bebf678229740caf" origin="Generated by Gradle"/> + <component group="androidx.databinding" name="databinding-compiler-common" version="8.1.0"> + <artifact name="databinding-compiler-common-8.1.0.jar"> + <sha256 value="f0c2138f13aa2dd72b8e89f379cd2b638ec59206d5aaf07c155613dbac83f519" origin="Generated by Gradle"/> </artifact> </component> <component group="androidx.documentfile" name="documentfile" version="1.0.0"> @@ -1213,172 +1213,172 @@ <sha256 value="34813438ae79db84f4459c19f440ef3346ee141bab671aed874d22c1c4bd4f88" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android" name="signflinger" version="8.0.2"> - <artifact name="signflinger-8.0.2.jar"> - <sha256 value="1f25f3f9c5d706fd7bc133a45bf35511093197d540635a613d1aae11260e314a" origin="Generated by Gradle"/> + <component group="com.android" name="signflinger" version="8.1.0"> + <artifact name="signflinger-8.1.0.jar"> + <sha256 value="c1dca2c683634ee1a294298f9c7179578af6a86e080bdc40f961915bc5c8142f" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android" name="zipflinger" version="8.0.2"> - <artifact name="zipflinger-8.0.2.jar"> - <sha256 value="d82b239494dd262e65cd94b2edf96c9b5cf19c7afbfc84f2601749f50e15c765" origin="Generated by Gradle"/> + <component group="com.android" name="zipflinger" version="8.1.0"> + <artifact name="zipflinger-8.1.0.jar"> + <sha256 value="56589abf965af58ea1d31c15d676fe0d62b9db92983fbdfe8e72c983ea577dbb" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.databinding" name="baseLibrary" version="8.0.2"> - <artifact name="baseLibrary-8.0.2.jar"> - <sha256 value="530b2113317ff4d0f69ffdfb49387ba4b86aac169e1c77dff943405b79adcf8b" origin="Generated by Gradle"/> + <component group="com.android.databinding" name="baseLibrary" version="8.1.0"> + <artifact name="baseLibrary-8.1.0.jar"> + <sha256 value="794113709dab21b06c262b3795e73cb708fbacae61715f34361e1af6237a1870" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools" name="annotations" version="31.0.2"> - <artifact name="annotations-31.0.2.jar"> - <sha256 value="d4ba7dd6055a6f1fd6ddb6dcef4e2096c15908bc7dc6057cb2e06f3a0db949c7" origin="Generated by Gradle"/> + <component group="com.android.tools" name="annotations" version="31.1.0"> + <artifact name="annotations-31.1.0.jar"> + <sha256 value="ee3bfd9cdb5012bdb61520f8654a785577e9bb337e5939c5c6149a446684ee16" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools" name="common" version="31.0.2"> - <artifact name="common-31.0.2.jar"> - <sha256 value="09f1b19445cc1307e3d065c0f9fde4779abc5100b351eca2b0361c6dc9930d8d" origin="Generated by Gradle"/> + <component group="com.android.tools" name="common" version="31.1.0"> + <artifact name="common-31.1.0.jar"> + <sha256 value="18429dd4f4eef4f382f81c5970776f825c13da2fc34c6cd42e69b016c4fcf072" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools" name="dvlib" version="31.0.2"> - <artifact name="dvlib-31.0.2.jar"> - <sha256 value="d946ad39a40b667c82da87724527815536de62d0db0e8ea333449fdb90509001" origin="Generated by Gradle"/> + <component group="com.android.tools" name="dvlib" version="31.1.0"> + <artifact name="dvlib-31.1.0.jar"> + <sha256 value="f6e31a2b7da1b62a401e5e3f0304426faa119dcfd1651f8f67a9a4c254d59faf" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools" name="play-sdk-proto" version="31.0.2"> - <artifact name="play-sdk-proto-31.0.2.jar"> - <sha256 value="270f0f4653fe0d6477e55359dd47fb61ec5c96597997871e916b405042b39b91" origin="Generated by Gradle"/> + <component group="com.android.tools" name="play-sdk-proto" version="31.1.0"> + <artifact name="play-sdk-proto-31.1.0.jar"> + <sha256 value="5c77cd5fabe3d288272c088b05576085ebbfd1ddaac299bbebb93ce53b0ffe7e" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools" name="repository" version="31.0.2"> - <artifact name="repository-31.0.2.jar"> - <sha256 value="c11d10822af862cee3412ddc7245f6054d4b00a9e61fd1d2357390280879ea36" origin="Generated by Gradle"/> + <component group="com.android.tools" name="repository" version="31.1.0"> + <artifact name="repository-31.1.0.jar"> + <sha256 value="8fe8e9d6bcebe92dd4eee3e8f8e122b521f03a8f49e28f6a814b46e3822e4aaa" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools" name="sdk-common" version="31.0.2"> - <artifact name="sdk-common-31.0.2.jar"> - <sha256 value="766aa3b48b8c87adb8a1b0fed6689d48ec85ea803f85ab9f155c0e40c510e258" origin="Generated by Gradle"/> + <component group="com.android.tools" name="sdk-common" version="31.1.0"> + <artifact name="sdk-common-31.1.0.jar"> + <sha256 value="47a63f3c957cc7a108000f945fdcff935148d5c213cb5887472cc091599a44c3" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools" name="sdklib" version="31.0.2"> - <artifact name="sdklib-31.0.2.jar"> - <sha256 value="9770b9aaedcb5543497b9abb79ac0e1ee5ba3a8197969b52aa51a06f6bc10964" origin="Generated by Gradle"/> + <component group="com.android.tools" name="sdklib" version="31.1.0"> + <artifact name="sdklib-31.1.0.jar"> + <sha256 value="9b344f6587e890bd0d4b68667c8fb652be12227fbe4c21cd8824d292e4ed6ddb" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.analytics-library" name="crash" version="31.0.2"> - <artifact name="crash-31.0.2.jar"> - <sha256 value="1a940620fcd33f546200defd5347be74f7341c08563fc52a0eeeb4b8ccdd0c51" origin="Generated by Gradle"/> + <component group="com.android.tools.analytics-library" name="crash" version="31.1.0"> + <artifact name="crash-31.1.0.jar"> + <sha256 value="cc5f028ac4fd037d57c0bb0cdc84ca37671852ea2370216b5ce6f45479f03261" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.analytics-library" name="protos" version="31.0.2"> - <artifact name="protos-31.0.2.jar"> - <sha256 value="d074b93c2395722c6fff42b0397c5ba6cb2be44338a49a5133fbfb9b8191a68d" origin="Generated by Gradle"/> + <component group="com.android.tools.analytics-library" name="protos" version="31.1.0"> + <artifact name="protos-31.1.0.jar"> + <sha256 value="c1731e7dd1c07a10a0b11a62fff27448bfa260f7b534276bc9dbad857fbd76fd" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.analytics-library" name="shared" version="31.0.2"> - <artifact name="shared-31.0.2.jar"> - <sha256 value="d7efd1542cf705b1a0a46ac493849f7cf3d5e4b3bcdc78a4fa0478ea6c7caccb" origin="Generated by Gradle"/> + <component group="com.android.tools.analytics-library" name="shared" version="31.1.0"> + <artifact name="shared-31.1.0.jar"> + <sha256 value="1c0059475ddac544e9f8f43ae018092dbb446c86970e2b5fe1e65931c780d42a" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.analytics-library" name="tracker" version="31.0.2"> - <artifact name="tracker-31.0.2.jar"> - <sha256 value="a62bcf8ad3816bdc276999e80c8edd52bdb1a20bfd571d8f5f7e91fce1c74545" origin="Generated by Gradle"/> + <component group="com.android.tools.analytics-library" name="tracker" version="31.1.0"> + <artifact name="tracker-31.1.0.jar"> + <sha256 value="02cc932f48012d8feae1d09f949697c6e2154e821d6d4649e1e39dc911c46977" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="aapt2" version="8.0.2-9289358"> - <artifact name="aapt2-8.0.2-9289358-linux.jar"> - <sha256 value="e18c5ff5e71e3e9fcf6b6ad021c7013538f31066e253e3b4816fccf105f3a364" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="aapt2" version="8.1.0-10154469"> + <artifact name="aapt2-8.1.0-10154469-linux.jar"> + <sha256 value="09408183419a74c405d7c5a964a800da916758988cbc5c6cfdbb1c309aaea03c" origin="Generated by Gradle"/> </artifact> - <artifact name="aapt2-8.0.2-9289358-osx.jar"> - <sha256 value="83467af53a7bbbaea4d560057b08d675e375b00758a03cecfb998a7638ad1c54" origin="Generated by Gradle"/> + <artifact name="aapt2-8.1.0-10154469-osx.jar"> + <sha256 value="c34f5c26a014199da8e86c85f4ed0bfbe804fc087b98539c9481add23eae05e0" origin="Generated by Gradle"/> </artifact> - <artifact name="aapt2-8.0.2-9289358-windows.jar"> - <sha256 value="ee1b7dee9d1e55cda1c4f745005019584d195474ee573a444b268740c1365287" origin="Generated by Gradle"/> + <artifact name="aapt2-8.1.0-10154469-windows.jar"> + <sha256 value="12aee6bd1f6afe1cef8b6fcb64b0f0962c925c7c6241add572e03bf8be103f5c" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="aapt2-proto" version="8.0.2-9289358"> - <artifact name="aapt2-proto-8.0.2-9289358.jar"> - <sha256 value="b7dc57505b56d06ab057bcc5360ca7cb995e61c2633ddaa17c0638b17913aaae" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="aapt2-proto" version="8.1.0-10154469"> + <artifact name="aapt2-proto-8.1.0-10154469.jar"> + <sha256 value="6d8d14b91285cc7c1b73460f413bb3f80672dc34dc506ed578fba1f6dde8661e" origin="Generated by Gradle"/> </artifact> - <artifact name="aapt2-proto-8.0.2-9289358.module"> - <sha256 value="53a68846734600d0988d744600dbf93298b95662de996591330327de97c20168" origin="Generated by Gradle"/> + <artifact name="aapt2-proto-8.1.0-10154469.module"> + <sha256 value="fd72696795dc762c9f6e3698acfa22bfc6c75a862659bba2adb783e6b9138006" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="aaptcompiler" version="8.0.2"> - <artifact name="aaptcompiler-8.0.2.jar"> - <sha256 value="1006750a1bbdf22db39b480a8c10ee2f982d0395cbefbc83812aeaf9593b6567" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="aaptcompiler" version="8.1.0"> + <artifact name="aaptcompiler-8.1.0.jar"> + <sha256 value="5de36b2081e635c2dfe93e62f9861a6f527878fdb5cb4c464e872cca4df06250" origin="Generated by Gradle"/> </artifact> - <artifact name="aaptcompiler-8.0.2.module"> - <sha256 value="77372cb582dde1d3a4115ad8ab79166b78c52c270e2f6543b449d13e36012c0e" origin="Generated by Gradle"/> + <artifact name="aaptcompiler-8.1.0.module"> + <sha256 value="19c9f8a4f359a58b2e60192f1dff2f1a8d8dc97adb03a8d04f3031cb39856c3a" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="apksig" version="8.0.2"> - <artifact name="apksig-8.0.2.jar"> - <sha256 value="1556367f117415b3fbb66b3222254197b0f4aafdbc9f467497304409f0d30386" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="apksig" version="8.1.0"> + <artifact name="apksig-8.1.0.jar"> + <sha256 value="468ee1852fa12461c6629608fe47be70e50f60be7c4744bb7f62ca48e85c0a6c" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="apkzlib" version="8.0.2"> - <artifact name="apkzlib-8.0.2.jar"> - <sha256 value="79474dbb7505515a7fe081149a119aa4c6580ac4da8dc3ea7d3675956b00fffc" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="apkzlib" version="8.1.0"> + <artifact name="apkzlib-8.1.0.jar"> + <sha256 value="ec6cdd0645c9923c733d38a0a68c1b47919a822f138d56dc99ba9c78c361fa00" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="builder" version="8.0.2"> - <artifact name="builder-8.0.2.jar"> - <sha256 value="779804f5b8bd22c4f3fe69866e17cfc0f58f9ed3c4e02b9626b42bf66551140c" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="builder" version="8.1.0"> + <artifact name="builder-8.1.0.jar"> + <sha256 value="be41a2a8b1056729c3d4bf4c79cc9c0f344c77932bfdb31961d96ce70bd187da" origin="Generated by Gradle"/> </artifact> - <artifact name="builder-8.0.2.module"> - <sha256 value="720d811feecb2a20e592525e7b38963e39df76c083d355ab55730504d0dc46ec" origin="Generated by Gradle"/> + <artifact name="builder-8.1.0.module"> + <sha256 value="5b8de94b653a88f9fe91c8e654e66ec618a8adba7068022de598085be8e67f0f" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="builder-model" version="8.0.2"> - <artifact name="builder-model-8.0.2.jar"> - <sha256 value="cbaa1696178cf3627840faaffe30c62e709e101bc15809a02783e45dfab815a0" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="builder-model" version="8.1.0"> + <artifact name="builder-model-8.1.0.jar"> + <sha256 value="efe9220a2334d9bafe655dd895a007b2c403f509ae2be037c60ab4f47cc398f1" origin="Generated by Gradle"/> </artifact> - <artifact name="builder-model-8.0.2.module"> - <sha256 value="41c689f58e7a48ade2132219dda503a7b32e9767c912f07c8ac5c68d153cb4e3" origin="Generated by Gradle"/> + <artifact name="builder-model-8.1.0.module"> + <sha256 value="e10891390a314ce811c634980ccb4d35d2ba4e81c64be6a11a402d3763013a5f" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="builder-test-api" version="8.0.2"> - <artifact name="builder-test-api-8.0.2.jar"> - <sha256 value="66f7798525a8eb5cd85dd905ce9a6de737a1d2363dee4155babd5e388e96d4f7" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="builder-test-api" version="8.1.0"> + <artifact name="builder-test-api-8.1.0.jar"> + <sha256 value="e1474815e603a4f4b7d9e086c481775d3d7837c8254a0831a8cbee8a5d11ac8a" origin="Generated by Gradle"/> </artifact> - <artifact name="builder-test-api-8.0.2.module"> - <sha256 value="acf833bb07ff61db0dc47151eb89236d93f25a75d6bf55958c9c57c36abb8c19" origin="Generated by Gradle"/> + <artifact name="builder-test-api-8.1.0.module"> + <sha256 value="5655ff7edadc61daf9cf898f77f7ab0105e8c034722a2be66edee86871ba8e40" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="bundletool" version="1.13.2"> - <artifact name="bundletool-1.13.2.jar"> - <sha256 value="e56e54b7657f67e77c7550bec64f70d0de2780a4795024b99fcf6a701bd1718d" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="bundletool" version="1.14.0"> + <artifact name="bundletool-1.14.0.jar"> + <sha256 value="8e44e4b396f12dc2fa55d40985ceb08b1bed222077a5dedbafdeb46da8fb9d06" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="gradle" version="8.0.2"> - <artifact name="gradle-8.0.2.jar"> - <sha256 value="645916554831d28eb1dec154910c3e24ed4a077e03949c41d2ab4d47a623c9b6" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="gradle" version="8.1.0"> + <artifact name="gradle-8.1.0.jar"> + <sha256 value="bee5ca8b8255096decc397372c104e4a2a2d7c690d712e10181609ed85cd1cb2" origin="Generated by Gradle"/> </artifact> - <artifact name="gradle-8.0.2.module"> - <sha256 value="95a5a36f446bbfb4d6f290c98a8c9da9f2ab71c59290ada87617c07f4cda1164" origin="Generated by Gradle"/> + <artifact name="gradle-8.1.0.module"> + <sha256 value="763dc2345d186f73afe3b8bea2d7a651f22516f4915075fdd8d3877f397579ce" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="gradle-api" version="8.0.2"> - <artifact name="gradle-api-8.0.2.jar"> - <sha256 value="e3a14c889d8e6b3e1c026015950db54a4d1bd09ade82e05307adba603f46f036" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="gradle-api" version="8.1.0"> + <artifact name="gradle-api-8.1.0.jar"> + <sha256 value="01cb192f3ab8d5ef0ed1e42d1d03b068a1f5317983e64f0682dccbcff76ec16f" origin="Generated by Gradle"/> </artifact> - <artifact name="gradle-api-8.0.2.module"> - <sha256 value="c6aa577911ca61680a34e5e0612011f1cb823e5193e72cff92ce3b9aa8597668" origin="Generated by Gradle"/> + <artifact name="gradle-api-8.1.0.module"> + <sha256 value="d3c0779a7b91f1a931228d8f7e86219f3be6fa12fb9bf7bee4f60968b2b25730" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="gradle-settings-api" version="8.0.2"> - <artifact name="gradle-settings-api-8.0.2.jar"> - <sha256 value="1eeadff69357705c9289e0a7253c95f9e499f543ff853e413d49652ae13e1d8a" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="gradle-settings-api" version="8.1.0"> + <artifact name="gradle-settings-api-8.1.0.jar"> + <sha256 value="5751e038e07eb33f3e51da0a0e6691d806106cdb4f10930dcd7e81304c7c847f" origin="Generated by Gradle"/> </artifact> - <artifact name="gradle-settings-api-8.0.2.module"> - <sha256 value="038db3ffd98a091a3f3cce0de61ace5d003ee3ade5c903e0c41268e81c2b8213" origin="Generated by Gradle"/> + <artifact name="gradle-settings-api-8.1.0.module"> + <sha256 value="c4a017f363aacbd199b23c9c9c482d41570bbcd83b678b4d567f8ea2a100e5d2" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.build" name="manifest-merger" version="31.0.2"> - <artifact name="manifest-merger-31.0.2.jar"> - <sha256 value="8a354d36df3e22d0df567645bc6430d95579919bf36055e945702f1c3c0c8ae2" origin="Generated by Gradle"/> + <component group="com.android.tools.build" name="manifest-merger" version="31.1.0"> + <artifact name="manifest-merger-31.1.0.jar"> + <sha256 value="80ecad8096efbd50778ccb3aa848e16aa092fde2e68d213cebca2b83d2399dbb" origin="Generated by Gradle"/> </artifact> - <artifact name="manifest-merger-31.0.2.module"> - <sha256 value="344ee2fc68a62b42b548a97900c2148cb8185b532ffe5d38a202903c22684bd1" origin="Generated by Gradle"/> + <artifact name="manifest-merger-31.1.0.module"> + <sha256 value="15d4c068e62a53a53a4c139ef3af8417f332384ee0648e0da5ed74563ca53055" origin="Generated by Gradle"/> </artifact> </component> <component group="com.android.tools.build" name="transform-api" version="2.0.0-deprecated-use-gradle-api"> @@ -1402,168 +1402,194 @@ <sha256 value="36c25576b19993df360170528cc62b7246c37776d6158154a67cdf8fc2d58e13" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.ddms" name="ddmlib" version="31.0.2"> - <artifact name="ddmlib-31.0.2.jar"> - <sha256 value="66de3038ddc4f240a2b3331bc9863b379c3999a1a8b0923dc731f11a9a295034" origin="Generated by Gradle"/> + <component group="com.android.tools.ddms" name="ddmlib" version="31.1.0"> + <artifact name="ddmlib-31.1.0.jar"> + <sha256 value="8c2fb144e61ca79aab8edc7c3ffe2c2b74bc6b23cb0cac6c8b7e066b5151e8ed" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.emulator" name="proto" version="31.0.2"> - <artifact name="proto-31.0.2.jar"> - <sha256 value="03c9f2a9eb08ebad38da2352e82e5ab08fa4fac7083fe771942aa29f60ab5bab" origin="Generated by Gradle"/> + <component group="com.android.tools.emulator" name="proto" version="31.1.0"> + <artifact name="proto-31.1.0.jar"> + <sha256 value="6c07754c4051e3b1cbbecbe0f14c6e9c5137a63ff3ea2afe529236435fc971bd" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.external.com-intellij" name="intellij-core" version="31.0.2"> - <artifact name="intellij-core-31.0.2.jar"> - <sha256 value="2d258f6137c7585608ea43320cfa0a685d32a40e6dd4cd0c21f466e60fd01ace" origin="Generated by Gradle"/> + <component group="com.android.tools.external.com-intellij" name="intellij-core" version="31.1.0"> + <artifact name="intellij-core-31.1.0.jar"> + <sha256 value="558db7e4be3f09a72d15c9ec1adf4c7ad78b6b8af927b36bc3e1b1093e86b7ea" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.external.com-intellij" name="kotlin-compiler" version="31.0.2"> - <artifact name="kotlin-compiler-31.0.2.jar"> - <sha256 value="1b1ff8dca59b78e59aaa02818e1aef4aa142302fdfa7fb9041ca0c342da0bbe3" origin="Generated by Gradle"/> + <component group="com.android.tools.external.com-intellij" name="kotlin-compiler" version="31.1.0"> + <artifact name="kotlin-compiler-31.1.0.jar"> + <sha256 value="59af5f311b8864df211293fe6ba3a8019bb40f5fc226ece7ecbcd0a0614a326b" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.external.org-jetbrains" name="uast" version="31.0.2"> - <artifact name="uast-31.0.2.jar"> - <sha256 value="b4b1a74a712518c0dfd9930e9ffa69288ec84cf2fb55a5abd09f30b73ab0cac0" origin="Generated by Gradle"/> + <component group="com.android.tools.external.org-jetbrains" name="uast" version="31.1.0"> + <artifact name="uast-31.1.0.jar"> + <sha256 value="3cbce06d8859b6d39f498316bb32f542f89631251447b5938e5783a1a6ead79f" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.layoutlib" name="layoutlib-api" version="31.0.2"> - <artifact name="layoutlib-api-31.0.2.jar"> - <sha256 value="3df9c0423d26dffae97d9d622492c817dd57ac2d46b15e077b2af5fd9bf8ac05" origin="Generated by Gradle"/> + <component group="com.android.tools.layoutlib" name="layoutlib-api" version="31.1.0"> + <artifact name="layoutlib-api-31.1.0.jar"> + <sha256 value="2b8b35a2125b9e11c450bcdb5774aa698b199b4026ae49f28b07c1c2325b5868" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.lint" name="lint" version="31.0.2"> - <artifact name="lint-31.0.2.jar"> - <sha256 value="e2a2b4f88cf9977021161361c242a6ec8476eaba67fae00074fa0f2eb03252bc" origin="Generated by Gradle"/> + <component group="com.android.tools.lint" name="lint" version="31.1.0"> + <artifact name="lint-31.1.0.jar"> + <sha256 value="377363a39926aa0b2e2f368f1f846086c3ea4f21e9b94278d0ed933e9a0b37d4" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.lint" name="lint-api" version="31.0.2"> - <artifact name="lint-api-31.0.2.jar"> - <sha256 value="b574c059dbe7c0bd5a8fb99b239e6ba844484a59c6622f2636c107eb87c3c24b" origin="Generated by Gradle"/> + <component group="com.android.tools.lint" name="lint-api" version="31.1.0"> + <artifact name="lint-api-31.1.0.jar"> + <sha256 value="d0b73b509452c2cb6070d2a11e5ddcd0b6bcad452af7a531bcb095797257930b" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.lint" name="lint-checks" version="31.0.2"> - <artifact name="lint-checks-31.0.2.jar"> - <sha256 value="67d210b6331030d27b11d7e081a9d299eb1d7a5519304de5a2c00fbb19044d42" origin="Generated by Gradle"/> + <component group="com.android.tools.lint" name="lint-checks" version="31.1.0"> + <artifact name="lint-checks-31.1.0.jar"> + <sha256 value="38756dc2929d5fd6decd90680c422ea57736392edf3c1f34b2092168dd9b7952" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.lint" name="lint-gradle" version="31.0.2"> - <artifact name="lint-gradle-31.0.2.jar"> - <sha256 value="0d34bcad5e346ebb6324ff8eee79d8fc418fa9a77892ffe17d48ea7677654a6d" origin="Generated by Gradle"/> + <component group="com.android.tools.lint" name="lint-gradle" version="31.1.0"> + <artifact name="lint-gradle-31.1.0.jar"> + <sha256 value="e3bfad176e85b83306f487ca1f70b63b0e2e27e95d3280b8730051c9890d24b2" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.lint" name="lint-model" version="31.0.2"> - <artifact name="lint-model-31.0.2.jar"> - <sha256 value="162eb85f27efc7b11821f80bb9861a02bb979127beba9b265155c19c80f809ac" origin="Generated by Gradle"/> + <component group="com.android.tools.lint" name="lint-model" version="31.1.0"> + <artifact name="lint-model-31.1.0.jar"> + <sha256 value="a37eb5447a242fc3c8ef54e2fa625be4324fcc7807076ddc80db6a08081d31d6" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.lint" name="lint-typedef-remover" version="31.0.2"> - <artifact name="lint-typedef-remover-31.0.2.jar"> - <sha256 value="26c9384cd0cc727c0985097baf4fbcd90d556e06bb0f586c175ca9912fbc66ff" origin="Generated by Gradle"/> + <component group="com.android.tools.lint" name="lint-typedef-remover" version="31.1.0"> + <artifact name="lint-typedef-remover-31.1.0.jar"> + <sha256 value="5b4f485215ca4d86ef2319fc398b5f2251e62f5446bc5fd0e00653648ddde318" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-device-provider-ddmlib" version="31.0.2"> - <artifact name="android-device-provider-ddmlib-31.0.2.jar"> - <sha256 value="9972f7f0be3b9999feb88a4a20928aa7c8305d715b0aa71155669c9afc48511b" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-device-provider-ddmlib" version="31.1.0"> + <artifact name="android-device-provider-ddmlib-31.1.0.jar"> + <sha256 value="291b0cd5283caf106dfb2a220554a05e8e9a5b1d472e958088b6c61f4a44a9d0" origin="Generated by Gradle"/> </artifact> - <artifact name="android-device-provider-ddmlib-31.0.2.module"> - <sha256 value="10cd2df76d221953915c89afa9f2a05378b14c5bd94de17ad3005cf309d21e81" origin="Generated by Gradle"/> + <artifact name="android-device-provider-ddmlib-31.1.0.module"> + <sha256 value="70b43e2b79736ddfcd6cfd2105cf66fe2949cb473717356ff0a3591d6ada4255" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-device-provider-ddmlib-proto" version="31.0.2"> - <artifact name="android-device-provider-ddmlib-proto-31.0.2.jar"> - <sha256 value="332794db1e7702c9689c8075532f235cccbf57d70aba29cbd7d378e781bad37f" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-device-provider-ddmlib-proto" version="31.1.0"> + <artifact name="android-device-provider-ddmlib-proto-31.1.0.jar"> + <sha256 value="1a288dfd22f5baa036bffdfdd3ac7504664b94c86dbf6be36630e5587c22e8fe" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-device-provider-gradle" version="31.0.2"> - <artifact name="android-device-provider-gradle-31.0.2.jar"> - <sha256 value="55e574b7f1c1196e61718cdc0419b7fa0e7baef07e5df4b92e3cdd7b3aa0f297" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-device-provider-gradle" version="31.1.0"> + <artifact name="android-device-provider-gradle-31.1.0.jar"> + <sha256 value="e979dfbc045186ad46fdcd3f7a099a121faf669e8321cf984562746337f666d3" origin="Generated by Gradle"/> </artifact> - <artifact name="android-device-provider-gradle-31.0.2.module"> - <sha256 value="37b0f23856e6206a74ac1891c455115c88e16d4d89ec3cc62e9902dc1c116a91" origin="Generated by Gradle"/> + <artifact name="android-device-provider-gradle-31.1.0.module"> + <sha256 value="715032ce422c5a13bb18d2c35be59fd16c17aa6811d0275b217daf0644efebd7" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-device-provider-gradle-proto" version="31.0.2"> - <artifact name="android-device-provider-gradle-proto-31.0.2.jar"> - <sha256 value="48f8b288d3b3195199ded91cbaa67a28be2fb9d317da187b88a7d4ffb505a578" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-device-provider-gradle-proto" version="31.1.0"> + <artifact name="android-device-provider-gradle-proto-31.1.0.jar"> + <sha256 value="10f9b620a8403fd6a9c9e9c635c63a7975337b1deb5c375b79a6960eb5af88d4" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-additional-test-output" version="31.0.2"> - <artifact name="android-test-plugin-host-additional-test-output-31.0.2.jar"> - <sha256 value="957d41b43c848272f43e2aee91fb21a65710f6d963639ea4bf210546d3102f6c" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-additional-test-output" version="31.1.0"> + <artifact name="android-test-plugin-host-additional-test-output-31.1.0.jar"> + <sha256 value="4c2a37ad44b998f22465f28f4eac0211b199781ea857235ed43d213ca8aec6a3" origin="Generated by Gradle"/> </artifact> - <artifact name="android-test-plugin-host-additional-test-output-31.0.2.module"> - <sha256 value="6ae9f8b15d5679d838b538f09b2972f5f4de20cd8fc7824f7695a984b004a92f" origin="Generated by Gradle"/> + <artifact name="android-test-plugin-host-additional-test-output-31.1.0.module"> + <sha256 value="645e4679f96fec6344c22a290aebe9caacb415a0ebf44d9cef16f2c4d96b23fd" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-additional-test-output-proto" version="31.0.2"> - <artifact name="android-test-plugin-host-additional-test-output-proto-31.0.2.jar"> - <sha256 value="6c4d0907badf886cbea14e56e8d08ce232ee775403ad811c27a280520d7efa1a" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-additional-test-output-proto" version="31.1.0"> + <artifact name="android-test-plugin-host-additional-test-output-proto-31.1.0.jar"> + <sha256 value="08d12e55fa91ab83dd1b757cdbca3d746809b0a50268f75cf52194f46a2c6673" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-coverage" version="31.0.2"> - <artifact name="android-test-plugin-host-coverage-31.0.2.jar"> - <sha256 value="4753f96f79e26c02dc41367ff1ae9db018558f58702599f372d178ed4bae9016" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-apk-installer" version="31.1.0"> + <artifact name="android-test-plugin-host-apk-installer-31.1.0.jar"> + <sha256 value="5c043b223a589a3fa631ecefeaa7192483fd10defd7c609ca07f31c6672912a7" origin="Generated by Gradle"/> </artifact> - <artifact name="android-test-plugin-host-coverage-31.0.2.module"> - <sha256 value="1c6d141394fab54d47c25d11dfdff681ccee0dc958e61999b4fd2cbdb5bafe12" origin="Generated by Gradle"/> + <artifact name="android-test-plugin-host-apk-installer-31.1.0.module"> + <sha256 value="6408c239b3130bb300e34b72be384410c1e550c42911673647b4fa8b18d33ef5" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-coverage-proto" version="31.0.2"> - <artifact name="android-test-plugin-host-coverage-proto-31.0.2.jar"> - <sha256 value="22686a7d1775171e76534ab8f40f9c9677cabc77321088e3268cb9cb74d0e5c6" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-apk-installer-proto" version="31.1.0"> + <artifact name="android-test-plugin-host-apk-installer-proto-31.1.0.jar"> + <sha256 value="abd2aac816a81e2af7705f3edff3de22bcd806212a1d158f432a39b06ae544e4" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-device-info" version="31.0.2"> - <artifact name="android-test-plugin-host-device-info-31.0.2.jar"> - <sha256 value="8e09d5b0c69a76ff1f4561f2f1ecbc5a0bbc325d0b4d6c65bd03dd5146561f72" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-coverage" version="31.1.0"> + <artifact name="android-test-plugin-host-coverage-31.1.0.jar"> + <sha256 value="089eec62dde4c69c0df614c73a9873cca2052dd6089320f518f1f18b3373aea6" origin="Generated by Gradle"/> </artifact> - <artifact name="android-test-plugin-host-device-info-31.0.2.module"> - <sha256 value="2e7b95eda2cb48b2461df0270f7665f801e15b4f7c0fe1c1190d933334bf5f88" origin="Generated by Gradle"/> + <artifact name="android-test-plugin-host-coverage-31.1.0.module"> + <sha256 value="2e03c3fdea7f9d6f0a912d59b6b954bfdedd8ea04689075ea3442ea73b3c48f2" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-device-info-proto" version="31.0.2"> - <artifact name="android-test-plugin-host-device-info-proto-31.0.2.jar"> - <sha256 value="2981a0892b14f189b27c068020b858d91f02c3951bab9b15d49c30d2d356baea" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-coverage-proto" version="31.1.0"> + <artifact name="android-test-plugin-host-coverage-proto-31.1.0.jar"> + <sha256 value="9ebc9c6279a32a453c90cf6b732b3a3f88a80498e746400850f2c66ea7933580" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-logcat" version="31.0.2"> - <artifact name="android-test-plugin-host-logcat-31.0.2.jar"> - <sha256 value="8ab98d66d6e47f57c71c082dd4e832ff6dbc1488843cc1b9c8d483887a6de452" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-device-info" version="31.1.0"> + <artifact name="android-test-plugin-host-device-info-31.1.0.jar"> + <sha256 value="33e43df378eb7a70a0bc97537ecd0c426f8c481f6487015e4be00092f3603755" origin="Generated by Gradle"/> </artifact> - <artifact name="android-test-plugin-host-logcat-31.0.2.module"> - <sha256 value="5c66828e36a4796b2d1828ef3856399deb9fc8c9e3f62cdbc4385544439eb79d" origin="Generated by Gradle"/> + <artifact name="android-test-plugin-host-device-info-31.1.0.module"> + <sha256 value="6d1df7a2655416781d10a012746027cbfca01cffc13028f7a30505ba14790c39" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-logcat-proto" version="31.0.2"> - <artifact name="android-test-plugin-host-logcat-proto-31.0.2.jar"> - <sha256 value="62234086f76d3dc1d1acbf9def72fcd7741ce2a10de587b4608ab45da62e9bc1" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-device-info-proto" version="31.1.0"> + <artifact name="android-test-plugin-host-device-info-proto-31.1.0.jar"> + <sha256 value="3d5881c984ba6f7aebf3f79f69842655f7bac9963da68a0fc7f1e940758b4f31" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-retention" version="31.0.2"> - <artifact name="android-test-plugin-host-retention-31.0.2.jar"> - <sha256 value="1b15643fc225427eb12a3c630b4e5a49e3cfc0c4ba65507de965f40505f0a235" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-emulator-control" version="31.1.0"> + <artifact name="android-test-plugin-host-emulator-control-31.1.0.jar"> + <sha256 value="9ecdd1dcda2e000a1cc8eacfed454f454ab2d0d3ef440d471d85af42d78eb020" origin="Generated by Gradle"/> </artifact> - <artifact name="android-test-plugin-host-retention-31.0.2.module"> - <sha256 value="5147f2a7070bf474a18f8cc44e1d34aaf77ec9fa694091cd17341212a8675ae5" origin="Generated by Gradle"/> + <artifact name="android-test-plugin-host-emulator-control-31.1.0.module"> + <sha256 value="3a1602e69e4bad5177b5ae0f1d2ef45248266923ecf22527b487ba06b0460fc2" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-host-retention-proto" version="31.0.2"> - <artifact name="android-test-plugin-host-retention-proto-31.0.2.jar"> - <sha256 value="031c4c933c5e53ddb863b960074ba36ec040a2464f208d4f5d390d2b227f6505" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-emulator-control-proto" version="31.1.0"> + <artifact name="android-test-plugin-host-emulator-control-proto-31.1.0.jar"> + <sha256 value="435438bc84016ec5d28c34c9d017b01365f37949168cffc81126d43757c53ca4" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-result-listener-gradle" version="31.0.2"> - <artifact name="android-test-plugin-result-listener-gradle-31.0.2.jar"> - <sha256 value="04273a4018de59cc8e52b48e29954074c99fbc33617f3323641e960a9ac36354" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-logcat" version="31.1.0"> + <artifact name="android-test-plugin-host-logcat-31.1.0.jar"> + <sha256 value="95076dd661753b0add255a1f8626e370d3c82c4f6a9a8f655cc2683b12af13b6" origin="Generated by Gradle"/> </artifact> - <artifact name="android-test-plugin-result-listener-gradle-31.0.2.module"> - <sha256 value="4e94cac776ee83ec1729c040c002a646bfab20f518baac182214ac893492b8ea" origin="Generated by Gradle"/> + <artifact name="android-test-plugin-host-logcat-31.1.0.module"> + <sha256 value="1d47b33f8e1f3705b390644af61478bc4911ef5d8c1ca52ddbbff5cc2c028080" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.android.tools.utp" name="android-test-plugin-result-listener-gradle-proto" version="31.0.2"> - <artifact name="android-test-plugin-result-listener-gradle-proto-31.0.2.jar"> - <sha256 value="38c664b016fc380676ab80fb9da0c42f13b049cfd98d16467a2049fe85072e70" origin="Generated by Gradle"/> + <component group="com.android.tools.utp" name="android-test-plugin-host-logcat-proto" version="31.1.0"> + <artifact name="android-test-plugin-host-logcat-proto-31.1.0.jar"> + <sha256 value="d31ca97afbfcd71a54749d265da11a424b122cf1cfbedbff2cb3d7362c579d3b" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="com.android.tools.utp" name="android-test-plugin-host-retention" version="31.1.0"> + <artifact name="android-test-plugin-host-retention-31.1.0.jar"> + <sha256 value="a94e3e5854e0c6a669db31c26fd967a6e72da5554449b84a84a427d66292ffc9" origin="Generated by Gradle"/> + </artifact> + <artifact name="android-test-plugin-host-retention-31.1.0.module"> + <sha256 value="5f5cdb46a5d04523e5b8cf136013ddb4fea27b4275463b1dde2700e652320022" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="com.android.tools.utp" name="android-test-plugin-host-retention-proto" version="31.1.0"> + <artifact name="android-test-plugin-host-retention-proto-31.1.0.jar"> + <sha256 value="4d1c3faaff5a38b29426f082e8e8c3f8b85a902086b90d18f706754ad93de04d" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="com.android.tools.utp" name="android-test-plugin-result-listener-gradle" version="31.1.0"> + <artifact name="android-test-plugin-result-listener-gradle-31.1.0.jar"> + <sha256 value="e171a0706257fcd077d09333366bee06b6407fed098b20515cdedc42068e0f2d" origin="Generated by Gradle"/> + </artifact> + <artifact name="android-test-plugin-result-listener-gradle-31.1.0.module"> + <sha256 value="af6f8a10edd84d7f65c9ba552a30597ee57f731f961517a10630aaf73fe05f06" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="com.android.tools.utp" name="android-test-plugin-result-listener-gradle-proto" version="31.1.0"> + <artifact name="android-test-plugin-result-listener-gradle-proto-31.1.0.jar"> + <sha256 value="b1e49ff23fa357f8702aef1632b04405224a3846f4fe76654c76ef9bd7b5a601" origin="Generated by Gradle"/> </artifact> </component> <component group="com.android.volley" name="volley" version="1.2.1"> @@ -1579,9 +1605,9 @@ <sha256 value="5d4d632cfbebfe0a7644501cc303570b691406181bee65e9916b921c767d7c72" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.facebook" name="ktfmt" version="0.43"> - <artifact name="ktfmt-0.43.jar"> - <sha256 value="2887f2f2c5379b99d9c3f6e58a5958c561cd9602e9b9fce604f0d51a45fc1a78" origin="Generated by Gradle"/> + <component group="com.facebook" name="ktfmt" version="0.44"> + <artifact name="ktfmt-0.44.jar"> + <sha256 value="0045f5c74d79d43c13a017a8475b92c1dde4fd43e04871a4ab47bc953edcfefa" origin="Generated by Gradle"/> </artifact> </component> <component group="com.fasterxml.jackson.core" name="jackson-annotations" version="2.15.2"> @@ -1776,9 +1802,9 @@ <sha256 value="f1dd23f8ae34a8e91366723991ead0d6499d1a3e9163ce550c200b02d76a872b" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.google.errorprone" name="error_prone_annotations" version="2.10.0"> - <artifact name="error_prone_annotations-2.10.0.jar"> - <sha256 value="a249d4d25dfb86d41e6c82fc335df580189f0c9feeabdc53233fc1e5060724a1" origin="Generated by Gradle"/> + <component group="com.google.errorprone" name="error_prone_annotations" version="2.11.0"> + <artifact name="error_prone_annotations-2.11.0.jar"> + <sha256 value="721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec" origin="Generated by Gradle"/> </artifact> </component> <component group="com.google.errorprone" name="error_prone_annotations" version="2.15.0"> @@ -1791,11 +1817,6 @@ <sha256 value="9e6814cb71816988a4fd1b07a993a8f21bb7058d522c162b1de849e19bea54ae" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.google.errorprone" name="error_prone_annotations" version="2.7.1"> - <artifact name="error_prone_annotations-2.7.1.jar"> - <sha256 value="cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3" origin="Generated by Gradle"/> - </artifact> - </component> <component group="com.google.flatbuffers" name="flatbuffers-java" version="1.12.0"> <artifact name="flatbuffers-java-1.12.0.jar"> <sha256 value="3f8c088b4dd04a9858721f2e162508c94db0dd86f961e306ee63ef2eda871bf7" origin="Generated by Gradle"/> @@ -1816,9 +1837,9 @@ <sha256 value="1faf214c94723ab9fbadfedd9af88ddc325faf669e68eab04688c3afcf59c037" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.google.guava" name="guava" version="31.0.1-jre"> - <artifact name="guava-31.0.1-jre.jar"> - <sha256 value="d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9" origin="Generated by Gradle"/> + <component group="com.google.guava" name="guava" version="31.1-jre"> + <artifact name="guava-31.1-jre.jar"> + <sha256 value="a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab" origin="Generated by Gradle"/> </artifact> </component> <component group="com.google.guava" name="guava" version="32.0.1-jre"> @@ -1954,12 +1975,12 @@ <sha256 value="f5475e63e7e89e5db62223489aec7a56bd303543772077a17c2cb54c19ca3a20" origin="Generated by Gradle"/> </artifact> </component> - <component group="com.ncorti.ktfmt.gradle" name="plugin" version="0.12.0"> - <artifact name="plugin-0.12.0.jar"> - <sha256 value="dfb7167e34ee7a0e0a0ed8aa50bdc5cff1a9b28b762739d12e731e863e3fc4cf" origin="Generated by Gradle"/> + <component group="com.ncorti.ktfmt.gradle" name="plugin" version="0.13.0"> + <artifact name="plugin-0.13.0.jar"> + <sha256 value="005c3e44ef664ca3dda5282e51e590a5d096f3b1cf5c08a6dd3b76679339c64e" origin="Generated by Gradle"/> </artifact> - <artifact name="plugin-0.12.0.module"> - <sha256 value="f13233a99cb0bcced7e864f62c1aa130d15d9949fbae746068ae6243dbe0a70b" origin="Generated by Gradle"/> + <artifact name="plugin-0.13.0.module"> + <sha256 value="49f2d405514bcb2e2823bcbb4d059ecaa50b8356dadedc97399753c00ff2edb7" origin="Generated by Gradle"/> </artifact> </component> <component group="com.squareup" name="javapoet" version="1.10.0"> @@ -2609,9 +2630,9 @@ <sha256 value="1df8b9430b5c8ed143d7815e403e33ef5371b2400aadbe9bda0883762e0846d1" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.apache.commons" name="commons-compress" version="1.20"> - <artifact name="commons-compress-1.20.jar"> - <sha256 value="0aeb625c948c697ea7b205156e112363b59ed5e2551212cd4e460bdb72c7c06e" origin="Generated by Gradle"/> + <component group="org.apache.commons" name="commons-compress" version="1.21"> + <artifact name="commons-compress-1.21.jar"> + <sha256 value="6aecfd5459728a595601cfa07258d131972ffc39b492eb48bdd596577a2f244a" origin="Generated by Gradle"/> </artifact> </component> <component group="org.apache.commons" name="commons-compress" version="1.23.0"> @@ -2864,14 +2885,14 @@ <sha256 value="8b0d485871f09dce9eebf2ab4ea70b08d373011160327d42c8ae0134ecf8268a" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-android-extensions" version="1.8.21"> - <artifact name="kotlin-android-extensions-1.8.21.jar"> - <sha256 value="7468557042b350db853c1684cc2e24d37b5e4a1e09220abca93a50c7ba91c08f" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-android-extensions" version="1.9.0"> + <artifact name="kotlin-android-extensions-1.9.0.jar"> + <sha256 value="20675bbb2a7b6982a7144518a518b9a8965f90ae89b8c9878898012244a1ea33" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-android-extensions-runtime" version="1.8.21"> - <artifact name="kotlin-android-extensions-runtime-1.8.21.jar"> - <sha256 value="8182ffc195714ee819fb5bf0e52bea89f6507721c6d747c62863d2e2f18d95f9" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-android-extensions-runtime" version="1.9.0"> + <artifact name="kotlin-android-extensions-runtime-1.9.0.jar"> + <sha256 value="e6649b81dad59888e8b09d581638fd166af63c59d70717c71c57351c78667e79" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-annotation-processing-gradle" version="1.8.20"> @@ -2879,11 +2900,6 @@ <sha256 value="8277ec12cac724a802bee701d5729fa6cbe12ab1520856183104746642d7374b" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-annotation-processing-gradle" version="1.8.21"> - <artifact name="kotlin-annotation-processing-gradle-1.8.21.jar"> - <sha256 value="db32e31c742f3c28c9b834f777967927a34ae5140ae6583ba4698f8f932700e3" origin="Generated by Gradle"/> - </artifact> - </component> <component group="org.jetbrains.kotlin" name="kotlin-assignment" version="1.8.20"> <artifact name="kotlin-assignment-1.8.20-gradle76.jar"> <sha256 value="86c7794c49b040817b48952217af097a26d6a845d4e65b758428cf9763ae093d" origin="Generated by Gradle"/> @@ -2892,14 +2908,24 @@ <sha256 value="7e13093d6da52e048b6df315f5f424a3098e24bce3d939f1f351d4345755a9df" origin="Generated by Gradle"/> </artifact> </component> + <component group="org.jetbrains.kotlin" name="kotlin-build-tools-api" version="1.9.0"> + <artifact name="kotlin-build-tools-api-1.9.0.jar"> + <sha256 value="d19c9abde80a9cf42d25ecc92cb1148ed3a15eedb2672daa1e466e6da590eec6" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="org.jetbrains.kotlin" name="kotlin-build-tools-impl" version="1.9.0"> + <artifact name="kotlin-build-tools-impl-1.9.0.jar"> + <sha256 value="d72c379f1c75799ac0c66e6c3158f68865bdfed1a5c35c5ea41c278a1b80501a" origin="Generated by Gradle"/> + </artifact> + </component> <component group="org.jetbrains.kotlin" name="kotlin-compiler-embeddable" version="1.8.20"> <artifact name="kotlin-compiler-embeddable-1.8.20.jar"> <sha256 value="5655386be55d45a78d887372bbd59d03e06750f7756108d14139e8d7e4b2e179" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-compiler-embeddable" version="1.8.21"> - <artifact name="kotlin-compiler-embeddable-1.8.21.jar"> - <sha256 value="7f4f415fc942dcfa7bcdaa0afe8c735ccd339f1d4b9e372f9c5cc7fe043a192f" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-compiler-embeddable" version="1.9.0"> + <artifact name="kotlin-compiler-embeddable-1.9.0.jar"> + <sha256 value="953b50691d74dd219ff3f6644670c3e549d87cdfc0a6154f1602a6a0a5dfe373" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-compiler-runner" version="1.8.20"> @@ -2907,9 +2933,9 @@ <sha256 value="97e43499428f66889bc935c8bd9a836875b75178c61fd396603ce41d6db2f748" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-compiler-runner" version="1.8.21"> - <artifact name="kotlin-compiler-runner-1.8.21.jar"> - <sha256 value="1e9f575d19a8ed35bd58f4ab961d374ce080ef3523d0a003be2c5bdc29e17d7a" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-compiler-runner" version="1.9.0"> + <artifact name="kotlin-compiler-runner-1.9.0.jar"> + <sha256 value="05b5a55d4949161a714fcdfc64a5f04d87a364c9bbdc8641b3bb7a5557e43eaa" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-daemon-client" version="1.8.20"> @@ -2917,9 +2943,9 @@ <sha256 value="298c910661e624ada4a9fb541e6db74843eb5a9f280c8739d1d4252577a8e80d" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-daemon-client" version="1.8.21"> - <artifact name="kotlin-daemon-client-1.8.21.jar"> - <sha256 value="dae82d932dd33fa46414efdc2d08f4f2c1c51634b75f951337f597007073bf10" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-daemon-client" version="1.9.0"> + <artifact name="kotlin-daemon-client-1.9.0.jar"> + <sha256 value="5a8c977e7dc7f0de2d91ae58bdadc20415def4cf5d493e5a183f96c597990320" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-daemon-embeddable" version="1.8.20"> @@ -2927,9 +2953,9 @@ <sha256 value="4602bd521a708f32deced0921d06c7977056c5887359cdabfc7070e9732cb353" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-daemon-embeddable" version="1.8.21"> - <artifact name="kotlin-daemon-embeddable-1.8.21.jar"> - <sha256 value="efcba33c80b32595ab8f37f13b08593db82c8eb9e2a8d58502a8ff3b8386912c" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-daemon-embeddable" version="1.9.0"> + <artifact name="kotlin-daemon-embeddable-1.9.0.jar"> + <sha256 value="943182a137ecd40e629058da52db336cee9b666f80996b655842f20a6373df9a" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin" version="1.8.20"> @@ -2940,12 +2966,12 @@ <sha256 value="337866a70fbbd82d47c8f0a1fbbe57f2ef39ba511fd4369e924fcc8760153921" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin" version="1.8.21"> - <artifact name="kotlin-gradle-plugin-1.8.21-gradle76.jar"> - <sha256 value="eeb014fcab1bdc49e02ad959ea1b36a63c8cfec3fc24694e37f4eb48b23518b8" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin" version="1.9.0"> + <artifact name="kotlin-gradle-plugin-1.9.0-gradle81.jar"> + <sha256 value="d943a0e27b4746e01f83405a49f526a22f471b1db1d4639d6fce26d711effbfe" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlin-gradle-plugin-1.8.21.module"> - <sha256 value="08a5310a6a95ced220173efdd8d9f03ec6553cb1a4b5c12e82e45bb99c9cec9b" origin="Generated by Gradle"/> + <artifact name="kotlin-gradle-plugin-1.9.0.module"> + <sha256 value="fe639645ed8fbdc5bc12de7cf25468a4db31e763ba79adbaa206a14de60fd314" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-annotations" version="1.8.20"> @@ -2953,9 +2979,9 @@ <sha256 value="32baa93f157652b6d3a870a41c967fc09195261110d4b7acf9fb53409ef0cf1c" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-annotations" version="1.8.21"> - <artifact name="kotlin-gradle-plugin-annotations-1.8.21.jar"> - <sha256 value="37b2dd3c8af210dcf6960e54af28767e057c62dda45b66c5179e6e722aefa2cf" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-annotations" version="1.9.0"> + <artifact name="kotlin-gradle-plugin-annotations-1.9.0.jar"> + <sha256 value="2a265b35bc7c55821426e91b6a3cd4f4b91638a0bc7c87dfcfe4e05f7e884738" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-api" version="1.8.20"> @@ -2969,15 +2995,15 @@ <sha256 value="38d21a11f9183cfe5bce8498af45fdfe6cfd26c7767a3cee9bc2f1f2cda33ee0" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-api" version="1.8.21"> - <artifact name="kotlin-gradle-plugin-api-1.8.21-gradle76.jar"> - <sha256 value="41490f12ad0f396c69baefa53c6e4f3381f147b69e12430b46f24fe5530c537c" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-api" version="1.9.0"> + <artifact name="kotlin-gradle-plugin-api-1.9.0-gradle81.jar"> + <sha256 value="0216ecb0c780f95e3b101a0e95cfc367f2ef56b06f2deaaaa9925a0f117c20d9" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlin-gradle-plugin-api-1.8.21.jar"> - <sha256 value="41490f12ad0f396c69baefa53c6e4f3381f147b69e12430b46f24fe5530c537c" origin="Generated by Gradle"/> + <artifact name="kotlin-gradle-plugin-api-1.9.0.jar"> + <sha256 value="0216ecb0c780f95e3b101a0e95cfc367f2ef56b06f2deaaaa9925a0f117c20d9" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlin-gradle-plugin-api-1.8.21.module"> - <sha256 value="9d9a94a7f8fa107f3ce7d375dc00731a31afba23e40fd5cb0193aa71b8ed9258" origin="Generated by Gradle"/> + <artifact name="kotlin-gradle-plugin-api-1.9.0.module"> + <sha256 value="1aed565a28d91342ac5a4ba146c2856a5ebbc639285c529552179fafc7614ddb" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-idea" version="1.8.20"> @@ -2988,12 +3014,12 @@ <sha256 value="3f4931330ad21222bc920b40ffd484ffac46e924d49a89780bc7f42ca5673942" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-idea" version="1.8.21"> - <artifact name="kotlin-gradle-plugin-idea-1.8.21.jar"> - <sha256 value="503049a1dfc2830a2347dd1bf298d2727e99d2e9673b15c2884e208553dd6adb" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-idea" version="1.9.0"> + <artifact name="kotlin-gradle-plugin-idea-1.9.0.jar"> + <sha256 value="0bb26ccee372afb9b584f2857e87cc2f3f532b62a4f7fa457558f3afc3abe995" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlin-gradle-plugin-idea-1.8.21.module"> - <sha256 value="ae5ec66d98a2b606b6190a8c87c23666fedc2f727f8b9ea167d38cb1e33ffe9d" origin="Generated by Gradle"/> + <artifact name="kotlin-gradle-plugin-idea-1.9.0.module"> + <sha256 value="a5583cd9b0b4012e955ad9619fb9017b5b1aa2c251b0596daf5334904c5ca65b" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-idea-proto" version="1.8.20"> @@ -3001,9 +3027,9 @@ <sha256 value="a9bd6d04aab7d74bffc60a9485f90c0f4524d1e94a2ee6fc0f78ee8d56f2aeeb" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-idea-proto" version="1.8.21"> - <artifact name="kotlin-gradle-plugin-idea-proto-1.8.21.jar"> - <sha256 value="10f2cbf865bff376040e41ea2479f0f50f590efc4afeac5ddbb38f251509ca12" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-idea-proto" version="1.9.0"> + <artifact name="kotlin-gradle-plugin-idea-proto-1.9.0.jar"> + <sha256 value="e78998ea22bcd5f56d13982ccc124c9c7337bd150754cbdc8af2a148d76c9700" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-model" version="1.8.20"> @@ -3014,12 +3040,12 @@ <sha256 value="171e2e013bf9a997be518af2030a17e9a90f5bdd1a2da3f5d7de382ea3738fb1" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-model" version="1.8.21"> - <artifact name="kotlin-gradle-plugin-model-1.8.21.jar"> - <sha256 value="497026858128a22a8e296f2236dd48ebed49d4034c6dc2c332cb6c931c2515cd" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-model" version="1.9.0"> + <artifact name="kotlin-gradle-plugin-model-1.9.0.jar"> + <sha256 value="ff05aab688b34a7992a7e35f9dc4dec25843f13a9e970aefe56dd3e122a08415" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlin-gradle-plugin-model-1.8.21.module"> - <sha256 value="3263766f403817fb39592d760a100d585061ceb156af79e34a5a9b97c169836e" origin="Generated by Gradle"/> + <artifact name="kotlin-gradle-plugin-model-1.9.0.module"> + <sha256 value="66f4b914470cf346e05d03f8a2d59e9c746fa6edcf64c712f176a0881aac3e49" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugins-bom" version="1.8.20"> @@ -3027,9 +3053,9 @@ <sha256 value="54268e341e77095107fa97b19ffa436321341fa0f6a00b78dcb2885624aea954" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugins-bom" version="1.8.21"> - <artifact name="kotlin-gradle-plugins-bom-1.8.21.module"> - <sha256 value="6535c7b5e381d7aa8782355f30c18152747df1d54c06e4585ce11b4a496c339d" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-gradle-plugins-bom" version="1.9.0"> + <artifact name="kotlin-gradle-plugins-bom-1.9.0.module"> + <sha256 value="fd2b9f69b82e43cb509f0841b18bf3c5df7dab5f1e0bea034fc0b2a599d6e296" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-api" version="1.8.20"> @@ -3037,9 +3063,9 @@ <sha256 value="9a93d99b26044f648ca8aa0491b53b14b3415cbc7e05b43ce12b031a22a27040" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-api" version="1.8.21"> - <artifact name="kotlin-klib-commonizer-api-1.8.21.jar"> - <sha256 value="8c6d3f1b3a592c7d9f3c659e52513b4041df63c236ff4bb3bbceff78c43c8e6f" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-api" version="1.9.0"> + <artifact name="kotlin-klib-commonizer-api-1.9.0.jar"> + <sha256 value="85de2e972b0bb6f4528c1f748f43c48663145fc8539eca96c13d1bc0da3f935d" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-embeddable" version="1.8.20"> @@ -3047,9 +3073,9 @@ <sha256 value="3803e9b9f9f77f239fdcc82d677b8ae62326b3245bc443d256e64d55c7e647c0" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-embeddable" version="1.8.21"> - <artifact name="kotlin-klib-commonizer-embeddable-1.8.21.jar"> - <sha256 value="2983ef02c659d20dce8e4fce0fa76af61d45afc495685ca57c464d39b765ff9a" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-embeddable" version="1.9.0"> + <artifact name="kotlin-klib-commonizer-embeddable-1.9.0.jar"> + <sha256 value="cdd6264d724f71129a9308be24402ca8c71c2ab202cb03b684499da97add4b84" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-native-utils" version="1.8.20"> @@ -3057,19 +3083,19 @@ <sha256 value="a2eca6b8b5b3cf40b8c0482d2cf5631272ddd945d76082eb67a6e8e71f0a855e" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-native-utils" version="1.8.21"> - <artifact name="kotlin-native-utils-1.8.21.jar"> - <sha256 value="1e7b16efc966e2a0cd415602ea9de2da791f25b31d1f17900437b4f05075654c" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-native-utils" version="1.9.0"> + <artifact name="kotlin-native-utils-1.9.0.jar"> + <sha256 value="0f4805f774bfb5c1b6d145dfe60d3d20b1aee000896ce8ecf3eeff84ce44023b" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-parcelize-compiler" version="1.8.21"> - <artifact name="kotlin-parcelize-compiler-1.8.21.jar"> - <sha256 value="fd64c8da6815635fea1851b1bec23522efd5fd13e9edbc509f14c0e604aee877" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-parcelize-compiler" version="1.9.0"> + <artifact name="kotlin-parcelize-compiler-1.9.0.jar"> + <sha256 value="937f568ed9b27049955b6c2829823e0ea539acfcfc2956ee6d3b69e61a9ec148" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-parcelize-runtime" version="1.8.21"> - <artifact name="kotlin-parcelize-runtime-1.8.21.jar"> - <sha256 value="3c0030254234d4375be0067341162a176a06ea1aac9544c8d2f8ac40b8aeb7d2" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-parcelize-runtime" version="1.9.0"> + <artifact name="kotlin-parcelize-runtime-1.9.0.jar"> + <sha256 value="fa690509c83219b99dcbe15222a338095a6f7c859877d4c1a7280179583693c0" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-project-model" version="1.8.20"> @@ -3077,9 +3103,9 @@ <sha256 value="46cf347746096cfa156c7da8f335f6adaacabf9881c164400a387a4819248984" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-project-model" version="1.8.21"> - <artifact name="kotlin-project-model-1.8.21.jar"> - <sha256 value="e869123450af7a213a3053486153b7347d3e7238a1511ccbc26ea991bd7d748e" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-project-model" version="1.9.0"> + <artifact name="kotlin-project-model-1.9.0.jar"> + <sha256 value="ae0936e9b4c6921f03ef779361cacbbb75ed2b2210479f92f65f1cbac86e340c" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-reflect" version="1.6.10"> @@ -3087,19 +3113,19 @@ <sha256 value="3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-reflect" version="1.7.10"> - <artifact name="kotlin-reflect-1.7.10.jar"> - <sha256 value="187c5e5a588a6ed18c3a41b54df138a5944121bdb396be1c3fa4abee67397955" origin="Generated by Gradle"/> - </artifact> - </component> <component group="org.jetbrains.kotlin" name="kotlin-reflect" version="1.8.20"> <artifact name="kotlin-reflect-1.8.20.jar"> <sha256 value="531e3c3f9b0c45f9a21f1642174453066a1066bec0190254a6331b331814ab8b" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-reflect" version="1.8.21"> - <artifact name="kotlin-reflect-1.8.21.jar"> - <sha256 value="8a6cd5a3cf092acee274ce2c444dc36eefdb631579859dd4d857b3309a529c91" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-reflect" version="1.8.20-RC2"> + <artifact name="kotlin-reflect-1.8.20-RC2.jar"> + <sha256 value="688de34ee30a0bcffd9fccdefa0f4c28af158bcf639d221502c3ea7c38e6a0a0" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="org.jetbrains.kotlin" name="kotlin-reflect" version="1.9.0"> + <artifact name="kotlin-reflect-1.9.0.jar"> + <sha256 value="2070159be514ea8ea3ce2c8b1ee7993e6ff60a93565a299f200629aa7df7f581" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-sam-with-receiver" version="1.8.20"> @@ -3115,9 +3141,9 @@ <sha256 value="4bddc06cad20bb843fbd24094b1dc3c31f55508c6918885e8b548f2ebaa8a93e" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-script-runtime" version="1.8.21"> - <artifact name="kotlin-script-runtime-1.8.21.jar"> - <sha256 value="0a9d7eddda383a373c9e01fd3ec0dfb1ec81c0c15a5b05027991fe0342473cd7" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-script-runtime" version="1.9.0"> + <artifact name="kotlin-script-runtime-1.9.0.jar"> + <sha256 value="d84d0cca41050fac2a952d1104473c329aff04c50b37132e5754a209809add9f" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-scripting-common" version="1.8.20"> @@ -3125,9 +3151,9 @@ <sha256 value="a1c6cf4bb49db97a7082bc461acfdf3e163af1b625ab9baa5d7e3e5f9648badc" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-scripting-common" version="1.8.21"> - <artifact name="kotlin-scripting-common-1.8.21.jar"> - <sha256 value="3f4439d47d2e542433dfa39d2a7514bf7e60aeb8e9db6b96102806684fbafd5f" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-scripting-common" version="1.9.0"> + <artifact name="kotlin-scripting-common-1.9.0.jar"> + <sha256 value="285c41c0eeed59a0e7dcb188b89f8154147fbcbbd535471cf69896ccda273f84" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-embeddable" version="1.8.20"> @@ -3135,9 +3161,9 @@ <sha256 value="67c4bbe4d58f2c76aa4249ab9b8b36e95023d318d33f8a2a1e8fe743b4b1f32a" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-embeddable" version="1.8.21"> - <artifact name="kotlin-scripting-compiler-embeddable-1.8.21.jar"> - <sha256 value="0a133c06d0b18f98a2a5f556062d8a151d9e19c80334ff10be6b680d33a95189" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-embeddable" version="1.9.0"> + <artifact name="kotlin-scripting-compiler-embeddable-1.9.0.jar"> + <sha256 value="469dd12068958a97afce1188a0144554cded67de5a1aa0bf5ca53039f29d8b36" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-impl-embeddable" version="1.8.20"> @@ -3145,9 +3171,9 @@ <sha256 value="e789192f39357dbdf4c8a94cd2fafe860de0c0530d34bf1c2c634b75b880f4a2" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-impl-embeddable" version="1.8.21"> - <artifact name="kotlin-scripting-compiler-impl-embeddable-1.8.21.jar"> - <sha256 value="72b8d6ef72addb237605a170d5f3c561254e39a903d46ca31aff0ede969b163e" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-impl-embeddable" version="1.9.0"> + <artifact name="kotlin-scripting-compiler-impl-embeddable-1.9.0.jar"> + <sha256 value="65c5256e2c8fbdda426c03286e6a268267d712ef95ec2d39c95292957378b04d" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-scripting-jvm" version="1.8.20"> @@ -3155,9 +3181,9 @@ <sha256 value="2e1889c89c785440ac126935187baaa83a6fc66deeb530491f943a38bf3bc8c0" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-scripting-jvm" version="1.8.21"> - <artifact name="kotlin-scripting-jvm-1.8.21.jar"> - <sha256 value="fa7f46ece55a4ebc4435e363c1e2016e2c28f4fe80a1aed5db3d0eae9d31f5dd" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-scripting-jvm" version="1.9.0"> + <artifact name="kotlin-scripting-jvm-1.9.0.jar"> + <sha256 value="669dd2bc60418e075153fd8ad8d965be569eb65c2f308388cb1103b9df135159" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.4.21"> @@ -3165,11 +3191,6 @@ <sha256 value="f78c5d8c09db985912ab83a1de3c3b53ddf208d7b151f06a72358ea3e137d01b" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.7.10"> - <artifact name="kotlin-stdlib-1.7.10.jar"> - <sha256 value="e771fe74250a943e8f6346713201ff1d8cb95c3a5d1a91a22b65a9e04f6a8901" origin="Generated by Gradle"/> - </artifact> - </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.8.10"> <artifact name="kotlin-stdlib-1.8.10.jar"> <sha256 value="17e1076131cd07c958a942ff8a087cf865b1ef3de58463e1e5dd6fd7515406b0" origin="Generated by Gradle"/> @@ -3180,14 +3201,14 @@ <sha256 value="4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.8.21"> - <artifact name="kotlin-stdlib-1.8.21.jar"> - <sha256 value="042a1cd1ac976cdcfe5eb63f1d8e0b0b892c9248e15a69c8cfba495d546ea52a" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.8.20-RC2"> + <artifact name="kotlin-stdlib-1.8.20-RC2.jar"> + <sha256 value="b38ad921299f9365e77a323ec42ebc2e1048c6589af982fbbec0e520f6178036" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.8.22"> - <artifact name="kotlin-stdlib-1.8.22.jar"> - <sha256 value="03a5c3965cc37051128e64e46748e394b6bd4c97fa81c6de6fc72bfd44e3421b" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.9.0"> + <artifact name="kotlin-stdlib-1.9.0.jar"> + <sha256 value="35aeffbe2db5aa446072cee50fcee48b7fa9e2fc51ca37c0cc7d7d0bc39d952e" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.4.21"> @@ -3195,24 +3216,19 @@ <sha256 value="812cf197d9c4c67e1f47f95e2d72a9b600f0d1124560617bfe9850773eccbcff" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.7.10"> - <artifact name="kotlin-stdlib-common-1.7.10.jar"> - <sha256 value="19f102efe9629f8eabc63853ad15c533e47c47f91fca09285c5bde86e59f91d4" origin="Generated by Gradle"/> - </artifact> - </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.8.20"> <artifact name="kotlin-stdlib-common-1.8.20.jar"> <sha256 value="fa20188abaa8ecf1d0035e93a969b071f10e45a1c8378c314521eade73f75fd5" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.8.21"> - <artifact name="kotlin-stdlib-common-1.8.21.jar"> - <sha256 value="6a44c9ecc9d7754d9e943fb1e3588c74d4a3f1785be51074f49d6c5723682a73" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.8.20-RC2"> + <artifact name="kotlin-stdlib-common-1.8.20-RC2.jar"> + <sha256 value="b08ea47de30aedc28804b8fb4c391e3c38867e82c4b1f5cb83bb3caaf7a0e4c3" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.8.22"> - <artifact name="kotlin-stdlib-common-1.8.22.jar"> - <sha256 value="d0c2365e2437ef70f34586d50f055743f79716bcfe65e4bc7239cdd2669ef7c5" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.9.0"> + <artifact name="kotlin-stdlib-common-1.9.0.jar"> + <sha256 value="283274204bd7c020789ec46f8f8e72af4244d7f550b3392a57e5ca006ad7aa2c" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.6.21"> @@ -3220,11 +3236,6 @@ <sha256 value="f1b0634dbb94172038463020bb2dd45ca26849f8ce29d625acb0f1569d11dbee" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.7.10"> - <artifact name="kotlin-stdlib-jdk7-1.7.10.jar"> - <sha256 value="54f61351b1936ad88f4e53059fe781e723eae51d78ed9e7422d8b403574ec682" origin="Generated by Gradle"/> - </artifact> - </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.7.20"> <artifact name="kotlin-stdlib-jdk7-1.7.20.jar"> <sha256 value="524da3c1a2ad56fd52c4ae2272ef3de421de8d2047ab1c51fc306d351243f2f5" origin="Generated by Gradle"/> @@ -3235,14 +3246,14 @@ <sha256 value="af1ec40c3b951afdcc0c2a0173c7b81763c5281c2d5bafbf0a8544a24c5dcc0c" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.8.21"> - <artifact name="kotlin-stdlib-jdk7-1.8.21.jar"> - <sha256 value="33d148db0e11debd0d90677d28242bced907f9c77730000fd597867089039d86" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.8.20-RC2"> + <artifact name="kotlin-stdlib-jdk7-1.8.20-RC2.jar"> + <sha256 value="674225347fe382ba9d52ce56ee67255b813a3ef28d16553eab323f9131002bd0" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.8.22"> - <artifact name="kotlin-stdlib-jdk7-1.8.22.jar"> - <sha256 value="055f5cb24287fa106100995a7b47ab92126b81e832e875f5fa2cf0bd55693d0b" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.9.0"> + <artifact name="kotlin-stdlib-jdk7-1.9.0.jar"> + <sha256 value="b7979a7aac94055f0d9f1fd3b47ce5ffe1cb6032a842ba9fbe7186f085289178" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.6.21"> @@ -3250,11 +3261,6 @@ <sha256 value="dab45489b47736d59fce44b80676f1947a9b6bcab10fd60e878a83bd82a6954c" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.7.10"> - <artifact name="kotlin-stdlib-jdk8-1.7.10.jar"> - <sha256 value="8aafdd60c94f454c92e5066d266a5ed53ecc63c78f623b3fd9db56fea4032873" origin="Generated by Gradle"/> - </artifact> - </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.7.20"> <artifact name="kotlin-stdlib-jdk8-1.7.20.jar"> <sha256 value="1da0d306c995945e1f807240ef64b5cd2dd5ac58612afb1a8596143d10b7ded5" origin="Generated by Gradle"/> @@ -3265,14 +3271,14 @@ <sha256 value="e398b67977622718bf18ff99b739c7d9da060f33fb458a2e25203221c16af010" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.8.21"> - <artifact name="kotlin-stdlib-jdk8-1.8.21.jar"> - <sha256 value="3db752a30074f06ee6c57984aa6f27da44f4d2bbc7f5442651f6988f1cb2b7d7" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.8.20-RC2"> + <artifact name="kotlin-stdlib-jdk8-1.8.20-RC2.jar"> + <sha256 value="83db746a1451310f00a37b915d7106451fd09a27a7621d99411b7bfdd055d2bd" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.8.22"> - <artifact name="kotlin-stdlib-jdk8-1.8.22.jar"> - <sha256 value="4198b0eaf090a4f25b6f7e5a59581f4314ba8c9f6cd1d13ee9d348e65ed8f707" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.9.0"> + <artifact name="kotlin-stdlib-jdk8-1.9.0.jar"> + <sha256 value="a59fa24fdf1ffb594baecdbf0fd10010f977cea10236d487fe3464977a7377fa" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-test" version="1.6.10"> @@ -3283,12 +3289,12 @@ <sha256 value="0408c2443d253dc0836517a84d81e788adc8dbcb6024af3f4629ce70a2ff632b" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-test" version="1.8.21"> - <artifact name="kotlin-test-1.8.21.jar"> - <sha256 value="6a50287eb04eced423f397ce084464129cd31938218ec57ba094b659ef150b60" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-test" version="1.9.0"> + <artifact name="kotlin-test-1.9.0.jar"> + <sha256 value="1d3eda9c22280bca139a376de8f27300a8350427d942fad8e68dd4ce4063f49d" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlin-test-1.8.21.module"> - <sha256 value="989e9fb9953f137824d24ffbe17802240946ee92f713e5049b43d1f1e9cf98c8" origin="Generated by Gradle"/> + <artifact name="kotlin-test-1.9.0.module"> + <sha256 value="cef088df1bf6f068a4dbfae13f17446729ca3eaee435806cfa15f759166ca082" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-test-annotations-common" version="1.8.21"> @@ -3296,17 +3302,27 @@ <sha256 value="a70b033a758b2b89c86621cea24ce6a175dc257600f13d7c30be3b3174b66316" origin="Generated by Gradle"/> </artifact> </component> + <component group="org.jetbrains.kotlin" name="kotlin-test-annotations-common" version="1.9.0"> + <artifact name="kotlin-test-annotations-common-1.9.0.jar"> + <sha256 value="7c77235c2b46ca171777fdb0050e6dbe9eecbc1774a5a340c6c016996fade0e8" origin="Generated by Gradle"/> + </artifact> + </component> <component group="org.jetbrains.kotlin" name="kotlin-test-common" version="1.8.21"> <artifact name="kotlin-test-common-1.8.21.jar"> <sha256 value="c740a3169a09e66b278c7fe2df5f45a94c4d37926e085c28b42846abd5089fff" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-test-junit" version="1.8.21"> - <artifact name="kotlin-test-junit-1.8.21.jar"> - <sha256 value="a6f2baebd60ad3a200e595d820bcb03b48261fb0c9fa8d6e502b6d1c6cb59f68" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-test-common" version="1.9.0"> + <artifact name="kotlin-test-common-1.9.0.jar"> + <sha256 value="7950a4e0baddf7969b0f3d8f65a93f12068b515b0e4d6154d5b0dcbb3ff1cd94" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlin-test-junit-1.8.21.module"> - <sha256 value="2339e0e701c30ed9f361ea506a890b2cbe9255286a93e51882969e113b99a98e" origin="Generated by Gradle"/> + </component> + <component group="org.jetbrains.kotlin" name="kotlin-test-junit" version="1.9.0"> + <artifact name="kotlin-test-junit-1.9.0.jar"> + <sha256 value="321d88dd91a8f1bfad4052be258547f13a17223d83e013eedbff6d5d652ba28b" origin="Generated by Gradle"/> + </artifact> + <artifact name="kotlin-test-junit-1.9.0.module"> + <sha256 value="bcfe908131c968867eabb7dc36a042d575c83f9811c560b239fb1b38c91cfd60" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-tooling-core" version="1.8.20"> @@ -3314,9 +3330,9 @@ <sha256 value="7a412677e73a59588cdad4cb9c7f8e3bb70bae5db66933b4b3f3ece0071b4cad" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-tooling-core" version="1.8.21"> - <artifact name="kotlin-tooling-core-1.8.21.jar"> - <sha256 value="7a412677e73a59588cdad4cb9c7f8e3bb70bae5db66933b4b3f3ece0071b4cad" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-tooling-core" version="1.9.0"> + <artifact name="kotlin-tooling-core-1.9.0.jar"> + <sha256 value="e539a22428b9cac67f75b2d61f2b6e2a718350d7bb31823c7dca8907f90999ae" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-util-io" version="1.8.20"> @@ -3324,9 +3340,9 @@ <sha256 value="2d251d7a48bde1e1ec816969275473a044bb341bfe1c08593a0b51f1ef3f8b7b" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-util-io" version="1.8.21"> - <artifact name="kotlin-util-io-1.8.21.jar"> - <sha256 value="f4207c62978bee4cdc1207f79b8d97daaa1e5031ea2329eec6cc0b1d7418c711" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-util-io" version="1.9.0"> + <artifact name="kotlin-util-io-1.9.0.jar"> + <sha256 value="81d36dc6de3f0beaf04c397a06b568213ba373abcef53972b7b82f617d5af70b" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlin" name="kotlin-util-klib" version="1.8.20"> @@ -3334,9 +3350,9 @@ <sha256 value="51bc74326401b4d3fa4e784f89c51c7932ee52998b619271e88f175dead82242" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlin" name="kotlin-util-klib" version="1.8.21"> - <artifact name="kotlin-util-klib-1.8.21.jar"> - <sha256 value="d30ef0448aedf5a3d589697b7ba3ddf35cabe9a91335b274a045bfcb93ab2677" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlin" name="kotlin-util-klib" version="1.9.0"> + <artifact name="kotlin-util-klib-1.9.0.jar"> + <sha256 value="c2dc6bf36d3369b773755ab8937b97e539a4d45d3815bef19bedfa154b12d313" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlinx" name="atomicfu" version="0.17.0"> @@ -3355,12 +3371,12 @@ <sha256 value="52fa54a8e4dee808c8fecf51b3924788e8b5576caaf27d6d60afa6580fad4af0" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlinx" name="atomicfu" version="0.20.2"> - <artifact name="atomicfu-0.20.2.module"> - <sha256 value="2c995e0e83c583e125706fba3fe85170020d17a88f89d6294a53cd8bd7c4c384" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlinx" name="atomicfu" version="0.21.0"> + <artifact name="atomicfu-0.21.0.module"> + <sha256 value="c4aba64788420b0b54c877900f27ba385c3d170e878ca2faf378ec315cfcb076" origin="Generated by Gradle"/> </artifact> - <artifact name="atomicfu-metadata-0.20.2-all.jar"> - <sha256 value="2a91f10b826d3febc47c2b664e268615757c311114239787f5dc37481fdec441" origin="Generated by Gradle"/> + <artifact name="atomicfu-metadata-0.21.0-all.jar"> + <sha256 value="f31e5b2fd52eb73a0303cffe5c63c8390ca7cf459a02dcf06faa383dd4bb88d3" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlinx" name="atomicfu-jvm" version="0.17.0"> @@ -3387,12 +3403,12 @@ <sha256 value="68516559e6f84a621b9783cd892a64630ccd7875843588ddb3f0501425e33f15" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-android" version="1.7.1"> - <artifact name="kotlinx-coroutines-android-1.7.1.jar"> - <sha256 value="107313760c18f8da174e8d8103504a468e806e88f7b55a84bd1c0eaeea118e9a" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-android" version="1.7.3"> + <artifact name="kotlinx-coroutines-android-1.7.3.jar"> + <sha256 value="59fffb26bee12c32dadcfa5d420c2a7db85d3253518128b170efda726613256d" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlinx-coroutines-android-1.7.1.module"> - <sha256 value="beb7ff0f5ebc63a0b30af2ae1214e0b622a7b7e408240e64a8ea5b213c4d5334" origin="Generated by Gradle"/> + <artifact name="kotlinx-coroutines-android-1.7.3.module"> + <sha256 value="48dfd8139edee5481bcc8b25e24d7586aca615f0d1ed2beb242dc7478ed4cee0" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core" version="1.6.1"> @@ -3416,12 +3432,17 @@ <sha256 value="ae24d84fd33c5aaba1564b168142d0f210b0e257e0a0077e32616acc59e67fb7" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core" version="1.7.1"> - <artifact name="kotlinx-coroutines-core-1.7.1.module"> - <sha256 value="a9cc0c2bee3c6fc4ba8d0e753a3f3e70e181da5df3a2589ee54e92807b33accf" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core" version="1.7.2"> + <artifact name="kotlinx-coroutines-core-1.7.2.module"> + <sha256 value="7fd2cc80a38836ffa4315c2c553df21581e7e3441b6a507fb1e93b3a07a4b95f" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core" version="1.7.3"> + <artifact name="kotlinx-coroutines-core-1.7.3.module"> + <sha256 value="7fb162396594ec28e1b6a4411b457949a7670f5e12019176774e1fd6b9471bbf" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlinx-coroutines-core-metadata-1.7.1-all.jar"> - <sha256 value="b7d5370ed0e54952003b13595a67b97ced3f873d919f5ddfbe50fcd499cbf0a7" origin="Generated by Gradle"/> + <artifact name="kotlinx-coroutines-core-metadata-1.7.3.jar"> + <sha256 value="f9522095aedcc2a6ab32c7484061ea698352c71be1390adb403b59aa48a38fdc" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core-jvm" version="1.5.0"> @@ -3448,20 +3469,20 @@ <sha256 value="7d123a4dc35526324c57b2bdabfd73870fca623e5f9be4ad6926f403b284a975" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core-jvm" version="1.6.4"> - <artifact name="kotlinx-coroutines-core-jvm-1.6.4.jar"> - <sha256 value="c24c8bb27bb320c4a93871501a7e5e0c61607638907b197aef675513d4c820be" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core-jvm" version="1.7.2"> + <artifact name="kotlinx-coroutines-core-jvm-1.7.2.jar"> + <sha256 value="754f3a0f11dcaa019bf17c4f67836b371eb4f37693ac8e7c3badf5c6b1308d7c" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlinx-coroutines-core-jvm-1.6.4.module"> - <sha256 value="0d94c8a41483e7c2707ebd693e1b1357a84152998ce85550ebbc54ca4321a3a7" origin="Generated by Gradle"/> + <artifact name="kotlinx-coroutines-core-jvm-1.7.2.module"> + <sha256 value="eeb98e0e33a5f85bc50773006a18963574a47559fa225033d90172276b57a080" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core-jvm" version="1.7.1"> - <artifact name="kotlinx-coroutines-core-jvm-1.7.1.jar"> - <sha256 value="7496cffdd3eb10109acdda1c3212f6ac7815789e09380dc9e2ccdec496dba3fc" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core-jvm" version="1.7.3"> + <artifact name="kotlinx-coroutines-core-jvm-1.7.3.jar"> + <sha256 value="1ab3acc38f3e7355c4f9d1ec62107a46fa73c899f3070d055e5d4373dfe67e12" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlinx-coroutines-core-jvm-1.7.1.module"> - <sha256 value="db1fe0110fa82b565d332d39d3f3e62c1dc7eb6238333e3b15e4377fa56e39cb" origin="Generated by Gradle"/> + <artifact name="kotlinx-coroutines-core-jvm-1.7.3.module"> + <sha256 value="34d6ee99b76ac062b51555b4a70be18349fe5566da79a190614f171c80b6538e" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-test" version="1.6.4"> @@ -3472,11 +3493,11 @@ <sha256 value="c12477e4ba868d758dbfd7faa7ac60309933797e75ccef60a161f05f223ae378" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-test" version="1.7.1"> - <artifact name="kotlinx-coroutines-test-1.7.1.module"> - <sha256 value="3cce9ab6fc5f1df304ac81901aba4ff0b971223a021d807a6e711dd6cfefc97d" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-test" version="1.7.3"> + <artifact name="kotlinx-coroutines-test-1.7.3.module"> + <sha256 value="8c453215b4671a458fa4f2026e70b40807b7cf8d40605d028e522acc2747372c" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlinx-coroutines-test-metadata-1.7.1-all.jar"> + <artifact name="kotlinx-coroutines-test-metadata-1.7.3.jar"> <sha256 value="2ddfad185b7cc7e3a2e4707c916525d37ce62cf6572ad5fcac2b9f4ba70e010a" origin="Generated by Gradle"/> </artifact> </component> @@ -3485,12 +3506,12 @@ <sha256 value="1de1976cdf3f5625e88815795259c6046a5de7c0121143bd9ce55353017169a6" origin="Generated by Gradle"/> </artifact> </component> - <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-test-jvm" version="1.7.1"> - <artifact name="kotlinx-coroutines-test-jvm-1.7.1.jar"> - <sha256 value="bf88e8f0a8d88033d961d93435a132caf88fe35cee266bf71c48689eceddc72d" origin="Generated by Gradle"/> + <component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-test-jvm" version="1.7.3"> + <artifact name="kotlinx-coroutines-test-jvm-1.7.3.jar"> + <sha256 value="d19742a65dbdabc9ffdcb9f84a15c776e511a14da602d54ea4e078d6f7227a26" origin="Generated by Gradle"/> </artifact> - <artifact name="kotlinx-coroutines-test-jvm-1.7.1.module"> - <sha256 value="027c3de1a15e6c5fc054f1e2edc7ebc1eb9d785466abf1b04e10d2d7856b9439" origin="Generated by Gradle"/> + <artifact name="kotlinx-coroutines-test-jvm-1.7.3.module"> + <sha256 value="505008736a6cfab649f81db603eee3b2f828f5d877712a38939efdd5f1fc5170" origin="Generated by Gradle"/> </artifact> </component> <component group="org.jsoup" name="jsoup" version="1.12.2"> diff --git a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/Intermittent.kt b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/Intermittent.kt index 38b152b00a..448d96778f 100644 --- a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/Intermittent.kt +++ b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/Intermittent.kt @@ -39,6 +39,7 @@ class Intermittent<T> { // resume execution. This allows performing any extra initialization before the value is made // available for usage. fun registerListener(id: Any, listener: (T?) -> Unit) = notifier.subscribe(id, listener) + fun unregisterListener(id: Any) = notifier.unsubscribe(id) suspend fun await(): T { diff --git a/android/lib/ipc/src/main/kotlin/net/mullvad/mullvadvpn/lib/ipc/Message.kt b/android/lib/ipc/src/main/kotlin/net/mullvad/mullvadvpn/lib/ipc/Message.kt index dd5f9442e1..7cc293b373 100644 --- a/android/lib/ipc/src/main/kotlin/net/mullvad/mullvadvpn/lib/ipc/Message.kt +++ b/android/lib/ipc/src/main/kotlin/net/mullvad/mullvadvpn/lib/ipc/Message.kt @@ -6,6 +6,7 @@ import android.os.Parcelable sealed class Message(private val messageId: Int) : Parcelable { abstract class EventMessage : Message(1) + abstract class RequestMessage : Message(2) protected abstract val messageKey: String diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt index de1acb0e23..afe5982ed5 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/DeviceList.kt @@ -2,6 +2,8 @@ package net.mullvad.mullvadvpn.model sealed class DeviceList { object Unavailable : DeviceList() + data class Available(val devices: List<Device>) : DeviceList() + object Error : DeviceList() } diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt index cbed622df6..2e94266e2a 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/GetAccountDataResult.kt @@ -2,7 +2,10 @@ package net.mullvad.mullvadvpn.model sealed class GetAccountDataResult { class Ok(val accountData: AccountData) : GetAccountDataResult() + object InvalidAccount : GetAccountDataResult() + object RpcError : GetAccountDataResult() + object OtherError : GetAccountDataResult() } diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt index de7dd4e99b..0c9d331e3b 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt @@ -6,5 +6,6 @@ import kotlinx.parcelize.Parcelize sealed class LocationConstraint : Parcelable { @Parcelize data class Location(val location: GeographicLocationConstraint) : LocationConstraint() + @Parcelize data class CustomList(val listId: String) : LocationConstraint() } diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt index 85f5de2a32..a7d4c0b03d 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettingsUpdate.kt @@ -2,5 +2,6 @@ package net.mullvad.mullvadvpn.model sealed class RelaySettingsUpdate { object CustomTunnelEndpoint : RelaySettingsUpdate() + data class Normal(var constraints: RelayConstraintsUpdate) : RelaySettingsUpdate() } diff --git a/android/lib/resource/lint-baseline.xml b/android/lib/resource/lint-baseline.xml index 81140b098e..1fa0b32b28 100644 --- a/android/lib/resource/lint-baseline.xml +++ b/android/lib/resource/lint-baseline.xml @@ -1,5 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<issues format="6" by="lint 8.0.2" type="baseline" client="gradle" dependencies="false" name="AGP (8.0.2)" variant="all" version="8.0.2"> +<issues format="6" by="lint 8.1.0" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0)" variant="all" version="8.1.0"> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="days_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="3" + column="5"/> + </issue> <issue id="MissingQuantity" @@ -14,6 +25,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="days_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="3" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="days_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="3" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="months_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="7" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="months_left">" errorLine2=" ^"> @@ -25,6 +69,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="months_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="7" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="months_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="7" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="years_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="11" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="years_left">" errorLine2=" ^"> @@ -36,6 +113,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="years_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="11" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="years_left">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="11" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="days_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="15" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="days_ago">" errorLine2=" ^"> @@ -47,6 +157,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="days_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="15" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="days_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="15" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="minutes_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="19" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="minutes_ago">" errorLine2=" ^"> @@ -58,6 +201,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="minutes_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="19" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="minutes_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="19" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="months_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="23" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="months_ago">" errorLine2=" ^"> @@ -69,6 +245,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="months_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="23" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="months_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="23" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="years_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="27" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="years_ago">" errorLine2=" ^"> @@ -80,6 +289,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="years_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="27" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="years_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="27" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="hours_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="31" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="hours_ago">" errorLine2=" ^"> @@ -91,6 +333,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="hours_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="31" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="hours_ago">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="31" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="account_credit_expires_in_days">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="35" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="account_credit_expires_in_days">" errorLine2=" ^"> @@ -102,6 +377,39 @@ <issue id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="account_credit_expires_in_days">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="35" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="account_credit_expires_in_days">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="35" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "es" (Spanish) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="account_credit_expires_in_hours">" + errorLine2=" ^"> + <location + file="src/main/res/values-es/plurals.xml" + line="39" + column="5"/> + </issue> + + <issue + id="MissingQuantity" message="For locale "fr" (French) the following quantity should also be defined: `many` (e.g. "1000000 de jours")" errorLine1=" <plurals name="account_credit_expires_in_hours">" errorLine2=" ^"> @@ -112,6 +420,28 @@ </issue> <issue + id="MissingQuantity" + message="For locale "it" (Italian) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="account_credit_expires_in_hours">" + errorLine2=" ^"> + <location + file="src/main/res/values-it/plurals.xml" + line="39" + column="5"/> + </issue> + + <issue + id="MissingQuantity" + message="For locale "pt" (Portuguese) the following quantity should also be defined: `many`" + errorLine1=" <plurals name="account_credit_expires_in_hours">" + errorLine2=" ^"> + <location + file="src/main/res/values-pt/plurals.xml" + line="39" + column="5"/> + </issue> + + <issue id="ImpliedQuantity" message="The quantity `'one'` matches more than one specific number in this locale (0, 1), but the message did not \
include a formatting argument (such as `%d`). This is usually an internationalization error. See full issue \
explanation for more." errorLine1=" <item quantity="one">1 jour restant</item>" diff --git a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt index de56ebb878..cdc16567e1 100644 --- a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt @@ -65,5 +65,6 @@ class ConnectivityListener { } private external fun notifyConnectivityChange(isConnected: Boolean, senderAddress: Long) + private external fun destroySender(senderAddress: Long) } diff --git a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt index a94bfac428..caa8f11447 100644 --- a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt @@ -146,5 +146,6 @@ open class TalpidVpnService : VpnService() { } private external fun defaultTunConfig(): TunConfig + private external fun waitForTunnelUp(tunFd: Int, isIpv6Enabled: Boolean) } diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/DaemonInstance.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/DaemonInstance.kt index 4e121bc693..236cdeb84a 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/DaemonInstance.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/DaemonInstance.kt @@ -16,6 +16,7 @@ import net.mullvad.mullvadvpn.lib.endpoint.ApiEndpointConfiguration class DaemonInstance(private val vpnService: MullvadVpnService) { sealed class Command { data class Start(val apiEndpointConfiguration: ApiEndpointConfiguration) : Command() + object Stop : Command() } diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt index 36d640c719..eacd2d4bc9 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt @@ -23,7 +23,9 @@ class ForegroundNotificationManager( ) { private sealed class UpdaterMessage { class UpdateNotification : UpdaterMessage() + class UpdateAction : UpdaterMessage() + class NewTunnelState(val newState: TunnelState) : UpdaterMessage() } diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt index 089e13ef31..6fa03978f7 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt @@ -204,36 +204,52 @@ class MullvadDaemon( private external fun deinitialize() private external fun connect(daemonInterfaceAddress: Long) + private external fun createNewAccount(daemonInterfaceAddress: Long): String? + private external fun disconnect(daemonInterfaceAddress: Long) + private external fun getAccountData( daemonInterfaceAddress: Long, accountToken: String ): GetAccountDataResult private external fun getAccountHistory(daemonInterfaceAddress: Long): String? + private external fun getWwwAuthToken(daemonInterfaceAddress: Long): String? + private external fun getCurrentLocation(daemonInterfaceAddress: Long): GeoIpLocation? + private external fun getCurrentVersion(daemonInterfaceAddress: Long): String? + private external fun getRelayLocations(daemonInterfaceAddress: Long): RelayList? + private external fun getSettings(daemonInterfaceAddress: Long): Settings? + private external fun getState(daemonInterfaceAddress: Long): TunnelState? + private external fun getVersionInfo(daemonInterfaceAddress: Long): AppVersionInfo? + private external fun reconnect(daemonInterfaceAddress: Long) + private external fun clearAccountHistory(daemonInterfaceAddress: Long) + private external fun loginAccount( daemonInterfaceAddress: Long, accountToken: String? ): LoginResult private external fun logoutAccount(daemonInterfaceAddress: Long) + private external fun listDevices( daemonInterfaceAddress: Long, accountToken: String? ): List<Device>? private external fun getDevice(daemonInterfaceAddress: Long): DeviceState + private external fun updateDevice(daemonInterfaceAddress: Long) + private external fun removeDevice( daemonInterfaceAddress: Long, accountToken: String?, @@ -241,10 +257,15 @@ class MullvadDaemon( ): RemoveDeviceResult private external fun setAllowLan(daemonInterfaceAddress: Long, allowLan: Boolean) + private external fun setAutoConnect(daemonInterfaceAddress: Long, alwaysOn: Boolean) + private external fun setDnsOptions(daemonInterfaceAddress: Long, dnsOptions: DnsOptions) + private external fun setWireguardMtu(daemonInterfaceAddress: Long, wireguardMtu: Int?) + private external fun shutdown(daemonInterfaceAddress: Long) + private external fun submitVoucher( daemonInterfaceAddress: Long, voucher: String diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt index ad8b96f9a5..d6ba237f97 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt @@ -20,7 +20,9 @@ class AccountCache(private val endpoint: ServiceEndpoint) { companion object { private sealed class Command { object CreateAccount : Command() + data class Login(val account: String) : Command() + object Logout : Command() } } diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/CustomDns.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/CustomDns.kt index fe8f55a66d..7ecfe02d58 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/CustomDns.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/CustomDns.kt @@ -16,9 +16,12 @@ import net.mullvad.mullvadvpn.model.DnsState class CustomDns(private val endpoint: ServiceEndpoint) { private sealed class Command { @Deprecated("Use SetDnsOptions") class AddDnsServer(val server: InetAddress) : Command() + @Deprecated("Use SetDnsOptions") class RemoveDnsServer(val server: InetAddress) : Command() + @Deprecated("Use SetDnsOptions") class ReplaceDnsServer(val oldServer: InetAddress, val newServer: InetAddress) : Command() + @Deprecated("Use SetDnsOptions") class SetEnabled(val enabled: Boolean) : Command() class SetDnsOptions(val dnsOptions: DnsOptions) : Command() diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt index 1d6cb9f9a7..e9aa8d4328 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt @@ -30,6 +30,7 @@ class ServiceEndpoint( companion object { sealed class Command { data class RegisterListener(val listener: Messenger) : Command() + data class UnregisterListener(val listenerId: Int) : Command() } } diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt index 2863594cb9..874b78cab3 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt @@ -15,9 +15,13 @@ import net.mullvad.talpid.util.EventNotifier class SettingsListener(endpoint: ServiceEndpoint) { private sealed class Command { class SetAllowLan(val allow: Boolean) : Command() + class SetAutoConnect(val autoConnect: Boolean) : Command() + class SetWireGuardMtu(val mtu: Int?) : Command() + class SetObfuscationSettings(val settings: ObfuscationSettings?) : Command() + class SetQuantumResistant(val quantumResistant: QuantumResistantState) : Command() } |
