From 1422da53333cc67443736b73cbf879f585893c47 Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Mon, 16 Sep 2024 16:41:52 -0400 Subject: [PATCH 1/9] Integrate with backend calls for client secret # Conflicts: # dependencies.gradle # stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt # stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleActivity.kt # stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt # stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleViewModel.kt --- dependencies.gradle | 2 + stripe-connect-example/build.gradle | 8 + .../src/main/AndroidManifest.xml | 10 +- .../stripe/android/connectsdk/example/App.kt | 32 ++++ .../connectsdk/example/MainActivity.kt | 4 +- .../networking/EmbeddedComponentService.kt | 86 ++++++++++- .../networking/NetworkingInterceptors.kt | 59 ++++++++ .../AccountOnboardingExampleViewModel.kt | 8 - .../example/ui/common/EmbeddedComponentsUi.kt | 139 ++++++++++++++++++ .../AccountOnboardingExampleActivity.kt | 64 ++++++++ .../AccountOnboardingExampleViewModel.kt | 73 +++++++++ .../payouts/PayoutsExampleActivity.kt | 64 ++++++++ .../payouts/PayoutsExampleViewModel.kt | 73 +++++++++ .../ui/payouts/PayoutsExampleActivity.kt | 52 ------- 14 files changed, 603 insertions(+), 71 deletions(-) create mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt create mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt create mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/common/EmbeddedComponentsUi.kt create mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleActivity.kt create mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt create mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleActivity.kt create mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt delete mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleActivity.kt diff --git a/dependencies.gradle b/dependencies.gradle index 5cbc392d8ea..5ba541c0476 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -70,6 +70,7 @@ ext.versions = [ tensorflowLite : '2.11.0', tensorflowLiteSupport : '0.4.3', testParameterInjector : '1.17', + timber : '5.0.1', truth : '1.4.4', turbine : '1.1.0', uiAutomator : '2.3.0', @@ -190,6 +191,7 @@ ext.libs = [ tensorflowLiteSupport : "org.tensorflow:tensorflow-lite-support:${versions.tensorflowLiteSupport}", tensorflowLitePlayServices : "com.google.android.gms:play-services-tflite-java:${versions.playServicesTfLite}", tensorflowLitePlayServicesSupport : "com.google.android.gms:play-services-tflite-support:${versions.playServicesTfLite}", + timber : "com.jakewharton.timber:timber:${versions.timber}", zxing : "com.google.zxing:core:${versions.zxing}", ] diff --git a/stripe-connect-example/build.gradle b/stripe-connect-example/build.gradle index 8170e7b781c..190120cacb2 100644 --- a/stripe-connect-example/build.gradle +++ b/stripe-connect-example/build.gradle @@ -6,12 +6,20 @@ apply plugin: 'org.jetbrains.kotlin.plugin.serialization' dependencies { implementation project(":stripe-connect") + implementation project(':stripe-core') // Kotlin implementation libs.kotlin.coroutines implementation libs.kotlin.coroutinesAndroid implementation libs.kotlin.serialization + // Networking + implementation libs.fuel + implementation libs.fuelCoroutines + + // Logging + implementation libs.timber + // AndroidX implementation libs.androidx.activity implementation libs.androidx.annotation diff --git a/stripe-connect-example/src/main/AndroidManifest.xml b/stripe-connect-example/src/main/AndroidManifest.xml index eaae5a28c77..889d6fd4ce8 100644 --- a/stripe-connect-example/src/main/AndroidManifest.xml +++ b/stripe-connect-example/src/main/AndroidManifest.xml @@ -1,6 +1,10 @@ - + + + + + diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt new file mode 100644 index 00000000000..66f65ba61df --- /dev/null +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt @@ -0,0 +1,32 @@ +package com.stripe.android.connectsdk.example + +import android.app.Application +import android.os.StrictMode +import timber.log.Timber + +class App: Application() { + override fun onCreate() { + super.onCreate() + + StrictMode.setThreadPolicy( + StrictMode.ThreadPolicy.Builder() + .detectDiskReads() + .detectDiskWrites() + .detectAll() + .penaltyLog() + .build() + ) + + StrictMode.setVmPolicy( + StrictMode.VmPolicy.Builder() + .detectLeakedSqlLiteObjects() + .detectLeakedClosableObjects() + .penaltyLog() + .build() + ) + + if (BuildConfig.DEBUG) { + Timber.plant(Timber.DebugTree()) + } + } +} \ No newline at end of file diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt index cfce1f953b0..a79152f1849 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt @@ -35,8 +35,8 @@ import androidx.compose.ui.text.style.LineHeightStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.stripe.android.connectsdk.example.ui.accountonboarding.AccountOnboardingExampleActivity -import com.stripe.android.connectsdk.example.ui.payouts.PayoutsExampleActivity +import com.stripe.android.connectsdk.example.ui.features.accountonboarding.AccountOnboardingExampleActivity +import com.stripe.android.connectsdk.example.ui.features.payouts.PayoutsExampleActivity class MainActivity : ComponentActivity() { diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt index f54e308e7c5..9cb17ddadf2 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt @@ -1,15 +1,89 @@ package com.stripe.android.connectsdk.example.networking -import kotlinx.coroutines.delay +import com.github.kittinunf.fuel.core.Deserializable +import com.github.kittinunf.fuel.core.FuelError +import com.github.kittinunf.fuel.core.FuelManager +import com.github.kittinunf.fuel.core.Request +import com.github.kittinunf.fuel.core.Response +import com.github.kittinunf.fuel.core.awaitResult +import com.github.kittinunf.result.Result +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.Json class EmbeddedComponentService { - suspend fun fetchClientSecret(): String? { - // TODO MXMOBILE-2511 - add backend call - delay(ARTIFICIAL_DELAY_MS) - return null + private val fuel = FuelManager.instance + .apply { + // add logging + addRequestInterceptor(TimberRequestLogger("EmbeddedComponentService")) + addResponseInterceptor(TimberResponseLogger("EmbeddedComponentService")) + + // add headers + addRequestInterceptor(ApplicationJsonHeaderInterceptor) + addRequestInterceptor(UserAgentHeader) + } + + /** + * Returns the publishable key for use in the Stripe Connect SDK as well as a list + * of available merchants. Throws a [FuelError] exception on network issues and other errors. + */ + suspend fun getAccounts(): GetAccountsResponse { + return fuel.get(EXAMPLE_BACKEND_URL + "app_info") + .awaitModel(GetAccountsResponse.serializer()) + .get() + } + + /** + * Returns the client secret for the given merchant account to be used in the Stripe Connect SDK. + * Throws a [FuelError] exception on network issues and other errors. + */ + suspend fun fetchClientSecret(account: String): String { + return fuel.post(EXAMPLE_BACKEND_URL + "account_session") + .header("account", account) + .awaitModel(FetchClientSecretResponse.serializer()) + .get() + .clientSecret } companion object { - private const val ARTIFICIAL_DELAY_MS = 3000L + private const val EXAMPLE_BACKEND_URL = "https://stripe-connect-mobile-example-v1.glitch.me/" } } + +@Serializable +data class FetchClientSecretResponse( + @SerialName("client_secret") + val clientSecret: String +) + +@Serializable +data class GetAccountsResponse( + @SerialName("publishable_key") + val publishableKey: String, + @SerialName("available_merchants") + val availableMerchants: List +) + +@Serializable +data class Merchant( + @SerialName("merchant_id") + val merchantId: String, + @SerialName("display_name") + val displayName: String +) + +suspend fun Request.awaitModel( + serializer: DeserializationStrategy +): Result { + val deserializer = object : Deserializable { + + override fun deserialize(response: Response): T { + println(response.toString()) + val body = response.body().asString("application/json") + return Json.decodeFromString(serializer, body) + } + } + + return awaitResult(deserializer) +} \ No newline at end of file diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt new file mode 100644 index 00000000000..f0afb67df38 --- /dev/null +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt @@ -0,0 +1,59 @@ +package com.stripe.android.connectsdk.example.networking + +import android.os.Build +import com.github.kittinunf.fuel.core.FoldableRequestInterceptor +import com.github.kittinunf.fuel.core.FoldableResponseInterceptor +import com.github.kittinunf.fuel.core.RequestTransformer +import com.github.kittinunf.fuel.core.ResponseTransformer +import com.github.kittinunf.fuel.core.extensions.cUrlString +import com.stripe.android.core.version.StripeSdkVersion +import timber.log.Timber + +object ApplicationJsonHeaderInterceptor : FoldableRequestInterceptor { + override fun invoke(next: RequestTransformer): RequestTransformer { + return { request -> + next(request.header("content-type", "application/json")) + } + } +} + +object UserAgentHeader : FoldableRequestInterceptor { + fun getUserAgent(): String { + val androidBrand = Build.BRAND + val androidDevice = Build.MODEL + val osVersion = Build.VERSION.SDK_INT + return buildString { + append("Stripe/ConnectSDKExample") + append(" (Android $androidBrand $androidDevice; (OS Version $osVersion))+") + append(" Version/${StripeSdkVersion.VERSION_NAME}") + } + } + + override fun invoke(next: RequestTransformer): RequestTransformer { + return { request -> + next(request.header("User-Agent", getUserAgent())) + } + } +} + +class TimberRequestLogger(private val tag: String) : FoldableRequestInterceptor { + private val timber get() = Timber.tag(tag) + + override fun invoke(next: RequestTransformer): RequestTransformer { + return { request -> + timber.i("Request: ${request.cUrlString()}") + next(request) + } + } +} + +class TimberResponseLogger(private val tag: String) : FoldableResponseInterceptor { + private val timber get() = Timber.tag(tag) + + override fun invoke(next: ResponseTransformer): ResponseTransformer { + return { request, response -> + timber.i("Response: $response") + next(request, response) + } + } +} \ No newline at end of file diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt index 16b2b84b43c..57ca798c042 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt @@ -1,11 +1,3 @@ -package com.stripe.android.connectsdk.example.ui.accountonboarding - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.stripe.android.connectsdk.FetchClientSecretCallback.ClientSecretResultCallback -import com.stripe.android.connectsdk.PrivateBetaConnectSDK -import com.stripe.android.connectsdk.example.networking.EmbeddedComponentService -import kotlinx.coroutines.launch class AccountOnboardingExampleViewModel( private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/common/EmbeddedComponentsUi.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/common/EmbeddedComponentsUi.kt new file mode 100644 index 00000000000..b0c4b6dd67b --- /dev/null +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/common/EmbeddedComponentsUi.kt @@ -0,0 +1,139 @@ +package com.stripe.android.connectsdk.example.ui.common + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material.Button +import androidx.compose.material.DropdownMenuItem +import androidx.compose.material.ExperimentalMaterialApi +import androidx.compose.material.ExposedDropdownMenuBox +import androidx.compose.material.ExposedDropdownMenuDefaults +import androidx.compose.material.Text +import androidx.compose.material.TextField +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.stripe.android.connectsdk.example.networking.Merchant + +@Composable +fun LaunchEmbeddedComponentsScreen( + embeddedComponentName: String, + selectedAccount: Merchant?, + connectSDKAccounts: List, + onConnectSDKAccountSelected: (Merchant) -> Unit, + onEmbeddedComponentLaunched: () -> Unit, +) { + Box( + modifier = Modifier.fillMaxSize(), + contentAlignment = Alignment.Center, + ) { + Column( + modifier = Modifier.padding(16.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + AccountSelector( + selectedAccount = selectedAccount, + accounts = connectSDKAccounts, + onAccountSelected = onConnectSDKAccountSelected, + ) + Button( + onClick = onEmbeddedComponentLaunched, + enabled = selectedAccount != null, + ) { + Text("Launch $embeddedComponentName") + } + } + } +} + +@OptIn(ExperimentalMaterialApi::class) +@Composable +fun AccountSelector( + selectedAccount: Merchant? = null, + accounts: List, + onAccountSelected: (Merchant) -> Unit, +) { + var expanded by remember { mutableStateOf(false) } + ExposedDropdownMenuBox( + expanded = expanded, + onExpandedChange = { expanded = it }, + ) { + TextField( + readOnly = true, + value = selectedAccount?.displayName ?: "No account selected", + onValueChange = {}, + label = { Text("Account") }, + trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded) }, + modifier = Modifier.fillMaxWidth() + ) + ExposedDropdownMenu( + expanded = expanded, + onDismissRequest = { expanded = false }, + ) { + for (account in accounts) { + DropdownMenuItem( + onClick = { + onAccountSelected(account) + expanded = false + } + ) { + Text(text = account.displayName,) + } + } + } + } +} + +@Preview(showBackground = true) +@Composable +fun LaunchEmbeddedComponentsScreenPreviewWithSelectedAccount() { + LaunchEmbeddedComponentsScreen( + embeddedComponentName = "Payouts", + selectedAccount = Merchant(merchantId = "1", displayName = "Selected Merchant"), + connectSDKAccounts = listOf( + Merchant(merchantId = "2", displayName = "Merchant 1"), + Merchant(merchantId = "3", displayName = "Merchant 2"), + Merchant(merchantId = "4", displayName = "Merchant 3") + ), + onConnectSDKAccountSelected = {}, + onEmbeddedComponentLaunched = {} + ) +} + +@Preview(showBackground = true) +@Composable +fun LaunchEmbeddedComponentsScreenPreviewWithNoSelectedAccount() { + LaunchEmbeddedComponentsScreen( + embeddedComponentName = "Payouts", + selectedAccount = null, + connectSDKAccounts = listOf( + Merchant(merchantId = "2", displayName = "Merchant 1"), + Merchant(merchantId = "3", displayName = "Merchant 2"), + Merchant(merchantId = "4", displayName = "Merchant 3") + ), + onConnectSDKAccountSelected = {}, + onEmbeddedComponentLaunched = {} + ) +} + +@Preview(showBackground = true) +@Composable +fun LaunchEmbeddedComponentsScreenPreviewWithEmptyAccounts() { + LaunchEmbeddedComponentsScreen( + embeddedComponentName = "Payouts", + selectedAccount = Merchant(merchantId = "1", displayName = "Selected Merchant"), + connectSDKAccounts = emptyList(), + onConnectSDKAccountSelected = {}, + onEmbeddedComponentLaunched = {} + ) +} \ No newline at end of file diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleActivity.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleActivity.kt new file mode 100644 index 00000000000..de2d6baf667 --- /dev/null +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleActivity.kt @@ -0,0 +1,64 @@ +package com.stripe.android.connectsdk.example.ui.features.accountonboarding + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.CircularProgressIndicator +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.lifecycle.viewmodel.compose.viewModel +import com.stripe.android.connectsdk.EmbeddedComponentManager +import com.stripe.android.connectsdk.EmbeddedComponentManager.Configuration +import com.stripe.android.connectsdk.PrivateBetaConnectSDK +import com.stripe.android.connectsdk.example.ConnectSdkExampleTheme +import com.stripe.android.connectsdk.example.MainContent +import com.stripe.android.connectsdk.example.ui.common.LaunchEmbeddedComponentsScreen + +class AccountOnboardingExampleActivity : ComponentActivity() { + + @OptIn(PrivateBetaConnectSDK::class) + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + setContent { + ConnectSdkExampleTheme { + val viewModel: AccountOnboardingExampleViewModel = viewModel() + val accountOnboardingExampleState by viewModel.state.collectAsState() + val sdkPublishableKey = accountOnboardingExampleState.publishableKey + val accounts = accountOnboardingExampleState.accounts + + MainContent(title = "Account Onboarding Example") { + Box( + modifier = Modifier.fillMaxSize(), + contentAlignment = Alignment.Center, + ) { + if (sdkPublishableKey != null && accounts != null) { + val embeddedComponentManager = remember(sdkPublishableKey) { + EmbeddedComponentManager( + activity = this@AccountOnboardingExampleActivity, + configuration = Configuration(sdkPublishableKey), + fetchClientSecret = viewModel::fetchClientSecret, + ) + } + + LaunchEmbeddedComponentsScreen( + embeddedComponentName = "Account Onboarding", + selectedAccount = accountOnboardingExampleState.selectedAccount, + connectSDKAccounts = accounts, + onConnectSDKAccountSelected = viewModel::onAccountSelected, + onEmbeddedComponentLaunched = embeddedComponentManager::presentAccountOnboarding, + ) + } else { + CircularProgressIndicator() + } + } + } + } + } + } +} \ No newline at end of file diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt new file mode 100644 index 00000000000..59501186f78 --- /dev/null +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt @@ -0,0 +1,73 @@ +package com.stripe.android.connectsdk.example.ui.features.accountonboarding + +import androidx.lifecycle.ViewModel +import com.github.kittinunf.fuel.core.FuelError +import com.stripe.android.connectsdk.FetchClientSecretCallback.ClientSecretResultCallback +import com.stripe.android.connectsdk.PrivateBetaConnectSDK +import com.stripe.android.connectsdk.example.networking.EmbeddedComponentService +import com.stripe.android.connectsdk.example.networking.Merchant +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update +import kotlinx.coroutines.launch +import timber.log.Timber + +class AccountOnboardingExampleViewModel( + private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), + private val networkingScope: CoroutineScope = CoroutineScope(Dispatchers.IO), +): ViewModel() { + + private val timber get() = Timber.tag("AccountOnboardingExampleViewModel") + + private val _state = MutableStateFlow(PayoutsExampleState()) + val state: StateFlow = _state.asStateFlow() + + init { + getAccounts() + } + + @OptIn(PrivateBetaConnectSDK::class) + fun fetchClientSecret(resultCallback: ClientSecretResultCallback) { + val account = _state.value.selectedAccount ?: return + networkingScope.launch { + try { + val clientSecret = embeddedComponentService.fetchClientSecret(account.merchantId) + resultCallback.onResult(clientSecret) + } catch (e: FuelError) { + resultCallback.onError() + timber.e("Error fetching client secret: $e") + } + } + } + + fun onAccountSelected(account: Merchant) { + _state.update { + it.copy(selectedAccount = account) + } + } + + private fun getAccounts() { + networkingScope.launch { + try { + val response = embeddedComponentService.getAccounts() + _state.update { + it.copy( + publishableKey = response.publishableKey, + accounts = response.availableMerchants, + ) + } + } catch (e: FuelError) { + timber.e("Error getting accounts: $e") + } + } + } + + data class PayoutsExampleState( + val selectedAccount: Merchant? = null, + val accounts: List? = null, + val publishableKey: String? = null, + ) +} \ No newline at end of file diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleActivity.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleActivity.kt new file mode 100644 index 00000000000..ac909d0c9c0 --- /dev/null +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleActivity.kt @@ -0,0 +1,64 @@ +package com.stripe.android.connectsdk.example.ui.features.payouts + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.CircularProgressIndicator +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.lifecycle.viewmodel.compose.viewModel +import com.stripe.android.connectsdk.EmbeddedComponentManager +import com.stripe.android.connectsdk.EmbeddedComponentManager.Configuration +import com.stripe.android.connectsdk.PrivateBetaConnectSDK +import com.stripe.android.connectsdk.example.ConnectSdkExampleTheme +import com.stripe.android.connectsdk.example.MainContent +import com.stripe.android.connectsdk.example.ui.common.LaunchEmbeddedComponentsScreen + +@OptIn(PrivateBetaConnectSDK::class) +class PayoutsExampleActivity : ComponentActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + setContent { + ConnectSdkExampleTheme { + val viewModel: PayoutsExampleViewModel = viewModel() + val payoutsExampleState by viewModel.state.collectAsState() + val sdkPublishableKey = payoutsExampleState.publishableKey + val accounts = payoutsExampleState.accounts + + MainContent(title = "Payouts Example") { + Box( + modifier = Modifier.fillMaxSize(), + contentAlignment = Alignment.Center, + ) { + if (sdkPublishableKey != null && accounts != null) { + val embeddedComponentManager = remember(sdkPublishableKey) { + EmbeddedComponentManager( + activity = this@PayoutsExampleActivity, + configuration = Configuration(sdkPublishableKey), + fetchClientSecret = viewModel::fetchClientSecret, + ) + } + + LaunchEmbeddedComponentsScreen( + embeddedComponentName = "Payouts", + selectedAccount = payoutsExampleState.selectedAccount, + connectSDKAccounts = accounts, + onConnectSDKAccountSelected = viewModel::onAccountSelected, + onEmbeddedComponentLaunched = embeddedComponentManager::presentPayouts, + ) + } else { + CircularProgressIndicator() + } + } + } + } + } + } +} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt new file mode 100644 index 00000000000..25e23146ba1 --- /dev/null +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt @@ -0,0 +1,73 @@ +package com.stripe.android.connectsdk.example.ui.features.payouts + +import androidx.lifecycle.ViewModel +import com.github.kittinunf.fuel.core.FuelError +import com.stripe.android.connectsdk.FetchClientSecretCallback.ClientSecretResultCallback +import com.stripe.android.connectsdk.PrivateBetaConnectSDK +import com.stripe.android.connectsdk.example.networking.EmbeddedComponentService +import com.stripe.android.connectsdk.example.networking.Merchant +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update +import kotlinx.coroutines.launch +import timber.log.Timber + +class PayoutsExampleViewModel( + private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), + private val networkingScope: CoroutineScope = CoroutineScope(Dispatchers.IO), +): ViewModel() { + + private val timber get() = Timber.tag("PayoutsExampleViewModel") + + private val _state = MutableStateFlow(PayoutsExampleState()) + val state: StateFlow = _state.asStateFlow() + + init { + getAccounts() + } + + @OptIn(PrivateBetaConnectSDK::class) + fun fetchClientSecret(resultCallback: ClientSecretResultCallback) { + val account = _state.value.selectedAccount ?: return + networkingScope.launch { + try { + val clientSecret = embeddedComponentService.fetchClientSecret(account.merchantId) + resultCallback.onResult(clientSecret) + } catch (e: FuelError) { + resultCallback.onError() + timber.e("Error fetching client secret: $e") + } + } + } + + fun onAccountSelected(account: Merchant) { + _state.update { + it.copy(selectedAccount = account) + } + } + + private fun getAccounts() { + networkingScope.launch { + try { + val response = embeddedComponentService.getAccounts() + _state.update { + it.copy( + publishableKey = response.publishableKey, + accounts = response.availableMerchants, + ) + } + } catch (e: FuelError) { + timber.e("Error getting accounts: $e") + } + } + } + + data class PayoutsExampleState( + val selectedAccount: Merchant? = null, + val accounts: List? = null, + val publishableKey: String? = null, + ) +} \ No newline at end of file diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleActivity.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleActivity.kt deleted file mode 100644 index 201c5579e8d..00000000000 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleActivity.kt +++ /dev/null @@ -1,52 +0,0 @@ -package com.stripe.android.connectsdk.example.ui.payouts - -import android.os.Bundle -import androidx.activity.ComponentActivity -import androidx.activity.compose.setContent -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material.Button -import androidx.compose.material.Text -import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.lifecycle.viewmodel.compose.viewModel -import com.stripe.android.connectsdk.EmbeddedComponentManager -import com.stripe.android.connectsdk.PrivateBetaConnectSDK -import com.stripe.android.connectsdk.example.ConnectSdkExampleTheme -import com.stripe.android.connectsdk.example.MainContent - -@OptIn(PrivateBetaConnectSDK::class) -class PayoutsExampleActivity : ComponentActivity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - setContent { - ConnectSdkExampleTheme { - val viewModel: PayoutsExampleViewModel = viewModel() - val embeddedComponentManager = remember { - EmbeddedComponentManager( - activity = this@PayoutsExampleActivity, - // TODO MXMOBILE-2511 - pass publishable key from backend to SDK - configuration = EmbeddedComponentManager.Configuration(""), - fetchClientSecret = viewModel::fetchClientSecret, - ) - } - - MainContent(title = "Payouts Example") { - Box( - modifier = Modifier.fillMaxSize(), - contentAlignment = Alignment.Center, - ) { - Button( - onClick = embeddedComponentManager::presentPayouts, - ) { - Text("Launch payouts") - } - } - } - } - } - } -} From 1dab786e29cbb64f4be159e2db8ff835422b6c3b Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Tue, 8 Oct 2024 10:52:58 -0400 Subject: [PATCH 2/9] Fix lint --- stripe-connect-example/build.gradle | 6 +-- .../stripe/android/connectsdk/example/App.kt | 4 +- .../networking/EmbeddedComponentService.kt | 2 +- .../networking/NetworkingInterceptors.kt | 4 +- .../AccountOnboardingExampleActivity.kt | 52 ------------------- .../AccountOnboardingExampleViewModel.kt | 17 ------ .../example/ui/common/EmbeddedComponentsUi.kt | 2 +- .../AccountOnboardingExampleActivity.kt | 2 +- .../AccountOnboardingExampleViewModel.kt | 4 +- .../payouts/PayoutsExampleViewModel.kt | 4 +- .../ui/payouts/PayoutsExampleViewModel.kt | 25 --------- 11 files changed, 14 insertions(+), 108 deletions(-) delete mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleActivity.kt delete mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt delete mode 100644 stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleViewModel.kt diff --git a/stripe-connect-example/build.gradle b/stripe-connect-example/build.gradle index 190120cacb2..5daa8d52755 100644 --- a/stripe-connect-example/build.gradle +++ b/stripe-connect-example/build.gradle @@ -13,13 +13,13 @@ dependencies { implementation libs.kotlin.coroutinesAndroid implementation libs.kotlin.serialization + // Logging + implementation libs.timber + // Networking implementation libs.fuel implementation libs.fuelCoroutines - // Logging - implementation libs.timber - // AndroidX implementation libs.androidx.activity implementation libs.androidx.annotation diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt index 66f65ba61df..24f3e5211e9 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt @@ -4,7 +4,7 @@ import android.app.Application import android.os.StrictMode import timber.log.Timber -class App: Application() { +class App : Application() { override fun onCreate() { super.onCreate() @@ -29,4 +29,4 @@ class App: Application() { Timber.plant(Timber.DebugTree()) } } -} \ No newline at end of file +} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt index 9cb17ddadf2..f82f5ce4439 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt @@ -86,4 +86,4 @@ suspend fun Request.awaitModel( } return awaitResult(deserializer) -} \ No newline at end of file +} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt index f0afb67df38..f9a50bfb156 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt @@ -18,7 +18,7 @@ object ApplicationJsonHeaderInterceptor : FoldableRequestInterceptor { } object UserAgentHeader : FoldableRequestInterceptor { - fun getUserAgent(): String { + private fun getUserAgent(): String { val androidBrand = Build.BRAND val androidDevice = Build.MODEL val osVersion = Build.VERSION.SDK_INT @@ -56,4 +56,4 @@ class TimberResponseLogger(private val tag: String) : FoldableResponseIntercepto next(request, response) } } -} \ No newline at end of file +} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleActivity.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleActivity.kt deleted file mode 100644 index 651a757d73f..00000000000 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleActivity.kt +++ /dev/null @@ -1,52 +0,0 @@ -package com.stripe.android.connectsdk.example.ui.accountonboarding - -import android.os.Bundle -import androidx.activity.ComponentActivity -import androidx.activity.compose.setContent -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material.Button -import androidx.compose.material.Text -import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.lifecycle.viewmodel.compose.viewModel -import com.stripe.android.connectsdk.EmbeddedComponentManager -import com.stripe.android.connectsdk.PrivateBetaConnectSDK -import com.stripe.android.connectsdk.example.ConnectSdkExampleTheme -import com.stripe.android.connectsdk.example.MainContent - -class AccountOnboardingExampleActivity : ComponentActivity() { - - @OptIn(PrivateBetaConnectSDK::class) - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - setContent { - ConnectSdkExampleTheme { - val viewModel: AccountOnboardingExampleViewModel = viewModel() - val embeddedComponentManager = remember { - EmbeddedComponentManager( - activity = this@AccountOnboardingExampleActivity, - // TODO MXMOBILE-2511 - pass publishable key from backend to SDK - configuration = EmbeddedComponentManager.Configuration(""), - fetchClientSecret = viewModel::fetchClientSecret, - ) - } - - MainContent(title = "Account Onboarding Example") { - Box( - modifier = Modifier.fillMaxSize(), - contentAlignment = Alignment.Center, - ) { - Button( - onClick = embeddedComponentManager::presentAccountOnboarding, - ) { - Text("Launch onboarding") - } - } - } - } - } - } -} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt deleted file mode 100644 index 57ca798c042..00000000000 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/accountonboarding/AccountOnboardingExampleViewModel.kt +++ /dev/null @@ -1,17 +0,0 @@ - -class AccountOnboardingExampleViewModel( - private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), -) : ViewModel() { - - @OptIn(PrivateBetaConnectSDK::class) - fun fetchClientSecret(resultCallback: ClientSecretResultCallback) { - viewModelScope.launch { - val clientSecret = embeddedComponentService.fetchClientSecret() - if (clientSecret != null) { - resultCallback.onResult(clientSecret) - } else { - resultCallback.onError() - } - } - } -} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/common/EmbeddedComponentsUi.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/common/EmbeddedComponentsUi.kt index b0c4b6dd67b..33d90ec4cb8 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/common/EmbeddedComponentsUi.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/common/EmbeddedComponentsUi.kt @@ -136,4 +136,4 @@ fun LaunchEmbeddedComponentsScreenPreviewWithEmptyAccounts() { onConnectSDKAccountSelected = {}, onEmbeddedComponentLaunched = {} ) -} \ No newline at end of file +} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleActivity.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleActivity.kt index de2d6baf667..03929affa1c 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleActivity.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleActivity.kt @@ -61,4 +61,4 @@ class AccountOnboardingExampleActivity : ComponentActivity() { } } } -} \ No newline at end of file +} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt index 59501186f78..761028bf52c 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt @@ -18,7 +18,7 @@ import timber.log.Timber class AccountOnboardingExampleViewModel( private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), private val networkingScope: CoroutineScope = CoroutineScope(Dispatchers.IO), -): ViewModel() { +) : ViewModel() { private val timber get() = Timber.tag("AccountOnboardingExampleViewModel") @@ -70,4 +70,4 @@ class AccountOnboardingExampleViewModel( val accounts: List? = null, val publishableKey: String? = null, ) -} \ No newline at end of file +} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt index 25e23146ba1..2048dc576ff 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt @@ -18,7 +18,7 @@ import timber.log.Timber class PayoutsExampleViewModel( private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), private val networkingScope: CoroutineScope = CoroutineScope(Dispatchers.IO), -): ViewModel() { +) : ViewModel() { private val timber get() = Timber.tag("PayoutsExampleViewModel") @@ -70,4 +70,4 @@ class PayoutsExampleViewModel( val accounts: List? = null, val publishableKey: String? = null, ) -} \ No newline at end of file +} diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleViewModel.kt deleted file mode 100644 index 9ed20446a58..00000000000 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/payouts/PayoutsExampleViewModel.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.stripe.android.connectsdk.example.ui.payouts - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.stripe.android.connectsdk.FetchClientSecretCallback.ClientSecretResultCallback -import com.stripe.android.connectsdk.PrivateBetaConnectSDK -import com.stripe.android.connectsdk.example.networking.EmbeddedComponentService -import kotlinx.coroutines.launch - -class PayoutsExampleViewModel( - private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), -) : ViewModel() { - - @OptIn(PrivateBetaConnectSDK::class) - fun fetchClientSecret(resultCallback: ClientSecretResultCallback) { - viewModelScope.launch { - val clientSecret = embeddedComponentService.fetchClientSecret() - if (clientSecret != null) { - resultCallback.onResult(clientSecret) - } else { - resultCallback.onError() - } - } - } -} From 3db4ef5eb07aceb7ad5f98cb2645822ea967bd2e Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Tue, 8 Oct 2024 17:42:12 -0400 Subject: [PATCH 3/9] add dependencies file --- .../dependencies/dependencies.txt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/stripe-connect-example/dependencies/dependencies.txt b/stripe-connect-example/dependencies/dependencies.txt index 53a2c34ae04..c3671e33f78 100644 --- a/stripe-connect-example/dependencies/dependencies.txt +++ b/stripe-connect-example/dependencies/dependencies.txt @@ -641,9 +641,30 @@ | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 (*) | \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.9.24 | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 (*) ++--- project :stripe-core +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 (*) +| +--- androidx.browser:browser:1.7.0 (*) +| +--- com.google.dagger:dagger:2.50 +| | \--- javax.inject:javax.inject:1 +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (*) +| \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.24 (*) +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2 (*) ++--- com.jakewharton.timber:timber:5.0.1 +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.21 -> 1.9.24 (*) +| \--- org.jetbrains:annotations:20.1.0 -> 23.0.0 ++--- com.github.kittinunf.fuel:fuel:2.3.1 +| +--- com.github.kittinunf.result:result:3.1.0 +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0 -> 1.9.24 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.9.24 (*) ++--- com.github.kittinunf.fuel:fuel-coroutines:2.3.1 +| +--- com.github.kittinunf.fuel:fuel:2.3.1 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.9.24 (*) +--- androidx.activity:activity-ktx:1.8.2 (*) +--- androidx.annotation:annotation:1.7.1 (*) +--- androidx.appcompat:appcompat:1.6.1 (*) From 9372621bc905479fc19cbd8dda00e8abd37bb558 Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Wed, 16 Oct 2024 18:11:05 -0400 Subject: [PATCH 4/9] Move from timber to Logger --- dependencies.gradle | 2 -- stripe-connect-example/build.gradle | 3 --- .../dependencies/dependencies.txt | 3 --- .../stripe/android/connectsdk/example/App.kt | 5 ----- .../networking/EmbeddedComponentService.kt | 5 +++-- .../networking/NetworkingInterceptors.kt | 21 +++++++++++-------- .../AccountOnboardingExampleViewModel.kt | 10 ++++----- .../payouts/PayoutsExampleViewModel.kt | 10 ++++----- 8 files changed, 25 insertions(+), 34 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 5ba541c0476..5cbc392d8ea 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -70,7 +70,6 @@ ext.versions = [ tensorflowLite : '2.11.0', tensorflowLiteSupport : '0.4.3', testParameterInjector : '1.17', - timber : '5.0.1', truth : '1.4.4', turbine : '1.1.0', uiAutomator : '2.3.0', @@ -191,7 +190,6 @@ ext.libs = [ tensorflowLiteSupport : "org.tensorflow:tensorflow-lite-support:${versions.tensorflowLiteSupport}", tensorflowLitePlayServices : "com.google.android.gms:play-services-tflite-java:${versions.playServicesTfLite}", tensorflowLitePlayServicesSupport : "com.google.android.gms:play-services-tflite-support:${versions.playServicesTfLite}", - timber : "com.jakewharton.timber:timber:${versions.timber}", zxing : "com.google.zxing:core:${versions.zxing}", ] diff --git a/stripe-connect-example/build.gradle b/stripe-connect-example/build.gradle index 5daa8d52755..3689172a86d 100644 --- a/stripe-connect-example/build.gradle +++ b/stripe-connect-example/build.gradle @@ -13,9 +13,6 @@ dependencies { implementation libs.kotlin.coroutinesAndroid implementation libs.kotlin.serialization - // Logging - implementation libs.timber - // Networking implementation libs.fuel implementation libs.fuelCoroutines diff --git a/stripe-connect-example/dependencies/dependencies.txt b/stripe-connect-example/dependencies/dependencies.txt index c3671e33f78..af97dac95dc 100644 --- a/stripe-connect-example/dependencies/dependencies.txt +++ b/stripe-connect-example/dependencies/dependencies.txt @@ -654,9 +654,6 @@ +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2 (*) -+--- com.jakewharton.timber:timber:5.0.1 -| +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.21 -> 1.9.24 (*) -| \--- org.jetbrains:annotations:20.1.0 -> 23.0.0 +--- com.github.kittinunf.fuel:fuel:2.3.1 | +--- com.github.kittinunf.result:result:3.1.0 | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0 -> 1.9.24 (*) diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt index 24f3e5211e9..614e9a56319 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/App.kt @@ -2,7 +2,6 @@ package com.stripe.android.connectsdk.example import android.app.Application import android.os.StrictMode -import timber.log.Timber class App : Application() { override fun onCreate() { @@ -24,9 +23,5 @@ class App : Application() { .penaltyLog() .build() ) - - if (BuildConfig.DEBUG) { - Timber.plant(Timber.DebugTree()) - } } } diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt index f82f5ce4439..7ad70fb3f24 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt @@ -7,6 +7,7 @@ import com.github.kittinunf.fuel.core.Request import com.github.kittinunf.fuel.core.Response import com.github.kittinunf.fuel.core.awaitResult import com.github.kittinunf.result.Result +import com.stripe.android.core.Logger import kotlinx.serialization.DeserializationStrategy import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -16,8 +17,8 @@ class EmbeddedComponentService { private val fuel = FuelManager.instance .apply { // add logging - addRequestInterceptor(TimberRequestLogger("EmbeddedComponentService")) - addResponseInterceptor(TimberResponseLogger("EmbeddedComponentService")) + addRequestInterceptor(RequestLogger(tag = "EmbeddedComponentService")) + addResponseInterceptor(ResponseLogger(tag = "EmbeddedComponentService")) // add headers addRequestInterceptor(ApplicationJsonHeaderInterceptor) diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt index f9a50bfb156..d1a9bc2f6ed 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/NetworkingInterceptors.kt @@ -6,8 +6,9 @@ import com.github.kittinunf.fuel.core.FoldableResponseInterceptor import com.github.kittinunf.fuel.core.RequestTransformer import com.github.kittinunf.fuel.core.ResponseTransformer import com.github.kittinunf.fuel.core.extensions.cUrlString +import com.stripe.android.connectsdk.example.BuildConfig +import com.stripe.android.core.Logger import com.stripe.android.core.version.StripeSdkVersion -import timber.log.Timber object ApplicationJsonHeaderInterceptor : FoldableRequestInterceptor { override fun invoke(next: RequestTransformer): RequestTransformer { @@ -36,23 +37,25 @@ object UserAgentHeader : FoldableRequestInterceptor { } } -class TimberRequestLogger(private val tag: String) : FoldableRequestInterceptor { - private val timber get() = Timber.tag(tag) - +class RequestLogger( + private val tag: String, + private val logger: Logger = Logger.getInstance(enableLogging = BuildConfig.DEBUG), +) : FoldableRequestInterceptor { override fun invoke(next: RequestTransformer): RequestTransformer { return { request -> - timber.i("Request: ${request.cUrlString()}") + logger.info("($tag) Request: ${request.cUrlString()}") next(request) } } } -class TimberResponseLogger(private val tag: String) : FoldableResponseInterceptor { - private val timber get() = Timber.tag(tag) - +class ResponseLogger( + private val tag: String, + private val logger: Logger = Logger.getInstance(enableLogging = BuildConfig.DEBUG), +) : FoldableResponseInterceptor { override fun invoke(next: ResponseTransformer): ResponseTransformer { return { request, response -> - timber.i("Response: $response") + logger.info("($tag) Response: $response") next(request, response) } } diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt index 761028bf52c..01b8a879fcd 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/accountonboarding/AccountOnboardingExampleViewModel.kt @@ -4,8 +4,10 @@ import androidx.lifecycle.ViewModel import com.github.kittinunf.fuel.core.FuelError import com.stripe.android.connectsdk.FetchClientSecretCallback.ClientSecretResultCallback import com.stripe.android.connectsdk.PrivateBetaConnectSDK +import com.stripe.android.connectsdk.example.BuildConfig import com.stripe.android.connectsdk.example.networking.EmbeddedComponentService import com.stripe.android.connectsdk.example.networking.Merchant +import com.stripe.android.core.Logger import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow @@ -13,15 +15,13 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch -import timber.log.Timber class AccountOnboardingExampleViewModel( private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), private val networkingScope: CoroutineScope = CoroutineScope(Dispatchers.IO), + private val logger: Logger = Logger.getInstance(enableLogging = BuildConfig.DEBUG), ) : ViewModel() { - private val timber get() = Timber.tag("AccountOnboardingExampleViewModel") - private val _state = MutableStateFlow(PayoutsExampleState()) val state: StateFlow = _state.asStateFlow() @@ -38,7 +38,7 @@ class AccountOnboardingExampleViewModel( resultCallback.onResult(clientSecret) } catch (e: FuelError) { resultCallback.onError() - timber.e("Error fetching client secret: $e") + logger.error("(AccountOnboardingExampleViewModel) Error fetching client secret: $e") } } } @@ -60,7 +60,7 @@ class AccountOnboardingExampleViewModel( ) } } catch (e: FuelError) { - timber.e("Error getting accounts: $e") + logger.error("(AccountOnboardingExampleViewModel) Error getting accounts: $e") } } } diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt index 2048dc576ff..fd68839f077 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/ui/features/payouts/PayoutsExampleViewModel.kt @@ -4,8 +4,10 @@ import androidx.lifecycle.ViewModel import com.github.kittinunf.fuel.core.FuelError import com.stripe.android.connectsdk.FetchClientSecretCallback.ClientSecretResultCallback import com.stripe.android.connectsdk.PrivateBetaConnectSDK +import com.stripe.android.connectsdk.example.BuildConfig import com.stripe.android.connectsdk.example.networking.EmbeddedComponentService import com.stripe.android.connectsdk.example.networking.Merchant +import com.stripe.android.core.Logger import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow @@ -13,15 +15,13 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch -import timber.log.Timber class PayoutsExampleViewModel( private val embeddedComponentService: EmbeddedComponentService = EmbeddedComponentService(), private val networkingScope: CoroutineScope = CoroutineScope(Dispatchers.IO), + private val logger: Logger = Logger.getInstance(enableLogging = BuildConfig.DEBUG), ) : ViewModel() { - private val timber get() = Timber.tag("PayoutsExampleViewModel") - private val _state = MutableStateFlow(PayoutsExampleState()) val state: StateFlow = _state.asStateFlow() @@ -38,7 +38,7 @@ class PayoutsExampleViewModel( resultCallback.onResult(clientSecret) } catch (e: FuelError) { resultCallback.onError() - timber.e("Error fetching client secret: $e") + logger.error("(PayoutsExampleViewModel) Error fetching client secret: $e") } } } @@ -60,7 +60,7 @@ class PayoutsExampleViewModel( ) } } catch (e: FuelError) { - timber.e("Error getting accounts: $e") + logger.error("(PayoutsExampleViewModel) Error getting accounts: $e") } } } From 1ee1c3f88f32c26cd72c0ccdc57c07b5b7e5fee1 Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Wed, 16 Oct 2024 19:01:08 -0400 Subject: [PATCH 5/9] Remove unnecessary import --- .../connectsdk/example/networking/EmbeddedComponentService.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt index 7ad70fb3f24..d2045429719 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/networking/EmbeddedComponentService.kt @@ -7,7 +7,6 @@ import com.github.kittinunf.fuel.core.Request import com.github.kittinunf.fuel.core.Response import com.github.kittinunf.fuel.core.awaitResult import com.github.kittinunf.result.Result -import com.stripe.android.core.Logger import kotlinx.serialization.DeserializationStrategy import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable From c910fb7b315bd66c09944a6afc1c4b4e6529421b Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Thu, 17 Oct 2024 11:54:18 -0400 Subject: [PATCH 6/9] fix lint for deps --- .../dependencies/dependencies.txt | 1015 ++++++++--------- stripe-connect/dependencies/dependencies.txt | 953 ++++++++-------- 2 files changed, 977 insertions(+), 991 deletions(-) diff --git a/stripe-connect-example/dependencies/dependencies.txt b/stripe-connect-example/dependencies/dependencies.txt index af97dac95dc..c7c750fe545 100644 --- a/stripe-connect-example/dependencies/dependencies.txt +++ b/stripe-connect-example/dependencies/dependencies.txt @@ -1,11 +1,11 @@ +--- androidx.databinding:viewbinding:8.5.2 -| \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 -| \--- androidx.annotation:annotation-jvm:1.7.1 +| \--- androidx.annotation:annotation:1.0.0 -> 1.8.0 +| \--- androidx.annotation:annotation-jvm:1.8.0 | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.24 | +--- org.jetbrains:annotations:13.0 -> 23.0.0 -| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.0 (c) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.8.20 (c) | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24 (c) -| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.0 (c) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.8.20 (c) +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 (*) +--- project :stripe-connect | +--- androidx.databinding:viewbinding:8.5.2 (*) @@ -17,14 +17,14 @@ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (c) | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3 (c) | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (c) -| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 -> 1.9.0 -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.0 -> 1.9.24 (*) -| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0 -| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.0 -> 1.9.24 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 1.9.24 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20 +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 1.9.24 (*) | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*) -| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 -> 1.9.0 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 (*) | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2 | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.2 | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 1.9.24 (*) @@ -42,162 +42,166 @@ | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.21 -> 1.9.24 (*) | +--- androidx.activity:activity-ktx:1.8.2 | | +--- androidx.activity:activity:1.8.2 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 -| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.core:core:1.8.0 -> 1.10.0 -| | | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 +| | | | \--- androidx.collection:collection-jvm:1.4.0 +| | | | +--- androidx.annotation:annotation:1.7.0 -> 1.8.0 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | +--- androidx.collection:collection-ktx:1.4.0 (c) +| | | | \--- androidx.collection:collection-ktx:1.3.0 -> 1.4.0 (c) +| | | +--- androidx.core:core:1.8.0 -> 1.12.0 +| | | | +--- androidx.annotation:annotation:1.6.0 -> 1.8.0 (*) | | | | +--- androidx.annotation:annotation-experimental:1.3.0 | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.24 (*) -| | | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) +| | | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) | | | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 -| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) | | | | | \--- com.google.guava:listenablefuture:1.0 | | | | +--- androidx.interpolator:interpolator:1.0.0 -| | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | | +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.7.0 -| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | +--- androidx.arch.core:core-common:2.2.0 -| | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | +--- androidx.arch.core:core-runtime:2.2.0 -| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | | \--- androidx.arch.core:core-common:2.2.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 -| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) -| | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) -| | | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | | | +--- androidx.profileinstaller:profileinstaller:1.3.0 -| | | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*) -| | | | | | +--- androidx.startup:startup-runtime:1.1.1 -| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | | | \--- androidx.tracing:tracing:1.0.0 -| | | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | | \--- com.google.guava:listenablefuture:1.0 -| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) +| | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.8.6 +| | | | | \--- androidx.lifecycle:lifecycle-runtime-android:2.8.6 +| | | | | +--- androidx.annotation:annotation:1.8.0 (*) +| | | | | +--- androidx.arch.core:core-common:2.2.0 +| | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | +--- androidx.arch.core:core-runtime:2.2.0 +| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | | \--- androidx.arch.core:core-common:2.2.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 +| | | | | | \--- androidx.lifecycle:lifecycle-common-jvm:2.8.6 +| | | | | | +--- androidx.annotation:annotation:1.8.0 (*) +| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +| | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 +| | | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*) +| | | | | | +--- androidx.startup:startup-runtime:1.1.1 +| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | | | \--- androidx.tracing:tracing:1.0.0 +| | | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | | \--- com.google.guava:listenablefuture:1.0 +| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) | | | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1 -| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | | | \--- androidx.core:core-ktx:1.10.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | | +--- androidx.core:core-ktx:1.2.0 -> 1.10.0 -| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | +--- androidx.core:core:1.10.0 (*) -| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.9.24 (*) -| | | | | \--- androidx.core:core:1.10.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 +| | | | \--- androidx.core:core-ktx:1.12.0 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.6 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 +| | | | \--- androidx.lifecycle:lifecycle-viewmodel-android:2.8.6 +| | | | +--- androidx.annotation:annotation:1.8.0 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +| | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.6 +| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | | +--- androidx.core:core-ktx:1.2.0 -> 1.12.0 +| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | +--- androidx.core:core:1.12.0 (*) +| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | | \--- androidx.core:core:1.12.0 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 | | | | | +--- androidx.arch.core:core-common:2.2.0 (*) | | | | | +--- androidx.arch.core:core-runtime:2.2.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (*) | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (*) | | | | +--- androidx.savedstate:savedstate:1.2.1 -| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) | | | | | +--- androidx.arch.core:core-common:2.1.0 -> 2.2.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common:2.6.1 -> 2.7.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-common:2.6.1 -> 2.8.6 (*) | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.9.24 (*) | | | | | \--- androidx.savedstate:savedstate-ktx:1.2.1 (c) | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | +--- androidx.profileinstaller:profileinstaller:1.3.0 (*) +| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.3.1 (*) | | | +--- androidx.savedstate:savedstate:1.2.1 (*) | | | +--- androidx.tracing:tracing:1.0.0 (*) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | | | +--- androidx.activity:activity-compose:1.8.2 (c) | | | \--- androidx.activity:activity-ktx:1.8.2 (c) -| | +--- androidx.core:core-ktx:1.9.0 -> 1.10.0 (*) -| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.7.0 -| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (*) +| | +--- androidx.core:core-ktx:1.9.0 -> 1.12.0 (*) +| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.8.6 +| | | \--- androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.6 +| | | +--- androidx.annotation:annotation:1.8.0 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.6 +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (*) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) -| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) | | +--- androidx.savedstate:savedstate-ktx:1.2.1 | | | +--- androidx.savedstate:savedstate:1.2.1 (*) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.9.24 (*) @@ -205,402 +209,391 @@ | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | | +--- androidx.activity:activity:1.8.2 (c) | | \--- androidx.activity:activity-compose:1.8.2 (c) -| +--- androidx.annotation:annotation:1.7.1 (*) +| +--- androidx.annotation:annotation:1.7.1 -> 1.8.0 (*) | +--- androidx.appcompat:appcompat:1.6.1 | | +--- androidx.activity:activity:1.6.0 -> 1.8.2 (*) -| | +--- androidx.annotation:annotation:1.3.0 -> 1.7.1 (*) +| | +--- androidx.annotation:annotation:1.3.0 -> 1.8.0 (*) | | +--- androidx.appcompat:appcompat-resources:1.6.1 -| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | | +--- androidx.core:core:1.6.0 -> 1.10.0 (*) +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.core:core:1.6.0 -> 1.12.0 (*) | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.core:core:1.1.0 -> 1.10.0 (*) -| | | | \--- androidx.collection:collection:1.1.0 (*) +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | +--- androidx.core:core:1.1.0 -> 1.12.0 (*) +| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) | | | +--- androidx.vectordrawable:vectordrawable-animated:1.1.0 | | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) | | | | +--- androidx.interpolator:interpolator:1.0.0 (*) -| | | | \--- androidx.collection:collection:1.1.0 (*) +| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) | | | \--- androidx.appcompat:appcompat:1.6.1 (c) -| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | +--- androidx.core:core:1.9.0 -> 1.10.0 (*) -| | +--- androidx.core:core-ktx:1.8.0 -> 1.10.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | +--- androidx.core:core:1.9.0 -> 1.12.0 (*) +| | +--- androidx.core:core-ktx:1.8.0 -> 1.12.0 (*) | | +--- androidx.cursoradapter:cursoradapter:1.0.0 -| | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | | \--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) | | +--- androidx.drawerlayout:drawerlayout:1.0.0 -| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*) +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | +--- androidx.core:core:1.0.0 -> 1.12.0 (*) | | | \--- androidx.customview:customview:1.0.0 -| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | \--- androidx.core:core:1.0.0 -> 1.10.0 (*) -| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.4.0 -| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | | +--- androidx.collection:collection:1.1.0 (*) -| | | +--- androidx.core:core:1.3.0 -> 1.10.0 (*) -| | | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.7.0 -| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (*) +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | \--- androidx.core:core:1.0.0 -> 1.12.0 (*) +| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.12.0 (*) +| | | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.8.6 +| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (*) | | | | +--- androidx.startup:startup-runtime:1.1.1 (*) | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) +| | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) | | | +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*) -| | | \--- androidx.emoji2:emoji2-views-helper:1.4.0 (c) -| | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.4.0 -| | | +--- androidx.collection:collection:1.1.0 (*) -| | | +--- androidx.core:core:1.3.0 -> 1.10.0 (*) -| | | +--- androidx.emoji2:emoji2:1.4.0 (*) -| | | \--- androidx.emoji2:emoji2:1.4.0 (c) +| | | \--- androidx.emoji2:emoji2-views-helper:1.3.0 (c) +| | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.3.0 +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.core:core:1.3.0 -> 1.12.0 (*) +| | | +--- androidx.emoji2:emoji2:1.3.0 (*) +| | | \--- androidx.emoji2:emoji2:1.3.0 (c) | | +--- androidx.fragment:fragment:1.3.6 -> 1.6.2 | | | +--- androidx.activity:activity:1.7.2 -> 1.8.2 (*) -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) | | | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.3.0 (*) -| | | +--- androidx.collection:collection:1.1.0 (*) -| | | +--- androidx.core:core-ktx:1.2.0 -> 1.10.0 (*) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.7.0 (*) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 (*) +| | | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | | +--- androidx.core:core-ktx:1.2.0 -> 1.12.0 (*) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.8.6 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.6 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.6 (*) | | | +--- androidx.loader:loader:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.7.0 +| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | | +--- androidx.core:core:1.0.0 -> 1.12.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.8.6 | | | | | +--- androidx.arch.core:core-common:2.2.0 (*) | | | | | +--- androidx.arch.core:core-runtime:2.2.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 -| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (*) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 +| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (*) | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.7.0 (*) -| | | +--- androidx.profileinstaller:profileinstaller:1.3.0 (*) +| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.8.6 (*) +| | | +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.3.1 (*) | | | +--- androidx.savedstate:savedstate:1.2.1 (*) | | | +--- androidx.viewpager:viewpager:1.0.0 -| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*) +| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | | +--- androidx.core:core:1.0.0 -> 1.12.0 (*) | | | | \--- androidx.customview:customview:1.0.0 (*) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 1.9.24 (*) | | | \--- androidx.fragment:fragment-ktx:1.6.2 (c) -| | +--- androidx.lifecycle:lifecycle-runtime:2.5.1 -> 2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-runtime:2.5.1 -> 2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.8.6 (*) | | +--- androidx.resourceinspection:resourceinspection-annotation:1.0.1 -| | | \--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) | | +--- androidx.savedstate:savedstate:1.2.0 -> 1.2.1 (*) | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.24 (*) | | \--- androidx.appcompat:appcompat-resources:1.6.1 (c) | +--- androidx.browser:browser:1.7.0 -| | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | +--- androidx.collection:collection:1.1.0 (*) +| | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*) -| | +--- androidx.core:core:1.1.0 -> 1.10.0 (*) +| | +--- androidx.core:core:1.1.0 -> 1.12.0 (*) | | +--- androidx.interpolator:interpolator:1.0.0 (*) | | \--- com.google.guava:listenablefuture:1.0 | +--- androidx.fragment:fragment-ktx:1.6.2 | | +--- androidx.activity:activity-ktx:1.5.1 -> 1.8.2 (*) -| | +--- androidx.collection:collection-ktx:1.1.0 -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.20 -> 1.9.24 (*) -| | | \--- androidx.collection:collection:1.1.0 (*) -| | +--- androidx.core:core-ktx:1.2.0 -> 1.10.0 (*) +| | +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.0 +| | | +--- androidx.collection:collection:1.4.0 (*) +| | | \--- androidx.collection:collection:1.4.0 (c) +| | +--- androidx.core:core-ktx:1.2.0 -> 1.12.0 (*) | | +--- androidx.fragment:fragment:1.6.2 (*) -| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.6 (*) | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 1.9.24 (*) | | \--- androidx.fragment:fragment:1.6.2 (c) -| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (*) -| +--- androidx.compose.ui:ui:1.5.4 -| | \--- androidx.compose.ui:ui-android:1.5.4 +| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (*) +| +--- androidx.compose.ui:ui:1.6.8 +| | \--- androidx.compose.ui:ui-android:1.6.8 | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.8.2 (*) -| | +--- androidx.annotation:annotation:1.5.0 -> 1.7.1 (*) +| | +--- androidx.annotation:annotation:1.6.0 -> 1.8.0 (*) | | +--- androidx.autofill:autofill:1.0.0 -| | | \--- androidx.core:core:1.1.0 -> 1.10.0 (*) -| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | +--- androidx.compose.runtime:runtime:1.5.4 -| | | \--- androidx.compose.runtime:runtime-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) -| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3 (*) -| | | \--- androidx.compose.runtime:runtime-saveable:1.5.4 (c) -| | +--- androidx.compose.runtime:runtime-saveable:1.5.4 -| | | \--- androidx.compose.runtime:runtime-saveable-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | | \--- androidx.compose.runtime:runtime:1.5.4 (c) -| | +--- androidx.compose.ui:ui-geometry:1.5.4 -| | | \--- androidx.compose.ui:ui-geometry-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.compose.runtime:runtime:1.2.1 -> 1.5.4 (*) -| | | +--- androidx.compose.ui:ui-util:1.5.4 -| | | | \--- androidx.compose.ui:ui-util-android:1.5.4 -| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | | | +--- androidx.compose.ui:ui:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-tooling-preview:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | | | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | +--- androidx.compose.ui:ui:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-tooling-preview:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| | +--- androidx.compose.ui:ui-graphics:1.5.4 -| | | \--- androidx.compose.ui:ui-graphics-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-unit:1.5.4 -| | | | \--- androidx.compose.ui:ui-unit-android:1.5.4 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | | +--- androidx.compose.ui:ui-geometry:1.5.4 (*) -| | | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | | +--- androidx.compose.ui:ui:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-tooling-preview:1.5.4 (c) -| | | | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | | | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | +--- androidx.compose.ui:ui:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-tooling-preview:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| | +--- androidx.compose.ui:ui-text:1.5.4 -| | | \--- androidx.compose.ui:ui-text-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | +--- androidx.compose.runtime:runtime-saveable:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-graphics:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-unit:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | +--- androidx.core:core:1.7.0 -> 1.10.0 (*) -| | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.4.0 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3 (*) -| | | +--- androidx.compose.ui:ui:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-tooling-preview:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| | +--- androidx.compose.ui:ui-unit:1.5.4 (*) -| | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | +--- androidx.core:core:1.10.0 (*) +| | | \--- androidx.core:core:1.1.0 -> 1.12.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | +--- androidx.collection:collection:1.4.0 (*) +| | +--- androidx.compose.runtime:runtime:1.6.8 +| | | \--- androidx.compose.runtime:runtime-android:1.6.8 +| | | +--- androidx.collection:collection:1.4.0 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| | | \--- androidx.compose.runtime:runtime-saveable:1.6.8 (c) +| | +--- androidx.compose.runtime:runtime-saveable:1.6.8 +| | | \--- androidx.compose.runtime:runtime-saveable-android:1.6.8 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | | \--- androidx.compose.runtime:runtime:1.6.8 (c) +| | +--- androidx.compose.ui:ui-geometry:1.6.8 +| | | \--- androidx.compose.ui:ui-geometry-android:1.6.8 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.compose.runtime:runtime:1.2.1 -> 1.6.8 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.8 +| | | | \--- androidx.compose.ui:ui-util-android:1.6.8 +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | | | +--- androidx.compose.ui:ui:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-tooling-preview:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | | | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- androidx.compose.ui:ui:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-tooling-preview:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| | +--- androidx.compose.ui:ui-graphics:1.6.8 +| | | \--- androidx.compose.ui:ui-graphics-android:1.6.8 +| | | +--- androidx.annotation:annotation:1.7.0 -> 1.8.0 (*) +| | | +--- androidx.collection:collection:1.4.0 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-unit:1.6.8 +| | | | \--- androidx.compose.ui:ui-unit-android:1.6.8 +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | +--- androidx.collection:collection-ktx:1.2.0 -> 1.4.0 (*) +| | | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | | +--- androidx.compose.ui:ui-geometry:1.6.8 (*) +| | | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | +--- androidx.compose.ui:ui:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-tooling-preview:1.6.8 (c) +| | | | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | | | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | +--- androidx.compose.ui:ui:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-tooling-preview:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| | +--- androidx.compose.ui:ui-text:1.6.8 +| | | \--- androidx.compose.ui:ui-text-android:1.6.8 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | +--- androidx.compose.runtime:runtime-saveable:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-graphics:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-unit:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | +--- androidx.core:core:1.7.0 -> 1.12.0 (*) +| | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| | | +--- androidx.compose.ui:ui:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-tooling-preview:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| | +--- androidx.compose.ui:ui-unit:1.6.8 (*) +| | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | +--- androidx.core:core:1.12.0 (*) | | +--- androidx.customview:customview-poolingcontainer:1.0.0 -| | | +--- androidx.core:core-ktx:1.5.0 -> 1.10.0 (*) +| | | +--- androidx.core:core-ktx:1.5.0 -> 1.12.0 (*) | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.9.24 (*) -| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.4.0 (*) -| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) -| | +--- androidx.profileinstaller:profileinstaller:1.3.0 (*) +| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*) +| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 (*) +| | +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.3.1 (*) | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) -| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3 (*) -| | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | +--- androidx.compose.ui:ui-tooling-preview:1.5.4 (c) -| | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | +--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| | \--- androidx.compose.foundation:foundation:1.5.4 (c) -| +--- androidx.compose.ui:ui-viewbinding:1.5.4 -| | +--- androidx.compose.ui:ui:1.5.4 (*) -| | +--- androidx.compose.ui:ui-util:1.5.4 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | +--- androidx.compose.ui:ui-tooling-preview:1.6.8 (c) +| | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | +--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| | \--- androidx.compose.foundation:foundation:1.4.0 -> 1.6.8 (c) +| +--- androidx.compose.ui:ui-viewbinding:1.6.8 +| | +--- androidx.compose.ui:ui:1.6.8 (*) +| | +--- androidx.compose.ui:ui-util:1.6.8 (*) | | +--- androidx.databinding:viewbinding:4.1.2 -> 8.5.2 (*) | | +--- androidx.fragment:fragment-ktx:1.3.2 -> 1.6.2 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | +--- androidx.compose.ui:ui:1.5.4 (c) -| | +--- androidx.compose.ui:ui-tooling-preview:1.5.4 (c) -| | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | \--- androidx.compose.ui:ui-unit:1.5.4 (c) -| +--- androidx.compose.foundation:foundation:1.5.4 -| | \--- androidx.compose.foundation:foundation-android:1.5.4 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- androidx.compose.animation:animation:1.5.4 -| | | \--- androidx.compose.animation:animation-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.compose.animation:animation-core:1.5.4 -| | | | \--- androidx.compose.animation:animation-core-android:1.5.4 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | | +--- androidx.compose.ui:ui:1.5.4 (*) -| | | | +--- androidx.compose.ui:ui-unit:1.5.4 (*) -| | | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3 (*) -| | | | \--- androidx.compose.animation:animation:1.5.4 (c) -| | | +--- androidx.compose.foundation:foundation-layout:1.5.4 -| | | | \--- androidx.compose.foundation:foundation-layout-android:1.5.4 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.compose.animation:animation-core:1.2.1 -> 1.5.4 (*) -| | | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | | +--- androidx.compose.ui:ui:1.5.4 (*) -| | | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | | +--- androidx.core:core:1.7.0 -> 1.10.0 (*) -| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | | | \--- androidx.compose.foundation:foundation:1.5.4 (c) -| | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | +--- androidx.compose.ui:ui:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-geometry:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | | \--- androidx.compose.animation:animation-core:1.5.4 (c) -| | +--- androidx.compose.foundation:foundation-layout:1.5.4 (*) -| | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | +--- androidx.compose.ui:ui:1.5.4 (*) -| | +--- androidx.compose.ui:ui-text:1.5.4 (*) -| | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | +--- androidx.core:core:1.10.0 (*) -| | +--- androidx.emoji2:emoji2:1.4.0 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | \--- androidx.compose.foundation:foundation-layout:1.5.4 (c) -| +--- androidx.compose.material:material:1.5.4 -| | \--- androidx.compose.material:material-android:1.5.4 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- androidx.compose.animation:animation:1.5.4 (*) -| | +--- androidx.compose.animation:animation-core:1.5.4 (*) -| | +--- androidx.compose.foundation:foundation:1.5.4 (*) -| | +--- androidx.compose.foundation:foundation-layout:1.5.4 (*) -| | +--- androidx.compose.material:material-icons-core:1.5.4 -| | | \--- androidx.compose.material:material-icons-core-android:1.5.4 -| | | +--- androidx.compose.ui:ui:1.5.4 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | | +--- androidx.compose.material:material:1.5.4 (c) -| | | \--- androidx.compose.material:material-ripple:1.5.4 (c) -| | +--- androidx.compose.material:material-ripple:1.5.4 -| | | \--- androidx.compose.material:material-ripple-android:1.5.4 -| | | +--- androidx.compose.animation:animation:1.5.4 (*) -| | | +--- androidx.compose.foundation:foundation:1.5.4 (*) -| | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | +--- androidx.compose.material:material:1.5.4 (c) -| | | \--- androidx.compose.material:material-icons-core:1.5.4 (c) -| | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | +--- androidx.compose.ui:ui:1.5.4 (*) -| | +--- androidx.compose.ui:ui-text:1.5.4 (*) -| | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- androidx.compose.ui:ui:1.6.8 (c) +| | +--- androidx.compose.ui:ui-tooling-preview:1.6.8 (c) +| | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | \--- androidx.compose.ui:ui-unit:1.6.8 (c) +| +--- androidx.compose.foundation:foundation:1.6.8 +| | \--- androidx.compose.foundation:foundation-android:1.6.8 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | +--- androidx.collection:collection:1.4.0 (*) +| | +--- androidx.compose.animation:animation:1.6.8 +| | | \--- androidx.compose.animation:animation-android:1.6.8 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.compose.animation:animation-core:1.6.8 +| | | | \--- androidx.compose.animation:animation-core-android:1.6.8 +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | +--- androidx.collection:collection:1.4.0 (*) +| | | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | | +--- androidx.compose.ui:ui:1.6.8 (*) +| | | | +--- androidx.compose.ui:ui-unit:1.6.8 (*) +| | | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| | | | \--- androidx.compose.animation:animation:1.6.8 (c) +| | | +--- androidx.compose.foundation:foundation-layout:1.6.8 +| | | | \--- androidx.compose.foundation:foundation-layout-android:1.6.8 +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | +--- androidx.compose.animation:animation-core:1.2.1 -> 1.6.8 (*) +| | | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | | +--- androidx.compose.ui:ui:1.6.8 (*) +| | | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | | +--- androidx.core:core:1.7.0 -> 1.12.0 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | | | \--- androidx.compose.foundation:foundation:1.6.8 (c) +| | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | +--- androidx.compose.ui:ui:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-geometry:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | | \--- androidx.compose.animation:animation-core:1.6.8 (c) +| | +--- androidx.compose.foundation:foundation-layout:1.6.8 (*) +| | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | +--- androidx.compose.ui:ui:1.6.8 (*) +| | +--- androidx.compose.ui:ui-text:1.6.8 (*) +| | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | +--- androidx.core:core:1.12.0 (*) +| | +--- androidx.emoji2:emoji2:1.3.0 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | \--- androidx.compose.foundation:foundation-layout:1.6.8 (c) +| +--- androidx.compose.material:material:1.6.8 +| | \--- androidx.compose.material:material-android:1.6.8 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | +--- androidx.compose.animation:animation:1.6.8 (*) +| | +--- androidx.compose.animation:animation-core:1.6.8 (*) +| | +--- androidx.compose.foundation:foundation:1.6.8 (*) +| | +--- androidx.compose.foundation:foundation-layout:1.6.8 (*) +| | +--- androidx.compose.material:material-icons-core:1.6.8 +| | | \--- androidx.compose.material:material-icons-core-android:1.6.8 +| | | +--- androidx.compose.ui:ui:1.6.8 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | | +--- androidx.compose.material:material:1.6.8 (c) +| | | \--- androidx.compose.material:material-ripple:1.6.8 (c) +| | +--- androidx.compose.material:material-ripple:1.6.8 +| | | \--- androidx.compose.material:material-ripple-android:1.6.8 +| | | +--- androidx.compose.animation:animation:1.6.8 (*) +| | | +--- androidx.compose.foundation:foundation:1.6.8 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | +--- androidx.compose.material:material:1.6.8 (c) +| | | \--- androidx.compose.material:material-icons-core:1.6.8 (c) +| | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | +--- androidx.compose.ui:ui:1.6.8 (*) +| | +--- androidx.compose.ui:ui-text:1.6.8 (*) +| | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 (*) | | +--- androidx.savedstate:savedstate:1.2.1 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | +--- androidx.compose.material:material-icons-core:1.5.4 (c) -| | \--- androidx.compose.material:material-ripple:1.5.4 (c) +| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | +--- androidx.compose.material:material-icons-core:1.6.8 (c) +| | \--- androidx.compose.material:material-ripple:1.6.8 (c) | +--- androidx.activity:activity-compose:1.8.2 | | +--- androidx.activity:activity-ktx:1.8.2 (*) -| | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.5.4 (*) -| | +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.5.4 (*) -| | +--- androidx.compose.ui:ui:1.0.1 -> 1.5.4 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) +| | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.6.8 (*) +| | +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.6.8 (*) +| | +--- androidx.compose.ui:ui:1.0.1 -> 1.6.8 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 (*) | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | | +--- androidx.activity:activity:1.8.2 (c) | | \--- androidx.activity:activity-ktx:1.8.2 (c) | +--- androidx.navigation:navigation-compose:2.7.6 | | +--- androidx.activity:activity-compose:1.7.0 -> 1.8.2 (*) -| | +--- androidx.compose.animation:animation:1.5.1 -> 1.5.4 (*) -| | +--- androidx.compose.foundation:foundation-layout:1.5.1 -> 1.5.4 (*) -| | +--- androidx.compose.runtime:runtime:1.5.1 -> 1.5.4 (*) -| | +--- androidx.compose.runtime:runtime-saveable:1.5.1 -> 1.5.4 (*) -| | +--- androidx.compose.ui:ui:1.5.1 -> 1.5.4 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.7.0 -| | | +--- androidx.annotation:annotation-experimental:1.1.0 -> 1.3.0 (*) -| | | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.5.4 (*) -| | | +--- androidx.compose.ui:ui:1.0.1 -> 1.5.4 (*) -| | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (*) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) +| | +--- androidx.compose.animation:animation:1.5.1 -> 1.6.8 (*) +| | +--- androidx.compose.foundation:foundation-layout:1.5.1 -> 1.6.8 (*) +| | +--- androidx.compose.runtime:runtime:1.5.1 -> 1.6.8 (*) +| | +--- androidx.compose.runtime:runtime-saveable:1.5.1 -> 1.6.8 (*) +| | +--- androidx.compose.ui:ui:1.5.1 -> 1.6.8 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.8.6 +| | | \--- androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.6 +| | | +--- androidx.annotation:annotation:1.8.0 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.0 -> 1.6.8 (*) +| | | +--- androidx.compose.ui:ui:1.6.0 -> 1.6.8 (*) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) | | +--- androidx.navigation:navigation-runtime-ktx:2.7.6 | | | +--- androidx.navigation:navigation-common-ktx:2.7.6 | | | | +--- androidx.navigation:navigation-common:2.7.6 -| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | +--- androidx.collection:collection-ktx:1.1.0 (*) -| | | | | +--- androidx.core:core-ktx:1.1.0 -> 1.10.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 -> 2.7.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.7.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.7.0 (*) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -> 2.7.0 (*) -| | | | | +--- androidx.profileinstaller:profileinstaller:1.3.0 (*) +| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.0 (*) +| | | | | +--- androidx.core:core-ktx:1.1.0 -> 1.12.0 (*) +| | | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 -> 2.8.6 (*) +| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.6 (*) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.6 (*) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -> 2.8.6 (*) +| | | | | +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.3.1 (*) | | | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | | | | | +--- androidx.navigation:navigation-common-ktx:2.7.6 (c) @@ -614,9 +607,9 @@ | | | +--- androidx.navigation:navigation-runtime:2.7.6 | | | | +--- androidx.activity:activity-ktx:1.7.1 -> 1.8.2 (*) | | | | +--- androidx.annotation:annotation-experimental:1.1.0 -> 1.3.0 (*) -| | | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.7.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.7.0 (*) +| | | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.6 (*) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.6 (*) | | | | +--- androidx.navigation:navigation-common:2.7.6 (*) | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | | | | +--- androidx.navigation:navigation-common:2.7.6 (c) @@ -632,11 +625,11 @@ | | +--- androidx.navigation:navigation-common-ktx:2.7.6 (c) | | +--- androidx.navigation:navigation-runtime:2.7.6 (c) | | \--- androidx.navigation:navigation-common:2.7.6 (c) -| +--- com.google.accompanist:accompanist-systemuicontroller:0.32.0 -| | +--- androidx.core:core-ktx:1.8.0 -> 1.10.0 (*) -| | +--- androidx.compose.ui:ui:1.5.0 -> 1.5.4 (*) +| +--- com.google.accompanist:accompanist-systemuicontroller:0.34.0 +| | +--- androidx.core:core-ktx:1.8.0 -> 1.12.0 (*) +| | +--- androidx.compose.ui:ui:1.6.0 -> 1.6.8 (*) | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) -| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.24 (*) | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.24 | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 (*) | \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.9.24 @@ -649,7 +642,7 @@ | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (*) | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.24 (*) +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) @@ -663,31 +656,31 @@ | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*) | \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.9.24 (*) +--- androidx.activity:activity-ktx:1.8.2 (*) -+--- androidx.annotation:annotation:1.7.1 (*) ++--- androidx.annotation:annotation:1.7.1 -> 1.8.0 (*) +--- androidx.appcompat:appcompat:1.6.1 (*) +--- androidx.browser:browser:1.7.0 (*) +--- androidx.fragment:fragment-ktx:1.6.2 (*) -+--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (*) -+--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (*) -+--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (*) -+--- androidx.compose.ui:ui:1.5.4 (*) -+--- androidx.compose.ui:ui-tooling-preview:1.5.4 -| \--- androidx.compose.ui:ui-tooling-preview-android:1.5.4 -| +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| +--- androidx.compose.runtime:runtime:1.5.4 (*) -| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| +--- androidx.compose.ui:ui:1.5.4 (c) -| +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| +--- androidx.compose.ui:ui-text:1.5.4 (c) -| +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| +--- androidx.compose.ui:ui-util:1.5.4 (c) -| \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -+--- androidx.compose.ui:ui-viewbinding:1.5.4 (*) -+--- androidx.compose.foundation:foundation:1.5.4 (*) -+--- androidx.compose.material:material:1.5.4 (*) -+--- androidx.compose.material:material-icons-core:1.5.4 (*) ++--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (*) ++--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (*) ++--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (*) ++--- androidx.compose.ui:ui:1.6.8 (*) ++--- androidx.compose.ui:ui-tooling-preview:1.6.8 +| \--- androidx.compose.ui:ui-tooling-preview-android:1.6.8 +| +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| +--- androidx.compose.runtime:runtime:1.6.8 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| +--- androidx.compose.ui:ui:1.6.8 (c) +| +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| +--- androidx.compose.ui:ui-text:1.6.8 (c) +| +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| +--- androidx.compose.ui:ui-util:1.6.8 (c) +| \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) ++--- androidx.compose.ui:ui-viewbinding:1.6.8 (*) ++--- androidx.compose.foundation:foundation:1.6.8 (*) ++--- androidx.compose.material:material:1.6.8 (*) ++--- androidx.compose.material:material-icons-core:1.6.8 (*) +--- androidx.activity:activity-compose:1.8.2 (*) +--- androidx.navigation:navigation-compose:2.7.6 (*) -+--- com.google.accompanist:accompanist-systemuicontroller:0.32.0 (*) ++--- com.google.accompanist:accompanist-systemuicontroller:0.34.0 (*) \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.24 (*) \ No newline at end of file diff --git a/stripe-connect/dependencies/dependencies.txt b/stripe-connect/dependencies/dependencies.txt index 05d65140f4f..cda6375fece 100644 --- a/stripe-connect/dependencies/dependencies.txt +++ b/stripe-connect/dependencies/dependencies.txt @@ -1,11 +1,11 @@ +--- androidx.databinding:viewbinding:8.5.2 -| \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 -| \--- androidx.annotation:annotation-jvm:1.7.1 +| \--- androidx.annotation:annotation:1.0.0 -> 1.8.0 +| \--- androidx.annotation:annotation-jvm:1.8.0 | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.24 | +--- org.jetbrains:annotations:13.0 -> 23.0.0 -| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.0 (c) +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.8.20 (c) | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24 (c) -| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.0 (c) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.8.20 (c) +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 (*) +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3 @@ -14,14 +14,14 @@ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (c) | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3 (c) | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (c) -| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 -> 1.9.0 -| +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.0 -> 1.9.24 (*) -| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0 -| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.0 -> 1.9.24 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 1.9.24 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20 +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 1.9.24 (*) +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*) -| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 -> 1.9.0 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 (*) +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2 | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.2 | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 1.9.24 (*) @@ -39,162 +39,166 @@ | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.21 -> 1.9.24 (*) +--- androidx.activity:activity-ktx:1.8.2 | +--- androidx.activity:activity:1.8.2 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 -| | | \--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- androidx.core:core:1.8.0 -> 1.10.0 -| | | +--- androidx.annotation:annotation:1.6.0 -> 1.7.1 (*) +| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 +| | | \--- androidx.collection:collection-jvm:1.4.0 +| | | +--- androidx.annotation:annotation:1.7.0 -> 1.8.0 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- androidx.collection:collection-ktx:1.4.0 (c) +| | | \--- androidx.collection:collection-ktx:1.3.0 -> 1.4.0 (c) +| | +--- androidx.core:core:1.8.0 -> 1.12.0 +| | | +--- androidx.annotation:annotation:1.6.0 -> 1.8.0 (*) | | | +--- androidx.annotation:annotation-experimental:1.3.0 | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.24 (*) -| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) | | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) | | | | \--- com.google.guava:listenablefuture:1.0 | | | +--- androidx.interpolator:interpolator:1.0.0 -| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.7.0 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.arch.core:core-common:2.2.0 -| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.arch.core:core-runtime:2.2.0 -| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | \--- androidx.arch.core:core-common:2.2.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 -| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) -| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | | +--- androidx.profileinstaller:profileinstaller:1.3.0 -| | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*) -| | | | | +--- androidx.startup:startup-runtime:1.1.1 -| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | | \--- androidx.tracing:tracing:1.0.0 -| | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | | \--- com.google.guava:listenablefuture:1.0 -| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) +| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.8.6 +| | | | \--- androidx.lifecycle:lifecycle-runtime-android:2.8.6 +| | | | +--- androidx.annotation:annotation:1.8.0 (*) +| | | | +--- androidx.arch.core:core-common:2.2.0 +| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | +--- androidx.arch.core:core-runtime:2.2.0 +| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | \--- androidx.arch.core:core-common:2.2.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 +| | | | | \--- androidx.lifecycle:lifecycle-common-jvm:2.8.6 +| | | | | +--- androidx.annotation:annotation:1.8.0 (*) +| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 +| | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*) +| | | | | +--- androidx.startup:startup-runtime:1.1.1 +| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | | \--- androidx.tracing:tracing:1.0.0 +| | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | | \--- com.google.guava:listenablefuture:1.0 +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) | | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | | \--- androidx.core:core-ktx:1.10.0 (c) -| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | \--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 -| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | +--- androidx.core:core-ktx:1.2.0 -> 1.10.0 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.core:core:1.10.0 (*) -| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.9.24 (*) -| | | | \--- androidx.core:core:1.10.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 +| | | \--- androidx.core:core-ktx:1.12.0 (c) +| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 +| | | \--- androidx.lifecycle:lifecycle-viewmodel-android:2.8.6 +| | | +--- androidx.annotation:annotation:1.8.0 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.6 +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | +--- androidx.core:core-ktx:1.2.0 -> 1.12.0 +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | +--- androidx.core:core:1.12.0 (*) +| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | | \--- androidx.core:core:1.12.0 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 | | | | +--- androidx.arch.core:core-common:2.2.0 (*) | | | | +--- androidx.arch.core:core-runtime:2.2.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (*) | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (*) | | | +--- androidx.savedstate:savedstate:1.2.1 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) | | | | +--- androidx.arch.core:core-common:2.1.0 -> 2.2.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.6.1 -> 2.7.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-common:2.6.1 -> 2.8.6 (*) | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.9.24 (*) | | | | \--- androidx.savedstate:savedstate-ktx:1.2.1 (c) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | +--- androidx.profileinstaller:profileinstaller:1.3.0 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.3.1 (*) | | +--- androidx.savedstate:savedstate:1.2.1 (*) | | +--- androidx.tracing:tracing:1.0.0 (*) | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | | +--- androidx.activity:activity-compose:1.8.2 (c) | | \--- androidx.activity:activity-ktx:1.8.2 (c) -| +--- androidx.core:core-ktx:1.9.0 -> 1.10.0 (*) -| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.7.0 -| | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (*) +| +--- androidx.core:core-ktx:1.9.0 -> 1.12.0 (*) +| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.8.6 +| | \--- androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.6 +| | +--- androidx.annotation:annotation:1.8.0 (*) +| | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.6 +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (*) | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) -| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) -| | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 (*) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) | +--- androidx.savedstate:savedstate-ktx:1.2.1 | | +--- androidx.savedstate:savedstate:1.2.1 (*) | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.9.24 (*) @@ -202,394 +206,383 @@ | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | +--- androidx.activity:activity:1.8.2 (c) | \--- androidx.activity:activity-compose:1.8.2 (c) -+--- androidx.annotation:annotation:1.7.1 (*) ++--- androidx.annotation:annotation:1.7.1 -> 1.8.0 (*) +--- androidx.appcompat:appcompat:1.6.1 | +--- androidx.activity:activity:1.6.0 -> 1.8.2 (*) -| +--- androidx.annotation:annotation:1.3.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.3.0 -> 1.8.0 (*) | +--- androidx.appcompat:appcompat-resources:1.6.1 -| | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | +--- androidx.core:core:1.6.0 -> 1.10.0 (*) +| | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | +--- androidx.core:core:1.6.0 -> 1.12.0 (*) | | +--- androidx.vectordrawable:vectordrawable:1.1.0 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.core:core:1.1.0 -> 1.10.0 (*) -| | | \--- androidx.collection:collection:1.1.0 (*) +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.core:core:1.1.0 -> 1.12.0 (*) +| | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) | | +--- androidx.vectordrawable:vectordrawable-animated:1.1.0 | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*) | | | +--- androidx.interpolator:interpolator:1.0.0 (*) -| | | \--- androidx.collection:collection:1.1.0 (*) +| | | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) | | \--- androidx.appcompat:appcompat:1.6.1 (c) -| +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| +--- androidx.core:core:1.9.0 -> 1.10.0 (*) -| +--- androidx.core:core-ktx:1.8.0 -> 1.10.0 (*) +| +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| +--- androidx.core:core:1.9.0 -> 1.12.0 (*) +| +--- androidx.core:core-ktx:1.8.0 -> 1.12.0 (*) | +--- androidx.cursoradapter:cursoradapter:1.0.0 -| | \--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) +| | \--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) | +--- androidx.drawerlayout:drawerlayout:1.0.0 -| | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | +--- androidx.core:core:1.0.0 -> 1.10.0 (*) +| | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | +--- androidx.core:core:1.0.0 -> 1.12.0 (*) | | \--- androidx.customview:customview:1.0.0 -| | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | \--- androidx.core:core:1.0.0 -> 1.10.0 (*) -| +--- androidx.emoji2:emoji2:1.2.0 -> 1.4.0 -| | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | +--- androidx.collection:collection:1.1.0 (*) -| | +--- androidx.core:core:1.3.0 -> 1.10.0 (*) -| | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.7.0 -| | | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (*) +| | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | \--- androidx.core:core:1.0.0 -> 1.12.0 (*) +| +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 +| | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | +--- androidx.core:core:1.3.0 -> 1.12.0 (*) +| | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.8.6 +| | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (*) | | | +--- androidx.startup:startup-runtime:1.1.1 (*) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) | | +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*) -| | \--- androidx.emoji2:emoji2-views-helper:1.4.0 (c) -| +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.4.0 -| | +--- androidx.collection:collection:1.1.0 (*) -| | +--- androidx.core:core:1.3.0 -> 1.10.0 (*) -| | +--- androidx.emoji2:emoji2:1.4.0 (*) -| | \--- androidx.emoji2:emoji2:1.4.0 (c) +| | \--- androidx.emoji2:emoji2-views-helper:1.3.0 (c) +| +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.3.0 +| | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | +--- androidx.core:core:1.3.0 -> 1.12.0 (*) +| | +--- androidx.emoji2:emoji2:1.3.0 (*) +| | \--- androidx.emoji2:emoji2:1.3.0 (c) | +--- androidx.fragment:fragment:1.3.6 -> 1.6.2 | | +--- androidx.activity:activity:1.7.2 -> 1.8.2 (*) -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) | | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.3.0 (*) -| | +--- androidx.collection:collection:1.1.0 (*) -| | +--- androidx.core:core-ktx:1.2.0 -> 1.10.0 (*) -| | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.7.0 (*) +| | +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| | +--- androidx.core:core-ktx:1.2.0 -> 1.12.0 (*) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.6 (*) | | +--- androidx.loader:loader:1.0.0 -| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*) -| | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.7.0 +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | +--- androidx.core:core:1.0.0 -> 1.12.0 (*) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.8.6 | | | | +--- androidx.arch.core:core-common:2.2.0 (*) | | | | +--- androidx.arch.core:core-runtime:2.2.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (*) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (*) | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | | | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) +| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | | | | \--- androidx.lifecycle:lifecycle-process:2.8.6 (c) | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.7.0 (*) -| | +--- androidx.profileinstaller:profileinstaller:1.3.0 (*) +| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (*) +| | | | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (c) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) +| | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.8.6 (*) +| | +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.3.1 (*) | | +--- androidx.savedstate:savedstate:1.2.1 (*) | | +--- androidx.viewpager:viewpager:1.0.0 -| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.1 (*) -| | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*) +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.0 (*) +| | | +--- androidx.core:core:1.0.0 -> 1.12.0 (*) | | | \--- androidx.customview:customview:1.0.0 (*) | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 1.9.24 (*) | | \--- androidx.fragment:fragment-ktx:1.6.2 (c) -| +--- androidx.lifecycle:lifecycle-runtime:2.5.1 -> 2.7.0 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-runtime:2.5.1 -> 2.8.6 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.8.6 (*) | +--- androidx.resourceinspection:resourceinspection-annotation:1.0.1 -| | \--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) +| | \--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) | +--- androidx.savedstate:savedstate:1.2.0 -> 1.2.1 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.9.24 (*) | \--- androidx.appcompat:appcompat-resources:1.6.1 (c) +--- androidx.browser:browser:1.7.0 -| +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| +--- androidx.collection:collection:1.1.0 (*) +| +--- androidx.annotation:annotation:1.2.0 -> 1.8.0 (*) +| +--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*) -| +--- androidx.core:core:1.1.0 -> 1.10.0 (*) +| +--- androidx.core:core:1.1.0 -> 1.12.0 (*) | +--- androidx.interpolator:interpolator:1.0.0 (*) | \--- com.google.guava:listenablefuture:1.0 +--- androidx.fragment:fragment-ktx:1.6.2 | +--- androidx.activity:activity-ktx:1.5.1 -> 1.8.2 (*) -| +--- androidx.collection:collection-ktx:1.1.0 -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.20 -> 1.9.24 (*) -| | \--- androidx.collection:collection:1.1.0 (*) -| +--- androidx.core:core-ktx:1.2.0 -> 1.10.0 (*) +| +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.0 +| | +--- androidx.collection:collection:1.4.0 (*) +| | \--- androidx.collection:collection:1.4.0 (c) +| +--- androidx.core:core-ktx:1.2.0 -> 1.12.0 (*) | +--- androidx.fragment:fragment:1.6.2 (*) -| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.7.0 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.7.0 (*) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.8.6 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.6 (*) | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 1.9.24 (*) | \--- androidx.fragment:fragment:1.6.2 (c) -+--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (*) -+--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (*) -+--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (*) -+--- androidx.compose.ui:ui:1.5.4 -| \--- androidx.compose.ui:ui-android:1.5.4 ++--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (*) ++--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (*) ++--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (*) ++--- androidx.compose.ui:ui:1.6.8 +| \--- androidx.compose.ui:ui-android:1.6.8 | +--- androidx.activity:activity-ktx:1.7.0 -> 1.8.2 (*) -| +--- androidx.annotation:annotation:1.5.0 -> 1.7.1 (*) +| +--- androidx.annotation:annotation:1.6.0 -> 1.8.0 (*) | +--- androidx.autofill:autofill:1.0.0 -| | \--- androidx.core:core:1.1.0 -> 1.10.0 (*) -| +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| +--- androidx.compose.runtime:runtime:1.5.4 -| | \--- androidx.compose.runtime:runtime-android:1.5.4 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) -| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3 (*) -| | \--- androidx.compose.runtime:runtime-saveable:1.5.4 (c) -| +--- androidx.compose.runtime:runtime-saveable:1.5.4 -| | \--- androidx.compose.runtime:runtime-saveable-android:1.5.4 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | \--- androidx.compose.runtime:runtime:1.5.4 (c) -| +--- androidx.compose.ui:ui-geometry:1.5.4 -| | \--- androidx.compose.ui:ui-geometry-android:1.5.4 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- androidx.compose.runtime:runtime:1.2.1 -> 1.5.4 (*) -| | +--- androidx.compose.ui:ui-util:1.5.4 -| | | \--- androidx.compose.ui:ui-util-android:1.5.4 -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | | +--- androidx.compose.ui:ui:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | +--- androidx.compose.ui:ui:1.5.4 (c) -| | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| +--- androidx.compose.ui:ui-graphics:1.5.4 -| | \--- androidx.compose.ui:ui-graphics-android:1.5.4 -| | +--- androidx.annotation:annotation:1.2.0 -> 1.7.1 (*) -| | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | +--- androidx.compose.ui:ui-unit:1.5.4 -| | | \--- androidx.compose.ui:ui-unit-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-geometry:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | +--- androidx.compose.ui:ui:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | +--- androidx.compose.ui:ui:1.5.4 (c) -| | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | +--- androidx.compose.ui:ui-text:1.5.4 (c) -| | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| +--- androidx.compose.ui:ui-text:1.5.4 -| | \--- androidx.compose.ui:ui-text-android:1.5.4 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | +--- androidx.compose.runtime:runtime-saveable:1.5.4 (*) -| | +--- androidx.compose.ui:ui-graphics:1.5.4 (*) -| | +--- androidx.compose.ui:ui-unit:1.5.4 (*) -| | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | +--- androidx.core:core:1.7.0 -> 1.10.0 (*) -| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.4.0 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3 (*) -| | +--- androidx.compose.ui:ui:1.5.4 (c) -| | +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| | +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| | +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| | +--- androidx.compose.ui:ui-util:1.5.4 (c) -| | \--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| +--- androidx.compose.ui:ui-unit:1.5.4 (*) -| +--- androidx.compose.ui:ui-util:1.5.4 (*) -| +--- androidx.core:core:1.10.0 (*) +| | \--- androidx.core:core:1.1.0 -> 1.12.0 (*) +| +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| +--- androidx.collection:collection:1.4.0 (*) +| +--- androidx.compose.runtime:runtime:1.6.8 +| | \--- androidx.compose.runtime:runtime-android:1.6.8 +| | +--- androidx.collection:collection:1.4.0 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| | \--- androidx.compose.runtime:runtime-saveable:1.6.8 (c) +| +--- androidx.compose.runtime:runtime-saveable:1.6.8 +| | \--- androidx.compose.runtime:runtime-saveable-android:1.6.8 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | \--- androidx.compose.runtime:runtime:1.6.8 (c) +| +--- androidx.compose.ui:ui-geometry:1.6.8 +| | \--- androidx.compose.ui:ui-geometry-android:1.6.8 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | +--- androidx.compose.runtime:runtime:1.2.1 -> 1.6.8 (*) +| | +--- androidx.compose.ui:ui-util:1.6.8 +| | | \--- androidx.compose.ui:ui-util-android:1.6.8 +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | | +--- androidx.compose.ui:ui:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- androidx.compose.ui:ui:1.6.8 (c) +| | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| +--- androidx.compose.ui:ui-graphics:1.6.8 +| | \--- androidx.compose.ui:ui-graphics-android:1.6.8 +| | +--- androidx.annotation:annotation:1.7.0 -> 1.8.0 (*) +| | +--- androidx.collection:collection:1.4.0 (*) +| | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | +--- androidx.compose.ui:ui-unit:1.6.8 +| | | \--- androidx.compose.ui:ui-unit-android:1.6.8 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.collection:collection-ktx:1.2.0 -> 1.4.0 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-geometry:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- androidx.compose.ui:ui:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | +--- androidx.compose.ui:ui:1.6.8 (c) +| | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | +--- androidx.compose.ui:ui-text:1.6.8 (c) +| | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| +--- androidx.compose.ui:ui-text:1.6.8 +| | \--- androidx.compose.ui:ui-text-android:1.6.8 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | +--- androidx.compose.runtime:runtime-saveable:1.6.8 (*) +| | +--- androidx.compose.ui:ui-graphics:1.6.8 (*) +| | +--- androidx.compose.ui:ui-unit:1.6.8 (*) +| | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | +--- androidx.core:core:1.7.0 -> 1.12.0 (*) +| | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| | +--- androidx.compose.ui:ui:1.6.8 (c) +| | +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| | +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| | +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| | +--- androidx.compose.ui:ui-util:1.6.8 (c) +| | \--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| +--- androidx.compose.ui:ui-unit:1.6.8 (*) +| +--- androidx.compose.ui:ui-util:1.6.8 (*) +| +--- androidx.core:core:1.12.0 (*) | +--- androidx.customview:customview-poolingcontainer:1.0.0 -| | +--- androidx.core:core-ktx:1.5.0 -> 1.10.0 (*) +| | +--- androidx.core:core-ktx:1.5.0 -> 1.12.0 (*) | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.9.24 (*) -| +--- androidx.emoji2:emoji2:1.2.0 -> 1.4.0 (*) -| +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) -| +--- androidx.profileinstaller:profileinstaller:1.3.0 (*) +| +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*) +| +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.6 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 (*) +| +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.3.1 (*) | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) -| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) -| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3 (*) -| +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| +--- androidx.compose.ui:ui-text:1.5.4 (c) -| +--- androidx.compose.ui:ui-unit:1.5.4 (c) -| +--- androidx.compose.ui:ui-util:1.5.4 (c) -| +--- androidx.compose.ui:ui-viewbinding:1.5.4 (c) -| \--- androidx.compose.foundation:foundation:1.5.4 (c) -+--- androidx.compose.ui:ui-viewbinding:1.5.4 -| +--- androidx.compose.ui:ui:1.5.4 (*) -| +--- androidx.compose.ui:ui-util:1.5.4 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.7.3 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| +--- androidx.compose.ui:ui-text:1.6.8 (c) +| +--- androidx.compose.ui:ui-unit:1.6.8 (c) +| +--- androidx.compose.ui:ui-util:1.6.8 (c) +| +--- androidx.compose.ui:ui-viewbinding:1.6.8 (c) +| \--- androidx.compose.foundation:foundation:1.4.0 -> 1.6.8 (c) ++--- androidx.compose.ui:ui-viewbinding:1.6.8 +| +--- androidx.compose.ui:ui:1.6.8 (*) +| +--- androidx.compose.ui:ui-util:1.6.8 (*) | +--- androidx.databinding:viewbinding:4.1.2 -> 8.5.2 (*) | +--- androidx.fragment:fragment-ktx:1.3.2 -> 1.6.2 (*) -| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| +--- androidx.compose.ui:ui:1.5.4 (c) -| +--- androidx.compose.ui:ui-util:1.5.4 (c) -| +--- androidx.compose.ui:ui-geometry:1.5.4 (c) -| +--- androidx.compose.ui:ui-graphics:1.5.4 (c) -| +--- androidx.compose.ui:ui-text:1.5.4 (c) -| \--- androidx.compose.ui:ui-unit:1.5.4 (c) -+--- androidx.compose.foundation:foundation:1.5.4 -| \--- androidx.compose.foundation:foundation-android:1.5.4 -| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| +--- androidx.compose.animation:animation:1.5.4 -| | \--- androidx.compose.animation:animation-android:1.5.4 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | +--- androidx.compose.animation:animation-core:1.5.4 -| | | \--- androidx.compose.animation:animation-core-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | +--- androidx.compose.ui:ui:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-unit:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3 (*) -| | | \--- androidx.compose.animation:animation:1.5.4 (c) -| | +--- androidx.compose.foundation:foundation-layout:1.5.4 -| | | \--- androidx.compose.foundation:foundation-layout-android:1.5.4 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.compose.animation:animation-core:1.2.1 -> 1.5.4 (*) -| | | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | | +--- androidx.compose.ui:ui:1.5.4 (*) -| | | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | | +--- androidx.core:core:1.7.0 -> 1.10.0 (*) -| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | | \--- androidx.compose.foundation:foundation:1.5.4 (c) -| | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | +--- androidx.compose.ui:ui:1.5.4 (*) -| | +--- androidx.compose.ui:ui-geometry:1.5.4 (*) -| | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| | \--- androidx.compose.animation:animation-core:1.5.4 (c) -| +--- androidx.compose.foundation:foundation-layout:1.5.4 (*) -| +--- androidx.compose.runtime:runtime:1.5.4 (*) -| +--- androidx.compose.ui:ui:1.5.4 (*) -| +--- androidx.compose.ui:ui-text:1.5.4 (*) -| +--- androidx.compose.ui:ui-util:1.5.4 (*) -| +--- androidx.core:core:1.10.0 (*) -| +--- androidx.emoji2:emoji2:1.4.0 (*) -| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| \--- androidx.compose.foundation:foundation-layout:1.5.4 (c) -+--- androidx.compose.material:material:1.5.4 -| \--- androidx.compose.material:material-android:1.5.4 -| +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| +--- androidx.compose.animation:animation:1.5.4 (*) -| +--- androidx.compose.animation:animation-core:1.5.4 (*) -| +--- androidx.compose.foundation:foundation:1.5.4 (*) -| +--- androidx.compose.foundation:foundation-layout:1.5.4 (*) -| +--- androidx.compose.material:material-icons-core:1.5.4 -| | \--- androidx.compose.material:material-icons-core-android:1.5.4 -| | +--- androidx.compose.ui:ui:1.5.4 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.9.24 (*) -| | +--- androidx.compose.material:material:1.5.4 (c) -| | \--- androidx.compose.material:material-ripple:1.5.4 (c) -| +--- androidx.compose.material:material-ripple:1.5.4 -| | \--- androidx.compose.material:material-ripple-android:1.5.4 -| | +--- androidx.compose.animation:animation:1.5.4 (*) -| | +--- androidx.compose.foundation:foundation:1.5.4 (*) -| | +--- androidx.compose.runtime:runtime:1.5.4 (*) -| | +--- androidx.compose.ui:ui-util:1.5.4 (*) -| | +--- androidx.compose.material:material:1.5.4 (c) -| | \--- androidx.compose.material:material-icons-core:1.5.4 (c) -| +--- androidx.compose.runtime:runtime:1.5.4 (*) -| +--- androidx.compose.ui:ui:1.5.4 (*) -| +--- androidx.compose.ui:ui-text:1.5.4 (*) -| +--- androidx.compose.ui:ui-util:1.5.4 (*) -| +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.7.0 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| +--- androidx.compose.ui:ui:1.6.8 (c) +| +--- androidx.compose.ui:ui-util:1.6.8 (c) +| +--- androidx.compose.ui:ui-geometry:1.6.8 (c) +| +--- androidx.compose.ui:ui-graphics:1.6.8 (c) +| +--- androidx.compose.ui:ui-text:1.6.8 (c) +| \--- androidx.compose.ui:ui-unit:1.6.8 (c) ++--- androidx.compose.foundation:foundation:1.6.8 +| \--- androidx.compose.foundation:foundation-android:1.6.8 +| +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| +--- androidx.collection:collection:1.4.0 (*) +| +--- androidx.compose.animation:animation:1.6.8 +| | \--- androidx.compose.animation:animation-android:1.6.8 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | +--- androidx.compose.animation:animation-core:1.6.8 +| | | \--- androidx.compose.animation:animation-core-android:1.6.8 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.collection:collection:1.4.0 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | +--- androidx.compose.ui:ui:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-unit:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3 (*) +| | | \--- androidx.compose.animation:animation:1.6.8 (c) +| | +--- androidx.compose.foundation:foundation-layout:1.6.8 +| | | \--- androidx.compose.foundation:foundation-layout-android:1.6.8 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | +--- androidx.compose.animation:animation-core:1.2.1 -> 1.6.8 (*) +| | | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | | +--- androidx.compose.ui:ui:1.6.8 (*) +| | | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | | +--- androidx.core:core:1.7.0 -> 1.12.0 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | | \--- androidx.compose.foundation:foundation:1.6.8 (c) +| | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | +--- androidx.compose.ui:ui:1.6.8 (*) +| | +--- androidx.compose.ui:ui-geometry:1.6.8 (*) +| | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| | \--- androidx.compose.animation:animation-core:1.6.8 (c) +| +--- androidx.compose.foundation:foundation-layout:1.6.8 (*) +| +--- androidx.compose.runtime:runtime:1.6.8 (*) +| +--- androidx.compose.ui:ui:1.6.8 (*) +| +--- androidx.compose.ui:ui-text:1.6.8 (*) +| +--- androidx.compose.ui:ui-util:1.6.8 (*) +| +--- androidx.core:core:1.12.0 (*) +| +--- androidx.emoji2:emoji2:1.3.0 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| \--- androidx.compose.foundation:foundation-layout:1.6.8 (c) ++--- androidx.compose.material:material:1.6.8 +| \--- androidx.compose.material:material-android:1.6.8 +| +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| +--- androidx.compose.animation:animation:1.6.8 (*) +| +--- androidx.compose.animation:animation-core:1.6.8 (*) +| +--- androidx.compose.foundation:foundation:1.6.8 (*) +| +--- androidx.compose.foundation:foundation-layout:1.6.8 (*) +| +--- androidx.compose.material:material-icons-core:1.6.8 +| | \--- androidx.compose.material:material-icons-core-android:1.6.8 +| | +--- androidx.compose.ui:ui:1.6.8 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- androidx.compose.material:material:1.6.8 (c) +| | \--- androidx.compose.material:material-ripple:1.6.8 (c) +| +--- androidx.compose.material:material-ripple:1.6.8 +| | \--- androidx.compose.material:material-ripple-android:1.6.8 +| | +--- androidx.compose.animation:animation:1.6.8 (*) +| | +--- androidx.compose.foundation:foundation:1.6.8 (*) +| | +--- androidx.compose.runtime:runtime:1.6.8 (*) +| | +--- androidx.compose.ui:ui-util:1.6.8 (*) +| | +--- androidx.compose.material:material:1.6.8 (c) +| | \--- androidx.compose.material:material-icons-core:1.6.8 (c) +| +--- androidx.compose.runtime:runtime:1.6.8 (*) +| +--- androidx.compose.ui:ui:1.6.8 (*) +| +--- androidx.compose.ui:ui-text:1.6.8 (*) +| +--- androidx.compose.ui:ui-util:1.6.8 (*) +| +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.6 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 (*) | +--- androidx.savedstate:savedstate:1.2.1 (*) -| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 -> 1.9.24 (*) -| +--- androidx.compose.material:material-icons-core:1.5.4 (c) -| \--- androidx.compose.material:material-ripple:1.5.4 (c) +| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 1.9.24 (*) +| +--- androidx.compose.material:material-icons-core:1.6.8 (c) +| \--- androidx.compose.material:material-ripple:1.6.8 (c) +--- androidx.activity:activity-compose:1.8.2 | +--- androidx.activity:activity-ktx:1.8.2 (*) -| +--- androidx.compose.runtime:runtime:1.0.1 -> 1.5.4 (*) -| +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.5.4 (*) -| +--- androidx.compose.ui:ui:1.0.1 -> 1.5.4 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.7.0 (*) +| +--- androidx.compose.runtime:runtime:1.0.1 -> 1.6.8 (*) +| +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.6.8 (*) +| +--- androidx.compose.ui:ui:1.0.1 -> 1.6.8 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.6 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | +--- androidx.activity:activity:1.8.2 (c) | \--- androidx.activity:activity-ktx:1.8.2 (c) +--- androidx.navigation:navigation-compose:2.7.6 | +--- androidx.activity:activity-compose:1.7.0 -> 1.8.2 (*) -| +--- androidx.compose.animation:animation:1.5.1 -> 1.5.4 (*) -| +--- androidx.compose.foundation:foundation-layout:1.5.1 -> 1.5.4 (*) -| +--- androidx.compose.runtime:runtime:1.5.1 -> 1.5.4 (*) -| +--- androidx.compose.runtime:runtime-saveable:1.5.1 -> 1.5.4 (*) -| +--- androidx.compose.ui:ui:1.5.1 -> 1.5.4 (*) -| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.7.0 -| | +--- androidx.annotation:annotation-experimental:1.1.0 -> 1.3.0 (*) -| | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.5.4 (*) -| | +--- androidx.compose.ui:ui:1.0.1 -> 1.5.4 (*) -| | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (*) -| | | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-process:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0 (c) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (*) -| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) -| | +--- androidx.lifecycle:lifecycle-common:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-common-java8:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-livedata-core:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-runtime:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 (c) -| | +--- androidx.lifecycle:lifecycle-livedata:2.7.0 (c) -| | \--- androidx.lifecycle:lifecycle-process:2.7.0 (c) +| +--- androidx.compose.animation:animation:1.5.1 -> 1.6.8 (*) +| +--- androidx.compose.foundation:foundation-layout:1.5.1 -> 1.6.8 (*) +| +--- androidx.compose.runtime:runtime:1.5.1 -> 1.6.8 (*) +| +--- androidx.compose.runtime:runtime-saveable:1.5.1 -> 1.6.8 (*) +| +--- androidx.compose.ui:ui:1.5.1 -> 1.6.8 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.8.6 +| | \--- androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.6 +| | +--- androidx.annotation:annotation:1.8.0 (*) +| | +--- androidx.compose.runtime:runtime:1.6.0 -> 1.6.8 (*) +| | +--- androidx.compose.ui:ui:1.6.0 -> 1.6.8 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (*) +| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-process:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-runtime:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.6 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.6 (c) +| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.6 (c) | +--- androidx.navigation:navigation-runtime-ktx:2.7.6 | | +--- androidx.navigation:navigation-common-ktx:2.7.6 | | | +--- androidx.navigation:navigation-common:2.7.6 -| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.7.1 (*) -| | | | +--- androidx.collection:collection-ktx:1.1.0 (*) -| | | | +--- androidx.core:core-ktx:1.1.0 -> 1.10.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 -> 2.7.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.7.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.7.0 (*) -| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -> 2.7.0 (*) -| | | | +--- androidx.profileinstaller:profileinstaller:1.3.0 (*) +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.0 (*) +| | | | +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.0 (*) +| | | | +--- androidx.core:core-ktx:1.1.0 -> 1.12.0 (*) +| | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 -> 2.8.6 (*) +| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.6 (*) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.6 (*) +| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -> 2.8.6 (*) +| | | | +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.3.1 (*) | | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | | | | +--- androidx.navigation:navigation-common-ktx:2.7.6 (c) @@ -603,9 +596,9 @@ | | +--- androidx.navigation:navigation-runtime:2.7.6 | | | +--- androidx.activity:activity-ktx:1.7.1 -> 1.8.2 (*) | | | +--- androidx.annotation:annotation-experimental:1.1.0 -> 1.3.0 (*) -| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.7.0 (*) -| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.7.0 (*) +| | | +--- androidx.collection:collection:1.0.0 -> 1.4.0 (*) +| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.6 (*) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.6 (*) | | | +--- androidx.navigation:navigation-common:2.7.6 (*) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 1.9.24 (*) | | | +--- androidx.navigation:navigation-common:2.7.6 (c) @@ -621,11 +614,11 @@ | +--- androidx.navigation:navigation-common-ktx:2.7.6 (c) | +--- androidx.navigation:navigation-runtime:2.7.6 (c) | \--- androidx.navigation:navigation-common:2.7.6 (c) -+--- com.google.accompanist:accompanist-systemuicontroller:0.32.0 -| +--- androidx.core:core-ktx:1.8.0 -> 1.10.0 (*) -| +--- androidx.compose.ui:ui:1.5.0 -> 1.5.4 (*) ++--- com.google.accompanist:accompanist-systemuicontroller:0.34.0 +| +--- androidx.core:core-ktx:1.8.0 -> 1.12.0 (*) +| +--- androidx.compose.ui:ui:1.6.0 -> 1.6.8 (*) | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) -| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.24 (*) \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.24 +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 (*) \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.9.24 From 53911b5119fbc711bcc0f443ef98fa7e32f6ebc1 Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Thu, 17 Oct 2024 13:07:27 -0400 Subject: [PATCH 7/9] Fix deps --- stripe-connect-example/dependencies/dependencies.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stripe-connect-example/dependencies/dependencies.txt b/stripe-connect-example/dependencies/dependencies.txt index 8dff8804339..45633d4775d 100644 --- a/stripe-connect-example/dependencies/dependencies.txt +++ b/stripe-connect-example/dependencies/dependencies.txt @@ -624,7 +624,7 @@ | | +--- androidx.core:core-ktx:1.8.0 -> 1.12.0 (*) | | +--- androidx.compose.ui:ui:1.6.0 -> 1.6.8 (*) | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.8.1 (*) -| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.24 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 1.9.25 (*) | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 (*) | \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.9.25 From 3c2d62bf7fe75b1c78862615d01da0b59d2597ca Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Fri, 18 Oct 2024 02:09:25 -0400 Subject: [PATCH 8/9] Fix colors, fix merge confligt --- .../connectsdk/example/MainActivity.kt | 22 +++++++++---------- .../src/main/res/values/colors.xml | 6 ++--- .../connectsdk/EmbeddedComponentManager.kt | 3 +-- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt index eb89d27433e..902ac139722 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt @@ -4,6 +4,7 @@ import android.content.Intent import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent +import androidx.annotation.StringRes import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable @@ -22,7 +23,7 @@ import androidx.compose.material.Divider import androidx.compose.material.Icon import androidx.compose.material.Text import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight +import androidx.compose.material.icons.filled.KeyboardArrowRight import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -41,22 +42,22 @@ import com.stripe.android.connectsdk.example.ui.features.payouts.PayoutsExampleA class MainActivity : ComponentActivity() { private data class MenuItem( - val title: String, - val subtitle: String, + @StringRes val title: Int, + @StringRes val subtitle: Int, val activity: Class, val isBeta: Boolean = false, ) private val menuItems = listOf( MenuItem( - title = resources.getString(R.string.account_onboarding), - subtitle = resources.getString(R.string.account_onboarding_menu_subtitle), + title = R.string.account_onboarding, + subtitle = R.string.account_onboarding_menu_subtitle, activity = AccountOnboardingExampleActivity::class.java, isBeta = true, ), MenuItem( - title = resources.getString(R.string.payouts), - subtitle = resources.getString(R.string.payouts_menu_subtitle), + title = R.string.payouts, + subtitle = R.string.payouts_menu_subtitle, activity = PayoutsExampleActivity::class.java, isBeta = true, ), @@ -100,7 +101,7 @@ class MainActivity : ComponentActivity() { horizontalArrangement = Arrangement.spacedBy(8.dp), ) { Text( - text = menuItem.title, + text = stringResource(menuItem.title), fontSize = 16.sp, fontWeight = FontWeight.SemiBold, ) @@ -110,8 +111,7 @@ class MainActivity : ComponentActivity() { } Spacer(modifier = Modifier.height(8.dp)) Text( - - text = menuItem.subtitle, + text = stringResource(menuItem.subtitle), fontSize = 16.sp, ) } @@ -124,7 +124,7 @@ class MainActivity : ComponentActivity() { .size(36.dp) .padding(start = 8.dp), contentDescription = null, - imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight, + imageVector = Icons.Default.KeyboardArrowRight, ) } } diff --git a/stripe-connect-example/src/main/res/values/colors.xml b/stripe-connect-example/src/main/res/values/colors.xml index 21c6d431e13..801c8e16d4b 100644 --- a/stripe-connect-example/src/main/res/values/colors.xml +++ b/stripe-connect-example/src/main/res/values/colors.xml @@ -1,6 +1,6 @@ - #A7E7FC - #CBF5FD - #CBF5FD + #FBD992 + #FCEEB5 + #B13600 \ No newline at end of file diff --git a/stripe-connect/src/main/java/com/stripe/android/connectsdk/EmbeddedComponentManager.kt b/stripe-connect/src/main/java/com/stripe/android/connectsdk/EmbeddedComponentManager.kt index b7cc5714c4f..de31fb1362c 100644 --- a/stripe-connect/src/main/java/com/stripe/android/connectsdk/EmbeddedComponentManager.kt +++ b/stripe-connect/src/main/java/com/stripe/android/connectsdk/EmbeddedComponentManager.kt @@ -10,13 +10,12 @@ import kotlinx.parcelize.Parcelize @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) class EmbeddedComponentManager internal constructor() { - // TODO MXMOBILE-2760 - replace with actual implementation and remove the @Suppress annotations constructor( @Suppress("UNUSED_PARAMETER") activity: ComponentActivity, @Suppress("UNUSED_PARAMETER") configuration: Configuration, @Suppress("UNUSED_PARAMETER") fetchClientSecret: FetchClientSecretCallback, ) : this() { - throw NotImplementedError("Not yet implemented") + // TODO MXMOBILE-2760 - replace with actual implementation and remove the @Suppress annotations } @PrivateBetaConnectSDK From b347fb1c0a9f9fa1167b349a6c618d7a6e2e6132 Mon Sep 17 00:00:00 2001 From: Simon Duchastel Date: Fri, 18 Oct 2024 09:44:25 -0400 Subject: [PATCH 9/9] Fix icon lint --- .../com/stripe/android/connectsdk/example/MainActivity.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt index 902ac139722..6b0a62c612f 100644 --- a/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt +++ b/stripe-connect-example/src/main/java/com/stripe/android/connectsdk/example/MainActivity.kt @@ -23,7 +23,7 @@ import androidx.compose.material.Divider import androidx.compose.material.Icon import androidx.compose.material.Text import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.KeyboardArrowRight +import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -124,7 +124,7 @@ class MainActivity : ComponentActivity() { .size(36.dp) .padding(start = 8.dp), contentDescription = null, - imageVector = Icons.Default.KeyboardArrowRight, + imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight, ) } }