diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c625628b..a883cd01 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,6 +18,7 @@ jobs: build: # The type of runner that the job will run on runs-on: macos-latest + timeout-minutes: 120 # Steps represent a sequence of tasks that will be executed as part of the job steps: @@ -30,6 +31,9 @@ jobs: distribution: 'zulu' # See 'Supported distributions' for available options java-version: '17' + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + - name: Grant execute permission for gradlew run: chmod +x gradlew @@ -43,31 +47,13 @@ jobs: fileDir: './' encodedString: ${{ secrets.SIGNING_KEY }} - - name: Generate baseline profile - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: 33 - avd-name: baselineProfGenerator - target: google_apis - arch: x86_64 - emulator-build: 9322596 - script: ./gradlew :benchmark:connectedBenchmarkAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile - - - name: Move generated baseline profile to target folder - run: mv -f './benchmark/build/outputs/connected_android_test_additional_output/benchmark/connected/baselineProfGenerator(AVD) - 13/BaselineProfileGenerator_generate-baseline-prof.txt' ./app/src/main/baseline-prof.txt - - - name: Check baseline-prof file status - run: stat ./app/src/main/baseline-prof.txt - - - name: View some lines of baseline-prof file - run: head ./app/src/main/baseline-prof.txt - - - name: Build with Gradle - run: ./gradlew assemble - - - name: Build Release AAB - id: buildRelease - run: ./gradlew bundleRelease + - name: Build release variant including baseline profile generation + run: ./gradlew :app:assembleRelease + -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile + -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" + -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true + -Pandroid.experimental.androidTest.numManagedDeviceShards=1 + -Pandroid.experimental.testOptions.managedDevices.maxConcurrentDevices=1 - name: Upload Android Release to Play Store uses: r0adkll/upload-google-play@v1 @@ -78,4 +64,4 @@ jobs: track: internal status: completed inAppUpdatePriority: 5 - mappingFile: app/build/outputs/mapping/release/mapping.txt + mappingFile: app/build/outputs/mapping/release/mapping.txt \ No newline at end of file diff --git a/.github/workflows/on_pull_request.yml b/.github/workflows/on_pull_request.yml index c35dacdd..7d682dc9 100644 --- a/.github/workflows/on_pull_request.yml +++ b/.github/workflows/on_pull_request.yml @@ -1,19 +1,24 @@ # This is a basic workflow to help you get started with Actions - -name: Build +name: OnPullRequest # Controls when the workflow will run on: # Triggers the workflow on push or pull request events but only for the "master" branch pull_request: - branches: [ "master" ] + branches: [ master ] + +env: + ALIAS: ${{ secrets.ALIAS }} + KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} + KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }} # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on - runs-on: ubuntu-latest + runs-on: macos-latest + timeout-minutes: 120 # Steps represent a sequence of tasks that will be executed as part of the job steps: @@ -26,6 +31,9 @@ jobs: distribution: 'zulu' # See 'Supported distributions' for available options java-version: '17' + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + - name: Grant execute permission for gradlew run: chmod +x gradlew @@ -39,9 +47,10 @@ jobs: fileDir: './' encodedString: ${{ secrets.SIGNING_KEY }} - - name: Build with Gradle - run: ./gradlew clean build --no-daemon --parallel build - env: - ALIAS: ${{ secrets.ALIAS }} - KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} - KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }} + - name: Build release variant including baseline profile generation + run: ./gradlew :app:assembleRelease + -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile + -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" + -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true + -Pandroid.experimental.androidTest.numManagedDeviceShards=1 + -Pandroid.experimental.testOptions.managedDevices.maxConcurrentDevices=1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 42c0c11b..99917ad8 100644 --- a/.gitignore +++ b/.gitignore @@ -78,7 +78,7 @@ captures/ *.keystore # Google Services (e.g. APIs or Firebase) -google-services.json +# google-services.json # Android Patch gen-external-apklibs diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index 69e86158..ae3f30ae 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/README.md b/README.md index 0f8dcbf3..4bef0110 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,3 @@ An android app that can attend HoYoLAB check-in events automatically - Clean Architecture - MVVM - -# Before Build & Run - -This project uses firebase and not contains *google-services.json* file because it's a server key. -There will be errors if you only cloned and run it, so you have to get *google-services.json* from -your own firebase project and put in to cloned project directory. diff --git a/app/baseline-profiles-rules.pro b/app/baseline-profiles-rules.pro deleted file mode 100644 index 0674e774..00000000 --- a/app/baseline-profiles-rules.pro +++ /dev/null @@ -1 +0,0 @@ --dontobfuscate \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index de499f6b..bf15fea4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,12 +1,12 @@ @Suppress("DSL_SCOPE_VIOLATION") plugins { - id("croissant.android.application") - id("croissant.android.application.compose") - id("croissant.android.hilt") - alias(libs.plugins.gms.google.services) + alias(libs.plugins.croissant.android.application) + alias(libs.plugins.croissant.android.application.compose) + alias(libs.plugins.croissant.android.hilt) + alias(libs.plugins.croissant.android.application.firebase) id("kotlin-parcelize") - alias(libs.plugins.firebase.crashlytics) id("com.google.android.gms.oss-licenses-plugin") + alias(libs.plugins.androidx.baselineprofile) } kotlin { @@ -20,8 +20,9 @@ android { defaultConfig { applicationId = "com.joeloewi.croissant" - versionCode = 41 - versionName = "1.2.0" + versionCode = 42 + versionName = "1.2.1" + targetSdk = 34 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { @@ -50,24 +51,27 @@ android { ) signingConfig = signingConfigs.getByName("release") } - val benchmark by creating { - initWith(release) - signingConfig = signingConfigs.getByName("release") - matchingFallbacks += listOf("release") - isDebuggable = false - proguardFiles("baseline-profiles-rules.pro") - } } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } + buildFeatures { + buildConfig = true + } +} + +baselineProfile { + // Don't build on every iteration of a full assemble. + // Instead enable generation directly for the release build variant. + automaticGenerationDuringBuild = false } dependencies { implementation(project(":data")) implementation(project(":domain")) + baselineProfile(project(":baselineprofile")) implementation(libs.androidx.core.ktx) implementation(libs.android.material) @@ -90,7 +94,6 @@ dependencies { //hilt-extension implementation(libs.hilt.ext.work) - kapt(libs.hilt.ext.compiler) //compose implementation(libs.androidx.compose.foundation) @@ -99,6 +102,7 @@ dependencies { implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.compose.runtime.livedata) implementation(libs.androidx.compose.material.iconsExtended) + implementation(libs.androidx.compose.ui.util) debugImplementation(libs.androidx.compose.ui.tooling) //accompanist @@ -140,11 +144,6 @@ dependencies { //in-app review implementation(libs.android.play.review.ktx) - //firebase - implementation(platform(libs.firebase.bom)) - implementation(libs.firebase.analytics.ktx) - implementation(libs.firebase.crashlytics.ktx) - //leakCanary debugImplementation(libs.leakcanary.android) @@ -158,8 +157,4 @@ dependencies { //open source license activity implementation(libs.gms.play.services.oss.licenses) -} - -hilt { - enableAggregatingTask = true } \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 00000000..fbcd7a91 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "YourProjectId", + "project_id": "abc", + "storage_bucket": "abc" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "Your:App:Id", + "android_client_info": { + "package_name": "com.joeloewi.croissant" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "APlaceholderAPIKeyWith-ThirtyNineCharsX" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/src/androidTest/java/com/joeloewi/croissant/ExampleInstrumentedTest.kt b/app/src/androidTest/kotlin/com/joeloewi/croissant/ExampleInstrumentedTest.kt similarity index 100% rename from app/src/androidTest/java/com/joeloewi/croissant/ExampleInstrumentedTest.kt rename to app/src/androidTest/kotlin/com/joeloewi/croissant/ExampleInstrumentedTest.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 281deac8..66724a24 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,19 +11,7 @@ - - - - + @@ -77,6 +65,7 @@ android:authorities="${applicationId}.androidx-startup" android:exported="false" tools:node="merge"> + - - + startGroup()V -HPLandroidx/compose/runtime/snapshots/MutableSnapshot;->(ILandroidx/compose/runtime/snapshots/SnapshotIdSet;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V -HPLandroidx/emoji2/text/EmojiMetadata;->getCodepointAt(I)I -HPLandroidx/emoji2/text/EmojiMetadata;->getCodepointsLength()I -HPLandroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; -HPLandroidx/emoji2/text/MetadataRepo;->(Landroid/graphics/Typeface;Landroidx/emoji2/text/flatbuffer/MetadataList;)V -HPLandroidx/emoji2/text/flatbuffer/Table;->__offset(I)I -HPLandroidx/emoji2/text/flatbuffer/Table;->__reset(ILjava/nio/ByteBuffer;)V -HPLkotlinx/coroutines/JobKt;->requireOwner(Landroidx/compose/ui/node/LayoutNode;)Landroidx/compose/ui/node/Owner; -HSPLandroidx/activity/ComponentActivity$$ExternalSyntheticLambda0;->(Landroidx/activity/ComponentActivity;)V -HSPLandroidx/activity/ComponentActivity$$ExternalSyntheticLambda0;->run()V -HSPLandroidx/activity/ComponentActivity$$ExternalSyntheticLambda1;->(Landroidx/activity/ComponentActivity;)V -HSPLandroidx/activity/ComponentActivity$$ExternalSyntheticLambda2;->(Landroidx/activity/ComponentActivity;)V -HSPLandroidx/activity/ComponentActivity$$ExternalSyntheticLambda2;->onContextAvailable()V -HSPLandroidx/activity/ComponentActivity$1;->(Landroidx/activity/ComponentActivity;)V -HSPLandroidx/activity/ComponentActivity$2$$ExternalSyntheticOutline0;->m(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLandroidx/activity/ComponentActivity$2$$ExternalSyntheticOutline1;->m(Ljava/lang/String;)Ljava/lang/StringBuilder; -HSPLandroidx/activity/ComponentActivity$2;->(Landroidx/activity/ComponentActivity;)V -HSPLandroidx/activity/ComponentActivity$3;->(Landroidx/activity/ComponentActivity;)V -HSPLandroidx/activity/ComponentActivity$3;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/activity/ComponentActivity$4;->(Landroidx/activity/ComponentActivity;)V -HSPLandroidx/activity/ComponentActivity$4;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/activity/ComponentActivity$5;->(Landroidx/activity/ComponentActivity;)V -HSPLandroidx/activity/ComponentActivity$5;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/activity/ComponentActivity$Api33Impl;->getOnBackInvokedDispatcher(Landroid/app/Activity;)Landroid/window/OnBackInvokedDispatcher; -HSPLandroidx/activity/ComponentActivity;->()V -HSPLandroidx/activity/ComponentActivity;->addMenuProvider(Landroidx/fragment/app/FragmentManager$2;)V -HSPLandroidx/activity/ComponentActivity;->addOnConfigurationChangedListener(Landroidx/core/util/Consumer;)V -HSPLandroidx/activity/ComponentActivity;->addOnContextAvailableListener(Landroidx/activity/contextaware/OnContextAvailableListener;)V -HSPLandroidx/activity/ComponentActivity;->addOnMultiWindowModeChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda2;)V -HSPLandroidx/activity/ComponentActivity;->addOnPictureInPictureModeChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda3;)V -HSPLandroidx/activity/ComponentActivity;->addOnTrimMemoryListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda1;)V -HSPLandroidx/activity/ComponentActivity;->getActivityResultRegistry()Landroidx/activity/result/ActivityResultRegistry; -HSPLandroidx/activity/ComponentActivity;->getDefaultViewModelCreationExtras()Landroidx/lifecycle/viewmodel/MutableCreationExtras; -HSPLandroidx/activity/ComponentActivity;->getDefaultViewModelProviderFactory()Landroidx/lifecycle/ViewModelProvider$Factory; -HSPLandroidx/activity/ComponentActivity;->getLifecycle()Landroidx/lifecycle/Lifecycle; -HSPLandroidx/activity/ComponentActivity;->getOnBackPressedDispatcher()Landroidx/activity/OnBackPressedDispatcher; -HSPLandroidx/activity/ComponentActivity;->getSavedStateRegistry()Landroidx/savedstate/SavedStateRegistry; -HSPLandroidx/activity/ComponentActivity;->getViewModelStore()Landroidx/lifecycle/ViewModelStore; -HSPLandroidx/activity/ComponentActivity;->onCreate(Landroid/os/Bundle;)V -HSPLandroidx/activity/ComponentActivity;->removeMenuProvider(Landroidx/fragment/app/FragmentManager$2;)V -HSPLandroidx/activity/ComponentActivity;->removeOnConfigurationChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda0;)V -HSPLandroidx/activity/ComponentActivity;->removeOnMultiWindowModeChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda2;)V -HSPLandroidx/activity/ComponentActivity;->removeOnPictureInPictureModeChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda3;)V -HSPLandroidx/activity/ComponentActivity;->removeOnTrimMemoryListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda1;)V -HSPLandroidx/activity/OnBackPressedCallback;->(Z)V -HSPLandroidx/activity/OnBackPressedCallback;->remove()V -HSPLandroidx/activity/OnBackPressedCallback;->setEnabled(Z)V -HSPLandroidx/activity/OnBackPressedDispatcher$$ExternalSyntheticLambda0;->(Landroidx/activity/OnBackPressedDispatcher;)V -HSPLandroidx/activity/OnBackPressedDispatcher$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V -HSPLandroidx/activity/OnBackPressedDispatcher$$ExternalSyntheticLambda1;->(Landroidx/activity/OnBackPressedDispatcher;)V -HSPLandroidx/activity/OnBackPressedDispatcher$Api33Impl$$ExternalSyntheticLambda0;->(Ljava/lang/Runnable;)V -HSPLandroidx/activity/OnBackPressedDispatcher$Api33Impl;->createOnBackInvokedCallback(Ljava/lang/Runnable;)Landroid/window/OnBackInvokedCallback; -HSPLandroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;->(Landroidx/activity/OnBackPressedDispatcher;Landroidx/lifecycle/Lifecycle;Landroidx/activity/OnBackPressedCallback;)V -HSPLandroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;->cancel()V -HSPLandroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable;->(Landroidx/activity/OnBackPressedDispatcher;Landroidx/activity/OnBackPressedCallback;)V -HSPLandroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable;->cancel()V -HSPLandroidx/activity/OnBackPressedDispatcher;->(Ljava/lang/Runnable;)V -HSPLandroidx/activity/OnBackPressedDispatcher;->addCallback(Landroidx/lifecycle/LifecycleOwner;Landroidx/activity/OnBackPressedCallback;)V -HSPLandroidx/activity/OnBackPressedDispatcher;->updateBackInvokedCallbackState()V -HSPLandroidx/activity/ViewTreeOnBackPressedDispatcherOwner$findViewTreeOnBackPressedDispatcherOwner$1;->()V -HSPLandroidx/activity/ViewTreeOnBackPressedDispatcherOwner$findViewTreeOnBackPressedDispatcherOwner$1;->()V -HSPLandroidx/activity/ViewTreeOnBackPressedDispatcherOwner$findViewTreeOnBackPressedDispatcherOwner$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/activity/ViewTreeOnBackPressedDispatcherOwner$findViewTreeOnBackPressedDispatcherOwner$2;->()V -HSPLandroidx/activity/ViewTreeOnBackPressedDispatcherOwner$findViewTreeOnBackPressedDispatcherOwner$2;->()V -HSPLandroidx/activity/ViewTreeOnBackPressedDispatcherOwner$findViewTreeOnBackPressedDispatcherOwner$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/activity/ViewTreeOnBackPressedDispatcherOwner;->set(Landroid/view/View;Landroidx/activity/OnBackPressedDispatcherOwner;)V -HSPLandroidx/activity/compose/ActivityResultLauncherHolder;->()V -HSPLandroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$1$$ExternalSyntheticLambda0;->(Landroidx/compose/runtime/State;)V -HSPLandroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$1$invoke$$inlined$onDispose$1;->(Landroidx/activity/compose/ActivityResultLauncherHolder;)V -HSPLandroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$1;->(Landroidx/activity/compose/ActivityResultLauncherHolder;Landroidx/activity/result/ActivityResultRegistry;Ljava/lang/String;Landroidx/activity/result/contract/ActivityResultContract;Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$key$1;->()V -HSPLandroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$key$1;->()V -HSPLandroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$key$1;->invoke()Ljava/lang/Object; -HSPLandroidx/activity/compose/ActivityResultRegistryKt;->rememberLauncherForActivityResult(Landroidx/activity/result/contract/ActivityResultContract;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;)Landroidx/activity/compose/ManagedActivityResultLauncher; -HSPLandroidx/activity/compose/ComponentActivityKt;->()V -HSPLandroidx/activity/compose/ComponentActivityKt;->setContent$default(Landroidx/activity/ComponentActivity;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/activity/compose/LocalActivityResultRegistryOwner$LocalComposition$1;->()V -HSPLandroidx/activity/compose/LocalActivityResultRegistryOwner$LocalComposition$1;->()V -HSPLandroidx/activity/compose/LocalActivityResultRegistryOwner$LocalComposition$1;->invoke()Ljava/lang/Object; -HSPLandroidx/activity/compose/LocalActivityResultRegistryOwner;->()V -HSPLandroidx/activity/compose/LocalOnBackPressedDispatcherOwner$LocalOnBackPressedDispatcherOwner$1;->()V -HSPLandroidx/activity/compose/LocalOnBackPressedDispatcherOwner$LocalOnBackPressedDispatcherOwner$1;->()V -HSPLandroidx/activity/compose/LocalOnBackPressedDispatcherOwner$LocalOnBackPressedDispatcherOwner$1;->invoke()Ljava/lang/Object; -HSPLandroidx/activity/compose/LocalOnBackPressedDispatcherOwner;->()V -HSPLandroidx/activity/compose/LocalOnBackPressedDispatcherOwner;->getCurrent(Landroidx/compose/runtime/Composer;)Landroidx/activity/OnBackPressedDispatcherOwner; -HSPLandroidx/activity/compose/ManagedActivityResultLauncher;->(Landroidx/activity/compose/ActivityResultLauncherHolder;Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/activity/contextaware/ContextAwareHelper;->()V -HSPLandroidx/activity/result/ActivityResultLauncher;->()V -HSPLandroidx/activity/result/ActivityResultRegistry$3;->(Landroidx/activity/result/ActivityResultRegistry;Ljava/lang/String;Landroidx/activity/result/contract/ActivityResultContract;)V -HSPLandroidx/activity/result/ActivityResultRegistry$3;->unregister()V -HSPLandroidx/activity/result/ActivityResultRegistry$CallbackAndContract;->(Landroidx/activity/result/ActivityResultCallback;Landroidx/activity/result/contract/ActivityResultContract;)V -HSPLandroidx/activity/result/ActivityResultRegistry;->()V -HSPLandroidx/activity/result/ActivityResultRegistry;->register(Ljava/lang/String;Landroidx/activity/result/contract/ActivityResultContract;Landroidx/activity/result/ActivityResultCallback;)Landroidx/activity/result/ActivityResultRegistry$3; -HSPLandroidx/activity/result/contract/ActivityResultContract;->()V -HSPLandroidx/activity/result/contract/ActivityResultContracts$RequestMultiplePermissions;->()V -HSPLandroidx/activity/result/contract/ActivityResultContracts$RequestPermission;->()V -HSPLandroidx/activity/result/contract/ActivityResultContracts$StartActivityForResult;->()V -HSPLandroidx/appcompat/R$color;->Rect-tz77jQw(JJ)Landroidx/compose/ui/geometry/Rect; -HSPLandroidx/appcompat/R$dimen;->RoundRect-gG7oq9Y(FFFFJ)Landroidx/compose/ui/geometry/RoundRect; -HSPLandroidx/appcompat/R$dimen;->isSimple(Landroidx/compose/ui/geometry/RoundRect;)Z -HSPLandroidx/appcompat/R$layout;->mergeStrings(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLandroidx/appcompat/R$styleable;->()V -HSPLandroidx/appcompat/app/AppCompatActivity$1;->(Landroidx/appcompat/app/AppCompatActivity;)V -HSPLandroidx/appcompat/app/AppCompatActivity$2;->(Landroidx/appcompat/app/AppCompatActivity;)V -HSPLandroidx/appcompat/app/AppCompatActivity$2;->onContextAvailable()V -HSPLandroidx/appcompat/app/AppCompatActivity;->()V -HSPLandroidx/appcompat/app/AppCompatActivity;->attachBaseContext(Landroid/content/Context;)V -HSPLandroidx/appcompat/app/AppCompatActivity;->getDelegate()Landroidx/appcompat/app/AppCompatDelegate; -HSPLandroidx/appcompat/app/AppCompatActivity;->getResources()Landroid/content/res/Resources; -HSPLandroidx/appcompat/app/AppCompatActivity;->initViewTreeOwners()V -HSPLandroidx/appcompat/app/AppCompatActivity;->invalidateOptionsMenu()V -HSPLandroidx/appcompat/app/AppCompatActivity;->onContentChanged()V -HSPLandroidx/appcompat/app/AppCompatActivity;->onDestroy()V -HSPLandroidx/appcompat/app/AppCompatActivity;->onPostCreate(Landroid/os/Bundle;)V -HSPLandroidx/appcompat/app/AppCompatActivity;->onPostResume()V -HSPLandroidx/appcompat/app/AppCompatActivity;->onStart()V -HSPLandroidx/appcompat/app/AppCompatActivity;->onStop()V -HSPLandroidx/appcompat/app/AppCompatActivity;->onTitleChanged(Ljava/lang/CharSequence;I)V -HSPLandroidx/appcompat/app/AppCompatActivity;->setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V -HSPLandroidx/appcompat/app/AppCompatActivity;->setTheme(I)V -HSPLandroidx/appcompat/app/AppCompatDelegate;->()V -HSPLandroidx/appcompat/app/AppCompatDelegate;->()V -HSPLandroidx/appcompat/app/AppCompatDelegate;->isAutoStorageOptedIn(Landroid/content/Context;)Z -HSPLandroidx/appcompat/app/AppCompatDelegate;->removeDelegateFromActives(Landroidx/appcompat/app/AppCompatDelegate;)V -HSPLandroidx/appcompat/app/AppCompatDelegate;->setDefaultNightMode(I)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$2;->(Landroidx/appcompat/app/AppCompatDelegateImpl;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$2;->run()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$3;->(Landroidx/appcompat/app/AppCompatDelegateImpl;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$3;->onApplyWindowInsets(Landroid/view/View;Landroidx/core/view/WindowInsetsCompat;)Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$5;->(Landroidx/appcompat/app/AppCompatDelegateImpl;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$Api24Impl;->getLocales(Landroid/content/res/Configuration;)Landroidx/core/os/LocaleListCompat; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$Api33Impl;->getOnBackInvokedDispatcher(Landroid/app/Activity;)Landroid/window/OnBackInvokedDispatcher; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;->(Landroidx/appcompat/app/AppCompatDelegateImpl;Landroid/view/Window$Callback;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;->bypassOnContentChanged(Landroid/view/Window$Callback;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;->onContentChanged()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState;->(I)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->(Landroid/content/Context;Landroid/view/Window;Landroidx/appcompat/app/AppCompatCallback;Ljava/lang/Object;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->applyApplicationSpecificConfig(ZZ)Z -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->applyDayNight()Z -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->attachBaseContext2(Landroid/content/Context;)Landroid/content/Context; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->attachToWindow(Landroid/view/Window;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->calculateApplicationLocales(Landroid/content/Context;)Landroidx/core/os/LocaleListCompat; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->createOverrideAppConfiguration(Landroid/content/Context;ILandroidx/core/os/LocaleListCompat;Landroid/content/res/Configuration;Z)Landroid/content/res/Configuration; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->doInvalidatePanelMenu(I)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->ensureSubDecor()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->ensureWindow()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->getConfigurationLocales(Landroid/content/res/Configuration;)Landroidx/core/os/LocaleListCompat; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->getPanelState(I)Landroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->initWindowDecorActionBar()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->installViewFactory()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->invalidateOptionsMenu()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->mapNightMode(Landroid/content/Context;I)I -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onCreate()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onDestroy()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onPostResume()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onStart()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onStop()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->requestWindowFeature(I)Z -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->setTheme(I)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->setTitle(Ljava/lang/CharSequence;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->throwFeatureRequestIfSubDecorInstalled()V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->updateBackInvokedCallbackState()V -HSPLandroidx/appcompat/app/AppCompatViewInflater;->()V -HSPLandroidx/appcompat/app/AppCompatViewInflater;->()V -HSPLandroidx/appcompat/app/AppLocalesMetadataHolderService$Api24Impl;->getDisabledComponentFlag()I -HSPLandroidx/appcompat/app/AppLocalesStorageHelper$SerialExecutor;->(Landroidx/appcompat/app/AppLocalesStorageHelper$ThreadPerTaskExecutor;)V -HSPLandroidx/appcompat/app/AppLocalesStorageHelper$ThreadPerTaskExecutor;->()V -HSPLandroidx/appcompat/content/res/AppCompatResources;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; -HSPLandroidx/appcompat/resources/R$drawable;->()V -HSPLandroidx/appcompat/resources/R$drawable;->()V -HSPLandroidx/appcompat/resources/R$drawable;->get(Landroid/view/View;)Landroidx/lifecycle/ViewModelStoreOwner; -HSPLandroidx/appcompat/view/ContextThemeWrapper;->(Landroid/content/Context;I)V -HSPLandroidx/appcompat/view/ContextThemeWrapper;->applyOverrideConfiguration(Landroid/content/res/Configuration;)V -HSPLandroidx/appcompat/view/ContextThemeWrapper;->getResources()Landroid/content/res/Resources; -HSPLandroidx/appcompat/view/ContextThemeWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroidx/appcompat/view/ContextThemeWrapper;->getTheme()Landroid/content/res/Resources$Theme; -HSPLandroidx/appcompat/view/ContextThemeWrapper;->initializeTheme()V -HSPLandroidx/appcompat/view/SupportMenuInflater$$ExternalSyntheticOutline0;->m(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLandroidx/appcompat/view/WindowCallbackWrapper;->(Landroid/view/Window$Callback;)V -HSPLandroidx/appcompat/view/WindowCallbackWrapper;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z -HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onAttachedToWindow()V -HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onDetachedFromWindow()V -HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V -HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onWindowFocusChanged(Z)V -HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;->()V -HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;->arrayContains([II)Z -HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;->getTintListForDrawableRes(Landroid/content/Context;I)Landroid/content/res/ColorStateList; -HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->()V -HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->()V -HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->get()Landroidx/appcompat/widget/AppCompatDrawableManager; -HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->preload()V -HSPLandroidx/appcompat/widget/AppCompatHintHelper;->()V -HSPLandroidx/appcompat/widget/AppCompatTextHelper$Api28Impl$$ExternalSyntheticApiModelOutline0;->m(Landroid/graphics/Typeface;IZ)Landroid/graphics/Typeface; -HSPLandroidx/appcompat/widget/ContentFrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V -HSPLandroidx/appcompat/widget/ContentFrameLayout;->getMinWidthMajor()Landroid/util/TypedValue; -HSPLandroidx/appcompat/widget/ContentFrameLayout;->getMinWidthMinor()Landroid/util/TypedValue; -HSPLandroidx/appcompat/widget/ContentFrameLayout;->onAttachedToWindow()V -HSPLandroidx/appcompat/widget/ContentFrameLayout;->onDetachedFromWindow()V -HSPLandroidx/appcompat/widget/ContentFrameLayout;->onMeasure(II)V -HSPLandroidx/appcompat/widget/ContentFrameLayout;->setAttachListener(Landroidx/appcompat/widget/ContentFrameLayout$OnAttachListener;)V -HSPLandroidx/appcompat/widget/DrawableUtils;->()V -HSPLandroidx/appcompat/widget/DrawableUtils;->fixDrawable(Landroid/graphics/drawable/Drawable;)V -HSPLandroidx/appcompat/widget/FitWindowsLinearLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V -HSPLandroidx/appcompat/widget/FitWindowsLinearLayout;->fitSystemWindows(Landroid/graphics/Rect;)Z -HSPLandroidx/appcompat/widget/ResourceManagerInternal$ColorFilterLruCache;->()V -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->()V -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->()V -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->createDrawableIfNeeded(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->get()Landroidx/appcompat/widget/ResourceManagerInternal; -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getCachedDrawable(Landroid/content/Context;J)Landroid/graphics/drawable/Drawable; -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getDrawable(Landroid/content/Context;IZ)Landroid/graphics/drawable/Drawable; -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getTintList(Landroid/content/Context;I)Landroid/content/res/ColorStateList; -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->installDefaultInflateDelegates(Landroidx/appcompat/widget/ResourceManagerInternal;)V -HSPLandroidx/appcompat/widget/ResourceManagerInternal;->tintDrawableUsingColorFilter(Landroid/content/Context;ILandroid/graphics/drawable/Drawable;)Z -HSPLandroidx/appcompat/widget/ViewStubCompat;->(Landroid/content/Context;Landroid/util/AttributeSet;)V -HSPLandroidx/appcompat/widget/ViewStubCompat;->setVisibility(I)V -HSPLandroidx/appcompat/widget/ViewUtils;->()V -HSPLandroidx/arch/core/executor/ArchTaskExecutor$2;->()V -HSPLandroidx/arch/core/executor/ArchTaskExecutor$2;->execute(Ljava/lang/Runnable;)V -HSPLandroidx/arch/core/executor/ArchTaskExecutor;->()V -HSPLandroidx/arch/core/executor/ArchTaskExecutor;->()V -HSPLandroidx/arch/core/executor/ArchTaskExecutor;->executeOnDiskIO(Ljava/lang/Runnable;)V -HSPLandroidx/arch/core/executor/ArchTaskExecutor;->getInstance()Landroidx/arch/core/executor/ArchTaskExecutor; -HSPLandroidx/arch/core/executor/ArchTaskExecutor;->isMainThread()Z -HSPLandroidx/arch/core/executor/DefaultTaskExecutor$$ExternalSyntheticApiModelOutline0;->m(Landroid/os/Looper;)Landroid/os/Handler; -HSPLandroidx/arch/core/executor/DefaultTaskExecutor$1;->()V -HSPLandroidx/arch/core/executor/DefaultTaskExecutor$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread; -HSPLandroidx/arch/core/executor/DefaultTaskExecutor;->()V -HSPLandroidx/arch/core/executor/DefaultTaskExecutor;->executeOnDiskIO(Ljava/lang/Runnable;)V -HSPLandroidx/arch/core/internal/FastSafeIterableMap;->()V -HSPLandroidx/arch/core/internal/FastSafeIterableMap;->get(Ljava/lang/Object;)Landroidx/arch/core/internal/SafeIterableMap$Entry; -HSPLandroidx/arch/core/internal/FastSafeIterableMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/arch/core/internal/FastSafeIterableMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/arch/core/internal/SafeIterableMap$AscendingIterator;->(Landroidx/arch/core/internal/SafeIterableMap$Entry;Landroidx/arch/core/internal/SafeIterableMap$Entry;)V -HSPLandroidx/arch/core/internal/SafeIterableMap$AscendingIterator;->backward(Landroidx/arch/core/internal/SafeIterableMap$Entry;)Landroidx/arch/core/internal/SafeIterableMap$Entry; -HSPLandroidx/arch/core/internal/SafeIterableMap$AscendingIterator;->forward(Landroidx/arch/core/internal/SafeIterableMap$Entry;)Landroidx/arch/core/internal/SafeIterableMap$Entry; -HSPLandroidx/arch/core/internal/SafeIterableMap$DescendingIterator;->(Landroidx/arch/core/internal/SafeIterableMap$Entry;Landroidx/arch/core/internal/SafeIterableMap$Entry;)V -HSPLandroidx/arch/core/internal/SafeIterableMap$DescendingIterator;->backward(Landroidx/arch/core/internal/SafeIterableMap$Entry;)Landroidx/arch/core/internal/SafeIterableMap$Entry; -HSPLandroidx/arch/core/internal/SafeIterableMap$DescendingIterator;->forward(Landroidx/arch/core/internal/SafeIterableMap$Entry;)Landroidx/arch/core/internal/SafeIterableMap$Entry; -HSPLandroidx/arch/core/internal/SafeIterableMap$Entry;->(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLandroidx/arch/core/internal/SafeIterableMap$Entry;->getKey()Ljava/lang/Object; -HSPLandroidx/arch/core/internal/SafeIterableMap$Entry;->getValue()Ljava/lang/Object; -HSPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->(Landroidx/arch/core/internal/SafeIterableMap;)V -HSPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->hasNext()Z -HSPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->next()Ljava/lang/Object; -HSPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->supportRemove(Landroidx/arch/core/internal/SafeIterableMap$Entry;)V -HSPLandroidx/arch/core/internal/SafeIterableMap$ListIterator;->(Landroidx/arch/core/internal/SafeIterableMap$Entry;Landroidx/arch/core/internal/SafeIterableMap$Entry;)V -HSPLandroidx/arch/core/internal/SafeIterableMap$ListIterator;->hasNext()Z -HSPLandroidx/arch/core/internal/SafeIterableMap$ListIterator;->next()Ljava/lang/Object; -HSPLandroidx/arch/core/internal/SafeIterableMap$ListIterator;->supportRemove(Landroidx/arch/core/internal/SafeIterableMap$Entry;)V -HSPLandroidx/arch/core/internal/SafeIterableMap;->()V -HSPLandroidx/arch/core/internal/SafeIterableMap;->get(Ljava/lang/Object;)Landroidx/arch/core/internal/SafeIterableMap$Entry; -HSPLandroidx/arch/core/internal/SafeIterableMap;->iterator()Ljava/util/Iterator; -HSPLandroidx/arch/core/internal/SafeIterableMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/arch/core/internal/SafeIterableMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/collection/ArrayMap$KeyIterator;->(Landroidx/collection/ArrayMap;)V -HSPLandroidx/collection/ArrayMap$KeySet;->(Landroidx/collection/ArrayMap;)V -HSPLandroidx/collection/ArrayMap$KeySet;->iterator()Ljava/util/Iterator; -HSPLandroidx/collection/ArrayMap$ValueCollection;->(Landroidx/collection/ArrayMap;)V -HSPLandroidx/collection/ArrayMap$ValueCollection;->iterator()Ljava/util/Iterator; -HSPLandroidx/collection/ArrayMap$ValueIterator;->(Landroidx/collection/ArrayMap;)V -HSPLandroidx/collection/ArrayMap;->()V -HSPLandroidx/collection/ArrayMap;->(I)V -HSPLandroidx/collection/ArrayMap;->keySet()Ljava/util/Set; -HSPLandroidx/collection/ArrayMap;->values()Ljava/util/Collection; -HSPLandroidx/collection/ArraySet$ElementIterator;->(Landroidx/collection/ArraySet;)V -HSPLandroidx/collection/ArraySet$ElementIterator;->elementAt(I)Ljava/lang/Object; -HSPLandroidx/collection/ArraySet$ElementIterator;->removeAt(I)V -HSPLandroidx/collection/ArraySet;->()V -HSPLandroidx/collection/ArraySet;->()V -HSPLandroidx/collection/ArraySet;->(I)V -HSPLandroidx/collection/ArraySet;->add(Ljava/lang/Object;)Z -HSPLandroidx/collection/ArraySet;->allocArrays(I)V -HSPLandroidx/collection/ArraySet;->clear()V -HSPLandroidx/collection/ArraySet;->freeArrays([I[Ljava/lang/Object;I)V -HSPLandroidx/collection/ArraySet;->indexOf(ILjava/lang/Object;)I -HSPLandroidx/collection/ArraySet;->removeAt(I)V -HSPLandroidx/collection/ArraySet;->toArray()[Ljava/lang/Object; -HSPLandroidx/collection/ContainerHelpers;->()V -HSPLandroidx/collection/ContainerHelpers;->binarySearch(II[I)I -HSPLandroidx/collection/IndexBasedArrayIterator;->(I)V -HSPLandroidx/collection/IndexBasedArrayIterator;->hasNext()Z -HSPLandroidx/collection/IndexBasedArrayIterator;->next()Ljava/lang/Object; -HSPLandroidx/collection/IndexBasedArrayIterator;->remove()V -HSPLandroidx/collection/LongSparseArray;->()V -HSPLandroidx/collection/LongSparseArray;->()V -HSPLandroidx/collection/LongSparseArray;->(I)V -HSPLandroidx/collection/LongSparseArray;->size()I -HSPLandroidx/collection/LruCache;->(I)V -HSPLandroidx/collection/LruCache;->create(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/collection/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/collection/SimpleArrayMap;->()V -HSPLandroidx/collection/SimpleArrayMap;->(I)V -HSPLandroidx/collection/SimpleArrayMap;->allocArrays(I)V -HSPLandroidx/collection/SimpleArrayMap;->clear()V -HSPLandroidx/collection/SimpleArrayMap;->containsKey(Ljava/lang/Object;)Z -HSPLandroidx/collection/SimpleArrayMap;->freeArrays([I[Ljava/lang/Object;I)V -HSPLandroidx/collection/SimpleArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/collection/SimpleArrayMap;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/collection/SimpleArrayMap;->indexOf(ILjava/lang/Object;)I -HSPLandroidx/collection/SimpleArrayMap;->indexOfKey(Ljava/lang/Object;)I -HSPLandroidx/collection/SimpleArrayMap;->isEmpty()Z -HSPLandroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/collection/SimpleArrayMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/collection/SparseArrayCompat;->()V -HSPLandroidx/collection/SparseArrayCompat;->()V -HSPLandroidx/collection/SparseArrayCompat;->get(ILjava/lang/Integer;)Ljava/lang/Object; -HSPLandroidx/collection/SparseArrayCompat;->put(ILjava/lang/Object;)V -HSPLandroidx/collection/SparseArrayCompat;->size()I -HSPLandroidx/collection/SparseArrayCompat;->valueAt(I)Ljava/lang/Object; -HSPLandroidx/collection/SparseArrayKt$valueIterator$1;->(Landroidx/collection/SparseArrayCompat;)V -HSPLandroidx/collection/SparseArrayKt$valueIterator$1;->hasNext()Z -HSPLandroidx/collection/SparseArrayKt$valueIterator$1;->next()Ljava/lang/Object; -HSPLandroidx/collection/SparseArrayKt;->valueIterator(Landroidx/collection/SparseArrayCompat;)Landroidx/collection/SparseArrayKt$valueIterator$1; -HSPLandroidx/compose/animation/AnimatedVisibilityKt$$ExternalSyntheticOutline0;->m(ILandroidx/compose/runtime/internal/ComposableLambdaImpl;Landroidx/compose/runtime/SkippableUpdater;Landroidx/compose/runtime/ComposerImpl;II)V -HSPLandroidx/compose/animation/AnimationModifierKt$animateContentSize$2;->(Landroidx/compose/animation/core/FiniteAnimationSpec;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/animation/AnimationModifierKt$animateContentSize$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/AnimationModifierKt;->animateContentSize$default(Landroidx/compose/ui/Modifier;Landroidx/compose/animation/core/TweenSpec;I)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/animation/ChangeSize;->(Landroidx/compose/animation/core/FiniteAnimationSpec;Landroidx/compose/ui/Alignment;Lkotlin/jvm/functions/Function1;Z)V -HSPLandroidx/compose/animation/ColorVectorConverterKt$ColorToVector$1$1;->()V -HSPLandroidx/compose/animation/ColorVectorConverterKt$ColorToVector$1$1;->()V -HSPLandroidx/compose/animation/ColorVectorConverterKt$ColorToVector$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/ColorVectorConverterKt$ColorToVector$1$2;->(Landroidx/compose/ui/graphics/colorspace/ColorSpace;)V -HSPLandroidx/compose/animation/ColorVectorConverterKt$ColorToVector$1$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/ColorVectorConverterKt;->()V -HSPLandroidx/compose/animation/ColorVectorConverterKt;->access$multiplyColumn(IFFF[F)F -HSPLandroidx/compose/animation/CrossfadeKt$$ExternalSyntheticOutline0;->m(Landroidx/compose/runtime/ComposerImpl;ZZZZ)V -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$1;->(Ljava/lang/Object;Landroidx/compose/ui/Modifier;Landroidx/compose/animation/core/FiniteAnimationSpec;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$2;->()V -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$2;->()V -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$4$1$$ExternalSyntheticOutline0;->m(ILandroidx/compose/runtime/internal/ComposableLambdaImpl;Landroidx/compose/runtime/SkippableUpdater;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$4$1$1$1;->(Landroidx/compose/animation/core/Transition$TransitionAnimationState;)V -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$4$1$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$4$1;->(Landroidx/compose/animation/core/Transition;ILandroidx/compose/animation/core/FiniteAnimationSpec;Ljava/lang/Object;Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$4$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/CrossfadeKt$Crossfade$6;->(Landroidx/compose/animation/core/Transition;Landroidx/compose/ui/Modifier;Landroidx/compose/animation/core/FiniteAnimationSpec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/animation/CrossfadeKt;->Crossfade(Landroidx/compose/animation/core/Transition;Landroidx/compose/ui/Modifier;Landroidx/compose/animation/core/FiniteAnimationSpec;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/animation/CrossfadeKt;->Crossfade(Ljava/lang/Object;Landroidx/compose/ui/Modifier;Landroidx/compose/animation/core/FiniteAnimationSpec;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/animation/EnterExitTransitionKt$TransformOriginVectorConverter$1;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt$TransformOriginVectorConverter$1;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt$TransformOriginVectorConverter$2;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt$TransformOriginVectorConverter$2;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt$expandHorizontally$1;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt$expandHorizontally$1;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt$expandHorizontally$2;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/animation/EnterExitTransitionKt$shrinkHorizontally$1;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt$shrinkHorizontally$1;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt$shrinkHorizontally$2;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/animation/EnterExitTransitionKt;->()V -HSPLandroidx/compose/animation/EnterExitTransitionKt;->expandIn(Landroidx/compose/animation/core/FiniteAnimationSpec;Landroidx/compose/ui/Alignment;Lkotlin/jvm/functions/Function1;Z)Landroidx/compose/animation/EnterTransitionImpl; -HSPLandroidx/compose/animation/EnterExitTransitionKt;->fadeIn$default(Landroidx/compose/animation/core/TweenSpec;I)Landroidx/compose/animation/EnterTransitionImpl; -HSPLandroidx/compose/animation/EnterExitTransitionKt;->fadeOut$default(Landroidx/compose/animation/core/TweenSpec;I)Landroidx/compose/animation/ExitTransitionImpl; -HSPLandroidx/compose/animation/EnterExitTransitionKt;->shrinkOut(Landroidx/compose/animation/core/FiniteAnimationSpec;Landroidx/compose/ui/Alignment;Lkotlin/jvm/functions/Function1;Z)Landroidx/compose/animation/ExitTransitionImpl; -HSPLandroidx/compose/animation/EnterTransition;->()V -HSPLandroidx/compose/animation/EnterTransition;->()V -HSPLandroidx/compose/animation/EnterTransition;->plus(Landroidx/compose/animation/EnterTransitionImpl;)Landroidx/compose/animation/EnterTransitionImpl; -HSPLandroidx/compose/animation/EnterTransitionImpl;->(Landroidx/compose/animation/TransitionData;)V -HSPLandroidx/compose/animation/ExitTransition;->()V -HSPLandroidx/compose/animation/ExitTransition;->()V -HSPLandroidx/compose/animation/ExitTransition;->plus(Landroidx/compose/animation/ExitTransitionImpl;)Landroidx/compose/animation/ExitTransitionImpl; -HSPLandroidx/compose/animation/ExitTransitionImpl;->(Landroidx/compose/animation/TransitionData;)V -HSPLandroidx/compose/animation/Fade;->(FLandroidx/compose/animation/core/FiniteAnimationSpec;)V -HSPLandroidx/compose/animation/FlingCalculator;->(FLandroidx/compose/ui/unit/Density;)V -HSPLandroidx/compose/animation/FlingCalculatorKt;->()V -HSPLandroidx/compose/animation/LayoutModifierWithPassThroughIntrinsics;->()V -HSPLandroidx/compose/animation/LayoutModifierWithPassThroughIntrinsics;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/animation/SingleValueAnimationKt;->()V -HSPLandroidx/compose/animation/SingleValueAnimationKt;->animateColorAsState-KTwxG1Y(JLandroidx/compose/animation/core/FiniteAnimationSpec;Landroidx/compose/runtime/Composer;II)Landroidx/compose/animation/core/AnimationState; -HSPLandroidx/compose/animation/SizeAnimationModifier$AnimData;->(Landroidx/compose/animation/core/Animatable;J)V -HSPLandroidx/compose/animation/SizeAnimationModifier$measure$1;->(Landroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/animation/SizeAnimationModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/SizeAnimationModifier;->(Landroidx/compose/animation/core/FiniteAnimationSpec;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/compose/animation/SizeAnimationModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/animation/SplineBasedFloatDecayAnimationSpec;->(Landroidx/compose/ui/unit/Density;)V -HSPLandroidx/compose/animation/SplineBasedFloatDecayAnimationSpec_androidKt;->()V -HSPLandroidx/compose/animation/SplineBasedFloatDecayAnimationSpec_androidKt;->rememberSplineBasedDecay(Landroidx/compose/runtime/Composer;)Landroidx/compose/animation/core/DecayAnimationSpec; -HSPLandroidx/compose/animation/TransitionData;->(Landroidx/compose/animation/Fade;Landroidx/compose/animation/ChangeSize;I)V -HSPLandroidx/compose/animation/TransitionData;->(Landroidx/compose/animation/Fade;Landroidx/compose/animation/Slide;Landroidx/compose/animation/ChangeSize;)V -HSPLandroidx/compose/animation/core/Animatable$runAnimation$2$1;->(Landroidx/compose/animation/core/Animatable;Landroidx/compose/animation/core/AnimationState;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/internal/Ref$BooleanRef;)V -HSPLandroidx/compose/animation/core/Animatable$runAnimation$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Animatable$runAnimation$2;->(Landroidx/compose/animation/core/Animatable;Ljava/lang/Object;Landroidx/compose/animation/core/Animation;JLkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/animation/core/Animatable$runAnimation$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Animatable$runAnimation$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Animatable;->(Ljava/lang/Object;Landroidx/compose/animation/core/TwoWayConverter;Ljava/lang/Object;)V -HSPLandroidx/compose/animation/core/Animatable;->animateTo$default(Landroidx/compose/animation/core/Animatable;Ljava/lang/Object;Landroidx/compose/animation/core/AnimationSpec;Landroidx/compose/material/SwipeableState$animateInternalToOffset$2$1;Lkotlin/coroutines/Continuation;I)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Animatable;->clampToBounds(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Animatable;->getTargetValue()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Animatable;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$2;->(Lkotlinx/coroutines/channels/Channel;Ljava/lang/Object;)V -HSPLandroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$3$1;->(Ljava/lang/Object;Landroidx/compose/animation/core/Animatable;Landroidx/compose/runtime/State;Landroidx/compose/runtime/State;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$3$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$3$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$3;->(Lkotlinx/coroutines/channels/Channel;Landroidx/compose/animation/core/Animatable;Landroidx/compose/runtime/State;Landroidx/compose/runtime/State;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/AnimateAsStateKt;->()V -HSPLandroidx/compose/animation/core/AnimateAsStateKt;->animateFloatAsState(FLandroidx/compose/animation/core/TweenSpec;Landroidx/compose/runtime/Composer;II)Landroidx/compose/animation/core/AnimationState; -HSPLandroidx/compose/animation/core/AnimateAsStateKt;->animateValueAsState(Ljava/lang/Object;Landroidx/compose/animation/core/TwoWayConverter;Landroidx/compose/animation/core/AnimationSpec;Ljava/lang/Float;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)Landroidx/compose/animation/core/AnimationState; -HSPLandroidx/compose/animation/core/Animation$DefaultImpls;->isFinishedFromNanos(Landroidx/compose/animation/core/Animation;J)Z -HSPLandroidx/compose/animation/core/AnimationEndReason$EnumUnboxingSharedUtility;->()V -HSPLandroidx/compose/animation/core/AnimationEndReason$EnumUnboxingSharedUtility;->equals(II)Z -HSPLandroidx/compose/animation/core/AnimationEndReason$EnumUnboxingSharedUtility;->ordinal(I)I -HSPLandroidx/compose/animation/core/AnimationEndReason$EnumUnboxingSharedUtility;->values(I)[I -HSPLandroidx/compose/animation/core/AnimationResult;->(Landroidx/compose/animation/core/AnimationState;I)V -HSPLandroidx/compose/animation/core/AnimationScope;->(Ljava/lang/Object;Landroidx/compose/animation/core/TwoWayConverter;Landroidx/compose/animation/core/AnimationVector;JLjava/lang/Object;JLkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/animation/core/AnimationScope;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/AnimationScope;->isRunning()Z -HSPLandroidx/compose/animation/core/AnimationState;->(Landroidx/compose/animation/core/TwoWayConverter;Ljava/lang/Object;Landroidx/compose/animation/core/AnimationVector;I)V -HSPLandroidx/compose/animation/core/AnimationState;->(Landroidx/compose/animation/core/TwoWayConverter;Ljava/lang/Object;Landroidx/compose/animation/core/AnimationVector;JJZ)V -HSPLandroidx/compose/animation/core/AnimationState;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/AnimationVector1D;->(F)V -HSPLandroidx/compose/animation/core/AnimationVector1D;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/animation/core/AnimationVector1D;->get$animation_core_release(I)F -HSPLandroidx/compose/animation/core/AnimationVector1D;->getSize$animation_core_release()I -HSPLandroidx/compose/animation/core/AnimationVector1D;->newVector$animation_core_release()Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/AnimationVector1D;->reset$animation_core_release()V -HSPLandroidx/compose/animation/core/AnimationVector1D;->set$animation_core_release(IF)V -HSPLandroidx/compose/animation/core/AnimationVector2D;->(FF)V -HSPLandroidx/compose/animation/core/AnimationVector2D;->getSize$animation_core_release()I -HSPLandroidx/compose/animation/core/AnimationVector2D;->newVector$animation_core_release()Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/AnimationVector2D;->set$animation_core_release(IF)V -HSPLandroidx/compose/animation/core/AnimationVector4D;->(FFFF)V -HSPLandroidx/compose/animation/core/AnimationVector4D;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/animation/core/AnimationVector4D;->get$animation_core_release(I)F -HSPLandroidx/compose/animation/core/AnimationVector4D;->getSize$animation_core_release()I -HSPLandroidx/compose/animation/core/AnimationVector4D;->newVector$animation_core_release()Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/AnimationVector4D;->reset$animation_core_release()V -HSPLandroidx/compose/animation/core/AnimationVector4D;->set$animation_core_release(IF)V -HSPLandroidx/compose/animation/core/AnimationVector;->()V -HSPLandroidx/compose/animation/core/ComplexDouble;->(DD)V -HSPLandroidx/compose/animation/core/ComplexDoubleKt;->complexSqrt(D)Landroidx/compose/animation/core/ComplexDouble; -HSPLandroidx/compose/animation/core/CubicBezierEasing;->(FF)V -HSPLandroidx/compose/animation/core/CubicBezierEasing;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/animation/core/CubicBezierEasing;->transform(F)F -HSPLandroidx/compose/animation/core/DecayAnimationSpecImpl;->(Landroidx/compose/animation/SplineBasedFloatDecayAnimationSpec;)V -HSPLandroidx/compose/animation/core/EasingKt$LinearEasing$1;->()V -HSPLandroidx/compose/animation/core/EasingKt$LinearEasing$1;->()V -HSPLandroidx/compose/animation/core/EasingKt;->()V -HSPLandroidx/compose/animation/core/FloatSpringSpec;->(FFF)V -HSPLandroidx/compose/animation/core/FloatSpringSpec;->(FFI)V -HSPLandroidx/compose/animation/core/FloatSpringSpec;->getDurationNanos(FFF)J -HSPLandroidx/compose/animation/core/FloatSpringSpec;->getEndVelocity(FFF)F -HSPLandroidx/compose/animation/core/FloatSpringSpec;->getValueFromNanos(JFFF)F -HSPLandroidx/compose/animation/core/FloatSpringSpec;->getVelocityFromNanos(JFFF)F -HSPLandroidx/compose/animation/core/FloatTweenSpec;->(IILandroidx/compose/animation/core/Easing;)V -HSPLandroidx/compose/animation/core/FloatTweenSpec;->getValueFromNanos(JFFF)F -HSPLandroidx/compose/animation/core/FloatTweenSpec;->getVelocityFromNanos(JFFF)F -HSPLandroidx/compose/animation/core/MutableTransitionState;->(Ljava/lang/Object;)V -HSPLandroidx/compose/animation/core/MutatorMutex$Mutator;->(ILkotlinx/coroutines/Job;)V -HSPLandroidx/compose/animation/core/MutatorMutex$mutate$2;->(ILandroidx/compose/animation/core/MutatorMutex;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/animation/core/MutatorMutex$mutate$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/animation/core/MutatorMutex$mutate$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/MutatorMutex$mutate$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/MutatorMutex;->()V -HSPLandroidx/compose/animation/core/SpringSimulation;->()V -HSPLandroidx/compose/animation/core/SpringSimulation;->updateValues-IJZedt4$animation_core_release(FFJ)J -HSPLandroidx/compose/animation/core/SpringSpec;->(FFLjava/lang/Object;)V -HSPLandroidx/compose/animation/core/SpringSpec;->(Ljava/lang/Object;I)V -HSPLandroidx/compose/animation/core/SpringSpec;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/animation/core/SpringSpec;->vectorize(Landroidx/compose/animation/core/TwoWayConverter;)Landroidx/compose/animation/core/VectorizedAnimationSpec; -HSPLandroidx/compose/animation/core/SuspendAnimationKt$animate$4;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/animation/core/SuspendAnimationKt$animate$4;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/SuspendAnimationKt$animate$6$1;->(Landroidx/compose/animation/core/AnimationState;)V -HSPLandroidx/compose/animation/core/SuspendAnimationKt$animate$6;->(Lkotlin/jvm/internal/Ref$ObjectRef;Ljava/lang/Object;Landroidx/compose/animation/core/Animation;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationState;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/animation/core/SuspendAnimationKt$animate$6;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/SuspendAnimationKt$animate$9;->(Lkotlin/jvm/internal/Ref$ObjectRef;Landroidx/compose/animation/core/Animation;Landroidx/compose/animation/core/AnimationState;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/animation/core/SuspendAnimationKt$animate$9;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/SuspendAnimationKt$callWithFrameNanos$2;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/animation/core/SuspendAnimationKt$callWithFrameNanos$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/SuspendAnimationKt;->animate(Landroidx/compose/animation/core/AnimationState;Landroidx/compose/animation/core/Animation;JLkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/SuspendAnimationKt;->doAnimationFrame(Landroidx/compose/animation/core/AnimationScope;JLandroidx/compose/animation/core/Animation;Landroidx/compose/animation/core/AnimationState;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/animation/core/SuspendAnimationKt;->updateState(Landroidx/compose/animation/core/AnimationScope;Landroidx/compose/animation/core/AnimationState;)V -HSPLandroidx/compose/animation/core/TargetBasedAnimation;->(Landroidx/compose/animation/core/AnimationSpec;Landroidx/compose/animation/core/TwoWayConverter;Ljava/lang/Object;Ljava/lang/Object;Landroidx/compose/animation/core/AnimationVector;)V -HSPLandroidx/compose/animation/core/TargetBasedAnimation;->getDurationNanos()J -HSPLandroidx/compose/animation/core/TargetBasedAnimation;->getTargetValue()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/TargetBasedAnimation;->getTypeConverter()Landroidx/compose/animation/core/TwoWayConverter; -HSPLandroidx/compose/animation/core/TargetBasedAnimation;->getValueFromNanos(J)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/TargetBasedAnimation;->getVelocityVectorFromNanos(J)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/TargetBasedAnimation;->isFinishedFromNanos(J)Z -HSPLandroidx/compose/animation/core/TargetBasedAnimation;->isInfinite()Z -HSPLandroidx/compose/animation/core/Transition$SegmentImpl;->(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLandroidx/compose/animation/core/Transition$TransitionAnimationState;->(Landroidx/compose/animation/core/Transition;Ljava/lang/Object;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/TwoWayConverter;Ljava/lang/String;)V -HSPLandroidx/compose/animation/core/Transition$TransitionAnimationState;->getAnimationSpec()Landroidx/compose/animation/core/FiniteAnimationSpec; -HSPLandroidx/compose/animation/core/Transition$TransitionAnimationState;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Transition$TransitionAnimationState;->updateTargetValue$animation_core_release(Ljava/lang/Object;Landroidx/compose/animation/core/FiniteAnimationSpec;)V -HSPLandroidx/compose/animation/core/Transition$animateTo$1$1$1;->(Landroidx/compose/animation/core/Transition;)V -HSPLandroidx/compose/animation/core/Transition$animateTo$1$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Transition$animateTo$1$1;->(Landroidx/compose/animation/core/Transition;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/animation/core/Transition$animateTo$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/animation/core/Transition$animateTo$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Transition$animateTo$2;->(Landroidx/compose/animation/core/Transition;Ljava/lang/Object;I)V -HSPLandroidx/compose/animation/core/Transition$totalDurationNanos$2;->(Landroidx/compose/animation/core/Transition;)V -HSPLandroidx/compose/animation/core/Transition$updateTarget$2;->(Landroidx/compose/animation/core/Transition;Ljava/lang/Object;I)V -HSPLandroidx/compose/animation/core/Transition;->(Landroidx/compose/animation/core/MutableTransitionState;Ljava/lang/String;)V -HSPLandroidx/compose/animation/core/Transition;->animateTo$animation_core_release(Ljava/lang/Object;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/animation/core/Transition;->getCurrentState()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Transition;->getSegment()Landroidx/compose/animation/core/Transition$Segment; -HSPLandroidx/compose/animation/core/Transition;->getTargetState()Ljava/lang/Object; -HSPLandroidx/compose/animation/core/Transition;->isSeeking()Z -HSPLandroidx/compose/animation/core/Transition;->onFrame$animation_core_release(J)V -HSPLandroidx/compose/animation/core/Transition;->onTransitionEnd$animation_core_release()V -HSPLandroidx/compose/animation/core/Transition;->updateTarget$animation_core_release(Ljava/lang/Object;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/animation/core/TransitionKt$createTransitionAnimation$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/animation/core/Transition;Landroidx/compose/animation/core/Transition$TransitionAnimationState;)V -HSPLandroidx/compose/animation/core/TransitionKt$createTransitionAnimation$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/animation/core/TransitionKt$createTransitionAnimation$1;->(Landroidx/compose/animation/core/Transition;Landroidx/compose/animation/core/Transition$TransitionAnimationState;)V -HSPLandroidx/compose/animation/core/TransitionKt$createTransitionAnimation$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/TransitionKt$updateTransition$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/animation/core/Transition;)V -HSPLandroidx/compose/animation/core/TransitionKt$updateTransition$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/animation/core/TransitionKt$updateTransition$1;->(Landroidx/compose/animation/core/Transition;)V -HSPLandroidx/compose/animation/core/TransitionKt$updateTransition$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/TransitionKt;->createTransitionAnimation(Landroidx/compose/animation/core/Transition;Ljava/lang/Object;Ljava/lang/Object;Landroidx/compose/animation/core/FiniteAnimationSpec;Landroidx/compose/animation/core/TwoWayConverterImpl;Ljava/lang/String;Landroidx/compose/runtime/Composer;)Landroidx/compose/animation/core/Transition$TransitionAnimationState; -HSPLandroidx/compose/animation/core/TransitionKt;->updateTransition(Ljava/lang/Object;Ljava/lang/String;Landroidx/compose/runtime/Composer;II)Landroidx/compose/animation/core/Transition; -HSPLandroidx/compose/animation/core/TweenSpec;->(IILandroidx/compose/animation/core/Easing;)V -HSPLandroidx/compose/animation/core/TweenSpec;->(ILandroidx/compose/animation/core/Easing;I)V -HSPLandroidx/compose/animation/core/TweenSpec;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/animation/core/TweenSpec;->vectorize(Landroidx/compose/animation/core/TwoWayConverter;)Landroidx/compose/animation/core/VectorizedAnimationSpec; -HSPLandroidx/compose/animation/core/TwoWayConverterImpl;->(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/animation/core/TwoWayConverterImpl;->getConvertFromVector()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/animation/core/TwoWayConverterImpl;->getConvertToVector()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpOffsetToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpOffsetToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpOffsetToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpOffsetToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpToVector$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$DpToVector$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/VectorConvertersKt$FloatToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$FloatToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$FloatToVector$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/VectorConvertersKt$FloatToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$FloatToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$FloatToVector$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntOffsetToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntOffsetToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntOffsetToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntOffsetToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntSizeToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntSizeToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntSizeToVector$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntSizeToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntSizeToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$IntToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$OffsetToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$OffsetToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$OffsetToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$OffsetToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$RectToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$RectToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$RectToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$RectToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$SizeToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$SizeToVector$1;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$SizeToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt$SizeToVector$2;->()V -HSPLandroidx/compose/animation/core/VectorConvertersKt;->()V -HSPLandroidx/compose/animation/core/VectorizedAnimationSpec$DefaultImpls;->getEndVelocity(Landroidx/compose/animation/core/VectorizedAnimationSpec;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedAnimationSpecKt$createSpringAnimations$2;->(FF)V -HSPLandroidx/compose/animation/core/VectorizedAnimationSpecKt$createSpringAnimations$2;->get(I)Landroidx/compose/animation/core/FloatAnimationSpec; -HSPLandroidx/compose/animation/core/VectorizedDurationBasedAnimationSpec$DefaultImpls;->getDurationNanos(Landroidx/compose/animation/core/VectorizedDurationBasedAnimationSpec;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)J -HSPLandroidx/compose/animation/core/VectorizedDurationBasedAnimationSpec$DefaultImpls;->getEndVelocity(Landroidx/compose/animation/core/VectorizedDurationBasedAnimationSpec;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedFloatAnimationSpec$1;->(Landroidx/compose/animation/core/FloatAnimationSpec;)V -HSPLandroidx/compose/animation/core/VectorizedFloatAnimationSpec$1;->get(I)Landroidx/compose/animation/core/FloatAnimationSpec; -HSPLandroidx/compose/animation/core/VectorizedFloatAnimationSpec;->(Landroidx/compose/animation/core/Animations;)V -HSPLandroidx/compose/animation/core/VectorizedFloatAnimationSpec;->(Landroidx/compose/animation/core/FloatAnimationSpec;)V -HSPLandroidx/compose/animation/core/VectorizedFloatAnimationSpec;->getDurationNanos(Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)J -HSPLandroidx/compose/animation/core/VectorizedFloatAnimationSpec;->getEndVelocity(Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedFloatAnimationSpec;->getValueFromNanos(JLandroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedFloatAnimationSpec;->getVelocityFromNanos(JLandroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedSpringSpec;->(FFLandroidx/compose/animation/core/AnimationVector;)V -HSPLandroidx/compose/animation/core/VectorizedSpringSpec;->getDurationNanos(Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)J -HSPLandroidx/compose/animation/core/VectorizedSpringSpec;->getEndVelocity(Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedSpringSpec;->getValueFromNanos(JLandroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedSpringSpec;->getVelocityFromNanos(JLandroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedSpringSpec;->isInfinite()Z -HSPLandroidx/compose/animation/core/VectorizedTweenSpec;->(IILandroidx/compose/animation/core/Easing;)V -HSPLandroidx/compose/animation/core/VectorizedTweenSpec;->getDelayMillis()I -HSPLandroidx/compose/animation/core/VectorizedTweenSpec;->getDurationMillis()I -HSPLandroidx/compose/animation/core/VectorizedTweenSpec;->getDurationNanos(Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)J -HSPLandroidx/compose/animation/core/VectorizedTweenSpec;->getEndVelocity(Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedTweenSpec;->getValueFromNanos(JLandroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedTweenSpec;->getVelocityFromNanos(JLandroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLandroidx/compose/animation/core/VectorizedTweenSpec;->isInfinite()Z -HSPLandroidx/compose/animation/core/VisibilityThresholdsKt;->()V -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1$1;->(Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1;->(Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1;->(Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$onNewSize$1;->(Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;)V -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$onNewSize$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;->(Landroid/content/Context;Landroidx/compose/foundation/OverscrollConfiguration;)V -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;->animateToRelease()V -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;->getEffectModifier()Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;->invalidateOverscroll()V -HSPLandroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;->setEnabled(Z)V -HSPLandroidx/compose/foundation/AndroidOverscrollKt$NoOpOverscrollEffect$1;->()V -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1$1;->(Landroidx/compose/ui/layout/Placeable;I)V -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1;->()V -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1;->()V -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2$1;->(Landroidx/compose/ui/layout/Placeable;I)V -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2;->()V -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2;->()V -HSPLandroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/AndroidOverscrollKt;->()V -HSPLandroidx/compose/foundation/Api31Impl$$ExternalSyntheticApiModelOutline1;->m(Landroid/widget/EdgeEffect;)F -HSPLandroidx/compose/foundation/Api31Impl;->()V -HSPLandroidx/compose/foundation/Api31Impl;->()V -HSPLandroidx/compose/foundation/Api31Impl;->create(Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/widget/EdgeEffect; -HSPLandroidx/compose/foundation/Api31Impl;->getDistance(Landroid/widget/EdgeEffect;)F -HSPLandroidx/compose/foundation/Background;->(Landroidx/compose/ui/graphics/Color;Landroidx/compose/ui/graphics/Shape;)V -HSPLandroidx/compose/foundation/Background;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/Background;->draw(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLandroidx/compose/foundation/Background;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/Background;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/Background;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/BackgroundKt;->background-bw27NRU$default(Landroidx/compose/ui/Modifier;J)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/BackgroundKt;->background-bw27NRU(Landroidx/compose/ui/Modifier;JLandroidx/compose/ui/graphics/Shape;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/CanvasKt$Canvas$1;->(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;I)V -HSPLandroidx/compose/foundation/CanvasKt;->Canvas(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/ClickableKt$PressedInteractionSourceDisposableEffect$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/MutableState;Ljava/util/Map;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/ClickableKt$PressedInteractionSourceDisposableEffect$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/ClickableKt$PressedInteractionSourceDisposableEffect$1;->(Landroidx/compose/runtime/MutableState;Ljava/util/Map;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/ClickableKt$PressedInteractionSourceDisposableEffect$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/ClickableKt$PressedInteractionSourceDisposableEffect$2;->(Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/MutableState;Ljava/util/Map;I)V -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$1$1;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$1$1;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$1$1;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$1$1;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$1$1;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$delayPressInteraction$1$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/Clickable_androidKt$isComposeRootInScrollableContainer$1;)V -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1$1;->(ZLandroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/State;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1$2;->(Landroidx/compose/runtime/State;Z)V -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1;->(Landroidx/compose/runtime/MutableState;ZLandroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/State;Landroidx/compose/runtime/State;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/ClickableKt$clickable$4;->(Landroidx/compose/foundation/Indication;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/ui/semantics/Role;Ljava/lang/String;Lkotlin/jvm/functions/Function0;Z)V -HSPLandroidx/compose/foundation/ClickableKt$clickable$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/ClickableKt$genericClickableWithoutGesture$clickSemantics$1$1;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/foundation/ClickableKt$genericClickableWithoutGesture$clickSemantics$1;->(Landroidx/compose/ui/semantics/Role;Ljava/lang/String;ZLkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/foundation/ClickableKt$genericClickableWithoutGesture$clickSemantics$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/ClickableKt$genericClickableWithoutGesture$detectPressAndClickFromKey$1;->(ZLjava/util/Map;Landroidx/compose/runtime/MutableState;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function0;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/ClickableKt;->PressedInteractionSourceDisposableEffect(Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/MutableState;Ljava/util/Map;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/ClickableKt;->clickable-O2vRcR0$default(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/foundation/Indication;ZLandroidx/compose/ui/semantics/Role;Lkotlin/jvm/functions/Function0;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/ClickableKt;->clickable-O2vRcR0(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/foundation/Indication;ZLjava/lang/String;Landroidx/compose/ui/semantics/Role;Lkotlin/jvm/functions/Function0;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/Clickable_androidKt$isComposeRootInScrollableContainer$1;->(Landroid/view/View;)V -HSPLandroidx/compose/foundation/Clickable_androidKt;->()V -HSPLandroidx/compose/foundation/ClipScrollableContainerKt$HorizontalScrollableClipModifier$1;->()V -HSPLandroidx/compose/foundation/ClipScrollableContainerKt$VerticalScrollableClipModifier$1;->()V -HSPLandroidx/compose/foundation/ClipScrollableContainerKt$VerticalScrollableClipModifier$1;->createOutline-Pq9zytI(JLandroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/unit/Density;)Landroidx/compose/ui/graphics/Outline; -HSPLandroidx/compose/foundation/ClipScrollableContainerKt;->()V -HSPLandroidx/compose/foundation/DrawOverscrollModifier;->(Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect;)V -HSPLandroidx/compose/foundation/DrawOverscrollModifier;->draw(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLandroidx/compose/foundation/DrawOverscrollModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/DrawOverscrollModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/EdgeEffectCompat;->create(Landroid/content/Context;)Landroid/widget/EdgeEffect; -HSPLandroidx/compose/foundation/EdgeEffectCompat;->getDistanceCompat(Landroid/widget/EdgeEffect;)F -HSPLandroidx/compose/foundation/FocusableKt$focusGroup$1;->()V -HSPLandroidx/compose/foundation/FocusableKt$focusGroup$1;->()V -HSPLandroidx/compose/foundation/FocusableKt$focusGroup$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$1$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$1$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$1$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$2$invoke$$inlined$onDispose$1;->()V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$2$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$2;->(ZLkotlinx/coroutines/CoroutineScope;Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$3$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/ui/focus/FocusRequester;)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$3;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/ui/focus/FocusRequester;)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$3;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$4$1;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$4$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$5$3;->(Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/MutableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$5$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$5$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$5;->(Lkotlinx/coroutines/CoroutineScope;Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/relocation/BringIntoViewRequester;Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2$5;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusable$2;->(Landroidx/compose/foundation/interaction/MutableInteractionSource;Z)V -HSPLandroidx/compose/foundation/FocusableKt$focusable$2;->invoke$lambda-5(Landroidx/compose/runtime/MutableState;)Z -HSPLandroidx/compose/foundation/FocusableKt$focusable$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusableInNonTouchMode$2$1;->(Landroidx/compose/ui/input/InputModeManager;)V -HSPLandroidx/compose/foundation/FocusableKt$focusableInNonTouchMode$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt$focusableInNonTouchMode$2;->(Landroidx/compose/foundation/interaction/MutableInteractionSource;Z)V -HSPLandroidx/compose/foundation/FocusableKt$focusableInNonTouchMode$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusableKt;->()V -HSPLandroidx/compose/foundation/FocusedBoundsKt$ModifierLocalFocusedBoundsObserver$1;->()V -HSPLandroidx/compose/foundation/FocusedBoundsKt$ModifierLocalFocusedBoundsObserver$1;->()V -HSPLandroidx/compose/foundation/FocusedBoundsKt$ModifierLocalFocusedBoundsObserver$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusedBoundsKt$onFocusedBoundsChanged$2;->(Landroidx/compose/foundation/gestures/ContentInViewModifier$modifier$1;)V -HSPLandroidx/compose/foundation/FocusedBoundsKt$onFocusedBoundsChanged$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/FocusedBoundsKt;->()V -HSPLandroidx/compose/foundation/FocusedBoundsObserverModifier;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/foundation/FocusedBoundsObserverModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/FocusedBoundsObserverModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/foundation/FocusedBoundsObserverModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$1$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$1$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$1$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$2$1;->(ZLandroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$2$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$3$1;->(Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineScope;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/MutableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$3$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$3$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$3;->(Lkotlinx/coroutines/CoroutineScope;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/MutableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2;->(Landroidx/compose/foundation/interaction/MutableInteractionSource;Z)V -HSPLandroidx/compose/foundation/HoverableKt$hoverable$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/ImageKt$$ExternalSyntheticOutline0;->m(Landroidx/compose/runtime/ComposerImpl;Landroidx/compose/ui/platform/ViewConfiguration;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetViewConfiguration$1;Landroidx/compose/runtime/ComposerImpl;)Landroidx/compose/runtime/SkippableUpdater; -HSPLandroidx/compose/foundation/IndicationKt$LocalIndication$1;->()V -HSPLandroidx/compose/foundation/IndicationKt$LocalIndication$1;->()V -HSPLandroidx/compose/foundation/IndicationKt$indication$2;->(Landroidx/compose/foundation/Indication;Landroidx/compose/foundation/interaction/InteractionSource;)V -HSPLandroidx/compose/foundation/IndicationKt$indication$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/IndicationKt;->()V -HSPLandroidx/compose/foundation/IndicationKt;->indication(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/InteractionSource;Landroidx/compose/foundation/Indication;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/IndicationModifier;->(Landroidx/compose/foundation/IndicationInstance;)V -HSPLandroidx/compose/foundation/IndicationModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/IndicationModifier;->draw(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLandroidx/compose/foundation/MutatePriority;->()V -HSPLandroidx/compose/foundation/MutatePriority;->(ILjava/lang/String;)V -HSPLandroidx/compose/foundation/MutatorMutex$Mutator;->(Landroidx/compose/foundation/MutatePriority;Lkotlinx/coroutines/Job;)V -HSPLandroidx/compose/foundation/MutatorMutex$mutateWith$2;->(Landroidx/compose/foundation/MutatePriority;Landroidx/compose/foundation/MutatorMutex;Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/MutatorMutex$mutateWith$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/MutatorMutex$mutateWith$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/MutatorMutex$mutateWith$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/MutatorMutex;->()V -HSPLandroidx/compose/foundation/MutatorMutex;->access$tryMutateOrCancel(Landroidx/compose/foundation/MutatorMutex;Landroidx/compose/foundation/MutatorMutex$Mutator;)V -HSPLandroidx/compose/foundation/NoIndication$NoIndicationInstance;->()V -HSPLandroidx/compose/foundation/NoIndication$NoIndicationInstance;->()V -HSPLandroidx/compose/foundation/NoIndication$NoIndicationInstance;->drawIndication(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLandroidx/compose/foundation/NoIndication;->()V -HSPLandroidx/compose/foundation/NoIndication;->()V -HSPLandroidx/compose/foundation/NoIndication;->rememberUpdatedInstance(Landroidx/compose/foundation/interaction/InteractionSource;Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/IndicationInstance; -HSPLandroidx/compose/foundation/OverscrollConfiguration;->()V -HSPLandroidx/compose/foundation/OverscrollConfiguration;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/OverscrollConfigurationKt$LocalOverscrollConfiguration$1;->()V -HSPLandroidx/compose/foundation/OverscrollConfigurationKt$LocalOverscrollConfiguration$1;->()V -HSPLandroidx/compose/foundation/OverscrollConfigurationKt$LocalOverscrollConfiguration$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/OverscrollConfigurationKt;->()V -HSPLandroidx/compose/foundation/PinnableParentConsumer;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/foundation/PinnableParentConsumer;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/PinnableParentConsumer;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/PinnableParentConsumer;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/PinnableParentConsumer;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/foundation/gestures/AndroidConfig;->()V -HSPLandroidx/compose/foundation/gestures/AndroidConfig;->()V -HSPLandroidx/compose/foundation/gestures/ContentInViewModifier$modifier$1;->(Landroidx/compose/foundation/gestures/ContentInViewModifier;)V -HSPLandroidx/compose/foundation/gestures/ContentInViewModifier;->(Lkotlinx/coroutines/CoroutineScope;Landroidx/compose/foundation/gestures/Orientation;Landroidx/compose/foundation/gestures/ScrollableState;Z)V -HSPLandroidx/compose/foundation/gestures/ContentInViewModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ContentInViewModifier;->onPlaced(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/foundation/gestures/ContentInViewModifier;->onRemeasured-ozmzZPI(J)V -HSPLandroidx/compose/foundation/gestures/ContentInViewModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/gestures/DefaultDraggableState$drag$2;->(Landroidx/compose/foundation/gestures/DefaultDraggableState;Landroidx/compose/foundation/MutatePriority;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DefaultDraggableState$drag$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/DefaultDraggableState$drag$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DefaultDraggableState$drag$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DefaultDraggableState$dragScope$1;->(Landroidx/compose/foundation/gestures/DefaultDraggableState;)V -HSPLandroidx/compose/foundation/gestures/DefaultDraggableState$dragScope$1;->dragBy(F)V -HSPLandroidx/compose/foundation/gestures/DefaultDraggableState;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/foundation/gestures/DefaultDraggableState;->drag(Landroidx/compose/foundation/MutatePriority;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DefaultFlingBehavior;->(Landroidx/compose/animation/core/DecayAnimationSpec;)V -HSPLandroidx/compose/foundation/gestures/DefaultScrollableState$scrollScope$1;->(Landroidx/compose/foundation/gestures/DefaultScrollableState;)V -HSPLandroidx/compose/foundation/gestures/DefaultScrollableState;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/foundation/gestures/DragLogic;->(Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$awaitDownAndSlop$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$awaitDownAndSlop$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$3;->()V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$3;->()V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$4;->(Z)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$5;->(Lkotlin/jvm/functions/Function3;Landroidx/compose/foundation/gestures/Orientation;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$6;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$1$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$1$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$1$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/interaction/MutableInteractionSource;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$2;->(Lkotlinx/coroutines/channels/Channel;Landroidx/compose/foundation/gestures/DraggableState;Landroidx/compose/runtime/State;Landroidx/compose/foundation/gestures/Orientation;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1$1;->(Lkotlinx/coroutines/CoroutineScope;Landroidx/compose/runtime/State;Landroidx/compose/runtime/State;Landroidx/compose/foundation/gestures/Orientation;Lkotlinx/coroutines/channels/Channel;ZLkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1;->(Landroidx/compose/ui/input/pointer/PointerInputScope;Landroidx/compose/runtime/State;Landroidx/compose/runtime/State;Landroidx/compose/foundation/gestures/Orientation;Lkotlinx/coroutines/channels/Channel;ZLkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3;->(ZLandroidx/compose/runtime/State;Landroidx/compose/runtime/State;Landroidx/compose/foundation/gestures/Orientation;Lkotlinx/coroutines/channels/Channel;ZLkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9;->(Landroidx/compose/foundation/gestures/DraggableState;Landroidx/compose/foundation/gestures/Orientation;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;ZZ)V -HSPLandroidx/compose/foundation/gestures/DraggableKt$draggable$9;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/DraggableKt;->access$awaitDownAndSlop(Landroidx/compose/ui/input/pointer/AwaitPointerEventScope;Landroidx/compose/runtime/State;Landroidx/compose/runtime/State;Landroidx/compose/ui/input/pointer/util/VelocityTracker;Landroidx/compose/foundation/gestures/Orientation;Lkotlin/coroutines/Continuation;)Ljava/io/Serializable; -HSPLandroidx/compose/foundation/gestures/DraggableKt;->draggable$default(Landroidx/compose/foundation/gestures/DraggableState;Landroidx/compose/foundation/gestures/Orientation;ZLandroidx/compose/foundation/interaction/MutableInteractionSource;ZLkotlin/jvm/functions/Function3;ZI)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/gestures/DraggableKt;->draggable(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/gestures/DraggableState;Lkotlin/jvm/functions/Function1;Landroidx/compose/foundation/gestures/Orientation;ZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Z)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/gestures/ForEachGestureKt$forEachGesture$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/ForEachGestureKt$forEachGesture$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ForEachGestureKt;->forEachGesture(Landroidx/compose/ui/input/pointer/PointerInputScope;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ModifierLocalScrollableContainerProvider;->()V -HSPLandroidx/compose/foundation/gestures/ModifierLocalScrollableContainerProvider;->()V -HSPLandroidx/compose/foundation/gestures/ModifierLocalScrollableContainerProvider;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ModifierLocalScrollableContainerProvider;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/foundation/gestures/Orientation;->()V -HSPLandroidx/compose/foundation/gestures/Orientation;->(ILjava/lang/String;)V -HSPLandroidx/compose/foundation/gestures/PressGestureScopeImpl;->(Landroidx/compose/ui/input/pointer/PointerInputScope;)V -HSPLandroidx/compose/foundation/gestures/ScrollDraggableState;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/foundation/gestures/ScrollableDefaults;->overscrollEffect(Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/OverscrollEffect; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$ModifierLocalScrollableContainer$1;->()V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$ModifierLocalScrollableContainer$1;->()V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$ModifierLocalScrollableContainer$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$NoOpScrollScope$1;->()V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$awaitScrollEvent$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$awaitScrollEvent$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1$1;->(Landroidx/compose/foundation/gestures/ScrollConfig;Landroidx/compose/runtime/State;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1;->(Landroidx/compose/foundation/gestures/ScrollConfig;Landroidx/compose/runtime/State;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$pointerScrollable$1;->()V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$pointerScrollable$1;->()V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$pointerScrollable$2$1;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$pointerScrollable$3$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/State;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$scrollable$2;->(Landroidx/compose/foundation/OverscrollEffect;Landroidx/compose/foundation/gestures/FlingBehavior;Landroidx/compose/foundation/gestures/Orientation;Landroidx/compose/foundation/gestures/ScrollableState;Landroidx/compose/foundation/interaction/MutableInteractionSourceImpl;ZZ)V -HSPLandroidx/compose/foundation/gestures/ScrollableKt$scrollable$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ScrollableKt$scrollableNestedScrollConnection$1;->(Landroidx/compose/runtime/MutableState;Z)V -HSPLandroidx/compose/foundation/gestures/ScrollableKt;->()V -HSPLandroidx/compose/foundation/gestures/ScrollableKt;->access$awaitScrollEvent(Landroidx/compose/ui/input/pointer/AwaitPointerEventScope;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/ScrollableKt;->scrollable(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/gestures/ScrollableState;Landroidx/compose/foundation/gestures/Orientation;Landroidx/compose/foundation/OverscrollEffect;ZZLandroidx/compose/foundation/gestures/FlingBehavior;Landroidx/compose/foundation/interaction/MutableInteractionSourceImpl;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/gestures/ScrollingLogic;->(Landroidx/compose/foundation/gestures/Orientation;ZLandroidx/compose/runtime/MutableState;Landroidx/compose/foundation/gestures/ScrollableState;Landroidx/compose/foundation/gestures/FlingBehavior;Landroidx/compose/foundation/OverscrollEffect;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$NoPressGesture$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$awaitFirstDownOnPass$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$awaitFirstDownOnPass$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1$1;->(Lkotlin/jvm/functions/Function3;Lkotlinx/coroutines/CoroutineScope;Landroidx/compose/foundation/gestures/PressGestureScopeImpl;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1;->(Landroidx/compose/foundation/gestures/PressGestureScopeImpl;Landroidx/compose/ui/input/pointer/PointerInputScope;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2;->(Landroidx/compose/foundation/gestures/PressGestureScopeImpl;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1$1;->(Landroidx/compose/foundation/gestures/PressGestureScopeImpl;Lkotlin/jvm/functions/Function3;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1;->(Landroidx/compose/foundation/gestures/PressGestureScopeImpl;Lkotlin/jvm/functions/Function3;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2;->(Landroidx/compose/ui/input/pointer/PointerInputScope;Lkotlin/coroutines/Continuation;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt;->()V -HSPLandroidx/compose/foundation/gestures/TapGestureDetectorKt;->awaitFirstDownOnPass(Landroidx/compose/ui/input/pointer/AwaitPointerEventScope;Landroidx/compose/ui/input/pointer/PointerEventPass;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/interaction/MutableInteractionSourceImpl;->()V -HSPLandroidx/compose/foundation/interaction/MutableInteractionSourceImpl;->getInteractions()Lkotlinx/coroutines/flow/Flow; -HSPLandroidx/compose/foundation/interaction/PressInteraction$Press;->(J)V -HSPLandroidx/compose/foundation/layout/AddedInsets;->(Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/foundation/layout/WindowInsets;)V -HSPLandroidx/compose/foundation/layout/AddedInsets;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/AddedInsets;->getBottom(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/AddedInsets;->getLeft(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/AddedInsets;->getRight(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/AddedInsets;->getTop(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/AndroidWindowInsets;->(ILjava/lang/String;)V -HSPLandroidx/compose/foundation/layout/AndroidWindowInsets;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/AndroidWindowInsets;->getBottom(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/AndroidWindowInsets;->getInsets$foundation_layout_release()Landroidx/core/graphics/Insets; -HSPLandroidx/compose/foundation/layout/AndroidWindowInsets;->getLeft(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/AndroidWindowInsets;->getRight(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/AndroidWindowInsets;->getTop(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/AndroidWindowInsets;->update$foundation_layout_release(Landroidx/core/view/WindowInsetsCompat;I)V -HSPLandroidx/compose/foundation/layout/Arrangement$Bottom$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$Bottom$1;->arrange(Landroidx/compose/ui/unit/Density;I[I[I)V -HSPLandroidx/compose/foundation/layout/Arrangement$Center$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$Center$1;->arrange(ILandroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;[I[I)V -HSPLandroidx/compose/foundation/layout/Arrangement$Center$1;->arrange(Landroidx/compose/ui/unit/Density;I[I[I)V -HSPLandroidx/compose/foundation/layout/Arrangement$Center$1;->getSpacing-D9Ej5fM()F -HSPLandroidx/compose/foundation/layout/Arrangement$End$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$End$1;->arrange(ILandroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;[I[I)V -HSPLandroidx/compose/foundation/layout/Arrangement$End$1;->getSpacing-D9Ej5fM()F -HSPLandroidx/compose/foundation/layout/Arrangement$SpaceAround$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$SpaceBetween$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$SpaceEvenly$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$SpacedAligned;->(FZLkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/foundation/layout/Arrangement$SpacedAligned;->arrange(ILandroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;[I[I)V -HSPLandroidx/compose/foundation/layout/Arrangement$SpacedAligned;->arrange(Landroidx/compose/ui/unit/Density;I[I[I)V -HSPLandroidx/compose/foundation/layout/Arrangement$SpacedAligned;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/Arrangement$SpacedAligned;->getSpacing-D9Ej5fM()F -HSPLandroidx/compose/foundation/layout/Arrangement$Start$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$Start$1;->arrange(ILandroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;[I[I)V -HSPLandroidx/compose/foundation/layout/Arrangement$Top$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$Top$1;->arrange(Landroidx/compose/ui/unit/Density;I[I[I)V -HSPLandroidx/compose/foundation/layout/Arrangement$Top$1;->getSpacing-D9Ej5fM()F -HSPLandroidx/compose/foundation/layout/Arrangement$spacedBy$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$spacedBy$1;->()V -HSPLandroidx/compose/foundation/layout/Arrangement$spacedBy$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/Arrangement$spacedBy$2;->(Landroidx/compose/ui/Alignment$Horizontal;)V -HSPLandroidx/compose/foundation/layout/Arrangement;->()V -HSPLandroidx/compose/foundation/layout/Arrangement;->placeCenter$foundation_layout_release(I[I[IZ)V -HSPLandroidx/compose/foundation/layout/Arrangement;->placeLeftOrTop$foundation_layout_release([I[IZ)V -HSPLandroidx/compose/foundation/layout/Arrangement;->placeRightOrBottom$foundation_layout_release(I[I[IZ)V -HSPLandroidx/compose/foundation/layout/Arrangement;->spacedBy-0680j_4(F)Landroidx/compose/foundation/layout/Arrangement$SpacedAligned; -HSPLandroidx/compose/foundation/layout/Arrangement;->spacedBy-D5KLDUw(FLandroidx/compose/ui/Alignment$Horizontal;)Landroidx/compose/foundation/layout/Arrangement$SpacedAligned; -HSPLandroidx/compose/foundation/layout/BoxKt$Box$3;->(Landroidx/compose/ui/Modifier;I)V -HSPLandroidx/compose/foundation/layout/BoxKt$EmptyBoxMeasurePolicy$1$measure$1;->()V -HSPLandroidx/compose/foundation/layout/BoxKt$EmptyBoxMeasurePolicy$1$measure$1;->()V -HSPLandroidx/compose/foundation/layout/BoxKt$EmptyBoxMeasurePolicy$1$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/BoxKt$EmptyBoxMeasurePolicy$1;->()V -HSPLandroidx/compose/foundation/layout/BoxKt$EmptyBoxMeasurePolicy$1;->()V -HSPLandroidx/compose/foundation/layout/BoxKt$EmptyBoxMeasurePolicy$1;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$1;->()V -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$1;->()V -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$2;->(Landroidx/compose/ui/layout/Placeable;Landroidx/compose/ui/layout/Measurable;Landroidx/compose/ui/layout/MeasureScope;IILandroidx/compose/ui/Alignment;)V -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$5;->([Landroidx/compose/ui/layout/Placeable;Ljava/util/List;Landroidx/compose/ui/layout/MeasureScope;Lkotlin/jvm/internal/Ref$IntRef;Lkotlin/jvm/internal/Ref$IntRef;Landroidx/compose/ui/Alignment;)V -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$5;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1;->(Landroidx/compose/ui/Alignment;Z)V -HSPLandroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/BoxKt;->()V -HSPLandroidx/compose/foundation/layout/BoxKt;->Box(Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/layout/BoxKt;->access$placeInBox(Landroidx/compose/ui/layout/Placeable$PlacementScope;Landroidx/compose/ui/layout/Placeable;Landroidx/compose/ui/layout/Measurable;Landroidx/compose/ui/unit/LayoutDirection;IILandroidx/compose/ui/Alignment;)V -HSPLandroidx/compose/foundation/layout/BoxKt;->rememberBoxMeasurePolicy(Landroidx/compose/ui/Alignment;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/layout/MeasurePolicy; -HSPLandroidx/compose/foundation/layout/BoxScopeInstance;->()V -HSPLandroidx/compose/foundation/layout/BoxScopeInstance;->()V -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsKt$BoxWithConstraints$1$1$measurables$1;->(Lkotlin/jvm/functions/Function3;Landroidx/compose/foundation/layout/BoxWithConstraintsScopeImpl;I)V -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsKt$BoxWithConstraints$1$1$measurables$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsKt$BoxWithConstraints$1$1;->(Landroidx/compose/ui/layout/MeasurePolicy;Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsKt$BoxWithConstraints$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsKt$BoxWithConstraints$2;->(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Alignment;ZLkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsKt;->BoxWithConstraints(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Alignment;ZLkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsScopeImpl;->(Landroidx/compose/ui/unit/Density;J)V -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsScopeImpl;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/BoxWithConstraintsScopeImpl;->getConstraints-msEJaDk()J -HSPLandroidx/compose/foundation/layout/ColumnKt$DefaultColumnMeasurePolicy$1;->()V -HSPLandroidx/compose/foundation/layout/ColumnKt$DefaultColumnMeasurePolicy$1;->()V -HSPLandroidx/compose/foundation/layout/ColumnKt$DefaultColumnMeasurePolicy$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/io/Serializable;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/ColumnKt$columnMeasurePolicy$1$1;->(Landroidx/compose/foundation/layout/Arrangement$Vertical;)V -HSPLandroidx/compose/foundation/layout/ColumnKt$columnMeasurePolicy$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/io/Serializable;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/ColumnKt;->()V -HSPLandroidx/compose/foundation/layout/ColumnKt;->columnMeasurePolicy(Landroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/ui/BiasAlignment$Horizontal;Landroidx/compose/runtime/Composer;)Landroidx/compose/ui/layout/MeasurePolicy; -HSPLandroidx/compose/foundation/layout/ColumnScopeInstance;->()V -HSPLandroidx/compose/foundation/layout/ColumnScopeInstance;->()V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$CenterCrossAxisAlignment;->()V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$CenterCrossAxisAlignment;->()V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$EndCrossAxisAlignment;->()V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$EndCrossAxisAlignment;->()V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$HorizontalCrossAxisAlignment;->(Landroidx/compose/ui/Alignment$Horizontal;)V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$HorizontalCrossAxisAlignment;->align$foundation_layout_release(ILandroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/layout/Placeable;)I -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$StartCrossAxisAlignment;->()V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$StartCrossAxisAlignment;->()V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$VerticalCrossAxisAlignment;->(Landroidx/compose/ui/Alignment$Vertical;)V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment$VerticalCrossAxisAlignment;->align$foundation_layout_release(ILandroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/layout/Placeable;)I -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment;->()V -HSPLandroidx/compose/foundation/layout/CrossAxisAlignment;->()V -HSPLandroidx/compose/foundation/layout/ExcludeInsets;->(Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/foundation/layout/WindowInsets;)V -HSPLandroidx/compose/foundation/layout/ExcludeInsets;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/ExcludeInsets;->getBottom(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/ExcludeInsets;->getLeft(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/ExcludeInsets;->getRight(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/ExcludeInsets;->getTop(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/FillModifier$measure$1;->(Landroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/foundation/layout/FillModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/FillModifier;->(IFLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/foundation/layout/FillModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/FillModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/FillModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/FillModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/FillModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/FixedIntInsets;->()V -HSPLandroidx/compose/foundation/layout/FixedIntInsets;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/FixedIntInsets;->getBottom(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/FixedIntInsets;->getLeft(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/FixedIntInsets;->getRight(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/FixedIntInsets;->getTop(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/HorizontalAlignModifier;->(Landroidx/compose/ui/BiasAlignment$Horizontal;)V -HSPLandroidx/compose/foundation/layout/HorizontalAlignModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/HorizontalAlignModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/HorizontalAlignModifier;->modifyParentData(Landroidx/compose/ui/unit/Density;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/InsetsConsumingModifier;->(I)V -HSPLandroidx/compose/foundation/layout/InsetsConsumingModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/InsetsConsumingModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/InsetsConsumingModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/foundation/layout/InsetsConsumingModifier;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/InsetsConsumingModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/foundation/layout/InsetsListener;->(Landroidx/compose/foundation/layout/WindowInsetsHolder;)V -HSPLandroidx/compose/foundation/layout/InsetsListener;->onApplyWindowInsets(Landroid/view/View;Landroidx/core/view/WindowInsetsCompat;)Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/compose/foundation/layout/InsetsPaddingModifier$measure$1;->(IILandroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/foundation/layout/InsetsPaddingModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/InsetsPaddingModifier;->(Landroidx/compose/foundation/layout/WindowInsets;)V -HSPLandroidx/compose/foundation/layout/InsetsPaddingModifier;->(Landroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/foundation/layout/InsetsPaddingModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/InsetsPaddingModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/foundation/layout/InsetsPaddingModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/InsetsPaddingModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/foundation/layout/InsetsPaddingValues;->(Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/ui/layout/SubcomposeMeasureScope;)V -HSPLandroidx/compose/foundation/layout/InsetsPaddingValues;->calculateBottomPadding-D9Ej5fM()F -HSPLandroidx/compose/foundation/layout/InsetsPaddingValues;->calculateLeftPadding-u2uoSUM(Landroidx/compose/ui/unit/LayoutDirection;)F -HSPLandroidx/compose/foundation/layout/InsetsPaddingValues;->calculateRightPadding-u2uoSUM(Landroidx/compose/ui/unit/LayoutDirection;)F -HSPLandroidx/compose/foundation/layout/InsetsPaddingValues;->calculateTopPadding-D9Ej5fM()F -HSPLandroidx/compose/foundation/layout/InsetsValues;->(IIII)V -HSPLandroidx/compose/foundation/layout/InsetsValues;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/LayoutWeightImpl;->(FZ)V -HSPLandroidx/compose/foundation/layout/LayoutWeightImpl;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/LayoutWeightImpl;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/LayoutWeightImpl;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/LayoutWeightImpl;->modifyParentData(Landroidx/compose/ui/unit/Density;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/LayoutWeightImpl;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/LimitInsets;->(Landroidx/compose/foundation/layout/WindowInsets;I)V -HSPLandroidx/compose/foundation/layout/LimitInsets;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/LimitInsets;->getBottom(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/LimitInsets;->getLeft(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/LimitInsets;->getRight(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/LimitInsets;->getTop(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/OffsetKt;->offset(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/OffsetPxModifier$measure$1;->(Landroidx/compose/foundation/layout/OffsetPxModifier;Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/foundation/layout/OffsetPxModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/OffsetPxModifier;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/foundation/layout/OffsetPxModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/OffsetPxModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/OffsetPxModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/PaddingKt;->PaddingValues-a9UjIt4$default(F)Landroidx/compose/foundation/layout/PaddingValuesImpl; -HSPLandroidx/compose/foundation/layout/PaddingKt;->calculateEndPadding(Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/ui/unit/LayoutDirection;)F -HSPLandroidx/compose/foundation/layout/PaddingKt;->calculateStartPadding(Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/ui/unit/LayoutDirection;)F -HSPLandroidx/compose/foundation/layout/PaddingKt;->padding(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/PaddingValues;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/PaddingKt;->padding-3ABfNKs(Landroidx/compose/ui/Modifier;F)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/PaddingKt;->padding-VpY3zN4$default(Landroidx/compose/ui/Modifier;FFI)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/PaddingKt;->padding-qDBjuR0$default(Landroidx/compose/ui/Modifier;FFFI)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/PaddingModifier$measure$1;->(Landroidx/compose/foundation/layout/PaddingModifier;Landroidx/compose/ui/layout/Placeable;Landroidx/compose/ui/layout/MeasureScope;)V -HSPLandroidx/compose/foundation/layout/PaddingModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/PaddingModifier;->(FFFF)V -HSPLandroidx/compose/foundation/layout/PaddingModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/PaddingModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/PaddingModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/PaddingModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/PaddingValuesConsumingModifier;->(Landroidx/compose/foundation/layout/PaddingValues;)V -HSPLandroidx/compose/foundation/layout/PaddingValuesConsumingModifier;->calculateInsets(Landroidx/compose/foundation/layout/WindowInsets;)Landroidx/compose/foundation/layout/WindowInsets; -HSPLandroidx/compose/foundation/layout/PaddingValuesConsumingModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/PaddingValuesImpl;->(FFFF)V -HSPLandroidx/compose/foundation/layout/PaddingValuesImpl;->calculateBottomPadding-D9Ej5fM()F -HSPLandroidx/compose/foundation/layout/PaddingValuesImpl;->calculateLeftPadding-u2uoSUM(Landroidx/compose/ui/unit/LayoutDirection;)F -HSPLandroidx/compose/foundation/layout/PaddingValuesImpl;->calculateRightPadding-u2uoSUM(Landroidx/compose/ui/unit/LayoutDirection;)F -HSPLandroidx/compose/foundation/layout/PaddingValuesImpl;->calculateTopPadding-D9Ej5fM()F -HSPLandroidx/compose/foundation/layout/PaddingValuesImpl;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/PaddingValuesInsets;->(Landroidx/compose/foundation/layout/PaddingValues;)V -HSPLandroidx/compose/foundation/layout/PaddingValuesInsets;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/PaddingValuesInsets;->getBottom(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/PaddingValuesInsets;->getLeft(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/PaddingValuesInsets;->getRight(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/PaddingValuesInsets;->getTop(Landroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/foundation/layout/PaddingValuesModifier$measure$2;->(Landroidx/compose/ui/layout/Placeable;Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/foundation/layout/PaddingValuesModifier;)V -HSPLandroidx/compose/foundation/layout/PaddingValuesModifier$measure$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/PaddingValuesModifier;->(Landroidx/compose/foundation/layout/PaddingValues;)V -HSPLandroidx/compose/foundation/layout/PaddingValuesModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/PaddingValuesModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/PaddingValuesModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/PaddingValuesModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/PaddingValuesModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/RowColumnImplKt$rowColumnMeasurePolicy$1$measure$4;->(Ljava/util/List;[Landroidx/compose/ui/layout/Placeable;Lkotlin/jvm/functions/Function5;ILandroidx/compose/ui/layout/MeasureScope;[II[Landroidx/compose/foundation/layout/RowColumnParentData;Landroidx/compose/foundation/layout/CrossAxisAlignment;ILkotlin/jvm/internal/Ref$IntRef;)V -HSPLandroidx/compose/foundation/layout/RowColumnImplKt$rowColumnMeasurePolicy$1$measure$4;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/RowColumnImplKt$rowColumnMeasurePolicy$1;->(FLandroidx/compose/foundation/layout/CrossAxisAlignment;ILkotlin/jvm/functions/Function5;)V -HSPLandroidx/compose/foundation/layout/RowColumnImplKt$rowColumnMeasurePolicy$1;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/RowColumnImplKt;->rowColumnMeasurePolicy-TDGSqEk(FLandroidx/compose/foundation/layout/CrossAxisAlignment;ILkotlin/jvm/functions/Function5;)Landroidx/compose/foundation/layout/RowColumnImplKt$rowColumnMeasurePolicy$1; -HSPLandroidx/compose/foundation/layout/RowColumnParentData;->(I)V -HSPLandroidx/compose/foundation/layout/RowColumnParentData;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/RowKt$DefaultRowMeasurePolicy$1;->()V -HSPLandroidx/compose/foundation/layout/RowKt$DefaultRowMeasurePolicy$1;->()V -HSPLandroidx/compose/foundation/layout/RowKt$DefaultRowMeasurePolicy$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/io/Serializable;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/RowKt$rowMeasurePolicy$1$1;->(Landroidx/compose/foundation/layout/Arrangement$Horizontal;)V -HSPLandroidx/compose/foundation/layout/RowKt$rowMeasurePolicy$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/io/Serializable;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/RowKt;->()V -HSPLandroidx/compose/foundation/layout/RowKt;->rowMeasurePolicy(Landroidx/compose/foundation/layout/Arrangement$Horizontal;Landroidx/compose/ui/BiasAlignment$Vertical;Landroidx/compose/runtime/Composer;)Landroidx/compose/ui/layout/MeasurePolicy; -HSPLandroidx/compose/foundation/layout/RowScopeInstance;->()V -HSPLandroidx/compose/foundation/layout/RowScopeInstance;->()V -HSPLandroidx/compose/foundation/layout/RowScopeInstance;->align(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/RowScopeInstance;->weight(Landroidx/compose/ui/Modifier;FZ)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/SizeKt$createFillHeightModifier$1;->(F)V -HSPLandroidx/compose/foundation/layout/SizeKt$createFillSizeModifier$1;->(F)V -HSPLandroidx/compose/foundation/layout/SizeKt$createFillWidthModifier$1;->(F)V -HSPLandroidx/compose/foundation/layout/SizeKt$createWrapContentSizeModifier$1;->(Landroidx/compose/ui/Alignment;)V -HSPLandroidx/compose/foundation/layout/SizeKt$createWrapContentSizeModifier$2;->(Landroidx/compose/ui/Alignment;Z)V -HSPLandroidx/compose/foundation/layout/SizeKt;->()V -HSPLandroidx/compose/foundation/layout/SizeKt;->createWrapContentSizeModifier(Landroidx/compose/ui/Alignment;Z)Landroidx/compose/foundation/layout/WrapContentModifier; -HSPLandroidx/compose/foundation/layout/SizeKt;->fillMaxSize$default(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/SizeKt;->fillMaxSize(Landroidx/compose/ui/Modifier;F)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/SizeKt;->fillMaxWidth$default(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/SizeKt;->height-3ABfNKs(Landroidx/compose/ui/Modifier;F)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/SizeKt;->size-3ABfNKs(Landroidx/compose/ui/Modifier;F)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/SizeModifier$measure$1;->(Landroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/foundation/layout/SizeModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/SizeModifier;->(FFFFI)V -HSPLandroidx/compose/foundation/layout/SizeModifier;->(FFFFZ)V -HSPLandroidx/compose/foundation/layout/SizeModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/SizeModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/SizeModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/SizeModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/SpacerKt$$ExternalSyntheticOutline0;->m(Landroidx/compose/runtime/Composer;Landroidx/compose/ui/platform/ViewConfiguration;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetViewConfiguration$1;Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/SkippableUpdater; -HSPLandroidx/compose/foundation/layout/SpacerKt$$ExternalSyntheticOutline1;->m(Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/foundation/layout/SpacerKt;->Spacer(Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/layout/SpacerMeasurePolicy$measure$1$1;->()V -HSPLandroidx/compose/foundation/layout/SpacerMeasurePolicy$measure$1$1;->()V -HSPLandroidx/compose/foundation/layout/SpacerMeasurePolicy$measure$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/SpacerMeasurePolicy;->()V -HSPLandroidx/compose/foundation/layout/SpacerMeasurePolicy;->()V -HSPLandroidx/compose/foundation/layout/SpacerMeasurePolicy;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/UnionInsets;->(Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/foundation/layout/WindowInsets;)V -HSPLandroidx/compose/foundation/layout/UnionInsets;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/UnionInsets;->getLeft(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/UnionInsets;->getRight(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/foundation/layout/UnspecifiedConstraintsModifier$measure$1;->(Landroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/foundation/layout/UnspecifiedConstraintsModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/UnspecifiedConstraintsModifier;->(FF)V -HSPLandroidx/compose/foundation/layout/UnspecifiedConstraintsModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/UnspecifiedConstraintsModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/layout/UnspecifiedConstraintsModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/layout/UnspecifiedConstraintsModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/ValueInsets;->(Landroidx/compose/foundation/layout/InsetsValues;Ljava/lang/String;)V -HSPLandroidx/compose/foundation/layout/VerticalAlignModifier;->()V -HSPLandroidx/compose/foundation/layout/VerticalAlignModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/layout/VerticalAlignModifier;->modifyParentData(Landroidx/compose/ui/unit/Density;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/VerticalAlignModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder$Companion$current$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/foundation/layout/WindowInsetsHolder;Landroid/view/View;)V -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder$Companion$current$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder$Companion$current$1;->(Landroidx/compose/foundation/layout/WindowInsetsHolder;Landroid/view/View;)V -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder$Companion$current$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder$Companion;->()V -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder$Companion;->access$systemInsets(ILjava/lang/String;)Landroidx/compose/foundation/layout/AndroidWindowInsets; -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder$Companion;->access$valueInsetsIgnoringVisibility(ILjava/lang/String;)Landroidx/compose/foundation/layout/ValueInsets; -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder$Companion;->current(Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/layout/WindowInsetsHolder; -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder;->()V -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder;->(Landroid/view/View;)V -HSPLandroidx/compose/foundation/layout/WindowInsetsHolder;->update(Landroidx/core/view/WindowInsetsCompat;I)V -HSPLandroidx/compose/foundation/layout/WindowInsetsKt;->only-bOOhFvg(Landroidx/compose/foundation/layout/WindowInsets;I)Landroidx/compose/foundation/layout/LimitInsets; -HSPLandroidx/compose/foundation/layout/WindowInsetsKt;->union(Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/foundation/layout/WindowInsets;)Landroidx/compose/foundation/layout/UnionInsets; -HSPLandroidx/compose/foundation/layout/WindowInsetsPaddingKt$ModifierLocalConsumedWindowInsets$1;->()V -HSPLandroidx/compose/foundation/layout/WindowInsetsPaddingKt$ModifierLocalConsumedWindowInsets$1;->()V -HSPLandroidx/compose/foundation/layout/WindowInsetsPaddingKt$ModifierLocalConsumedWindowInsets$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/WindowInsetsPaddingKt;->()V -HSPLandroidx/compose/foundation/layout/WindowInsetsPaddingKt;->windowInsetsPadding(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/WindowInsets;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/WindowInsetsPadding_androidKt$navigationBarsPadding$$inlined$windowInsetsPadding$1;->()V -HSPLandroidx/compose/foundation/layout/WindowInsetsPadding_androidKt$navigationBarsPadding$$inlined$windowInsetsPadding$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/layout/WrapContentModifier;->(IZLkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/foundation/lazy/AwaitFirstLayoutModifier;->()V -HSPLandroidx/compose/foundation/lazy/AwaitFirstLayoutModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/lazy/AwaitFirstLayoutModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/AwaitFirstLayoutModifier;->onGloballyPositioned(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/foundation/lazy/DataIndex;->(I)V -HSPLandroidx/compose/foundation/lazy/EmptyLazyListLayoutInfo;->()V -HSPLandroidx/compose/foundation/lazy/EmptyLazyListLayoutInfo;->()V -HSPLandroidx/compose/foundation/lazy/LazyDslKt$LazyColumn$1;->(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/layout/PaddingValues;ZLandroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/foundation/gestures/FlingBehavior;ZLkotlin/jvm/functions/Function1;II)V -HSPLandroidx/compose/foundation/lazy/LazyDslKt;->LazyColumn(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/layout/PaddingValues;ZLandroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/foundation/gestures/FlingBehavior;ZLkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/foundation/lazy/LazyItemScopeImpl;->()V -HSPLandroidx/compose/foundation/lazy/LazyListBeyondBoundsInfo;->()V -HSPLandroidx/compose/foundation/lazy/LazyListBeyondBoundsModifierLocal;->(Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/lazy/LazyListBeyondBoundsInfo;ZLandroidx/compose/ui/unit/LayoutDirection;)V -HSPLandroidx/compose/foundation/lazy/LazyListBeyondBoundsModifierLocal;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/lazy/LazyListBeyondBoundsModifierLocal;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListBeyondBoundsModifierLocal;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/foundation/lazy/LazyListBeyondBoundsModifierLocal;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListIntervalContent;->(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/foundation/lazy/LazyListIntervalContent;->getKey()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/foundation/lazy/LazyListIntervalContent;->getType()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/foundation/lazy/LazyListItemPlacementAnimator;->(Lkotlinx/coroutines/CoroutineScope;Z)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl$1;->(Landroidx/compose/foundation/lazy/LazyItemScopeImpl;)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl$Item$1;->(Landroidx/compose/foundation/lazy/LazyListItemProviderImpl;II)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl;->(Landroidx/compose/foundation/lazy/layout/MutableIntervalList;Lkotlin/ranges/IntRange;Landroidx/compose/foundation/lazy/LazyItemScopeImpl;)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl;->Item(ILandroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl;->getContentType(I)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl;->getItemCount()I -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl;->getKey(I)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderImpl;->getKeyToIndexMap()Ljava/util/Map; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;->(Landroidx/compose/runtime/DerivedSnapshotState;)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;->Item(ILandroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;->getContentType(I)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;->getHeaderIndexes()Ljava/util/List; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;->getItemCount()I -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;->getItemScope()Landroidx/compose/foundation/lazy/LazyItemScopeImpl; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;->getKey(I)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;->getKeyToIndexMap()Ljava/util/Map; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$itemProviderState$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/MutableState;Landroidx/compose/foundation/lazy/LazyItemScopeImpl;)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$itemProviderState$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$1$1;->(Landroidx/compose/foundation/lazy/LazyListState;)V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$2;->()V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$2;->()V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$3;->()V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$3;->()V -HSPLandroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$3;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListKt$LazyList$1;->(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/layout/PaddingValues;ZZLandroidx/compose/foundation/gestures/FlingBehavior;ZLandroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/ui/Alignment$Vertical;Landroidx/compose/foundation/layout/Arrangement$Horizontal;Lkotlin/jvm/functions/Function1;III)V -HSPLandroidx/compose/foundation/lazy/LazyListKt$ScrollPositionUpdater$1;->(Landroidx/compose/foundation/lazy/LazyListItemProvider;Landroidx/compose/foundation/lazy/LazyListState;I)V -HSPLandroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1$2;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScope;JII)V -HSPLandroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1$measuredItemProvider$1;->(IILandroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScope;ZLandroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/ui/Alignment$Vertical;ZIILandroidx/compose/foundation/lazy/LazyListItemPlacementAnimator;J)V -HSPLandroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1$measuredItemProvider$1;->createItem-HK0c1C0(ILjava/lang/Object;Ljava/util/List;)Landroidx/compose/foundation/lazy/LazyMeasuredItem; -HSPLandroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1;->(ZLandroidx/compose/foundation/layout/PaddingValues;ZLandroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;Landroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/foundation/layout/Arrangement$Horizontal;Landroidx/compose/foundation/lazy/LazyListItemPlacementAnimator;Landroidx/compose/foundation/lazy/LazyListBeyondBoundsInfo;Landroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/ui/Alignment$Vertical;Landroidx/compose/foundation/OverscrollEffect;)V -HSPLandroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListKt;->LazyList(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/layout/PaddingValues;ZZLandroidx/compose/foundation/gestures/FlingBehavior;ZLandroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/ui/Alignment$Vertical;Landroidx/compose/foundation/layout/Arrangement$Horizontal;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;III)V -HSPLandroidx/compose/foundation/lazy/LazyListKt;->ScrollPositionUpdater(Landroidx/compose/foundation/lazy/LazyListItemProvider;Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/lazy/LazyListMeasureKt$measureLazyList$1;->()V -HSPLandroidx/compose/foundation/lazy/LazyListMeasureKt$measureLazyList$1;->()V -HSPLandroidx/compose/foundation/lazy/LazyListMeasureKt$measureLazyList$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListMeasureKt$measureLazyList$3;->(Ljava/util/ArrayList;Landroidx/compose/foundation/lazy/LazyListPositionedItem;)V -HSPLandroidx/compose/foundation/lazy/LazyListMeasureKt$measureLazyList$3;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListMeasureResult;->(Landroidx/compose/foundation/lazy/LazyMeasuredItem;IZFLandroidx/compose/ui/layout/MeasureResult;Ljava/util/List;IILandroidx/compose/foundation/gestures/Orientation;)V -HSPLandroidx/compose/foundation/lazy/LazyListMeasureResult;->getAlignmentLines()Ljava/util/Map; -HSPLandroidx/compose/foundation/lazy/LazyListMeasureResult;->getHeight()I -HSPLandroidx/compose/foundation/lazy/LazyListMeasureResult;->getWidth()I -HSPLandroidx/compose/foundation/lazy/LazyListMeasureResult;->placeChildren()V -HSPLandroidx/compose/foundation/lazy/LazyListPinningModifier$Companion$EmptyPinnedItemsHandle$1;->()V -HSPLandroidx/compose/foundation/lazy/LazyListPinningModifier;->()V -HSPLandroidx/compose/foundation/lazy/LazyListPinningModifier;->(Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/lazy/LazyListBeyondBoundsInfo;)V -HSPLandroidx/compose/foundation/lazy/LazyListPinningModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/lazy/LazyListPinningModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListPinningModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/foundation/lazy/LazyListPinningModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/foundation/lazy/LazyListPlaceableWrapper;->(JLandroidx/compose/ui/layout/Placeable;Ljava/lang/Object;)V -HSPLandroidx/compose/foundation/lazy/LazyListPositionedItem;->(IILjava/lang/Object;IIIIZLjava/util/ArrayList;Landroidx/compose/foundation/lazy/LazyListItemPlacementAnimator;J)V -HSPLandroidx/compose/foundation/lazy/LazyListPositionedItem;->getAnimationSpec(I)Landroidx/compose/animation/core/FiniteAnimationSpec; -HSPLandroidx/compose/foundation/lazy/LazyListPositionedItem;->getOffset-Bjo55l4(I)J -HSPLandroidx/compose/foundation/lazy/LazyListPositionedItem;->place(Landroidx/compose/ui/layout/Placeable$PlacementScope;)V -HSPLandroidx/compose/foundation/lazy/LazyListScope$items$2;->()V -HSPLandroidx/compose/foundation/lazy/LazyListScope$items$2;->()V -HSPLandroidx/compose/foundation/lazy/LazyListScopeImpl;->()V -HSPLandroidx/compose/foundation/lazy/LazyListScopeImpl;->items(ILandroidx/paging/compose/LazyPagingItemsKt$items$1;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/foundation/lazy/LazyListScopeImpl;->items(ILkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/foundation/lazy/LazyListScrollPosition;->(II)V -HSPLandroidx/compose/foundation/lazy/LazyListScrollPosition;->update-AhXoVpI(II)V -HSPLandroidx/compose/foundation/lazy/LazyListState$Companion$Saver$1;->()V -HSPLandroidx/compose/foundation/lazy/LazyListState$Companion$Saver$1;->()V -HSPLandroidx/compose/foundation/lazy/LazyListState$Companion$Saver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListState$Companion$Saver$2;->()V -HSPLandroidx/compose/foundation/lazy/LazyListState$Companion$Saver$2;->()V -HSPLandroidx/compose/foundation/lazy/LazyListState$remeasurementModifier$1;->(Landroidx/compose/foundation/lazy/LazyListState;)V -HSPLandroidx/compose/foundation/lazy/LazyListState$remeasurementModifier$1;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/lazy/LazyListState$remeasurementModifier$1;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListState$remeasurementModifier$1;->onRemeasurementAvailable(Landroidx/compose/ui/layout/Remeasurement;)V -HSPLandroidx/compose/foundation/lazy/LazyListState$remeasurementModifier$1;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/lazy/LazyListState$scrollableState$1;->(Landroidx/compose/foundation/lazy/LazyListState;)V -HSPLandroidx/compose/foundation/lazy/LazyListState;->()V -HSPLandroidx/compose/foundation/lazy/LazyListState;->(II)V -HSPLandroidx/compose/foundation/lazy/LazyListState;->getFirstVisibleItemIndex()I -HSPLandroidx/compose/foundation/lazy/LazyListState;->updateScrollPositionIfTheFirstItemWasMoved$foundation_release(Landroidx/compose/foundation/lazy/LazyListItemProvider;)V -HSPLandroidx/compose/foundation/lazy/LazyListStateKt$rememberLazyListState$1$1;->(II)V -HSPLandroidx/compose/foundation/lazy/LazyListStateKt$rememberLazyListState$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazyListStateKt;->rememberLazyListState(Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/lazy/LazyListState; -HSPLandroidx/compose/foundation/lazy/LazyMeasuredItem;->(ILjava/util/List;ZLandroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/ui/Alignment$Vertical;Landroidx/compose/ui/unit/LayoutDirection;ZIILandroidx/compose/foundation/lazy/LazyListItemPlacementAnimator;IJLjava/lang/Object;)V -HSPLandroidx/compose/foundation/lazy/LazyMeasuredItem;->position(III)Landroidx/compose/foundation/lazy/LazyListPositionedItem; -HSPLandroidx/compose/foundation/lazy/LazyMeasuredItemProvider;->(JZLandroidx/compose/foundation/lazy/LazyListItemProvider;Landroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScope;Landroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1$measuredItemProvider$1;)V -HSPLandroidx/compose/foundation/lazy/LazyMeasuredItemProvider;->getAndMeasure-ZjPyQlc(I)Landroidx/compose/foundation/lazy/LazyMeasuredItem; -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$1;->(Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$indexForKeyMapping$1;ZLandroidx/compose/ui/semantics/ScrollAxisRange;Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$scrollByAction$1;Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$scrollToIndexAction$1;Landroidx/compose/ui/semantics/CollectionInfo;)V -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$accessibilityScrollState$1;->(Landroidx/compose/foundation/lazy/LazyListState;)V -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$accessibilityScrollState$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$accessibilityScrollState$2;->(Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;)V -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$accessibilityScrollState$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$indexForKeyMapping$1;->(Landroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1;)V -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$scrollByAction$1;->(ZLkotlinx/coroutines/CoroutineScope;Landroidx/compose/foundation/lazy/LazyListState;)V -HSPLandroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$scrollToIndexAction$1;->(Landroidx/compose/foundation/lazy/LazyListState;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider$Item$1;->(Landroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider;II)V -HSPLandroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider;->(Landroidx/compose/runtime/DerivedSnapshotState;)V -HSPLandroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider;->Item(ILandroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider;->getContentType(I)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider;->getItemCount()I -HSPLandroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider;->getKey(I)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider;->getKeyToIndexMap()Ljava/util/Map; -HSPLandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider$Item$2;->(Landroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider;II)V -HSPLandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider$generateKeyToIndexMap$1$1;->(IILjava/util/HashMap;)V -HSPLandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider$generateKeyToIndexMap$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider;->(Landroidx/compose/foundation/lazy/layout/MutableIntervalList;Landroidx/compose/runtime/internal/ComposableLambdaImpl;Lkotlin/ranges/IntRange;)V -HSPLandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider;->Item(ILandroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider;->getContentType(I)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider;->getItemCount()I -HSPLandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider;->getKey(I)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/IntervalList$Interval;->(IILandroidx/compose/foundation/lazy/LazyListIntervalContent;)V -HSPLandroidx/compose/foundation/lazy/layout/IntervalListKt;->access$binarySearch(ILandroidx/compose/runtime/collection/MutableVector;)I -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$1;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemProvider;I)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$2$invoke$$inlined$onDispose$1;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$2$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$2;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;ILjava/lang/Object;Ljava/lang/Object;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;->(Landroidx/compose/runtime/saveable/SaveableStateHolder;Landroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1$itemContentFactory$1$1;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;->getContent(ILjava/lang/Object;)Lkotlin/jvm/functions/Function2; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutItemReusePolicy;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1$2$1;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1$itemContentFactory$1$1;->(Landroidx/compose/runtime/State;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1$itemContentFactory$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;ILandroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$2;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemProvider;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState;Lkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutKt;->LazyLayout(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemProvider;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScopeImpl;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;Landroidx/compose/ui/layout/SubcomposeMeasureScope;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScopeImpl;->getLayoutDirection()Landroidx/compose/ui/unit/LayoutDirection; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScopeImpl;->layout(IILjava/util/Map;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScopeImpl;->measure-0kLqBqw(JI)Ljava/util/List; -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScopeImpl;->roundToPx-0680j_4(F)I -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState;->()V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState;Landroidx/compose/ui/layout/SubcomposeLayoutState;Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;Landroid/view/View;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher;->onForgotten()V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher;->onRemembered()V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher_androidKt$LazyLayoutPrefetcher$2;->(Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState;Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;Landroidx/compose/ui/layout/SubcomposeLayoutState;I)V -HSPLandroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher_androidKt;->LazyLayoutPrefetcher(Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState;Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory;Landroidx/compose/ui/layout/SubcomposeLayoutState;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1$1;->(Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1$2;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1;->(Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/MutableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$1;->(Landroidx/compose/runtime/saveable/SaveableStateRegistry;)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$Companion$saver$1;->()V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$Companion$saver$1;->()V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$Companion$saver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$Companion$saver$2;->(Landroidx/compose/runtime/saveable/SaveableStateRegistry;)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$SaveableStateProvider$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;Ljava/lang/Object;)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$SaveableStateProvider$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$SaveableStateProvider$1;->(Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;Ljava/lang/Object;)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$SaveableStateProvider$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$SaveableStateProvider$2;->(Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;->(Landroidx/compose/runtime/saveable/SaveableStateRegistry;Ljava/util/Map;)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;->SaveableStateProvider(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;->canBeSaved(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;->consumeRestored(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;->performSave()Ljava/util/Map; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;->registerProvider(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Landroidx/compose/runtime/saveable/SaveableStateRegistry$Entry; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt$LazySaveableStateHolderProvider$1;->(Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder;Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt$LazySaveableStateHolderProvider$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt$LazySaveableStateHolderProvider$2;->(Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt$LazySaveableStateHolderProvider$holder$1;->(Landroidx/compose/runtime/saveable/SaveableStateRegistry;)V -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt$LazySaveableStateHolderProvider$holder$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt;->LazySaveableStateHolderProvider(Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/foundation/lazy/layout/MutableIntervalList;->()V -HSPLandroidx/compose/foundation/lazy/layout/MutableIntervalList;->addInterval(ILandroidx/compose/foundation/lazy/LazyListIntervalContent;)V -HSPLandroidx/compose/foundation/lazy/layout/MutableIntervalList;->checkIndexBounds(I)V -HSPLandroidx/compose/foundation/lazy/layout/MutableIntervalList;->forEach(IILandroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider$generateKeyToIndexMap$1$1;)V -HSPLandroidx/compose/foundation/lazy/layout/MutableIntervalList;->get(I)Landroidx/compose/foundation/lazy/layout/IntervalList$Interval; -HSPLandroidx/compose/foundation/lazy/layout/MutableIntervalList;->getSize()I -HSPLandroidx/compose/foundation/lazy/layout/PinnableParentKt$ModifierLocalPinnableParent$1;->()V -HSPLandroidx/compose/foundation/lazy/layout/PinnableParentKt$ModifierLocalPinnableParent$1;->()V -HSPLandroidx/compose/foundation/lazy/layout/PinnableParentKt$ModifierLocalPinnableParent$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/lazy/layout/PinnableParentKt;->()V -HSPLandroidx/compose/foundation/relocation/AndroidBringIntoViewParent;->(Landroid/view/View;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewChildModifier;->(Landroidx/compose/foundation/relocation/AndroidBringIntoViewParent;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewChildModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/foundation/relocation/BringIntoViewChildModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewChildModifier;->onPlaced(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewKt$ModifierLocalBringIntoViewParent$1;->()V -HSPLandroidx/compose/foundation/relocation/BringIntoViewKt$ModifierLocalBringIntoViewParent$1;->()V -HSPLandroidx/compose/foundation/relocation/BringIntoViewKt$ModifierLocalBringIntoViewParent$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/relocation/BringIntoViewKt;->()V -HSPLandroidx/compose/foundation/relocation/BringIntoViewRequesterImpl;->()V -HSPLandroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/foundation/relocation/BringIntoViewRequester;Landroidx/compose/foundation/relocation/BringIntoViewRequesterModifier;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2$1;->(Landroidx/compose/foundation/relocation/BringIntoViewRequester;Landroidx/compose/foundation/relocation/BringIntoViewRequesterModifier;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2;->(Landroidx/compose/foundation/relocation/BringIntoViewRequester;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/relocation/BringIntoViewRequesterModifier;->(Landroidx/compose/foundation/relocation/AndroidBringIntoViewParent;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewResponderKt$bringIntoViewResponder$2;->(Landroidx/compose/foundation/relocation/BringIntoViewResponder;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewResponderKt$bringIntoViewResponder$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/relocation/BringIntoViewResponderModifier;->(Landroidx/compose/foundation/relocation/AndroidBringIntoViewParent;)V -HSPLandroidx/compose/foundation/relocation/BringIntoViewResponderModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/foundation/relocation/BringIntoViewResponder_androidKt;->rememberDefaultBringIntoViewParent(Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/relocation/AndroidBringIntoViewParent; -HSPLandroidx/compose/foundation/selection/SelectableGroupKt$selectableGroup$1;->()V -HSPLandroidx/compose/foundation/selection/SelectableGroupKt$selectableGroup$1;->()V -HSPLandroidx/compose/foundation/selection/SelectableGroupKt$selectableGroup$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/selection/SelectableKt$selectable$4$1;->(Z)V -HSPLandroidx/compose/foundation/selection/SelectableKt$selectable$4$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/selection/SelectableKt;->selectable-O2vRcR0(Landroidx/compose/ui/Modifier;ZLandroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/material/ripple/PlatformRipple;ZLandroidx/compose/ui/semantics/Role;Lkotlin/jvm/functions/Function0;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/foundation/shape/CornerBasedShape;->(Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;)V -HSPLandroidx/compose/foundation/shape/CornerBasedShape;->createOutline-Pq9zytI(JLandroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/unit/Density;)Landroidx/compose/ui/graphics/Outline; -HSPLandroidx/compose/foundation/shape/DpCornerSize;->(F)V -HSPLandroidx/compose/foundation/shape/DpCornerSize;->toPx-TmRCtEA(JLandroidx/compose/ui/unit/Density;)F -HSPLandroidx/compose/foundation/shape/PercentCornerSize;->(F)V -HSPLandroidx/compose/foundation/shape/PercentCornerSize;->toPx-TmRCtEA(JLandroidx/compose/ui/unit/Density;)F -HSPLandroidx/compose/foundation/shape/RoundedCornerShape;->(Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;)V -HSPLandroidx/compose/foundation/shape/RoundedCornerShape;->createOutline-LjSzlW0(JFFFFLandroidx/compose/ui/unit/LayoutDirection;)Landroidx/compose/ui/graphics/Outline; -HSPLandroidx/compose/foundation/shape/RoundedCornerShape;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/shape/RoundedCornerShapeKt;->()V -HSPLandroidx/compose/foundation/shape/RoundedCornerShapeKt;->RoundedCornerShape-0680j_4(F)Landroidx/compose/foundation/shape/RoundedCornerShape; -HSPLandroidx/compose/foundation/text/BasicTextKt$BasicText$3;->(Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function1;IZIII)V -HSPLandroidx/compose/foundation/text/BasicTextKt$BasicText-BpD7jsM$$inlined$Layout$1;->(Landroidx/compose/ui/node/LayoutNode$Companion$Constructor$1;)V -HSPLandroidx/compose/foundation/text/BasicTextKt$BasicText-BpD7jsM$$inlined$Layout$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/text/BasicTextKt;->BasicText-BpD7jsM(Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function1;IZILandroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/foundation/text/CoreTextKt;->()V -HSPLandroidx/compose/foundation/text/TextController$coreModifiers$1;->(Landroidx/compose/foundation/text/TextController;)V -HSPLandroidx/compose/foundation/text/TextController$coreModifiers$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/text/TextController$createSemanticsModifierFor$1$1;->(Landroidx/compose/foundation/text/TextController;)V -HSPLandroidx/compose/foundation/text/TextController$createSemanticsModifierFor$1;->(Landroidx/compose/ui/text/AnnotatedString;Landroidx/compose/foundation/text/TextController;)V -HSPLandroidx/compose/foundation/text/TextController$createSemanticsModifierFor$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/text/TextController$drawTextAndSelectionBehind$1;->(Landroidx/compose/foundation/text/TextController;)V -HSPLandroidx/compose/foundation/text/TextController$drawTextAndSelectionBehind$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/text/TextController$measurePolicy$1$measure$2;->(Ljava/util/ArrayList;)V -HSPLandroidx/compose/foundation/text/TextController$measurePolicy$1$measure$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/foundation/text/TextController$measurePolicy$1;->(Landroidx/compose/foundation/text/TextController;)V -HSPLandroidx/compose/foundation/text/TextController$measurePolicy$1;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/foundation/text/TextController;->(Landroidx/compose/foundation/text/TextState;)V -HSPLandroidx/compose/foundation/text/TextController;->onForgotten()V -HSPLandroidx/compose/foundation/text/TextController;->onRemembered()V -HSPLandroidx/compose/foundation/text/TextController;->setTextDelegate(Landroidx/compose/foundation/text/TextDelegate;)V -HSPLandroidx/compose/foundation/text/TextController;->update(Landroidx/compose/foundation/text/selection/SelectionRegistrar;)V -HSPLandroidx/compose/foundation/text/TextDelegate;->(Landroidx/compose/ui/text/AnnotatedString;Landroidx/compose/ui/text/TextStyle;IZILandroidx/compose/ui/unit/Density;Landroidx/compose/ui/text/font/FontFamily$Resolver;)V -HSPLandroidx/compose/foundation/text/TextDelegate;->(Landroidx/compose/ui/text/AnnotatedString;Landroidx/compose/ui/text/TextStyle;IZILandroidx/compose/ui/unit/Density;Landroidx/compose/ui/text/font/FontFamily$Resolver;Ljava/util/List;)V -HSPLandroidx/compose/foundation/text/TextDelegateKt;->()V -HSPLandroidx/compose/foundation/text/TextDelegateKt;->()V -HSPLandroidx/compose/foundation/text/TextDelegateKt;->ceilToIntPx(F)I -HSPLandroidx/compose/foundation/text/TextDelegateKt;->zza()Ljava/lang/Object; -HSPLandroidx/compose/foundation/text/TextState$onTextLayout$1;->()V -HSPLandroidx/compose/foundation/text/TextState$onTextLayout$1;->()V -HSPLandroidx/compose/foundation/text/TextState;->(Landroidx/compose/foundation/text/TextDelegate;J)V -HSPLandroidx/compose/foundation/text/selection/SelectionRegistrarKt$LocalSelectionRegistrar$1;->()V -HSPLandroidx/compose/foundation/text/selection/SelectionRegistrarKt$LocalSelectionRegistrar$1;->()V -HSPLandroidx/compose/foundation/text/selection/SelectionRegistrarKt$LocalSelectionRegistrar$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/foundation/text/selection/SelectionRegistrarKt;->()V -HSPLandroidx/compose/foundation/text/selection/SelectionRegistrarKt;->hasSelection(Landroidx/compose/foundation/text/selection/SelectionRegistrar;J)Z -HSPLandroidx/compose/foundation/text/selection/TextSelectionColors;->(JJ)V -HSPLandroidx/compose/foundation/text/selection/TextSelectionColors;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/foundation/text/selection/TextSelectionColorsKt$LocalTextSelectionColors$1;->()V -HSPLandroidx/compose/foundation/text/selection/TextSelectionColorsKt$LocalTextSelectionColors$1;->()V -HSPLandroidx/compose/foundation/text/selection/TextSelectionColorsKt;->()V -HSPLandroidx/compose/material/Colors$$ExternalSyntheticOutline0;->m(JLandroidx/compose/runtime/StructuralEqualityPolicy;)Landroidx/compose/runtime/ParcelableSnapshotMutableState; -HSPLandroidx/compose/material/Colors;->(JJJJJJJJJJJJ)V -HSPLandroidx/compose/material/Colors;->getSurface-0d7_KjU()J -HSPLandroidx/compose/material/ColorsKt$LocalColors$1;->()V -HSPLandroidx/compose/material/ColorsKt$LocalColors$1;->()V -HSPLandroidx/compose/material/ColorsKt$LocalColors$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material/ColorsKt;->()V -HSPLandroidx/compose/material/ContentColorKt$LocalContentColor$1;->()V -HSPLandroidx/compose/material/ContentColorKt$LocalContentColor$1;->()V -HSPLandroidx/compose/material/ContentColorKt;->()V -HSPLandroidx/compose/material/DefaultElevationOverlay;->()V -HSPLandroidx/compose/material/DefaultElevationOverlay;->()V -HSPLandroidx/compose/material/ElevationOverlayKt$LocalAbsoluteElevation$1;->()V -HSPLandroidx/compose/material/ElevationOverlayKt$LocalAbsoluteElevation$1;->()V -HSPLandroidx/compose/material/ElevationOverlayKt$LocalAbsoluteElevation$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material/ElevationOverlayKt$LocalElevationOverlay$1;->()V -HSPLandroidx/compose/material/ElevationOverlayKt$LocalElevationOverlay$1;->()V -HSPLandroidx/compose/material/ElevationOverlayKt$LocalElevationOverlay$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material/ElevationOverlayKt;->()V -HSPLandroidx/compose/material/ModalBottomSheetDefaults;->()V -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$1$1;->(Landroidx/compose/material/ModalBottomSheetState;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$2$1;->(Landroidx/compose/material/ModalBottomSheetState;F)V -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$3$1;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$3$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$4$1;->(Landroidx/compose/material/ModalBottomSheetState;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$4;->(Landroidx/compose/material/ModalBottomSheetState;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$4;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$5;->(Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$5;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1;->(Landroidx/compose/material/ModalBottomSheetState;ILandroidx/compose/ui/graphics/Shape;JJFLkotlin/jvm/functions/Function2;JLkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$2;->(Lkotlin/jvm/functions/Function3;Landroidx/compose/ui/Modifier;Landroidx/compose/material/ModalBottomSheetState;Landroidx/compose/ui/graphics/Shape;FJJJLkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$1$1;->(JLandroidx/compose/animation/core/AnimationState;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$2;->(JLkotlin/jvm/functions/Function0;ZI)V -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$1$1$1;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$1$1;->(Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$2$1$1;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$2$1;->(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt$rememberModalBottomSheetState$2;->(Landroidx/compose/animation/core/AnimationSpec;ZLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/material/ModalBottomSheetKt$rememberModalBottomSheetState$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetKt;->ModalBottomSheetLayout-BzaUkTc(Lkotlin/jvm/functions/Function3;Landroidx/compose/ui/Modifier;Landroidx/compose/material/ModalBottomSheetState;Landroidx/compose/ui/graphics/Shape;FJJJLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material/ModalBottomSheetKt;->access$Scrim-3J-VO9M(JLkotlin/jvm/functions/Function0;ZLandroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/material/ModalBottomSheetKt;->rememberModalBottomSheetState(Landroidx/compose/animation/core/AnimationSpec;ZLkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;I)Landroidx/compose/material/ModalBottomSheetState; -HSPLandroidx/compose/material/ModalBottomSheetState$Companion$Saver$1;->()V -HSPLandroidx/compose/material/ModalBottomSheetState$Companion$Saver$1;->()V -HSPLandroidx/compose/material/ModalBottomSheetState$Companion$Saver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ModalBottomSheetState$Companion$Saver$2;->(Landroidx/compose/animation/core/AnimationSpec;ZLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/material/ModalBottomSheetState;->(Landroidx/compose/material/ModalBottomSheetValue;Landroidx/compose/animation/core/AnimationSpec;ZLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/material/ModalBottomSheetValue;->()V -HSPLandroidx/compose/material/ModalBottomSheetValue;->(ILjava/lang/String;)V -HSPLandroidx/compose/material/Shapes;->(I)V -HSPLandroidx/compose/material/ShapesKt$LocalShapes$1;->()V -HSPLandroidx/compose/material/ShapesKt$LocalShapes$1;->()V -HSPLandroidx/compose/material/ShapesKt$LocalShapes$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material/ShapesKt;->()V -HSPLandroidx/compose/material/SurfaceKt$$ExternalSyntheticOutline0;->m(JLandroidx/compose/runtime/DynamicProvidableCompositionLocal;)Landroidx/compose/runtime/ProvidedValue; -HSPLandroidx/compose/material/SurfaceKt$Surface$1$1;->()V -HSPLandroidx/compose/material/SurfaceKt$Surface$1$1;->()V -HSPLandroidx/compose/material/SurfaceKt$Surface$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SurfaceKt$Surface$1$2;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/SurfaceKt$Surface$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SurfaceKt$Surface$1;->(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JFIFLkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material/SurfaceKt$Surface$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SurfaceKt$Surface$2;->(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JJFLkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/material/SurfaceKt;->Surface-F-jzlyU(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JJFLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material/SwipeToDismissKt$SwipeToDismiss$2$$ExternalSyntheticOutline0;->m(Landroidx/compose/runtime/Composer;Landroidx/compose/runtime/Composer;Landroidx/compose/ui/layout/MeasurePolicy;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetMeasurePolicy$1;Landroidx/compose/runtime/Composer;Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetDensity$1;Landroidx/compose/runtime/Composer;Landroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetLayoutDirection$1;Landroidx/compose/runtime/Composer;Landroidx/compose/ui/platform/ViewConfiguration;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetViewConfiguration$1;Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/SkippableUpdater; -HSPLandroidx/compose/material/SwipeableDefaults;->()V -HSPLandroidx/compose/material/SwipeableKt$PreUpPostDownNestedScrollConnection$1;->(Landroidx/compose/material/SwipeableState;)V -HSPLandroidx/compose/material/SwipeableKt$swipeable$1;->()V -HSPLandroidx/compose/material/SwipeableKt$swipeable$1;->()V -HSPLandroidx/compose/material/SwipeableKt$swipeable$3$3$1;->(Ljava/util/Map;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/unit/Density;)V -HSPLandroidx/compose/material/SwipeableKt$swipeable$3$3;->(Landroidx/compose/material/SwipeableState;Ljava/util/Map;Landroidx/compose/material/ResistanceConfig;Landroidx/compose/ui/unit/Density;Lkotlin/jvm/functions/Function2;FLkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/SwipeableKt$swipeable$3$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material/SwipeableKt$swipeable$3$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableKt$swipeable$3$4$1;->(Landroidx/compose/material/SwipeableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/SwipeableKt$swipeable$3;->(FLandroidx/compose/foundation/gestures/Orientation;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/material/ResistanceConfig;Landroidx/compose/material/SwipeableState;Ljava/util/Map;Lkotlin/jvm/functions/Function2;ZZ)V -HSPLandroidx/compose/material/SwipeableKt$swipeable$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableKt;->access$computeTarget(FFLjava/util/Set;Lkotlin/jvm/functions/Function2;FF)F -HSPLandroidx/compose/material/SwipeableKt;->access$getOffset(Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Float; -HSPLandroidx/compose/material/SwipeableKt;->swipeable-pPrIpRY$default(Landroidx/compose/material/SwipeableState;Ljava/util/Map;Landroidx/compose/foundation/gestures/Orientation;ZZLkotlin/jvm/functions/Function2;Landroidx/compose/material/ResistanceConfig;I)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/material/SwipeableState$animateInternalToOffset$2$1;->(Landroidx/compose/foundation/gestures/DragScope;Lkotlin/jvm/internal/Ref$FloatRef;)V -HSPLandroidx/compose/material/SwipeableState$animateInternalToOffset$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$animateInternalToOffset$2;->(Landroidx/compose/material/SwipeableState;FLandroidx/compose/animation/core/AnimationSpec;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/SwipeableState$animateInternalToOffset$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material/SwipeableState$animateInternalToOffset$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$animateInternalToOffset$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$animateTo$2$emit$1;->(Landroidx/compose/material/SwipeableState$animateTo$2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/SwipeableState$animateTo$2$emit$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$animateTo$2;->(Ljava/lang/Object;Landroidx/compose/material/SwipeableState;Landroidx/compose/animation/core/AnimationSpec;)V -HSPLandroidx/compose/material/SwipeableState$animateTo$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$animateTo$2;->emit(Ljava/util/Map;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$draggableState$1;->(Landroidx/compose/material/SwipeableState;)V -HSPLandroidx/compose/material/SwipeableState$draggableState$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$latestNonEmptyAnchorsFlow$1;->(Landroidx/compose/material/SwipeableState;)V -HSPLandroidx/compose/material/SwipeableState$latestNonEmptyAnchorsFlow$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$processNewAnchors$1;->(Landroidx/compose/material/SwipeableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/SwipeableState$snapInternalToOffset$2;->(FLandroidx/compose/material/SwipeableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/SwipeableState$snapInternalToOffset$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material/SwipeableState$snapInternalToOffset$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$snapInternalToOffset$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$special$$inlined$filter$1$2$1;->(Landroidx/compose/material/SwipeableState$special$$inlined$filter$1$2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/SwipeableState$special$$inlined$filter$1$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$special$$inlined$filter$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/compose/material/SwipeableState$special$$inlined$filter$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$special$$inlined$filter$1;->(Lkotlinx/coroutines/flow/SafeFlow;)V -HSPLandroidx/compose/material/SwipeableState$special$$inlined$filter$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState$thresholds$2;->()V -HSPLandroidx/compose/material/SwipeableState$thresholds$2;->()V -HSPLandroidx/compose/material/SwipeableState;->(Ljava/lang/Object;Landroidx/compose/animation/core/AnimationSpec;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/material/SwipeableState;->animateInternalToOffset(FLandroidx/compose/animation/core/AnimationSpec;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState;->animateTo$default(Landroidx/compose/material/SwipeableState;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState;->getAnchors$material_release()Ljava/util/Map; -HSPLandroidx/compose/material/SwipeableState;->getCurrentValue()Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState;->getTargetValue()Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState;->processNewAnchors$material_release(Ljava/util/Map;Ljava/util/Map;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material/SwipeableState;->setCurrentValue(Ljava/lang/Object;)V -HSPLandroidx/compose/material/icons/filled/AddKt;->getAdd()Landroidx/compose/ui/graphics/vector/ImageVector; -HSPLandroidx/compose/material/icons/filled/ChecklistKt;->getChecklist()Landroidx/compose/ui/graphics/vector/ImageVector; -HSPLandroidx/compose/material/icons/filled/ErrorKt;->getError()Landroidx/compose/ui/graphics/vector/ImageVector; -HSPLandroidx/compose/material/icons/filled/WarningKt;->getWarning()Landroidx/compose/ui/graphics/vector/ImageVector; -HSPLandroidx/compose/material/ripple/AndroidRippleIndicationInstance$onInvalidateRipple$1;->(Landroidx/compose/material/ripple/AndroidRippleIndicationInstance;)V -HSPLandroidx/compose/material/ripple/AndroidRippleIndicationInstance;->(ZFLandroidx/compose/runtime/MutableState;Landroidx/compose/runtime/MutableState;Landroidx/compose/material/ripple/RippleContainer;)V -HSPLandroidx/compose/material/ripple/AndroidRippleIndicationInstance;->dispose()V -HSPLandroidx/compose/material/ripple/AndroidRippleIndicationInstance;->drawIndication(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLandroidx/compose/material/ripple/AndroidRippleIndicationInstance;->onForgotten()V -HSPLandroidx/compose/material/ripple/AndroidRippleIndicationInstance;->onRemembered()V -HSPLandroidx/compose/material/ripple/PlatformRipple;->(ZFLandroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/material/ripple/PlatformRipple;->rememberUpdatedRippleInstance-942rkJo(Landroidx/compose/foundation/interaction/InteractionSource;ZFLandroidx/compose/runtime/MutableState;Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/Composer;)Landroidx/compose/material/ripple/RippleIndicationInstance; -HSPLandroidx/compose/material/ripple/Ripple$rememberUpdatedInstance$1$invokeSuspend$$inlined$collect$1;->(Landroidx/compose/material/ripple/RippleIndicationInstance;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/compose/material/ripple/Ripple$rememberUpdatedInstance$1;->(Landroidx/compose/foundation/interaction/InteractionSource;Landroidx/compose/material/ripple/RippleIndicationInstance;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material/ripple/Ripple$rememberUpdatedInstance$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material/ripple/Ripple$rememberUpdatedInstance$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material/ripple/Ripple;->(ZFLandroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/material/ripple/Ripple;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/material/ripple/Ripple;->rememberUpdatedInstance(Landroidx/compose/foundation/interaction/InteractionSource;Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/IndicationInstance; -HSPLandroidx/compose/material/ripple/RippleAlpha;->(FFFF)V -HSPLandroidx/compose/material/ripple/RippleAlpha;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/material/ripple/RippleAnimationKt;->()V -HSPLandroidx/compose/material/ripple/RippleAnimationKt;->getRippleEndRadius-cSwnlzA(Landroidx/compose/ui/unit/Density;ZJ)F -HSPLandroidx/compose/material/ripple/RippleContainer;->(Landroid/content/Context;)V -HSPLandroidx/compose/material/ripple/RippleHostMap;->()V -HSPLandroidx/compose/material/ripple/RippleHostView;->()V -HSPLandroidx/compose/material/ripple/RippleHostView;->(Landroid/content/Context;)V -HSPLandroidx/compose/material/ripple/RippleHostView;->refreshDrawableState()V -HSPLandroidx/compose/material/ripple/RippleIndicationInstance;->(Landroidx/compose/runtime/MutableState;Z)V -HSPLandroidx/compose/material/ripple/RippleIndicationInstance;->drawStateLayer-H2RKhps(FJLandroidx/compose/ui/graphics/drawscope/DrawScope;)V -HSPLandroidx/compose/material/ripple/RippleKt;->()V -HSPLandroidx/compose/material/ripple/RippleKt;->rememberRipple-9IZ8Weo(FLandroidx/compose/runtime/Composer;II)Landroidx/compose/material/ripple/PlatformRipple; -HSPLandroidx/compose/material/ripple/RippleThemeKt$LocalRippleTheme$1;->()V -HSPLandroidx/compose/material/ripple/RippleThemeKt$LocalRippleTheme$1;->()V -HSPLandroidx/compose/material/ripple/RippleThemeKt;->()V -HSPLandroidx/compose/material/ripple/StateLayer;->(Landroidx/compose/runtime/MutableState;Z)V -HSPLandroidx/compose/material3/AlertDialogDefaults;->()V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$1$1;->(Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$2$1$1;->(Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$2$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$2$1;->(Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$3$1$1;->(Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$3$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$3$1;->(Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$3$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$4$1;->(ILkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$4$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1;->(Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;JIJJJLkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogContent$2;->(Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/graphics/Shape;JFJJJJIII)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$1$measure$1;->(Ljava/util/ArrayList;Landroidx/compose/ui/layout/MeasureScope;FILjava/util/ArrayList;)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$1$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$1;->(FF)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$1;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$1;->measure_3p2s80s$startNewSequence(Ljava/util/ArrayList;Lkotlin/jvm/internal/Ref$IntRef;Landroidx/compose/ui/layout/MeasureScope;FLjava/util/ArrayList;Ljava/util/ArrayList;Lkotlin/jvm/internal/Ref$IntRef;Ljava/util/ArrayList;Lkotlin/jvm/internal/Ref$IntRef;Lkotlin/jvm/internal/Ref$IntRef;)V -HSPLandroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$2;->(FFLkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/AlertDialogKt;->()V -HSPLandroidx/compose/material3/AlertDialogKt;->AlertDialogContent-4hvqGtA(Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/graphics/Shape;JFJJJJLandroidx/compose/runtime/Composer;III)V -HSPLandroidx/compose/material3/AlertDialogKt;->AlertDialogFlowRow-ixp7dh8(FFLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$1$1;->(Lkotlin/jvm/functions/Function2;ILkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$1;->(Lkotlin/jvm/functions/Function2;ILkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$2$1;->(Ljava/lang/String;)V -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1;->(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/graphics/Shape;JFJJJIILkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$2;->(Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/graphics/Shape;JJJJFLandroidx/compose/ui/window/DialogProperties;III)V -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt;->()V -HSPLandroidx/compose/material3/AndroidAlertDialog_androidKt;->AlertDialog-Oix01E0(Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/graphics/Shape;JJJJFLandroidx/compose/ui/window/DialogProperties;Landroidx/compose/runtime/Composer;III)V -HSPLandroidx/compose/material3/AppBarKt$$ExternalSyntheticOutline0;->m(Landroidx/compose/runtime/ComposerImpl;Landroidx/compose/ui/layout/MeasurePolicy;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetMeasurePolicy$1;Landroidx/compose/runtime/ComposerImpl;Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetDensity$1;Landroidx/compose/runtime/ComposerImpl;Landroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetLayoutDirection$1;Landroidx/compose/runtime/ComposerImpl;Landroidx/compose/ui/platform/ViewConfiguration;Landroidx/compose/ui/node/ComposeUiNode$Companion$SetViewConfiguration$1;Landroidx/compose/runtime/ComposerImpl;)Landroidx/compose/runtime/SkippableUpdater; -HSPLandroidx/compose/material3/AppBarKt$SingleRowTopAppBar$1$1;->(Landroidx/compose/material3/TopAppBarScrollBehavior;F)V -HSPLandroidx/compose/material3/AppBarKt$SingleRowTopAppBar$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material3/AppBarKt$SingleRowTopAppBar$2;->(Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/material3/TopAppBarColors;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/text/TextStyle;ZLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/internal/ComposableLambdaImpl;ILandroidx/compose/material3/TopAppBarScrollBehavior;Landroidx/compose/animation/core/AnimationState;)V -HSPLandroidx/compose/material3/AppBarKt$SingleRowTopAppBar$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AppBarKt$SingleRowTopAppBar$3;->(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/text/TextStyle;ZLkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/material3/TopAppBarColors;Landroidx/compose/material3/TopAppBarScrollBehavior;II)V -HSPLandroidx/compose/material3/AppBarKt$SingleRowTopAppBar$actionsRow$1;->(Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material3/AppBarKt$SingleRowTopAppBar$actionsRow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AppBarKt$TopAppBar$1;->(Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/material3/TopAppBarColors;Landroidx/compose/material3/TopAppBarScrollBehavior;II)V -HSPLandroidx/compose/material3/AppBarKt$TopAppBarLayout$1$3$1;->(JFLkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/AppBarKt$TopAppBarLayout$1$3$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AppBarKt$TopAppBarLayout$2$measure$1;->(Landroidx/compose/ui/layout/Placeable;ILandroidx/compose/ui/layout/Placeable;Landroidx/compose/foundation/layout/Arrangement$Horizontal;JLandroidx/compose/ui/layout/Placeable;Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/foundation/layout/Arrangement$Vertical;II)V -HSPLandroidx/compose/material3/AppBarKt$TopAppBarLayout$2$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/AppBarKt$TopAppBarLayout$2;->(FLandroidx/compose/foundation/layout/Arrangement$Horizontal;Landroidx/compose/foundation/layout/Arrangement$Vertical;I)V -HSPLandroidx/compose/material3/AppBarKt$TopAppBarLayout$2;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/material3/AppBarKt$TopAppBarLayout$3;->(Landroidx/compose/ui/Modifier;FJJJLkotlin/jvm/functions/Function2;Landroidx/compose/ui/text/TextStyle;FLandroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/foundation/layout/Arrangement$Horizontal;IZLkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/material3/AppBarKt;->()V -HSPLandroidx/compose/material3/AppBarKt;->SingleRowTopAppBar(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/text/TextStyle;ZLkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/material3/TopAppBarColors;Landroidx/compose/material3/TopAppBarScrollBehavior;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/AppBarKt;->TopAppBar(Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/material3/TopAppBarColors;Landroidx/compose/material3/TopAppBarScrollBehavior;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/AppBarKt;->access$TopAppBarLayout-kXwM9vE(Landroidx/compose/ui/Modifier;FJJJLkotlin/jvm/functions/Function2;Landroidx/compose/ui/text/TextStyle;FLandroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/foundation/layout/Arrangement$Horizontal;IZLkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/ButtonColors;->(JJJJ)V -HSPLandroidx/compose/material3/ButtonDefaults;->()V -HSPLandroidx/compose/material3/ButtonDefaults;->textButtonColors-ro_MJ88(JLandroidx/compose/runtime/Composer;I)Landroidx/compose/material3/ButtonColors; -HSPLandroidx/compose/material3/ButtonElevation$animateElevation$1$1$1;->(Landroidx/compose/runtime/snapshots/SnapshotStateList;)V -HSPLandroidx/compose/material3/ButtonElevation$animateElevation$1$1;->(Landroidx/compose/foundation/interaction/InteractionSource;Landroidx/compose/runtime/snapshots/SnapshotStateList;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material3/ButtonElevation$animateElevation$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material3/ButtonElevation$animateElevation$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ButtonElevation$animateElevation$3;->(Landroidx/compose/animation/core/Animatable;Landroidx/compose/material3/ButtonElevation;FLandroidx/compose/foundation/interaction/Interaction;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material3/ButtonElevation$animateElevation$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material3/ButtonElevation$animateElevation$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ButtonElevation;->(FFFFF)V -HSPLandroidx/compose/material3/ButtonElevation;->animateElevation(ZLandroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/Composer;I)Landroidx/compose/animation/core/AnimationState; -HSPLandroidx/compose/material3/ButtonKt$Button$2$1$1;->(Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material3/ButtonKt$Button$2$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ButtonKt$Button$2$1;->(Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material3/ButtonKt$Button$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ButtonKt$Button$2;->(JLandroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material3/ButtonKt$Button$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ButtonKt$Button$3;->(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;ZLandroidx/compose/ui/graphics/Shape;Landroidx/compose/material3/ButtonColors;Landroidx/compose/material3/ButtonElevation;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/material3/ButtonKt$FilledTonalButton$2;->(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;ZLandroidx/compose/ui/graphics/Shape;Landroidx/compose/material3/ButtonColors;Landroidx/compose/material3/ButtonElevation;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/material3/ButtonKt$TextButton$2;->(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;ZLandroidx/compose/ui/graphics/Shape;Landroidx/compose/material3/ButtonColors;Landroidx/compose/material3/ButtonElevation;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/material3/ButtonKt;->Button(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;ZLandroidx/compose/ui/graphics/Shape;Landroidx/compose/material3/ButtonColors;Landroidx/compose/material3/ButtonElevation;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/ButtonKt;->FilledTonalButton(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;ZLandroidx/compose/ui/graphics/Shape;Landroidx/compose/material3/ButtonColors;Landroidx/compose/material3/ButtonElevation;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/ButtonKt;->TextButton(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;ZLandroidx/compose/ui/graphics/Shape;Landroidx/compose/material3/ButtonColors;Landroidx/compose/material3/ButtonElevation;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/CheckboxDefaults;->()V -HSPLandroidx/compose/material3/CheckboxDefaults;->()V -HSPLandroidx/compose/material3/CheckboxDefaults;->zza()Ljava/lang/Object; -HSPLandroidx/compose/material3/ColorScheme;->(JJJJJJJJJJJJJJJJJJJJJJJJJJJJJ)V -HSPLandroidx/compose/material3/ColorScheme;->getBackground-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getError-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getErrorContainer-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getInverseOnSurface-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getInverseSurface-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnBackground-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnError-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnErrorContainer-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnPrimary-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnPrimaryContainer-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnSecondary-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnSecondaryContainer-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnSurface-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnSurfaceVariant-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnTertiary-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOnTertiaryContainer-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getOutline-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getPrimary-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getPrimaryContainer-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getSecondary-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getSecondaryContainer-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getSurface-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getSurfaceTint-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getSurfaceVariant-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getTertiary-0d7_KjU()J -HSPLandroidx/compose/material3/ColorScheme;->getTertiaryContainer-0d7_KjU()J -HSPLandroidx/compose/material3/ColorSchemeKt$LocalColorScheme$1;->()V -HSPLandroidx/compose/material3/ColorSchemeKt$LocalColorScheme$1;->()V -HSPLandroidx/compose/material3/ColorSchemeKt;->()V -HSPLandroidx/compose/material3/ColorSchemeKt;->contentColorFor-4WTKRHQ(Landroidx/compose/material3/ColorScheme;J)J -HSPLandroidx/compose/material3/ColorSchemeKt;->contentColorFor-ek8zF_U(JLandroidx/compose/runtime/Composer;)J -HSPLandroidx/compose/material3/ColorSchemeKt;->fromToken(Landroidx/compose/material3/ColorScheme;I)J -HSPLandroidx/compose/material3/ColorSchemeKt;->lightColorScheme-G1PFc-w$default(JJJJJJJJJJJJJJJJJJJJJJJJJJJJI)Landroidx/compose/material3/ColorScheme; -HSPLandroidx/compose/material3/ColorSchemeKt;->surfaceColorAtElevation-3ABfNKs(Landroidx/compose/material3/ColorScheme;F)J -HSPLandroidx/compose/material3/ColorSchemeKt;->toColor(ILandroidx/compose/runtime/Composer;)J -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-1$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-1$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-10$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-10$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-11$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-11$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-12$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-12$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-2$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-2$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-3$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-3$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-4$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-4$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-5$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-5$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-6$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-6$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-7$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-7$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-8$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-8$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-9$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-9$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$AppBarKt;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-1$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-1$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-2$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-2$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-3$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-3$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-3$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-4$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-4$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-4$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ComposableSingletons$ScaffoldKt;->()V -HSPLandroidx/compose/material3/ComposableSingletons$SnackbarHostKt$lambda-1$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$SnackbarHostKt$lambda-1$1;->()V -HSPLandroidx/compose/material3/ComposableSingletons$SnackbarHostKt;->()V -HSPLandroidx/compose/material3/ContentColorKt$LocalContentColor$1;->()V -HSPLandroidx/compose/material3/ContentColorKt$LocalContentColor$1;->()V -HSPLandroidx/compose/material3/ContentColorKt;->()V -HSPLandroidx/compose/material3/ElevationKt;->()V -HSPLandroidx/compose/material3/ElevationKt;->animateElevation-rAjV9yQ(Landroidx/compose/animation/core/Animatable;FLandroidx/compose/foundation/interaction/Interaction;Landroidx/compose/foundation/interaction/Interaction;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material3/FabPlacement;->(II)V -HSPLandroidx/compose/material3/FabPosition;->(I)V -HSPLandroidx/compose/material3/FadeInFadeOutState;->()V -HSPLandroidx/compose/material3/FloatingActionButtonDefaults;->()V -HSPLandroidx/compose/material3/FloatingActionButtonElevation$animateElevation$1$1$1;->(Landroidx/compose/runtime/snapshots/SnapshotStateList;)V -HSPLandroidx/compose/material3/FloatingActionButtonElevation$animateElevation$1$1;->(Landroidx/compose/foundation/interaction/InteractionSource;Landroidx/compose/runtime/snapshots/SnapshotStateList;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material3/FloatingActionButtonElevation$animateElevation$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material3/FloatingActionButtonElevation$animateElevation$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/FloatingActionButtonElevation$animateElevation$2;->(Landroidx/compose/animation/core/Animatable;Landroidx/compose/material3/FloatingActionButtonElevation;FLandroidx/compose/foundation/interaction/Interaction;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material3/FloatingActionButtonElevation$animateElevation$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material3/FloatingActionButtonElevation$animateElevation$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/FloatingActionButtonElevation;->(FFFF)V -HSPLandroidx/compose/material3/FloatingActionButtonElevation;->animateElevation(Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/Composer;I)Landroidx/compose/animation/core/AnimationState; -HSPLandroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2$1$1;->(ILkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2$1;->(ILkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2;->(JLkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$3;->(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JJLandroidx/compose/material3/FloatingActionButtonElevation;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/material3/FloatingActionButtonKt;->()V -HSPLandroidx/compose/material3/FloatingActionButtonKt;->FloatingActionButton-X-z6DiA(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JJLandroidx/compose/material3/FloatingActionButtonElevation;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/IconKt$Icon$1;->(Landroidx/compose/ui/graphics/vector/ImageVector;Ljava/lang/String;Landroidx/compose/ui/Modifier;JII)V -HSPLandroidx/compose/material3/IconKt$Icon$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/IconKt$Icon$3;->(Landroidx/compose/ui/graphics/painter/Painter;Ljava/lang/String;Landroidx/compose/ui/Modifier;JII)V -HSPLandroidx/compose/material3/IconKt$Icon$semantics$1$1;->(Ljava/lang/String;)V -HSPLandroidx/compose/material3/IconKt$Icon$semantics$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/IconKt;->()V -HSPLandroidx/compose/material3/IconKt;->Icon-ww6aTOc(Landroidx/compose/ui/graphics/painter/Painter;Ljava/lang/String;Landroidx/compose/ui/Modifier;JLandroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/IconKt;->Icon-ww6aTOc(Landroidx/compose/ui/graphics/vector/ImageVector;Ljava/lang/String;Landroidx/compose/ui/Modifier;JLandroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/ListItemColors;->(JJJJJJJJJ)V -HSPLandroidx/compose/material3/ListItemColors;->containerColor$material3_release(Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/MutableState; -HSPLandroidx/compose/material3/ListItemColors;->headlineColor$material3_release(Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/MutableState; -HSPLandroidx/compose/material3/ListItemColors;->leadingIconColor$material3_release(Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/MutableState; -HSPLandroidx/compose/material3/ListItemDefaults;->()V -HSPLandroidx/compose/material3/ListItemKt$ListItem$2;->(Lkotlin/jvm/functions/Function2;Landroidx/compose/material3/ListItemColors;ILkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/ListItemKt$ListItem$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ListItemKt$ListItem$5;->(Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/material3/ListItemColors;FFII)V -HSPLandroidx/compose/material3/ListItemKt$ListItem$6;->(FLandroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material3/ListItemKt$ListItem$6;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ListItemKt$ListItem$7;->(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JJFFFLandroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/material3/ListItemKt$ProvideTextStyleFromToken$1;->(Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/ListItemKt$ProvideTextStyleFromToken$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ListItemKt$ProvideTextStyleFromToken$2;->(JLandroidx/compose/material3/tokens/TypographyKeyTokens;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/ListItemKt$leadingContent$1$1;->(ZLandroidx/compose/foundation/layout/RowScope;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/ListItemKt$leadingContent$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ListItemKt$leadingContent$1;->(IJLkotlin/jvm/functions/Function2;Z)V -HSPLandroidx/compose/material3/ListItemKt$leadingContent$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ListItemKt;->()V -HSPLandroidx/compose/material3/ListItemKt;->ListItem-HXNGIdc(Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/material3/ListItemColors;FFLandroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/ListItemKt;->ListItem-xOgov6c(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JJFFFLandroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/ListItemKt;->access$ProvideTextStyleFromToken-3J-VO9M(JLandroidx/compose/material3/tokens/TypographyKeyTokens;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/material3/ListItemKt;->access$leadingContent-iJQMabo(Lkotlin/jvm/functions/Function2;JZLandroidx/compose/runtime/Composer;I)Landroidx/compose/runtime/internal/ComposableLambdaImpl; -HSPLandroidx/compose/material3/MappedInteractionSource$special$$inlined$map$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;Landroidx/compose/material3/MappedInteractionSource;)V -HSPLandroidx/compose/material3/MappedInteractionSource$special$$inlined$map$1;->(Lkotlinx/coroutines/flow/Flow;Landroidx/compose/material3/MappedInteractionSource;)V -HSPLandroidx/compose/material3/MappedInteractionSource$special$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/material3/MappedInteractionSource;->(Landroidx/compose/foundation/interaction/MutableInteractionSource;J)V -HSPLandroidx/compose/material3/MappedInteractionSource;->getInteractions()Lkotlinx/coroutines/flow/Flow; -HSPLandroidx/compose/material3/MaterialRippleTheme;->()V -HSPLandroidx/compose/material3/MaterialRippleTheme;->()V -HSPLandroidx/compose/material3/MaterialRippleTheme;->defaultColor-WaAFU9c(Landroidx/compose/runtime/Composer;)J -HSPLandroidx/compose/material3/MaterialRippleTheme;->rippleAlpha(Landroidx/compose/runtime/Composer;)Landroidx/compose/material/ripple/RippleAlpha; -HSPLandroidx/compose/material3/MaterialThemeKt$MaterialTheme$1;->(Landroidx/compose/material3/Typography;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/MaterialThemeKt$MaterialTheme$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/MaterialThemeKt$MaterialTheme$2;->(Landroidx/compose/material3/ColorScheme;Landroidx/compose/material3/Shapes;Landroidx/compose/material3/Typography;Lkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/material3/MaterialThemeKt;->()V -HSPLandroidx/compose/material3/MaterialThemeKt;->MaterialTheme(Landroidx/compose/material3/ColorScheme;Landroidx/compose/material3/Shapes;Landroidx/compose/material3/Typography;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/MinimumTouchTargetModifier$measure$1;->(IILandroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/material3/MinimumTouchTargetModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/MinimumTouchTargetModifier;->(J)V -HSPLandroidx/compose/material3/MinimumTouchTargetModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/material3/MinimumTouchTargetModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/material3/MinimumTouchTargetModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/material3/MinimumTouchTargetModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/material3/NavigationBarDefaults;->()V -HSPLandroidx/compose/material3/NavigationBarItemColors;->(JJJJJ)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBar$1;->(Landroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBar$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBar$2;->(Landroidx/compose/ui/Modifier;JJFLandroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$2$1;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$3$indicator$1;->(Landroidx/compose/material3/NavigationBarItemColors;Landroidx/compose/animation/core/AnimationState;)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$3$indicator$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$3$indicatorRipple$1;->(Landroidx/compose/material3/MappedInteractionSource;)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$3$indicatorRipple$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$4;->(Landroidx/compose/foundation/layout/RowScope;ZLkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;ZLkotlin/jvm/functions/Function2;ZLandroidx/compose/material3/NavigationBarItemColors;Landroidx/compose/foundation/interaction/MutableInteractionSource;II)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledIcon$1$1;->()V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledIcon$1$1;->()V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledIcon$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledIcon$1;->(Landroidx/compose/material3/NavigationBarItemColors;ZILkotlin/jvm/functions/Function2;ZLkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledIcon$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledLabel$1$1$1;->(Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledLabel$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledLabel$1$1;->(Landroidx/compose/material3/NavigationBarItemColors;ZILkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledLabel$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItemBaselineLayout$2;->(FLkotlin/jvm/functions/Function2;Z)V -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItemBaselineLayout$2;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/material3/NavigationBarKt$NavigationBarItemBaselineLayout$3;->(Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;ZFI)V -HSPLandroidx/compose/material3/NavigationBarKt$placeLabelAndIcon$1;->(Landroidx/compose/ui/layout/Placeable;ZFLandroidx/compose/ui/layout/Placeable;IIILandroidx/compose/ui/layout/Placeable;IILandroidx/compose/ui/layout/Placeable;IIILandroidx/compose/ui/layout/MeasureScope;)V -HSPLandroidx/compose/material3/NavigationBarKt$placeLabelAndIcon$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/NavigationBarKt;->()V -HSPLandroidx/compose/material3/NavigationBarKt;->NavigationBar-HsRjFd4(Landroidx/compose/ui/Modifier;JJFLandroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/NavigationBarKt;->NavigationBarItem(Landroidx/compose/foundation/layout/RowScope;ZLkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;ZLkotlin/jvm/functions/Function2;ZLandroidx/compose/material3/NavigationBarItemColors;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/NavigationBarKt;->NavigationBarItemBaselineLayout(Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;ZFLandroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/material3/ScaffoldKt$LocalFabPlacement$1;->()V -HSPLandroidx/compose/material3/ScaffoldKt$LocalFabPlacement$1;->()V -HSPLandroidx/compose/material3/ScaffoldKt$Scaffold$1;->(IILandroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/material3/ScaffoldKt$Scaffold$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ScaffoldKt$Scaffold$2;->(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;IJJLandroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1$bodyContentPlaceables$1;->(Landroidx/compose/foundation/layout/WindowInsets;Landroidx/compose/ui/layout/SubcomposeMeasureScope;Ljava/util/ArrayList;ILjava/util/ArrayList;ILkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1$bodyContentPlaceables$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1$bottomBarPlaceables$1;->(Landroidx/compose/material3/FabPlacement;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1$bottomBarPlaceables$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1;->(Landroidx/compose/ui/layout/SubcomposeMeasureScope;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;IIJLkotlin/jvm/functions/Function2;ILandroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function3;I)V -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1;->(IILandroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/ScaffoldKt$ScaffoldLayout$2;->(IILandroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/material3/ScaffoldKt;->()V -HSPLandroidx/compose/material3/ScaffoldKt;->Scaffold-TvnljyQ(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;IJJLandroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/ScaffoldKt;->access$ScaffoldLayout-FMILGgc(ILkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/foundation/layout/WindowInsets;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/material3/ScaffoldLayoutContent;->()V -HSPLandroidx/compose/material3/ScaffoldLayoutContent;->(ILjava/lang/String;)V -HSPLandroidx/compose/material3/ShapeDefaults;->()V -HSPLandroidx/compose/material3/Shapes;->(I)V -HSPLandroidx/compose/material3/Shapes;->(Landroidx/compose/foundation/shape/CornerBasedShape;Landroidx/compose/foundation/shape/CornerBasedShape;Landroidx/compose/foundation/shape/CornerBasedShape;Landroidx/compose/foundation/shape/CornerBasedShape;Landroidx/compose/foundation/shape/CornerBasedShape;)V -HSPLandroidx/compose/material3/ShapesKt$LocalShapes$1;->()V -HSPLandroidx/compose/material3/ShapesKt$LocalShapes$1;->()V -HSPLandroidx/compose/material3/ShapesKt;->()V -HSPLandroidx/compose/material3/ShapesKt;->toShape(ILandroidx/compose/runtime/Composer;)Landroidx/compose/ui/graphics/Shape; -HSPLandroidx/compose/material3/SnackbarHostKt$FadeInFadeOutWithScale$3;->(Landroidx/compose/material3/SnackbarData;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/material3/SnackbarHostKt$SnackbarHost$1;->(Landroidx/compose/material3/SnackbarData;Landroidx/compose/ui/platform/AccessibilityManager;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material3/SnackbarHostKt$SnackbarHost$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/material3/SnackbarHostKt$SnackbarHost$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/SnackbarHostKt$SnackbarHost$2;->(Landroidx/compose/material3/SnackbarHostState;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function3;II)V -HSPLandroidx/compose/material3/SnackbarHostKt;->FadeInFadeOutWithScale(Landroidx/compose/material3/SnackbarData;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/SnackbarHostKt;->SnackbarHost(Landroidx/compose/material3/SnackbarHostState;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/SnackbarHostState;->()V -HSPLandroidx/compose/material3/SnackbarHostState;->getCurrentSnackbarData()Landroidx/compose/material3/SnackbarData; -HSPLandroidx/compose/material3/SurfaceKt$LocalAbsoluteTonalElevation$1;->()V -HSPLandroidx/compose/material3/SurfaceKt$LocalAbsoluteTonalElevation$1;->()V -HSPLandroidx/compose/material3/SurfaceKt$LocalAbsoluteTonalElevation$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material3/SurfaceKt$Surface$1$1;->()V -HSPLandroidx/compose/material3/SurfaceKt$Surface$1$1;->()V -HSPLandroidx/compose/material3/SurfaceKt$Surface$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/SurfaceKt$Surface$1$2;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/material3/SurfaceKt$Surface$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/SurfaceKt$Surface$1;->(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JFIFLandroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/material3/SurfaceKt$Surface$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/SurfaceKt$Surface$3;->(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JFIFLandroidx/compose/foundation/interaction/MutableInteractionSource;ZLkotlin/jvm/functions/Function0;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/material3/SurfaceKt$Surface$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/SurfaceKt;->()V -HSPLandroidx/compose/material3/SurfaceKt;->Surface-T9BRK9s(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JJFFLandroidx/compose/runtime/internal/ComposableLambdaImpl;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/SurfaceKt;->Surface-o_FOJdg(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;ZLandroidx/compose/ui/graphics/Shape;JJFFLandroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/internal/ComposableLambdaImpl;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/material3/SurfaceKt;->access$surface-8ww4TTg(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;JF)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/material3/SurfaceKt;->access$surfaceColorAtElevation-CLU3JFs(JFLandroidx/compose/runtime/Composer;)J -HSPLandroidx/compose/material3/TextKt$LocalTextStyle$1;->()V -HSPLandroidx/compose/material3/TextKt$LocalTextStyle$1;->()V -HSPLandroidx/compose/material3/TextKt$LocalTextStyle$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material3/TextKt$ProvideTextStyle$1;->(Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/material3/TextKt$Text$1;->()V -HSPLandroidx/compose/material3/TextKt$Text$1;->()V -HSPLandroidx/compose/material3/TextKt$Text$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/TextKt$Text$2;->(Ljava/lang/String;Landroidx/compose/ui/Modifier;JJLandroidx/compose/ui/text/font/FontStyle;Landroidx/compose/ui/text/font/FontWeight;Landroidx/compose/ui/text/font/FontFamily;JLandroidx/compose/ui/text/style/TextDecoration;Landroidx/compose/ui/text/style/TextAlign;JIZILkotlin/jvm/functions/Function1;Landroidx/compose/ui/text/TextStyle;III)V -HSPLandroidx/compose/material3/TextKt$Text$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/TextKt;->()V -HSPLandroidx/compose/material3/TextKt;->ProvideTextStyle(Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/material3/TextKt;->Text-fLXpl1I(Ljava/lang/String;Landroidx/compose/ui/Modifier;JJLandroidx/compose/ui/text/font/FontStyle;Landroidx/compose/ui/text/font/FontWeight;Landroidx/compose/ui/text/font/FontFamily;JLandroidx/compose/ui/text/style/TextDecoration;Landroidx/compose/ui/text/style/TextAlign;JIZILkotlin/jvm/functions/Function1;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;III)V -HSPLandroidx/compose/material3/TopAppBarColors;->(JJJJJ)V -HSPLandroidx/compose/material3/TouchTargetKt$LocalMinimumTouchTargetEnforcement$1;->()V -HSPLandroidx/compose/material3/TouchTargetKt$LocalMinimumTouchTargetEnforcement$1;->()V -HSPLandroidx/compose/material3/TouchTargetKt$LocalMinimumTouchTargetEnforcement$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/material3/TouchTargetKt$minimumTouchTargetSize$2;->()V -HSPLandroidx/compose/material3/TouchTargetKt$minimumTouchTargetSize$2;->()V -HSPLandroidx/compose/material3/TouchTargetKt$minimumTouchTargetSize$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/material3/TouchTargetKt;->()V -HSPLandroidx/compose/material3/TouchTargetKt;->minimumTouchTargetSize(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/material3/Typography;->(Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)V -HSPLandroidx/compose/material3/TypographyKt$LocalTypography$1;->()V -HSPLandroidx/compose/material3/TypographyKt$LocalTypography$1;->()V -HSPLandroidx/compose/material3/TypographyKt;->()V -HSPLandroidx/compose/material3/TypographyKt;->fromToken(Landroidx/compose/material3/Typography;Landroidx/compose/material3/tokens/TypographyKeyTokens;)Landroidx/compose/ui/text/TextStyle; -HSPLandroidx/compose/material3/tokens/ColorLightTokens;->()V -HSPLandroidx/compose/material3/tokens/DialogTokens;->()V -HSPLandroidx/compose/material3/tokens/ElevationTokens;->()V -HSPLandroidx/compose/material3/tokens/ExtendedFabPrimaryTokens;->()V -HSPLandroidx/compose/material3/tokens/FabPrimaryLargeTokens;->()V -HSPLandroidx/compose/material3/tokens/FabPrimaryTokens;->()V -HSPLandroidx/compose/material3/tokens/FilledButtonTokens;->()V -HSPLandroidx/compose/material3/tokens/FilledTonalButtonTokens;->()V -HSPLandroidx/compose/material3/tokens/IconButtonTokens;->()V -HSPLandroidx/compose/material3/tokens/ListTokens;->()V -HSPLandroidx/compose/material3/tokens/MotionTokens;->()V -HSPLandroidx/compose/material3/tokens/MotionTokens;->()V -HSPLandroidx/compose/material3/tokens/MotionTokens;->isEmpty(Landroidx/paging/compose/LazyPagingItems;)Z -HSPLandroidx/compose/material3/tokens/MotionTokens;->zza()Ljava/lang/Object; -HSPLandroidx/compose/material3/tokens/NavigationBarTokens;->()V -HSPLandroidx/compose/material3/tokens/PaletteTokens;->()V -HSPLandroidx/compose/material3/tokens/ShapeTokens;->()V -HSPLandroidx/compose/material3/tokens/TopAppBarSmallTokens;->()V -HSPLandroidx/compose/material3/tokens/TypographyKeyTokens;->()V -HSPLandroidx/compose/material3/tokens/TypographyKeyTokens;->(ILjava/lang/String;)V -HSPLandroidx/compose/material3/windowsizeclass/WindowSizeClass;->(II)V -HSPLandroidx/compose/material3/windowsizeclass/WindowSizeClass;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/AbstractApplier;->(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/AbstractApplier;->clear()V -HSPLandroidx/compose/runtime/AbstractApplier;->down(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/AbstractApplier;->getCurrent()Ljava/lang/Object; -HSPLandroidx/compose/runtime/AbstractApplier;->onBeginChanges()V -HSPLandroidx/compose/runtime/AbstractApplier;->onEndChanges()V -HSPLandroidx/compose/runtime/AbstractApplier;->up()V -HSPLandroidx/compose/runtime/ActualAndroid_androidKt$DefaultMonotonicFrameClock$2;->()V -HSPLandroidx/compose/runtime/ActualAndroid_androidKt$DefaultMonotonicFrameClock$2;->()V -HSPLandroidx/compose/runtime/ActualAndroid_androidKt;->()V -HSPLandroidx/compose/runtime/Anchor;->(I)V -HSPLandroidx/compose/runtime/Anchor;->getValid()Z -HSPLandroidx/compose/runtime/BroadcastFrameClock$FrameAwaiter;->(Lkotlin/jvm/functions/Function1;Lkotlinx/coroutines/CancellableContinuationImpl;)V -HSPLandroidx/compose/runtime/BroadcastFrameClock$withFrameNanos$2$1;->(Landroidx/compose/runtime/BroadcastFrameClock;Lkotlin/jvm/internal/Ref$ObjectRef;)V -HSPLandroidx/compose/runtime/BroadcastFrameClock$withFrameNanos$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/BroadcastFrameClock;->(Landroidx/compose/runtime/Recomposer$broadcastFrameClock$1;)V -HSPLandroidx/compose/runtime/BroadcastFrameClock;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/BroadcastFrameClock;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLandroidx/compose/runtime/BroadcastFrameClock;->getHasAwaiters()Z -HSPLandroidx/compose/runtime/BroadcastFrameClock;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLandroidx/compose/runtime/BroadcastFrameClock;->sendFrame(J)V -HSPLandroidx/compose/runtime/BroadcastFrameClock;->withFrameNanos(Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposableSingletons$CompositionKt$lambda-1$1;->()V -HSPLandroidx/compose/runtime/ComposableSingletons$CompositionKt$lambda-1$1;->()V -HSPLandroidx/compose/runtime/ComposableSingletons$CompositionKt$lambda-2$1;->()V -HSPLandroidx/compose/runtime/ComposableSingletons$CompositionKt$lambda-2$1;->()V -HSPLandroidx/compose/runtime/ComposableSingletons$CompositionKt;->()V -HSPLandroidx/compose/runtime/ComposablesKt;->rememberCompositionContext(Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/CompositionContext; -HSPLandroidx/compose/runtime/Composer$Companion$Empty$1;->()V -HSPLandroidx/compose/runtime/Composer$Companion;->()V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextHolder;->(Landroidx/compose/runtime/ComposerImpl$CompositionContextImpl;)V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextHolder;->onForgotten()V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextHolder;->onRemembered()V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->(Landroidx/compose/runtime/ComposerImpl;IZ)V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->composeInitial$runtime_release(Landroidx/compose/runtime/ControlledComposition;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->dispose()V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->doneComposing$runtime_release()V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->getCollectingParameterInformation$runtime_release()Z -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->getCompositionLocalScope$runtime_release()Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentMap; -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->getCompoundHashKey$runtime_release()I -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->getEffectCoroutineContext$runtime_release()Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->invalidate$runtime_release(Landroidx/compose/runtime/ControlledComposition;)V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->recordInspectionTable$runtime_release(Ljava/util/Set;)V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->registerComposer$runtime_release(Landroidx/compose/runtime/ComposerImpl;)V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->startComposing$runtime_release()V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->unregisterComposer$runtime_release(Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/ComposerImpl$CompositionContextImpl;->unregisterComposition$runtime_release(Landroidx/compose/runtime/ControlledComposition;)V -HSPLandroidx/compose/runtime/ComposerImpl$apply$operation$1$$ExternalSyntheticOutline0;->m(Landroidx/compose/runtime/Applier;Ljava/lang/String;Landroidx/compose/runtime/SlotWriter;Ljava/lang/String;Landroidx/compose/runtime/RememberManager;Ljava/lang/String;)V -HSPLandroidx/compose/runtime/ComposerImpl$apply$operation$1;->(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/runtime/ComposerImpl$apply$operation$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$createNode$2;->(Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Anchor;I)V -HSPLandroidx/compose/runtime/ComposerImpl$createNode$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$createNode$3;->(ILandroidx/compose/runtime/Anchor;)V -HSPLandroidx/compose/runtime/ComposerImpl$createNode$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$doCompose$2$3;->(Landroidx/compose/runtime/ComposerImpl;)V -HSPLandroidx/compose/runtime/ComposerImpl$doCompose$2$3;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$doCompose$2$4;->(Landroidx/compose/runtime/ComposerImpl;)V -HSPLandroidx/compose/runtime/ComposerImpl$doCompose$2$4;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$doCompose$2$5;->(Landroidx/compose/runtime/internal/ComposableLambdaImpl;Landroidx/compose/runtime/ComposerImpl;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl$doCompose$2$5;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$doCompose$lambda-37$$inlined$sortBy$1;->()V -HSPLandroidx/compose/runtime/ComposerImpl$doCompose$lambda-37$$inlined$sortBy$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HSPLandroidx/compose/runtime/ComposerImpl$endRestartGroup$1$1;->(Landroidx/compose/runtime/RecomposeScopeImpl$end$1$2;Landroidx/compose/runtime/ComposerImpl;)V -HSPLandroidx/compose/runtime/ComposerImpl$endRestartGroup$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$realizeDowns$1;->([Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl$realizeDowns$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$realizeMovement$1;->(II)V -HSPLandroidx/compose/runtime/ComposerImpl$realizeMovement$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$realizeOperationLocation$2;->(I)V -HSPLandroidx/compose/runtime/ComposerImpl$realizeOperationLocation$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$realizeUps$1;->(I)V -HSPLandroidx/compose/runtime/ComposerImpl$realizeUps$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$recordInsert$1;->(Landroidx/compose/runtime/SlotTable;Landroidx/compose/runtime/Anchor;)V -HSPLandroidx/compose/runtime/ComposerImpl$recordInsert$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$recordInsert$2;->(Landroidx/compose/runtime/SlotTable;Landroidx/compose/runtime/Anchor;Ljava/util/ArrayList;)V -HSPLandroidx/compose/runtime/ComposerImpl$recordInsert$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$recordSideEffect$1;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/ComposerImpl$recordSideEffect$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$recordSlotEditing$1;->(Landroidx/compose/runtime/Anchor;)V -HSPLandroidx/compose/runtime/ComposerImpl$recordSlotEditing$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$startProviders$currentProviders$1;->([Landroidx/compose/runtime/ProvidedValue;Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentMap;)V -HSPLandroidx/compose/runtime/ComposerImpl$startProviders$currentProviders$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$startReaderGroup$1;->(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl$startReaderGroup$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$updateValue$1;->(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl$updateValue$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl$updateValue$2;->(ILjava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl$updateValue$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl;->(Landroidx/compose/runtime/AbstractApplier;Landroidx/compose/runtime/CompositionContext;Landroidx/compose/runtime/SlotTable;Ljava/util/HashSet;Ljava/util/ArrayList;Ljava/util/ArrayList;Landroidx/compose/runtime/ControlledComposition;)V -HSPLandroidx/compose/runtime/ComposerImpl;->apply(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/runtime/ComposerImpl;->buildContext()Landroidx/compose/runtime/ComposerImpl$CompositionContextImpl; -HSPLandroidx/compose/runtime/ComposerImpl;->changed(F)Z -HSPLandroidx/compose/runtime/ComposerImpl;->changed(I)Z -HSPLandroidx/compose/runtime/ComposerImpl;->changed(J)Z -HSPLandroidx/compose/runtime/ComposerImpl;->changed(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/ComposerImpl;->changed(Z)Z -HSPLandroidx/compose/runtime/ComposerImpl;->cleanUpCompose()V -HSPLandroidx/compose/runtime/ComposerImpl;->collectParameterInformation()V -HSPLandroidx/compose/runtime/ComposerImpl;->composeContent$runtime_release(Landroidx/compose/runtime/collection/IdentityArrayMap;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/runtime/ComposerImpl;->compoundKeyOf(III)I -HSPLandroidx/compose/runtime/ComposerImpl;->consume(Landroidx/compose/runtime/ProvidableCompositionLocal;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl;->createNode(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/ComposerImpl;->currentCompositionLocalScope(Ljava/lang/Integer;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentMap; -HSPLandroidx/compose/runtime/ComposerImpl;->disableReusing()V -HSPLandroidx/compose/runtime/ComposerImpl;->dispose$runtime_release()V -HSPLandroidx/compose/runtime/ComposerImpl;->doCompose(Landroidx/compose/runtime/collection/IdentityArrayMap;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/runtime/ComposerImpl;->doRecordDownsFor(II)V -HSPLandroidx/compose/runtime/ComposerImpl;->enableReusing()V -HSPLandroidx/compose/runtime/ComposerImpl;->end(Z)V -HSPLandroidx/compose/runtime/ComposerImpl;->endDefaults()V -HSPLandroidx/compose/runtime/ComposerImpl;->endMovableGroup()V -HSPLandroidx/compose/runtime/ComposerImpl;->endNode()V -HSPLandroidx/compose/runtime/ComposerImpl;->endProviders()V -HSPLandroidx/compose/runtime/ComposerImpl;->endReplaceableGroup()V -HSPLandroidx/compose/runtime/ComposerImpl;->endRestartGroup()Landroidx/compose/runtime/RecomposeScopeImpl; -HSPLandroidx/compose/runtime/ComposerImpl;->endReusableGroup()V -HSPLandroidx/compose/runtime/ComposerImpl;->endRoot()V -HSPLandroidx/compose/runtime/ComposerImpl;->enterGroup(ZLandroidx/compose/runtime/Pending;)V -HSPLandroidx/compose/runtime/ComposerImpl;->getApplier()Landroidx/compose/runtime/Applier; -HSPLandroidx/compose/runtime/ComposerImpl;->getApplyCoroutineContext()Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/compose/runtime/ComposerImpl;->getCompositionData()Landroidx/compose/runtime/SlotTable; -HSPLandroidx/compose/runtime/ComposerImpl;->getCompoundKeyHash()I -HSPLandroidx/compose/runtime/ComposerImpl;->getCurrentRecomposeScope$runtime_release()Landroidx/compose/runtime/RecomposeScopeImpl; -HSPLandroidx/compose/runtime/ComposerImpl;->getDefaultsInvalid()Z -HSPLandroidx/compose/runtime/ComposerImpl;->getInserting()Z -HSPLandroidx/compose/runtime/ComposerImpl;->getRecomposeScope()Landroidx/compose/runtime/RecomposeScopeImpl; -HSPLandroidx/compose/runtime/ComposerImpl;->getSkipping()Z -HSPLandroidx/compose/runtime/ComposerImpl;->nextSlot()Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl;->realizeDowns$1()V -HSPLandroidx/compose/runtime/ComposerImpl;->realizeMovement()V -HSPLandroidx/compose/runtime/ComposerImpl;->realizeOperationLocation(Z)V -HSPLandroidx/compose/runtime/ComposerImpl;->realizeUps()V -HSPLandroidx/compose/runtime/ComposerImpl;->recompose$runtime_release(Landroidx/compose/runtime/collection/IdentityArrayMap;)Z -HSPLandroidx/compose/runtime/ComposerImpl;->recomposeToGroupEnd()V -HSPLandroidx/compose/runtime/ComposerImpl;->record(Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/runtime/ComposerImpl;->recordDelete()V -HSPLandroidx/compose/runtime/ComposerImpl;->recordRemoveNode(II)V -HSPLandroidx/compose/runtime/ComposerImpl;->recordSideEffect(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/ComposerImpl;->recordSlotEditing()V -HSPLandroidx/compose/runtime/ComposerImpl;->recordSlotTableOperation(ZLkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/runtime/ComposerImpl;->recordUp()V -HSPLandroidx/compose/runtime/ComposerImpl;->recordUpsAndDowns(III)V -HSPLandroidx/compose/runtime/ComposerImpl;->recordUsed(Landroidx/compose/runtime/RecomposeScope;)V -HSPLandroidx/compose/runtime/ComposerImpl;->rememberedValue()Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerImpl;->reportFreeMovableContent$reportGroup(Landroidx/compose/runtime/ComposerImpl;IZI)I -HSPLandroidx/compose/runtime/ComposerImpl;->skipReaderToGroupEnd()V -HSPLandroidx/compose/runtime/ComposerImpl;->skipToGroupEnd()V -HSPLandroidx/compose/runtime/ComposerImpl;->start(ILjava/lang/Object;ZLjava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl;->startDefaults()V -HSPLandroidx/compose/runtime/ComposerImpl;->startGroup(ILandroidx/compose/runtime/OpaqueKey;)V -HSPLandroidx/compose/runtime/ComposerImpl;->startMovableGroup(ILjava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl;->startNode()V -HSPLandroidx/compose/runtime/ComposerImpl;->startProviders([Landroidx/compose/runtime/ProvidedValue;)V -HSPLandroidx/compose/runtime/ComposerImpl;->startReaderGroup(Ljava/lang/Object;Z)V -HSPLandroidx/compose/runtime/ComposerImpl;->startReplaceableGroup(I)V -HSPLandroidx/compose/runtime/ComposerImpl;->startRestartGroup(I)Landroidx/compose/runtime/ComposerImpl; -HSPLandroidx/compose/runtime/ComposerImpl;->startReusableGroup(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl;->startReusableNode()V -HSPLandroidx/compose/runtime/ComposerImpl;->startRoot()V -HSPLandroidx/compose/runtime/ComposerImpl;->tryImminentInvalidation$runtime_release(Landroidx/compose/runtime/RecomposeScopeImpl;Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/ComposerImpl;->updateCompoundKeyWhenWeEnterGroup(Ljava/lang/Object;ILjava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl;->updateCompoundKeyWhenWeExitGroup(Ljava/lang/Object;ILjava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl;->updateNodeCount(II)V -HSPLandroidx/compose/runtime/ComposerImpl;->updateNodeCountOverrides(II)V -HSPLandroidx/compose/runtime/ComposerImpl;->updateProviderMapGroup(Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentMap;Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentMap;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentMap; -HSPLandroidx/compose/runtime/ComposerImpl;->updateRememberedValue(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl;->updateValue(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/ComposerImpl;->updatedNodeCount(I)I -HSPLandroidx/compose/runtime/ComposerImpl;->useNode()V -HSPLandroidx/compose/runtime/ComposerKt$endGroupInstance$1;->()V -HSPLandroidx/compose/runtime/ComposerKt$endGroupInstance$1;->()V -HSPLandroidx/compose/runtime/ComposerKt$endGroupInstance$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerKt$removeCurrentGroupInstance$1;->()V -HSPLandroidx/compose/runtime/ComposerKt$removeCurrentGroupInstance$1;->()V -HSPLandroidx/compose/runtime/ComposerKt$removeCurrentGroupInstance$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerKt$startRootGroup$1;->()V -HSPLandroidx/compose/runtime/ComposerKt$startRootGroup$1;->()V -HSPLandroidx/compose/runtime/ComposerKt$startRootGroup$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/ComposerKt;->()V -HSPLandroidx/compose/runtime/ComposerKt;->access$removeRange(IILjava/util/ArrayList;)V -HSPLandroidx/compose/runtime/ComposerKt;->findLocation(ILjava/util/List;)I -HSPLandroidx/compose/runtime/ComposerKt;->removeCurrentGroup(Landroidx/compose/runtime/SlotWriter;Landroidx/compose/runtime/RememberManager;)V -HSPLandroidx/compose/runtime/ComposerKt;->runtimeCheck(Z)V -HSPLandroidx/compose/runtime/CompositionContext;->()V -HSPLandroidx/compose/runtime/CompositionContext;->doneComposing$runtime_release()V -HSPLandroidx/compose/runtime/CompositionContext;->getCompositionLocalScope$runtime_release()Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentMap; -HSPLandroidx/compose/runtime/CompositionContext;->registerComposer$runtime_release(Landroidx/compose/runtime/ComposerImpl;)V -HSPLandroidx/compose/runtime/CompositionContext;->startComposing$runtime_release()V -HSPLandroidx/compose/runtime/CompositionContext;->unregisterComposer$runtime_release(Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/CompositionContextKt;->()V -HSPLandroidx/compose/runtime/CompositionImpl$RememberEventDispatcher;->(Ljava/util/HashSet;)V -HSPLandroidx/compose/runtime/CompositionImpl$RememberEventDispatcher;->dispatchAbandons()V -HSPLandroidx/compose/runtime/CompositionImpl$RememberEventDispatcher;->dispatchRememberObservers()V -HSPLandroidx/compose/runtime/CompositionImpl$RememberEventDispatcher;->dispatchSideEffects()V -HSPLandroidx/compose/runtime/CompositionImpl$RememberEventDispatcher;->forgetting(Landroidx/compose/runtime/RememberObserver;)V -HSPLandroidx/compose/runtime/CompositionImpl$RememberEventDispatcher;->remembering(Landroidx/compose/runtime/RememberObserver;)V -HSPLandroidx/compose/runtime/CompositionImpl$RememberEventDispatcher;->sideEffect(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/CompositionImpl;->(Landroidx/compose/runtime/CompositionContext;Landroidx/compose/runtime/AbstractApplier;)V -HSPLandroidx/compose/runtime/CompositionImpl;->addPendingInvalidationsLocked$invalidate(Landroidx/compose/runtime/CompositionImpl;ZLkotlin/jvm/internal/Ref$ObjectRef;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/CompositionImpl;->addPendingInvalidationsLocked(Ljava/util/Set;Z)V -HSPLandroidx/compose/runtime/CompositionImpl;->applyChanges()V -HSPLandroidx/compose/runtime/CompositionImpl;->applyChangesInLocked(Ljava/util/ArrayList;)V -HSPLandroidx/compose/runtime/CompositionImpl;->applyLateChanges()V -HSPLandroidx/compose/runtime/CompositionImpl;->changesApplied()V -HSPLandroidx/compose/runtime/CompositionImpl;->cleanUpDerivedStateObservations()V -HSPLandroidx/compose/runtime/CompositionImpl;->composeContent(Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/runtime/CompositionImpl;->dispose()V -HSPLandroidx/compose/runtime/CompositionImpl;->drainPendingModificationsForCompositionLocked()V -HSPLandroidx/compose/runtime/CompositionImpl;->drainPendingModificationsLocked()V -HSPLandroidx/compose/runtime/CompositionImpl;->getHasInvalidations()Z -HSPLandroidx/compose/runtime/CompositionImpl;->invalidate$enumunboxing$(Landroidx/compose/runtime/RecomposeScopeImpl;Ljava/lang/Object;)I -HSPLandroidx/compose/runtime/CompositionImpl;->invalidateChecked$enumunboxing$(Landroidx/compose/runtime/RecomposeScopeImpl;Landroidx/compose/runtime/Anchor;Ljava/lang/Object;)I -HSPLandroidx/compose/runtime/CompositionImpl;->invalidateScopeOfLocked(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/CompositionImpl;->isComposing()Z -HSPLandroidx/compose/runtime/CompositionImpl;->isDisposed()Z -HSPLandroidx/compose/runtime/CompositionImpl;->observesAnyOf(Landroidx/compose/runtime/collection/IdentityArraySet;)Z -HSPLandroidx/compose/runtime/CompositionImpl;->prepareCompose(Landroidx/compose/runtime/Recomposer$performRecompose$1$1;)V -HSPLandroidx/compose/runtime/CompositionImpl;->recompose()Z -HSPLandroidx/compose/runtime/CompositionImpl;->recordModificationsOf(Ljava/util/Set;)V -HSPLandroidx/compose/runtime/CompositionImpl;->recordReadOf(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/CompositionImpl;->recordWriteOf(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/CompositionImpl;->setContent(Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/runtime/CompositionKt;->()V -HSPLandroidx/compose/runtime/CompositionKt;->Composition(Landroidx/compose/runtime/AbstractApplier;Landroidx/compose/runtime/CompositionContext;)Landroidx/compose/runtime/CompositionImpl; -HSPLandroidx/compose/runtime/CompositionLocal;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/CompositionLocalKt$CompositionLocalProvider$1;->([Landroidx/compose/runtime/ProvidedValue;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/runtime/CompositionLocalKt;->CompositionLocalProvider([Landroidx/compose/runtime/ProvidedValue;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/runtime/CompositionLocalKt;->compositionLocalOf$default(Lkotlin/jvm/functions/Function0;)Landroidx/compose/runtime/DynamicProvidableCompositionLocal; -HSPLandroidx/compose/runtime/CompositionScopedCoroutineScopeCanceller;->(Lkotlinx/coroutines/internal/ContextScope;)V -HSPLandroidx/compose/runtime/CompositionScopedCoroutineScopeCanceller;->onForgotten()V -HSPLandroidx/compose/runtime/CompositionScopedCoroutineScopeCanceller;->onRemembered()V -HSPLandroidx/compose/runtime/DerivedSnapshotState$ResultRecord;->()V -HSPLandroidx/compose/runtime/DerivedSnapshotState$ResultRecord;->()V -HSPLandroidx/compose/runtime/DerivedSnapshotState$ResultRecord;->assign(Landroidx/compose/runtime/snapshots/StateRecord;)V -HSPLandroidx/compose/runtime/DerivedSnapshotState$ResultRecord;->create()Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/DerivedSnapshotState$ResultRecord;->readableHash(Landroidx/compose/runtime/DerivedState;Landroidx/compose/runtime/snapshots/Snapshot;)I -HSPLandroidx/compose/runtime/DerivedSnapshotState$currentRecord$result$1$result$1;->(Landroidx/compose/runtime/DerivedSnapshotState;Landroidx/compose/runtime/collection/IdentityArrayMap;I)V -HSPLandroidx/compose/runtime/DerivedSnapshotState$currentRecord$result$1$result$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/DerivedSnapshotState;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/DerivedSnapshotState;->currentRecord(Landroidx/compose/runtime/DerivedSnapshotState$ResultRecord;Landroidx/compose/runtime/snapshots/Snapshot;ZLkotlin/jvm/functions/Function0;)Landroidx/compose/runtime/DerivedSnapshotState$ResultRecord; -HSPLandroidx/compose/runtime/DerivedSnapshotState;->getCurrentValue()Ljava/lang/Object; -HSPLandroidx/compose/runtime/DerivedSnapshotState;->getDependencies()[Ljava/lang/Object; -HSPLandroidx/compose/runtime/DerivedSnapshotState;->getFirstStateRecord()Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/DerivedSnapshotState;->getPolicy()Landroidx/compose/runtime/SnapshotMutationPolicy; -HSPLandroidx/compose/runtime/DerivedSnapshotState;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/runtime/DerivedSnapshotState;->prependStateRecord(Landroidx/compose/runtime/snapshots/StateRecord;)V -HSPLandroidx/compose/runtime/DisposableEffectImpl;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/DisposableEffectImpl;->onForgotten()V -HSPLandroidx/compose/runtime/DisposableEffectImpl;->onRemembered()V -HSPLandroidx/compose/runtime/DisposableEffectScope;->()V -HSPLandroidx/compose/runtime/DynamicProvidableCompositionLocal;->(Landroidx/compose/runtime/SnapshotMutationPolicy;Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/DynamicProvidableCompositionLocal;->provided$runtime_release(Ljava/lang/Object;Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/State; -HSPLandroidx/compose/runtime/EffectsKt;->()V -HSPLandroidx/compose/runtime/EffectsKt;->DisposableEffect(Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/EffectsKt;->DisposableEffect(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/EffectsKt;->LaunchedEffect(Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/EffectsKt;->LaunchedEffect(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/EffectsKt;->LaunchedEffect([Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/EffectsKt;->SideEffect(Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/EffectsKt;->createCompositionCoroutineScope(Landroidx/compose/runtime/Composer;)Lkotlinx/coroutines/internal/ContextScope; -HSPLandroidx/compose/runtime/GroupInfo;->(III)V -HSPLandroidx/compose/runtime/IntStack;->()V -HSPLandroidx/compose/runtime/IntStack;->pop()I -HSPLandroidx/compose/runtime/IntStack;->push(I)V -HSPLandroidx/compose/runtime/Invalidation;->(Landroidx/compose/runtime/RecomposeScopeImpl;ILandroidx/compose/runtime/collection/IdentityArraySet;)V -HSPLandroidx/compose/runtime/KeyInfo;->(IIILjava/lang/Object;)V -HSPLandroidx/compose/runtime/Latch;->()V -HSPLandroidx/compose/runtime/LaunchedEffectImpl;->(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/runtime/LaunchedEffectImpl;->onForgotten()V -HSPLandroidx/compose/runtime/LaunchedEffectImpl;->onRemembered()V -HSPLandroidx/compose/runtime/LazyValueHolder;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/LazyValueHolder;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/runtime/MonotonicFrameClock$Key;->()V -HSPLandroidx/compose/runtime/MonotonicFrameClock$Key;->()V -HSPLandroidx/compose/runtime/MonotonicFrameClockKt;->getMonotonicFrameClock(Lkotlin/coroutines/CoroutineContext;)Landroidx/compose/runtime/MonotonicFrameClock; -HSPLandroidx/compose/runtime/MonotonicFrameClockKt;->withFrameNanos(Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/NeverEqualPolicy;->()V -HSPLandroidx/compose/runtime/NeverEqualPolicy;->()V -HSPLandroidx/compose/runtime/NeverEqualPolicy;->equivalent(Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/OpaqueKey;->(Ljava/lang/String;)V -HSPLandroidx/compose/runtime/OpaqueKey;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/OpaqueKey;->hashCode()I -HSPLandroidx/compose/runtime/ParcelableSnapshotMutableState$Companion$CREATOR$1;->()V -HSPLandroidx/compose/runtime/ParcelableSnapshotMutableState;->()V -HSPLandroidx/compose/runtime/ParcelableSnapshotMutableState;->(Ljava/lang/Object;Landroidx/compose/runtime/SnapshotMutationPolicy;)V -HSPLandroidx/compose/runtime/PausableMonotonicFrameClock$withFrameNanos$1;->(Landroidx/compose/runtime/PausableMonotonicFrameClock;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/PausableMonotonicFrameClock$withFrameNanos$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/PausableMonotonicFrameClock;->(Landroidx/compose/runtime/MonotonicFrameClock;)V -HSPLandroidx/compose/runtime/PausableMonotonicFrameClock;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/PausableMonotonicFrameClock;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLandroidx/compose/runtime/PausableMonotonicFrameClock;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLandroidx/compose/runtime/PausableMonotonicFrameClock;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/compose/runtime/PausableMonotonicFrameClock;->withFrameNanos(Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Pending$keyMap$2;->(Landroidx/compose/runtime/Pending;)V -HSPLandroidx/compose/runtime/Pending$keyMap$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/Pending;->(ILjava/util/ArrayList;)V -HSPLandroidx/compose/runtime/Pending;->nodePositionOf(Landroidx/compose/runtime/KeyInfo;)I -HSPLandroidx/compose/runtime/Pending;->updateNodeCount(II)Z -HSPLandroidx/compose/runtime/ProduceStateScopeImpl;->(Landroidx/compose/runtime/MutableState;Lkotlin/coroutines/CoroutineContext;)V -HSPLandroidx/compose/runtime/ProduceStateScopeImpl;->setValue(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/ProvidableCompositionLocal;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/ProvidableCompositionLocal;->provides(Ljava/lang/Object;)Landroidx/compose/runtime/ProvidedValue; -HSPLandroidx/compose/runtime/ProvidedValue;->(Landroidx/compose/runtime/CompositionLocal;Ljava/lang/Object;Z)V -HSPLandroidx/compose/runtime/RecomposeScopeImpl$end$1$2;->(Landroidx/compose/runtime/RecomposeScopeImpl;ILandroidx/compose/runtime/collection/IdentityArrayIntMap;)V -HSPLandroidx/compose/runtime/RecomposeScopeImpl$end$1$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/RecomposeScopeImpl;->(Landroidx/compose/runtime/CompositionImpl;)V -HSPLandroidx/compose/runtime/RecomposeScopeImpl;->invalidate()V -HSPLandroidx/compose/runtime/Recomposer$Companion;->()V -HSPLandroidx/compose/runtime/Recomposer$RecomposerInfoImpl;->()V -HSPLandroidx/compose/runtime/Recomposer$State;->()V -HSPLandroidx/compose/runtime/Recomposer$State;->(ILjava/lang/String;)V -HSPLandroidx/compose/runtime/Recomposer$broadcastFrameClock$1;->(Landroidx/compose/runtime/Recomposer;)V -HSPLandroidx/compose/runtime/Recomposer$broadcastFrameClock$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$effectJob$1$1$1$1;->(Landroidx/compose/runtime/Recomposer;Ljava/lang/Throwable;)V -HSPLandroidx/compose/runtime/Recomposer$effectJob$1$1$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$effectJob$1$1;->(Landroidx/compose/runtime/Recomposer;)V -HSPLandroidx/compose/runtime/Recomposer$effectJob$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$join$2;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/Recomposer$join$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/runtime/Recomposer$join$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$join$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$performRecompose$1$1;->(Landroidx/compose/runtime/ControlledComposition;Landroidx/compose/runtime/collection/IdentityArraySet;)V -HSPLandroidx/compose/runtime/Recomposer$performRecompose$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$readObserverOf$1;->(Landroidx/compose/runtime/ControlledComposition;)V -HSPLandroidx/compose/runtime/Recomposer$readObserverOf$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2$2;->(Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/MonotonicFrameClock;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2$unregisterApplyObserver$1;->(Landroidx/compose/runtime/Recomposer;)V -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2$unregisterApplyObserver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2;->(Landroidx/compose/runtime/Recomposer;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/MonotonicFrameClock;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$recompositionRunner$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$runRecomposeAndApplyChanges$2$2;->(Landroidx/compose/runtime/Recomposer;Ljava/util/List;Ljava/util/List;Ljava/util/Set;Ljava/util/List;Ljava/util/Set;)V -HSPLandroidx/compose/runtime/Recomposer$runRecomposeAndApplyChanges$2$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$runRecomposeAndApplyChanges$2;->(Landroidx/compose/runtime/Recomposer;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/Recomposer$runRecomposeAndApplyChanges$2;->access$invokeSuspend$fillToInsert(Ljava/util/List;Landroidx/compose/runtime/Recomposer;)V -HSPLandroidx/compose/runtime/Recomposer$runRecomposeAndApplyChanges$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$runRecomposeAndApplyChanges$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer$writeObserverOf$1;->(Landroidx/compose/runtime/ControlledComposition;Landroidx/compose/runtime/collection/IdentityArraySet;)V -HSPLandroidx/compose/runtime/Recomposer$writeObserverOf$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/Recomposer;->()V -HSPLandroidx/compose/runtime/Recomposer;->(Lkotlin/coroutines/CoroutineContext;)V -HSPLandroidx/compose/runtime/Recomposer;->access$discardUnusedValues(Landroidx/compose/runtime/Recomposer;)V -HSPLandroidx/compose/runtime/Recomposer;->access$performRecompose(Landroidx/compose/runtime/Recomposer;Landroidx/compose/runtime/ControlledComposition;Landroidx/compose/runtime/collection/IdentityArraySet;)Landroidx/compose/runtime/ControlledComposition; -HSPLandroidx/compose/runtime/Recomposer;->access$recordComposerModificationsLocked(Landroidx/compose/runtime/Recomposer;)V -HSPLandroidx/compose/runtime/Recomposer;->applyAndCheck(Landroidx/compose/runtime/snapshots/MutableSnapshot;)V -HSPLandroidx/compose/runtime/Recomposer;->cancel()V -HSPLandroidx/compose/runtime/Recomposer;->composeInitial$runtime_release(Landroidx/compose/runtime/ControlledComposition;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/runtime/Recomposer;->deriveStateLocked()Lkotlinx/coroutines/CancellableContinuation; -HSPLandroidx/compose/runtime/Recomposer;->getCollectingParameterInformation$runtime_release()Z -HSPLandroidx/compose/runtime/Recomposer;->getCompoundHashKey$runtime_release()I -HSPLandroidx/compose/runtime/Recomposer;->getEffectCoroutineContext$runtime_release()Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/compose/runtime/Recomposer;->getHasSchedulingWork()Z -HSPLandroidx/compose/runtime/Recomposer;->invalidate$runtime_release(Landroidx/compose/runtime/ControlledComposition;)V -HSPLandroidx/compose/runtime/Recomposer;->performInitialMovableContentInserts(Landroidx/compose/runtime/ControlledComposition;)V -HSPLandroidx/compose/runtime/Recomposer;->unregisterComposition$runtime_release(Landroidx/compose/runtime/ControlledComposition;)V -HSPLandroidx/compose/runtime/ReferentialEqualityPolicy;->()V -HSPLandroidx/compose/runtime/ReferentialEqualityPolicy;->()V -HSPLandroidx/compose/runtime/SkippableUpdater;->(Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/SlotReader;->(Landroidx/compose/runtime/SlotTable;)V -HSPLandroidx/compose/runtime/SlotReader;->anchor(I)Landroidx/compose/runtime/Anchor; -HSPLandroidx/compose/runtime/SlotReader;->aux([II)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SlotReader;->close()V -HSPLandroidx/compose/runtime/SlotReader;->endGroup()V -HSPLandroidx/compose/runtime/SlotReader;->getGroupAux()Ljava/lang/Object; -HSPLandroidx/compose/runtime/SlotReader;->getGroupKey()I -HSPLandroidx/compose/runtime/SlotReader;->groupGet(II)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SlotReader;->groupSize(I)I -HSPLandroidx/compose/runtime/SlotReader;->isNode(I)Z -HSPLandroidx/compose/runtime/SlotReader;->node(I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SlotReader;->objectKey([II)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SlotReader;->parent(I)I -HSPLandroidx/compose/runtime/SlotReader;->reposition(I)V -HSPLandroidx/compose/runtime/SlotReader;->skipGroup()I -HSPLandroidx/compose/runtime/SlotReader;->skipToGroupEnd()V -HSPLandroidx/compose/runtime/SlotTable;->()V -HSPLandroidx/compose/runtime/SlotTable;->anchorIndex(Landroidx/compose/runtime/Anchor;)I -HSPLandroidx/compose/runtime/SlotTable;->openReader()Landroidx/compose/runtime/SlotReader; -HSPLandroidx/compose/runtime/SlotTable;->openWriter()Landroidx/compose/runtime/SlotWriter; -HSPLandroidx/compose/runtime/SlotTable;->ownsAnchor(Landroidx/compose/runtime/Anchor;)Z -HSPLandroidx/compose/runtime/SlotTableKt;->access$containsMark([II)Z -HSPLandroidx/compose/runtime/SlotTableKt;->access$groupSize([II)I -HSPLandroidx/compose/runtime/SlotTableKt;->access$hasAux([II)Z -HSPLandroidx/compose/runtime/SlotTableKt;->access$isNode([II)Z -HSPLandroidx/compose/runtime/SlotTableKt;->access$locationOf(Ljava/util/ArrayList;II)I -HSPLandroidx/compose/runtime/SlotTableKt;->access$nodeCount([II)I -HSPLandroidx/compose/runtime/SlotTableKt;->access$slotAnchor([II)I -HSPLandroidx/compose/runtime/SlotTableKt;->access$updateGroupSize(II[I)V -HSPLandroidx/compose/runtime/SlotTableKt;->access$updateNodeCount(II[I)V -HSPLandroidx/compose/runtime/SlotTableKt;->countOneBits(I)I -HSPLandroidx/compose/runtime/SlotTableKt;->search(Ljava/util/ArrayList;II)I -HSPLandroidx/compose/runtime/SlotWriter$Companion;->()V -HSPLandroidx/compose/runtime/SlotWriter$Companion;->access$moveGroup(Landroidx/compose/runtime/SlotWriter;ILandroidx/compose/runtime/SlotWriter;ZZ)Ljava/util/List; -HSPLandroidx/compose/runtime/SlotWriter$groupSlots$1;->(IILandroidx/compose/runtime/SlotWriter;)V -HSPLandroidx/compose/runtime/SlotWriter$groupSlots$1;->hasNext()Z -HSPLandroidx/compose/runtime/SlotWriter$groupSlots$1;->next()Ljava/lang/Object; -HSPLandroidx/compose/runtime/SlotWriter;->()V -HSPLandroidx/compose/runtime/SlotWriter;->(Landroidx/compose/runtime/SlotTable;)V -HSPLandroidx/compose/runtime/SlotWriter;->advanceBy(I)V -HSPLandroidx/compose/runtime/SlotWriter;->anchor(I)Landroidx/compose/runtime/Anchor; -HSPLandroidx/compose/runtime/SlotWriter;->anchorIndex(Landroidx/compose/runtime/Anchor;)I -HSPLandroidx/compose/runtime/SlotWriter;->auxIndex([II)I -HSPLandroidx/compose/runtime/SlotWriter;->beginInsert()V -HSPLandroidx/compose/runtime/SlotWriter;->close()V -HSPLandroidx/compose/runtime/SlotWriter;->dataIndex([II)I -HSPLandroidx/compose/runtime/SlotWriter;->dataIndexToDataAddress(I)I -HSPLandroidx/compose/runtime/SlotWriter;->endGroup()V -HSPLandroidx/compose/runtime/SlotWriter;->endInsert()V -HSPLandroidx/compose/runtime/SlotWriter;->ensureStarted(I)V -HSPLandroidx/compose/runtime/SlotWriter;->getSize$runtime_release()I -HSPLandroidx/compose/runtime/SlotWriter;->groupIndexToAddress(I)I -HSPLandroidx/compose/runtime/SlotWriter;->groupSize(I)I -HSPLandroidx/compose/runtime/SlotWriter;->insertGroups(I)V -HSPLandroidx/compose/runtime/SlotWriter;->insertSlots(II)V -HSPLandroidx/compose/runtime/SlotWriter;->moveFrom(Landroidx/compose/runtime/SlotTable;I)V -HSPLandroidx/compose/runtime/SlotWriter;->moveGroupGapTo(I)V -HSPLandroidx/compose/runtime/SlotWriter;->moveSlotGapTo(II)V -HSPLandroidx/compose/runtime/SlotWriter;->node(I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SlotWriter;->parent(I)I -HSPLandroidx/compose/runtime/SlotWriter;->parent([II)I -HSPLandroidx/compose/runtime/SlotWriter;->recalculateMarks()V -HSPLandroidx/compose/runtime/SlotWriter;->removeGroup()Z -HSPLandroidx/compose/runtime/SlotWriter;->removeGroups(II)Z -HSPLandroidx/compose/runtime/SlotWriter;->removeSlots(III)V -HSPLandroidx/compose/runtime/SlotWriter;->set(ILjava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SlotWriter;->skipGroup()I -HSPLandroidx/compose/runtime/SlotWriter;->skipToGroupEnd()V -HSPLandroidx/compose/runtime/SlotWriter;->slotIndex([II)I -HSPLandroidx/compose/runtime/SlotWriter;->startGroup()V -HSPLandroidx/compose/runtime/SlotWriter;->startGroup(ILjava/lang/Object;ZLjava/lang/Object;)V -HSPLandroidx/compose/runtime/SlotWriter;->update(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/SlotWriter;->updateAux(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/SlotWriter;->updateNodeOfGroup(ILjava/lang/Object;)V -HSPLandroidx/compose/runtime/SnapshotMutableStateImpl$StateStateRecord;->(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/SnapshotMutableStateImpl$StateStateRecord;->create()Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/SnapshotMutableStateImpl;->(Ljava/lang/Object;Landroidx/compose/runtime/SnapshotMutationPolicy;)V -HSPLandroidx/compose/runtime/SnapshotMutableStateImpl;->getFirstStateRecord()Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/SnapshotMutableStateImpl;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotMutableStateImpl;->prependStateRecord(Landroidx/compose/runtime/snapshots/StateRecord;)V -HSPLandroidx/compose/runtime/SnapshotMutableStateImpl;->setValue(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/SnapshotStateKt__DerivedStateKt;->()V -HSPLandroidx/compose/runtime/SnapshotStateKt__ProduceStateKt$produceState$3;->(Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/MutableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/SnapshotStateKt__ProduceStateKt$produceState$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/runtime/SnapshotStateKt__ProduceStateKt$produceState$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotStateKt__ProduceStateKt$produceState$5;->(Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/MutableState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/SnapshotStateKt__ProduceStateKt$produceState$5;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/runtime/SnapshotStateKt__ProduceStateKt$produceState$5;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$collectAsState$1$1;->(Landroidx/compose/runtime/ProduceStateScope;)V -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$collectAsState$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$collectAsState$1;->(Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$collectAsState$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$collectAsState$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$collectAsState$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1$readObserver$1;->(Ljava/util/LinkedHashSet;)V -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1$readObserver$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1$unregisterApplyObserver$1;->(Lkotlinx/coroutines/channels/AbstractChannel;)V -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1$unregisterApplyObserver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1;->(Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotThreadLocal;->()V -HSPLandroidx/compose/runtime/SnapshotThreadLocal;->get()Ljava/lang/Object; -HSPLandroidx/compose/runtime/SnapshotThreadLocal;->set(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/Stack;->()V -HSPLandroidx/compose/runtime/Stack;->pop()Ljava/lang/Object; -HSPLandroidx/compose/runtime/Stack;->push(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/StaticProvidableCompositionLocal;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/StaticProvidableCompositionLocal;->provided$runtime_release(Ljava/lang/Object;Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/State; -HSPLandroidx/compose/runtime/StaticValueHolder;->(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/StaticValueHolder;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/StaticValueHolder;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/runtime/StructuralEqualityPolicy;->()V -HSPLandroidx/compose/runtime/StructuralEqualityPolicy;->()V -HSPLandroidx/compose/runtime/StructuralEqualityPolicy;->equivalent(Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/runtime/collection/IdentityArrayIntMap;->()V -HSPLandroidx/compose/runtime/collection/IdentityArrayIntMap;->add(ILjava/lang/Object;)I -HSPLandroidx/compose/runtime/collection/IdentityArrayMap;->()V -HSPLandroidx/compose/runtime/collection/IdentityArrayMap;->find(Ljava/lang/Object;)I -HSPLandroidx/compose/runtime/collection/IdentityArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/collection/IdentityArrayMap;->set(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/collection/IdentityArraySet;->()V -HSPLandroidx/compose/runtime/collection/IdentityArraySet;->add(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/collection/IdentityArraySet;->clear()V -HSPLandroidx/compose/runtime/collection/IdentityArraySet;->contains(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/collection/IdentityArraySet;->find(Ljava/lang/Object;)I -HSPLandroidx/compose/runtime/collection/IdentityArraySet;->get(I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/collection/IdentityArraySet;->isEmpty()Z -HSPLandroidx/compose/runtime/collection/IdentityArraySet;->remove(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/collection/IdentityScopeMap;->()V -HSPLandroidx/compose/runtime/collection/IdentityScopeMap;->add(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/collection/IdentityScopeMap;->clear()V -HSPLandroidx/compose/runtime/collection/IdentityScopeMap;->contains(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/collection/IdentityScopeMap;->find(Ljava/lang/Object;)I -HSPLandroidx/compose/runtime/collection/IdentityScopeMap;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/collection/IdentityScopeMap;->removeScope(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/collection/IdentityScopeMap;->scopeSetAt(I)Landroidx/compose/runtime/collection/IdentityArraySet; -HSPLandroidx/compose/runtime/collection/MutableVector$MutableVectorList;->(Landroidx/compose/runtime/collection/MutableVector;)V -HSPLandroidx/compose/runtime/collection/MutableVector$MutableVectorList;->get(I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/collection/MutableVector$MutableVectorList;->indexOf(Ljava/lang/Object;)I -HSPLandroidx/compose/runtime/collection/MutableVector$MutableVectorList;->isEmpty()Z -HSPLandroidx/compose/runtime/collection/MutableVector$MutableVectorList;->iterator()Ljava/util/Iterator; -HSPLandroidx/compose/runtime/collection/MutableVector$MutableVectorList;->size()I -HSPLandroidx/compose/runtime/collection/MutableVector$VectorListIterator;->(ILjava/util/List;)V -HSPLandroidx/compose/runtime/collection/MutableVector$VectorListIterator;->hasNext()Z -HSPLandroidx/compose/runtime/collection/MutableVector$VectorListIterator;->next()Ljava/lang/Object; -HSPLandroidx/compose/runtime/collection/MutableVector;->([Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/collection/MutableVector;->add(ILjava/lang/Object;)V -HSPLandroidx/compose/runtime/collection/MutableVector;->add(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/collection/MutableVector;->addAll(ILandroidx/compose/runtime/collection/MutableVector;)V -HSPLandroidx/compose/runtime/collection/MutableVector;->asMutableList()Ljava/util/List; -HSPLandroidx/compose/runtime/collection/MutableVector;->clear()V -HSPLandroidx/compose/runtime/collection/MutableVector;->contains(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/collection/MutableVector;->ensureCapacity(I)V -HSPLandroidx/compose/runtime/collection/MutableVector;->isEmpty()Z -HSPLandroidx/compose/runtime/collection/MutableVector;->isNotEmpty()Z -HSPLandroidx/compose/runtime/collection/MutableVector;->remove(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/collection/MutableVector;->removeAt(I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/collection/MutableVector;->removeRange(II)V -HSPLandroidx/compose/runtime/collection/MutableVector;->sortWith(Ljava/util/Comparator;)V -HSPLandroidx/compose/runtime/collection/MutableVectorKt;->access$checkIndex(ILjava/util/List;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/ExtensionsKt;->persistentHashMapOf()Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/AbstractPersistentList;->()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/AbstractPersistentList;->iterator()Ljava/util/Iterator; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/AbstractPersistentList;->remove(Ljava/lang/Object;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentList; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/BufferIterator;->(II[Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/BufferIterator;->next()Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->([Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->add(Ljava/lang/Object;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentList; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->addAll(Ljava/util/Collection;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentList; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->get(I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->getSize()I -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->indexOf(Ljava/lang/Object;)I -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->listIterator(I)Ljava/util/ListIterator; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->removeAt(I)Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentList; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->set(ILjava/lang/Object;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentList; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/MapEntry;->(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/MapEntry;->getKey()Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/MapEntry;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;->()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;->(Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;I)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;->builder()Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;->containsKey(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;->put(Ljava/lang/Object;Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/Links;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBaseIterator;->(Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;[Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNodeBaseIterator;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBaseIterator;->ensureNextEntryIsReady()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBaseIterator;->hasNext()Z -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBaseIterator;->moveToNextNodeWithData(I)I -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBaseIterator;->next()Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder;->(Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder;->build$1()Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder;->putAll(Ljava/util/Map;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder;->setSize(I)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapEntries;->(Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapEntries;->getSize()I -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapEntries;->iterator()Ljava/util/Iterator; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapEntriesIterator;->(Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode$ModificationResult;->(Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;I)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->(II[Ljava/lang/Object;Lcom/google/android/gms/internal/measurement/zzgu;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->containsKey(IILjava/lang/Object;)Z -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->elementsIdentityEquals(Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;)Z -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->entryKeyIndex$runtime_release(I)I -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->get(IILjava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->hasEntryAt$runtime_release(I)Z -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->hasNodeAt(I)Z -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->makeNode(ILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ILcom/google/android/gms/internal/measurement/zzgu;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->mutablePut(ILjava/lang/Object;Ljava/lang/Object;ILandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->mutablePutAll(Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;ILandroidx/compose/runtime/external/kotlinx/collections/immutable/internal/DeltaCounter;Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->nodeAtIndex$runtime_release(I)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->nodeIndex$runtime_release(I)I -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->put(ILjava/lang/Object;Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/Links;I)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode$ModificationResult; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->remove(IILjava/lang/Object;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode;->valueAtKeyIndex(I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNodeBaseIterator;->()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNodeEntriesIterator;->()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNodeEntriesIterator;->next()Ljava/lang/Object; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/Links;->()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/Links;->(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/PersistentOrderedSet;->()V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/PersistentOrderedSet;->(Ljava/lang/Object;Ljava/lang/Object;Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap;)V -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/PersistentOrderedSet;->add(Landroidx/compose/runtime/Recomposer$RecomposerInfoImpl;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/PersistentOrderedSet; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/PersistentOrderedSet;->getSize()I -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/PersistentOrderedSet;->remove(Ljava/lang/Object;)Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/PersistentOrderedSet; -HSPLandroidx/compose/runtime/external/kotlinx/collections/immutable/internal/DeltaCounter;->(I)V -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl$invoke$1;->(Landroidx/compose/runtime/internal/ComposableLambdaImpl;Ljava/lang/Object;I)V -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl$invoke$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl$invoke$2;->(Landroidx/compose/runtime/internal/ComposableLambdaImpl;Ljava/lang/Object;Ljava/lang/Object;I)V -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl;->(IZ)V -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl;->invoke(Ljava/lang/Object;Landroidx/compose/runtime/Composer;I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl;->invoke(Ljava/lang/Object;Ljava/lang/Object;Landroidx/compose/runtime/Composer;I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl;->trackRead(Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/runtime/internal/ComposableLambdaImpl;->update(Lkotlin/jvm/internal/Lambda;)V -HSPLandroidx/compose/runtime/internal/ComposableLambdaKt;->bitsForSlot(II)I -HSPLandroidx/compose/runtime/internal/ComposableLambdaKt;->composableLambda(Landroidx/compose/runtime/Composer;ILkotlin/jvm/internal/Lambda;)Landroidx/compose/runtime/internal/ComposableLambdaImpl; -HSPLandroidx/compose/runtime/internal/ComposableLambdaKt;->composableLambdaInstance(ILkotlin/jvm/internal/Lambda;Z)Landroidx/compose/runtime/internal/ComposableLambdaImpl; -HSPLandroidx/compose/runtime/internal/ComposableLambdaKt;->replacableWith(Landroidx/compose/runtime/RecomposeScope;Landroidx/compose/runtime/RecomposeScope;)Z -HSPLandroidx/compose/runtime/internal/ThreadMap;->(I[J[Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/internal/ThreadMap;->find(J)I -HSPLandroidx/compose/runtime/internal/ThreadMap;->newWith(JLjava/lang/Object;)Landroidx/compose/runtime/internal/ThreadMap; -HSPLandroidx/compose/runtime/internal/ThreadMapKt;->()V -HSPLandroidx/compose/runtime/saveable/ListSaverKt$listSaver$1;->(Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/runtime/saveable/ListSaverKt$listSaver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/ListSaverKt;->listSaver(Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Landroidx/compose/runtime/saveable/SaverKt$Saver$1; -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/saveable/SaveableStateRegistry$Entry;)V -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$valueProvider$1$1$1;->(Landroidx/compose/runtime/saveable/SaveableStateRegistry;)V -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$valueProvider$1$1$1;->canBeSaved(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$valueProvider$1;->(Landroidx/compose/runtime/State;Landroidx/compose/runtime/State;Landroidx/compose/runtime/saveable/SaveableStateRegistry;)V -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$valueProvider$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1;->(Landroidx/compose/runtime/saveable/SaveableStateRegistry;Ljava/lang/String;Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/RememberSaveableKt;->rememberSaveable([Ljava/lang/Object;Landroidx/compose/runtime/saveable/SaverKt$Saver$1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$Companion$Saver$1;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$Companion$Saver$1;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$Companion$Saver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$Companion$Saver$2;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$Companion$Saver$2;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$RegistryHolder$registry$1;->(Landroidx/compose/runtime/saveable/SaveableStateHolderImpl;)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$RegistryHolder$registry$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$RegistryHolder;->(Landroidx/compose/runtime/saveable/SaveableStateHolderImpl;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$RegistryHolder;->saveTo(Ljava/util/Map;)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$SaveableStateProvider$1$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$RegistryHolder;Landroidx/compose/runtime/saveable/SaveableStateHolderImpl;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$SaveableStateProvider$1$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$SaveableStateProvider$1$1;->(Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$RegistryHolder;Landroidx/compose/runtime/saveable/SaveableStateHolderImpl;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$SaveableStateProvider$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl$SaveableStateProvider$2;->(Landroidx/compose/runtime/saveable/SaveableStateHolderImpl;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl;->(I)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl;->(Ljava/util/Map;)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderImpl;->SaveableStateProvider(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderKt$rememberSaveableStateHolder$1;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderKt$rememberSaveableStateHolder$1;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderKt$rememberSaveableStateHolder$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/SaveableStateHolderKt;->rememberSaveableStateHolder(Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/saveable/SaveableStateHolderImpl; -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryImpl$registerProvider$3;->(Landroidx/compose/runtime/saveable/SaveableStateRegistryImpl;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryImpl$registerProvider$3;->unregister()V -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryImpl;->(Ljava/util/Map;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryImpl;->canBeSaved(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryImpl;->consumeRestored(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryImpl;->performSave()Ljava/util/Map; -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryImpl;->registerProvider(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Landroidx/compose/runtime/saveable/SaveableStateRegistry$Entry; -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryKt$LocalSaveableStateRegistry$1;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryKt$LocalSaveableStateRegistry$1;->()V -HSPLandroidx/compose/runtime/saveable/SaveableStateRegistryKt;->()V -HSPLandroidx/compose/runtime/saveable/SaverKt$AutoSaver$1;->()V -HSPLandroidx/compose/runtime/saveable/SaverKt$AutoSaver$1;->()V -HSPLandroidx/compose/runtime/saveable/SaverKt$AutoSaver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/SaverKt$AutoSaver$2;->()V -HSPLandroidx/compose/runtime/saveable/SaverKt$AutoSaver$2;->()V -HSPLandroidx/compose/runtime/saveable/SaverKt$Saver$1;->(Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/saveable/SaverKt$Saver$1;->save(Landroidx/compose/runtime/saveable/SaverScope;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/saveable/SaverKt;->()V -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot$takeNestedMutableSnapshot$1;->(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot$takeNestedMutableSnapshot$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot$takeNestedSnapshot$1;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot$takeNestedSnapshot$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot;->(ILandroidx/compose/runtime/snapshots/SnapshotIdSet;)V -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot;->dispose()V -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot;->notifyObjectsInitialized$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot;->takeNestedMutableSnapshot(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Landroidx/compose/runtime/snapshots/MutableSnapshot; -HSPLandroidx/compose/runtime/snapshots/GlobalSnapshot;->takeNestedSnapshot(Lkotlin/jvm/functions/Function1;)Landroidx/compose/runtime/snapshots/Snapshot; -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->advance$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->apply()Landroidx/compose/runtime/snapshots/SnapshotApplyResult; -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->closeLocked$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->dispose()V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->getModified$runtime_release()Ljava/util/Set; -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->getReadObserver$runtime_release()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->getReadOnly()Z -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->getWriteObserver$runtime_release()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->innerApplyLocked$runtime_release(ILjava/util/HashMap;Landroidx/compose/runtime/snapshots/SnapshotIdSet;)Landroidx/compose/runtime/snapshots/SnapshotApplyResult; -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->nestedActivated$runtime_release(Landroidx/compose/runtime/snapshots/Snapshot;)V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->nestedDeactivated$runtime_release(Landroidx/compose/runtime/snapshots/Snapshot;)V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->notifyObjectsInitialized$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->recordModified$runtime_release(Landroidx/compose/runtime/snapshots/StateObject;)V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->recordPrevious$runtime_release(I)V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->releasePinnedSnapshotsForCloseLocked$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->setModified(Ljava/util/HashSet;)V -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->takeNestedMutableSnapshot(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Landroidx/compose/runtime/snapshots/MutableSnapshot; -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->takeNestedSnapshot(Lkotlin/jvm/functions/Function1;)Landroidx/compose/runtime/snapshots/Snapshot; -HSPLandroidx/compose/runtime/snapshots/MutableSnapshot;->validateNotAppliedOrPinned$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/NestedMutableSnapshot;->(ILandroidx/compose/runtime/snapshots/SnapshotIdSet;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/snapshots/MutableSnapshot;)V -HSPLandroidx/compose/runtime/snapshots/NestedMutableSnapshot;->apply()Landroidx/compose/runtime/snapshots/SnapshotApplyResult; -HSPLandroidx/compose/runtime/snapshots/NestedMutableSnapshot;->dispose()V -HSPLandroidx/compose/runtime/snapshots/NestedReadonlySnapshot;->(ILandroidx/compose/runtime/snapshots/SnapshotIdSet;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/snapshots/Snapshot;)V -HSPLandroidx/compose/runtime/snapshots/NestedReadonlySnapshot;->dispose()V -HSPLandroidx/compose/runtime/snapshots/NestedReadonlySnapshot;->getReadObserver$runtime_release()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/runtime/snapshots/ReadonlySnapshot;->(ILandroidx/compose/runtime/snapshots/SnapshotIdSet;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/snapshots/ReadonlySnapshot;->dispose()V -HSPLandroidx/compose/runtime/snapshots/ReadonlySnapshot;->getReadObserver$runtime_release()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/runtime/snapshots/ReadonlySnapshot;->nestedDeactivated$runtime_release(Landroidx/compose/runtime/snapshots/Snapshot;)V -HSPLandroidx/compose/runtime/snapshots/Snapshot$Companion$registerApplyObserver$2;->(Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/runtime/snapshots/Snapshot$Companion$registerApplyObserver$2;->dispose()V -HSPLandroidx/compose/runtime/snapshots/Snapshot$Companion;->observe(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/Snapshot;->(ILandroidx/compose/runtime/snapshots/SnapshotIdSet;)V -HSPLandroidx/compose/runtime/snapshots/Snapshot;->closeAndReleasePinning$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/Snapshot;->closeLocked$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/Snapshot;->dispose()V -HSPLandroidx/compose/runtime/snapshots/Snapshot;->getId()I -HSPLandroidx/compose/runtime/snapshots/Snapshot;->getInvalid$runtime_release()Landroidx/compose/runtime/snapshots/SnapshotIdSet; -HSPLandroidx/compose/runtime/snapshots/Snapshot;->makeCurrent()Landroidx/compose/runtime/snapshots/Snapshot; -HSPLandroidx/compose/runtime/snapshots/Snapshot;->releasePinnedSnapshotsForCloseLocked$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/Snapshot;->restoreCurrent(Landroidx/compose/runtime/snapshots/Snapshot;)V -HSPLandroidx/compose/runtime/snapshots/Snapshot;->setId$runtime_release(I)V -HSPLandroidx/compose/runtime/snapshots/Snapshot;->setInvalid$runtime_release(Landroidx/compose/runtime/snapshots/SnapshotIdSet;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotApplyResult$Success;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotApplyResult$Success;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotApplyResult;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotDoubleIndexHeap;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotDoubleIndexHeap;->add(I)I -HSPLandroidx/compose/runtime/snapshots/SnapshotDoubleIndexHeap;->swap(II)V -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet$iterator$1;->(Landroidx/compose/runtime/snapshots/SnapshotIdSet;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet$iterator$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet$iterator$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet;->(JJI[I)V -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet;->andNot(Landroidx/compose/runtime/snapshots/SnapshotIdSet;)Landroidx/compose/runtime/snapshots/SnapshotIdSet; -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet;->clear(I)Landroidx/compose/runtime/snapshots/SnapshotIdSet; -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet;->get(I)Z -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet;->iterator()Ljava/util/Iterator; -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet;->or(Landroidx/compose/runtime/snapshots/SnapshotIdSet;)Landroidx/compose/runtime/snapshots/SnapshotIdSet; -HSPLandroidx/compose/runtime/snapshots/SnapshotIdSet;->set(I)Landroidx/compose/runtime/snapshots/SnapshotIdSet; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$advanceGlobalSnapshot$2;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$advanceGlobalSnapshot$2;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$advanceGlobalSnapshot$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$emptyLambda$1;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$emptyLambda$1;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$emptyLambda$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$mergedReadObserver$1;->(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$mergedReadObserver$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$mergedWriteObserver$1;->(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$mergedWriteObserver$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$takeNewSnapshot$1;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt$takeNewSnapshot$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->access$advanceGlobalSnapshot()V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->access$mergedWriteObserver(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->access$optimisticMerges(Landroidx/compose/runtime/snapshots/MutableSnapshot;Landroidx/compose/runtime/snapshots/MutableSnapshot;Landroidx/compose/runtime/snapshots/SnapshotIdSet;)Ljava/util/HashMap; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->access$validateOpen(Landroidx/compose/runtime/snapshots/Snapshot;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->addRange(IILandroidx/compose/runtime/snapshots/SnapshotIdSet;)Landroidx/compose/runtime/snapshots/SnapshotIdSet; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->advanceGlobalSnapshot(Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->createTransparentSnapshotWithNoParentReadObserver(Landroidx/compose/runtime/snapshots/Snapshot;Lkotlin/jvm/functions/Function1;Z)Landroidx/compose/runtime/snapshots/Snapshot; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->current(Landroidx/compose/runtime/snapshots/StateRecord;Landroidx/compose/runtime/snapshots/Snapshot;)Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->currentSnapshot()Landroidx/compose/runtime/snapshots/Snapshot; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->mergedReadObserver(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Z)Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->newOverwritableRecord(Landroidx/compose/runtime/snapshots/StateRecord;Landroidx/compose/runtime/snapshots/StateObject;)Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->newWritableRecord(Landroidx/compose/runtime/snapshots/StateRecord;Landroidx/compose/runtime/snapshots/StateObject;Landroidx/compose/runtime/snapshots/Snapshot;)Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->notifyWrite(Landroidx/compose/runtime/snapshots/Snapshot;Landroidx/compose/runtime/snapshots/StateObject;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->overwritableRecord(Landroidx/compose/runtime/SnapshotMutableStateImpl$StateStateRecord;Landroidx/compose/runtime/snapshots/StateObject;Landroidx/compose/runtime/snapshots/Snapshot;Landroidx/compose/runtime/SnapshotMutableStateImpl$StateStateRecord;)Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->readable(Landroidx/compose/runtime/snapshots/StateRecord;ILandroidx/compose/runtime/snapshots/SnapshotIdSet;)Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->readable(Landroidx/compose/runtime/snapshots/StateRecord;Landroidx/compose/runtime/snapshots/StateObject;)Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->releasePinningLocked(I)V -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->takeNewGlobalSnapshot(Landroidx/compose/runtime/snapshots/Snapshot;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotKt;->writableRecord(Landroidx/compose/runtime/snapshots/StateRecord;Landroidx/compose/runtime/snapshots/StateObject;Landroidx/compose/runtime/snapshots/Snapshot;)Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList$StateListStateRecord;->(Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentList;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList$StateListStateRecord;->assign(Landroidx/compose/runtime/snapshots/StateRecord;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList$StateListStateRecord;->create()Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList$StateListStateRecord;->setList$runtime_release(Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentList;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->add(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->addAll(Ljava/util/Collection;)Z -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->get(I)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->getFirstStateRecord()Landroidx/compose/runtime/snapshots/StateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->getModification$runtime_release()I -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->getReadable$runtime_release()Landroidx/compose/runtime/snapshots/SnapshotStateList$StateListStateRecord; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->isEmpty()Z -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->listIterator()Ljava/util/ListIterator; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->prependStateRecord(Landroidx/compose/runtime/snapshots/StateRecord;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->remove(Ljava/lang/Object;)Z -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->set(ILjava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateList;->size()I -HSPLandroidx/compose/runtime/snapshots/SnapshotStateListKt;->()V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateListKt;->access$validateRange(II)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap$derivedStateEnterObserver$1;->(Landroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap$derivedStateEnterObserver$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap$derivedStateExitObserver$1;->(Landroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap$derivedStateExitObserver$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap;->access$clearObsoleteStateReads(Landroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap;Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap;->recordInvalidation(Ljava/util/Set;)Z -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap;->recordRead(Ljava/lang/Object;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap;->removeScopeIf()V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$applyObserver$1$2;->(Landroidx/compose/runtime/snapshots/SnapshotStateObserver;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$applyObserver$1$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$applyObserver$1;->(Landroidx/compose/runtime/snapshots/SnapshotStateObserver;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$applyObserver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$observeReads$1$1;->(Landroidx/compose/runtime/snapshots/SnapshotStateObserver;Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$observeReads$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$readObserver$1;->(Landroidx/compose/runtime/snapshots/SnapshotStateObserver;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver$readObserver$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver;->clear()V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver;->ensureMap(Lkotlin/jvm/functions/Function1;)Landroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap; -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver;->observeReads(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/runtime/snapshots/SnapshotStateObserver;->start()V -HSPLandroidx/compose/runtime/snapshots/StateListIterator;->(Landroidx/compose/runtime/snapshots/SnapshotStateList;I)V -HSPLandroidx/compose/runtime/snapshots/StateListIterator;->hasNext()Z -HSPLandroidx/compose/runtime/snapshots/StateListIterator;->next()Ljava/lang/Object; -HSPLandroidx/compose/runtime/snapshots/StateListIterator;->validateModification()V -HSPLandroidx/compose/runtime/snapshots/StateRecord;->()V -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->(Landroidx/compose/runtime/snapshots/MutableSnapshot;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ZZ)V -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->apply()Landroidx/compose/runtime/snapshots/SnapshotApplyResult; -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->dispose()V -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->getCurrentSnapshot()Landroidx/compose/runtime/snapshots/MutableSnapshot; -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->getId()I -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->getInvalid$runtime_release()Landroidx/compose/runtime/snapshots/SnapshotIdSet; -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->getReadOnly()Z -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->notifyObjectsInitialized$runtime_release()V -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->recordModified$runtime_release(Landroidx/compose/runtime/snapshots/StateObject;)V -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->takeNestedMutableSnapshot(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Landroidx/compose/runtime/snapshots/MutableSnapshot; -HSPLandroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot;->takeNestedSnapshot(Lkotlin/jvm/functions/Function1;)Landroidx/compose/runtime/snapshots/Snapshot; -HSPLandroidx/compose/runtime/snapshots/TransparentObserverSnapshot;->(Landroidx/compose/runtime/snapshots/Snapshot;Lkotlin/jvm/functions/Function1;Z)V -HSPLandroidx/compose/runtime/snapshots/TransparentObserverSnapshot;->dispose()V -HSPLandroidx/compose/runtime/snapshots/TransparentObserverSnapshot;->getCurrentSnapshot()Landroidx/compose/runtime/snapshots/Snapshot; -HSPLandroidx/compose/runtime/snapshots/TransparentObserverSnapshot;->getId()I -HSPLandroidx/compose/runtime/snapshots/TransparentObserverSnapshot;->getInvalid$runtime_release()Landroidx/compose/runtime/snapshots/SnapshotIdSet; -HSPLandroidx/compose/runtime/snapshots/TransparentObserverSnapshot;->getReadObserver$runtime_release()Lkotlin/jvm/functions/Function1; -HSPLandroidx/compose/runtime/tooling/InspectionTablesKt$LocalInspectionTables$1;->()V -HSPLandroidx/compose/runtime/tooling/InspectionTablesKt$LocalInspectionTables$1;->()V -HSPLandroidx/compose/runtime/tooling/InspectionTablesKt$LocalInspectionTables$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/runtime/tooling/InspectionTablesKt;->()V -HSPLandroidx/compose/ui/Alignment$Companion;->()V -HSPLandroidx/compose/ui/BiasAlignment$Horizontal;->(F)V -HSPLandroidx/compose/ui/BiasAlignment$Horizontal;->align(IILandroidx/compose/ui/unit/LayoutDirection;)I -HSPLandroidx/compose/ui/BiasAlignment$Horizontal;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/BiasAlignment$Vertical;->(F)V -HSPLandroidx/compose/ui/BiasAlignment$Vertical;->align(II)I -HSPLandroidx/compose/ui/BiasAlignment$Vertical;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/BiasAlignment;->(FF)V -HSPLandroidx/compose/ui/BiasAlignment;->align-KFBX0sM(JJLandroidx/compose/ui/unit/LayoutDirection;)J -HSPLandroidx/compose/ui/BiasAlignment;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/CombinedModifier;->(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;)V -HSPLandroidx/compose/ui/CombinedModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/CombinedModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/CombinedModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/CombinedModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/ComposedModifier;->(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/ui/ComposedModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/ComposedModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/ComposedModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/ComposedModifierKt$materialize$1;->()V -HSPLandroidx/compose/ui/ComposedModifierKt$materialize$1;->()V -HSPLandroidx/compose/ui/ComposedModifierKt$materialize$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/ComposedModifierKt$materialize$result$1;->(Landroidx/compose/runtime/Composer;)V -HSPLandroidx/compose/ui/ComposedModifierKt$materialize$result$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/ComposedModifierKt;->composed(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/ComposedModifierKt;->materialize(Landroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/Modifier$-CC;->$default$then(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/Modifier$Companion;->()V -HSPLandroidx/compose/ui/Modifier$Companion;->()V -HSPLandroidx/compose/ui/Modifier$Companion;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/Modifier$Companion;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/Modifier$Element$-CC;->$default$all(Landroidx/compose/ui/Modifier$Element;Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/Modifier$Node;->()V -HSPLandroidx/compose/ui/Modifier$Node;->detach$ui_release()V -HSPLandroidx/compose/ui/Modifier$Node;->getNode()Landroidx/compose/ui/Modifier$Node; -HSPLandroidx/compose/ui/Modifier$Node;->onAttach()V -HSPLandroidx/compose/ui/Modifier$Node;->onDetach()V -HSPLandroidx/compose/ui/MotionDurationScale$Key;->()V -HSPLandroidx/compose/ui/MotionDurationScale$Key;->()V -HSPLandroidx/compose/ui/R$style;->zza(Lcom/google/android/gms/internal/measurement/zzih;)Lcom/google/android/gms/internal/measurement/zzih; -HSPLandroidx/compose/ui/TempListUtilsKt;->fastJoinToString$default(Ljava/util/List;)Ljava/lang/String; -HSPLandroidx/compose/ui/autofill/AndroidAutofill$$ExternalSyntheticApiModelOutline0;->m(Landroid/content/Context;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroidx/compose/ui/autofill/AndroidAutofill$$ExternalSyntheticApiModelOutline1;->m(Landroid/view/View;)V -HSPLandroidx/compose/ui/autofill/AndroidAutofill;->(Landroid/view/View;Landroidx/compose/ui/autofill/AutofillTree;)V -HSPLandroidx/compose/ui/autofill/AutofillCallback;->()V -HSPLandroidx/compose/ui/autofill/AutofillCallback;->()V -HSPLandroidx/compose/ui/autofill/AutofillCallback;->register(Landroidx/compose/ui/autofill/AndroidAutofill;)V -HSPLandroidx/compose/ui/autofill/AutofillCallback;->unregister(Landroidx/compose/ui/autofill/AndroidAutofill;)V -HSPLandroidx/compose/ui/autofill/AutofillTree;->()V -HSPLandroidx/compose/ui/draw/DrawBackgroundModifier;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/draw/DrawBackgroundModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/draw/DrawBackgroundModifier;->draw(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLandroidx/compose/ui/draw/DrawBackgroundModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/draw/DrawBackgroundModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/draw/DrawModifierKt;->drawBehind(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/draw/PainterModifier$measure$1;->(Landroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/ui/draw/PainterModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/draw/PainterModifier;->(Landroidx/compose/ui/graphics/painter/Painter;ZLandroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;)V -HSPLandroidx/compose/ui/draw/PainterModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/draw/PainterModifier;->draw(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLandroidx/compose/ui/draw/PainterModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/draw/PainterModifier;->hasSpecifiedAndFiniteHeight-uvyYCjk(J)Z -HSPLandroidx/compose/ui/draw/PainterModifier;->hasSpecifiedAndFiniteWidth-uvyYCjk(J)Z -HSPLandroidx/compose/ui/draw/PainterModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/draw/PainterModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/draw/PainterModifierKt;->paint$default(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/painter/Painter;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;I)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/draw/ShadowKt$shadow$2$1;->(FLandroidx/compose/ui/graphics/Shape;ZJJ)V -HSPLandroidx/compose/ui/draw/ShadowKt$shadow$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/draw/ShadowKt;->shadow-s4CzXII$default(Landroidx/compose/ui/Modifier;FLandroidx/compose/ui/graphics/Shape;I)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/focus/FocusChangedModifierKt$onFocusChanged$2$1$1;->(Landroidx/compose/runtime/MutableState;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/focus/FocusChangedModifierKt$onFocusChanged$2$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusChangedModifierKt$onFocusChanged$2;->(Landroidx/compose/foundation/FocusableKt$focusable$2$5;)V -HSPLandroidx/compose/ui/focus/FocusChangedModifierKt$onFocusChanged$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusEventModifierKt$ModifierLocalFocusEvent$1;->()V -HSPLandroidx/compose/ui/focus/FocusEventModifierKt$ModifierLocalFocusEvent$1;->()V -HSPLandroidx/compose/ui/focus/FocusEventModifierKt$ModifierLocalFocusEvent$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusEventModifierKt$onFocusEvent$2$1$1;->(Landroidx/compose/ui/focus/FocusEventModifierLocal;)V -HSPLandroidx/compose/ui/focus/FocusEventModifierKt$onFocusEvent$2$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusEventModifierKt$onFocusEvent$2;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/focus/FocusEventModifierKt$onFocusEvent$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusEventModifierKt;->()V -HSPLandroidx/compose/ui/focus/FocusEventModifierLocal;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/focus/FocusEventModifierLocal;->addFocusModifier(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusEventModifierLocal;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/focus/FocusEventModifierLocal;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/focus/FocusEventModifierLocal;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusEventModifierLocal;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/ui/focus/FocusEventModifierLocal;->propagateFocusEvent()V -HSPLandroidx/compose/ui/focus/FocusEventModifierLocal;->removeFocusModifier(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusManagerImpl;->()V -HSPLandroidx/compose/ui/focus/FocusManagerKt;->updateProperties(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusModifier$Companion$RefreshFocusProperties$1;->()V -HSPLandroidx/compose/ui/focus/FocusModifier$Companion$RefreshFocusProperties$1;->()V -HSPLandroidx/compose/ui/focus/FocusModifier;->(I)V -HSPLandroidx/compose/ui/focus/FocusModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/focus/FocusModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/focus/FocusModifier;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusModifier;->isValid()Z -HSPLandroidx/compose/ui/focus/FocusModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/ui/focus/FocusModifier;->onPlaced(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/ui/focus/FocusModifier;->setFocusState(Landroidx/compose/ui/focus/FocusStateImpl;)V -HSPLandroidx/compose/ui/focus/FocusModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/focus/FocusModifierKt$ModifierLocalParentFocusModifier$1;->()V -HSPLandroidx/compose/ui/focus/FocusModifierKt$ModifierLocalParentFocusModifier$1;->()V -HSPLandroidx/compose/ui/focus/FocusModifierKt$ModifierLocalParentFocusModifier$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$1;->()V -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$1;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$1;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$1;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$1;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$2;->()V -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$2;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$2;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$2;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$3;->()V -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$3;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$3;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$3;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusModifierKt$focusTarget$2$1$1;->(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusModifierKt$focusTarget$2$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusModifierKt$focusTarget$2;->()V -HSPLandroidx/compose/ui/focus/FocusModifierKt$focusTarget$2;->()V -HSPLandroidx/compose/ui/focus/FocusModifierKt$focusTarget$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusModifierKt;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesImpl$enter$1;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesImpl$enter$1;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesImpl$exit$1;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesImpl$exit$1;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesImpl;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesImpl;->setCanFocus(Z)V -HSPLandroidx/compose/ui/focus/FocusPropertiesImpl;->setNext(Landroidx/compose/ui/focus/FocusRequester;)V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$ModifierLocalFocusProperties$1;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$ModifierLocalFocusProperties$1;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$ModifierLocalFocusProperties$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$clear$1;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$clear$1;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$clear$2;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$clear$2;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$refreshFocusProperties$1;->(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt$refreshFocusProperties$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusPropertiesKt;->()V -HSPLandroidx/compose/ui/focus/FocusPropertiesKt;->refreshFocusProperties(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->calculateProperties(Landroidx/compose/ui/focus/FocusPropertiesImpl;)V -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/ui/focus/FocusPropertiesModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/focus/FocusRequester;->()V -HSPLandroidx/compose/ui/focus/FocusRequester;->()V -HSPLandroidx/compose/ui/focus/FocusRequesterModifierKt$ModifierLocalFocusRequester$1;->()V -HSPLandroidx/compose/ui/focus/FocusRequesterModifierKt$ModifierLocalFocusRequester$1;->()V -HSPLandroidx/compose/ui/focus/FocusRequesterModifierKt$ModifierLocalFocusRequester$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusRequesterModifierKt$focusRequester$2;->(Landroidx/compose/ui/focus/FocusRequester;)V -HSPLandroidx/compose/ui/focus/FocusRequesterModifierKt$focusRequester$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusRequesterModifierKt;->()V -HSPLandroidx/compose/ui/focus/FocusRequesterModifierLocal;->(Landroidx/compose/ui/focus/FocusRequester;)V -HSPLandroidx/compose/ui/focus/FocusRequesterModifierLocal;->addFocusModifier(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusRequesterModifierLocal;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/focus/FocusRequesterModifierLocal;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/focus/FocusRequesterModifierLocal;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/focus/FocusRequesterModifierLocal;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/ui/focus/FocusRequesterModifierLocal;->removeFocusModifier(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusStateImpl;->()V -HSPLandroidx/compose/ui/focus/FocusStateImpl;->(ILjava/lang/String;)V -HSPLandroidx/compose/ui/focus/FocusStateImpl;->isFocused()Z -HSPLandroidx/compose/ui/focus/FocusTransactionsKt;->activateNode(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/focus/FocusTransactionsKt;->deactivateNode(Landroidx/compose/ui/focus/FocusModifier;)V -HSPLandroidx/compose/ui/geometry/CornerRadius;->()V -HSPLandroidx/compose/ui/geometry/CornerRadius;->getX-impl(J)F -HSPLandroidx/compose/ui/geometry/CornerRadius;->getY-impl(J)F -HSPLandroidx/compose/ui/geometry/CornerRadiusKt;->CornerRadius(FF)J -HSPLandroidx/compose/ui/geometry/MutableRect;->()V -HSPLandroidx/compose/ui/geometry/MutableRect;->intersect(FFFF)V -HSPLandroidx/compose/ui/geometry/MutableRect;->isEmpty()Z -HSPLandroidx/compose/ui/geometry/Offset;->()V -HSPLandroidx/compose/ui/geometry/Offset;->(J)V -HSPLandroidx/compose/ui/geometry/Offset;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/geometry/Offset;->getDistance-impl(J)F -HSPLandroidx/compose/ui/geometry/Offset;->getX-impl(J)F -HSPLandroidx/compose/ui/geometry/Offset;->getY-impl(J)F -HSPLandroidx/compose/ui/geometry/OffsetKt;->Offset(FF)J -HSPLandroidx/compose/ui/geometry/Rect;->()V -HSPLandroidx/compose/ui/geometry/Rect;->(FFFF)V -HSPLandroidx/compose/ui/geometry/Rect;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/geometry/RoundRect;->()V -HSPLandroidx/compose/ui/geometry/RoundRect;->(FFFFJJJJ)V -HSPLandroidx/compose/ui/geometry/Size;->()V -HSPLandroidx/compose/ui/geometry/Size;->(J)V -HSPLandroidx/compose/ui/geometry/Size;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/geometry/Size;->equals-impl(JLjava/lang/Object;)Z -HSPLandroidx/compose/ui/geometry/Size;->equals-impl0(JJ)Z -HSPLandroidx/compose/ui/geometry/Size;->getHeight-impl(J)F -HSPLandroidx/compose/ui/geometry/Size;->getMinDimension-impl(J)F -HSPLandroidx/compose/ui/geometry/Size;->getWidth-impl(J)F -HSPLandroidx/compose/ui/geometry/Size;->isEmpty-impl(J)Z -HSPLandroidx/compose/ui/geometry/SizeKt;->Size(FF)J -HSPLandroidx/compose/ui/geometry/SizeKt;->toRect-uvyYCjk(J)Landroidx/compose/ui/geometry/Rect; -HSPLandroidx/compose/ui/graphics/AndroidBlendMode_androidKt;->toAndroidBlendMode-s9anfk8(I)Landroid/graphics/BlendMode; -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->()V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->concat-58bKbWc([F)V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->disableZ()V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->drawImageRect-HPBpro0(Landroidx/compose/ui/graphics/ImageBitmap;JJJJLandroidx/compose/ui/graphics/Paint;)V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->drawPath(Landroidx/compose/ui/graphics/Path;Landroidx/compose/ui/graphics/Paint;)V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->drawRect(FFFFLandroidx/compose/ui/graphics/Paint;)V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->drawRoundRect(FFFFFFLandroidx/compose/ui/graphics/Paint;)V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->enableZ()V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->restore()V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->save()V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->setInternalCanvas(Landroid/graphics/Canvas;)V -HSPLandroidx/compose/ui/graphics/AndroidCanvas;->translate(FF)V -HSPLandroidx/compose/ui/graphics/AndroidCanvas_androidKt;->()V -HSPLandroidx/compose/ui/graphics/AndroidImageBitmap;->(Landroid/graphics/Bitmap;)V -HSPLandroidx/compose/ui/graphics/AndroidImageBitmap;->getHeight()I -HSPLandroidx/compose/ui/graphics/AndroidImageBitmap;->getWidth()I -HSPLandroidx/compose/ui/graphics/AndroidImageBitmap;->prepareToDraw()V -HSPLandroidx/compose/ui/graphics/AndroidImageBitmap_androidKt;->toBitmapConfig-1JJdX4A(I)Landroid/graphics/Bitmap$Config; -HSPLandroidx/compose/ui/graphics/AndroidMatrixConversions_androidKt;->setFrom-tU-YjHk(Landroid/graphics/Matrix;[F)V -HSPLandroidx/compose/ui/graphics/AndroidPaint;->()V -HSPLandroidx/compose/ui/graphics/AndroidPaint;->asFrameworkPaint()Landroid/graphics/Paint; -HSPLandroidx/compose/ui/graphics/AndroidPaint;->getAlpha()F -HSPLandroidx/compose/ui/graphics/AndroidPaint;->getBlendMode-0nO6VwU()I -HSPLandroidx/compose/ui/graphics/AndroidPaint;->getColor-0d7_KjU()J -HSPLandroidx/compose/ui/graphics/AndroidPaint;->getColorFilter()Landroidx/compose/ui/graphics/ColorFilter; -HSPLandroidx/compose/ui/graphics/AndroidPaint;->getFilterQuality-f-v9h1I()I -HSPLandroidx/compose/ui/graphics/AndroidPaint;->getShader()Landroid/graphics/Shader; -HSPLandroidx/compose/ui/graphics/AndroidPaint;->setAlpha(F)V -HSPLandroidx/compose/ui/graphics/AndroidPaint;->setBlendMode-s9anfk8(I)V -HSPLandroidx/compose/ui/graphics/AndroidPaint;->setColor-8_81llA(J)V -HSPLandroidx/compose/ui/graphics/AndroidPaint;->setColorFilter(Landroidx/compose/ui/graphics/ColorFilter;)V -HSPLandroidx/compose/ui/graphics/AndroidPaint;->setStrokeWidth(F)V -HSPLandroidx/compose/ui/graphics/AndroidPaint;->setStyle-k9PVt8s(I)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->(I)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->(Landroid/graphics/Path;)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->addPath-Uv8p0NA(Landroidx/compose/ui/graphics/Path;J)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->close()V -HSPLandroidx/compose/ui/graphics/AndroidPath;->cubicTo(FFFFFF)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->lineTo(FF)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->moveTo(FF)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->relativeCubicTo(FFFFFF)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->relativeLineTo(FF)V -HSPLandroidx/compose/ui/graphics/AndroidPath;->reset()V -HSPLandroidx/compose/ui/graphics/Api26Bitmap$$ExternalSyntheticApiModelOutline0;->m(IILandroid/graphics/Bitmap$Config;ZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap; -HSPLandroidx/compose/ui/graphics/Api26Bitmap;->createBitmap-x__-hDU$ui_graphics_release(IIIZLandroidx/compose/ui/graphics/colorspace/ColorSpace;)Landroid/graphics/Bitmap; -HSPLandroidx/compose/ui/graphics/Api26Bitmap;->toFrameworkColorSpace$ui_graphics_release(Landroidx/compose/ui/graphics/colorspace/ColorSpace;)Landroid/graphics/ColorSpace; -HSPLandroidx/compose/ui/graphics/BlendMode;->(I)V -HSPLandroidx/compose/ui/graphics/BlendMode;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/BlendModeColorFilterHelper;->()V -HSPLandroidx/compose/ui/graphics/BlendModeColorFilterHelper;->()V -HSPLandroidx/compose/ui/graphics/BlendModeColorFilterHelper;->BlendModeColorFilter-xETnrds(JI)Landroid/graphics/BlendModeColorFilter; -HSPLandroidx/compose/ui/graphics/BlockGraphicsLayerModifier$measure$1;->(Landroidx/compose/ui/layout/Placeable;Landroidx/compose/ui/graphics/BlockGraphicsLayerModifier;)V -HSPLandroidx/compose/ui/graphics/BlockGraphicsLayerModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/BlockGraphicsLayerModifier;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/graphics/BlockGraphicsLayerModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/graphics/BlockGraphicsLayerModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/BlockGraphicsLayerModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/BlockGraphicsLayerModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/graphics/Brush;->()V -HSPLandroidx/compose/ui/graphics/CanvasHolder;->()V -HSPLandroidx/compose/ui/graphics/CanvasUtils;->enableZ(Landroid/graphics/Canvas;Z)V -HSPLandroidx/compose/ui/graphics/CanvasZHelper$$ExternalSyntheticApiModelOutline0;->m(Landroid/graphics/Canvas;)V -HSPLandroidx/compose/ui/graphics/CanvasZHelper$$ExternalSyntheticApiModelOutline1;->m(Landroid/graphics/Canvas;)V -HSPLandroidx/compose/ui/graphics/CanvasZHelper;->()V -HSPLandroidx/compose/ui/graphics/CanvasZHelper;->()V -HSPLandroidx/compose/ui/graphics/CanvasZHelper;->enableZ(Landroid/graphics/Canvas;Z)V -HSPLandroidx/compose/ui/graphics/Color;->()V -HSPLandroidx/compose/ui/graphics/Color;->(J)V -HSPLandroidx/compose/ui/graphics/Color;->convert-vNxB06k(JLandroidx/compose/ui/graphics/colorspace/ColorSpace;)J -HSPLandroidx/compose/ui/graphics/Color;->copy-wmQWz5c$default(JF)J -HSPLandroidx/compose/ui/graphics/Color;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/Color;->equals-impl0(JJ)Z -HSPLandroidx/compose/ui/graphics/Color;->getAlpha-impl(J)F -HSPLandroidx/compose/ui/graphics/Color;->getBlue-impl(J)F -HSPLandroidx/compose/ui/graphics/Color;->getColorSpace-impl(J)Landroidx/compose/ui/graphics/colorspace/ColorSpace; -HSPLandroidx/compose/ui/graphics/Color;->getGreen-impl(J)F -HSPLandroidx/compose/ui/graphics/Color;->getRed-impl(J)F -HSPLandroidx/compose/ui/graphics/ColorFilter;->(Landroid/graphics/ColorFilter;)V -HSPLandroidx/compose/ui/graphics/ColorKt;->Color$default(III)J -HSPLandroidx/compose/ui/graphics/ColorKt;->Color(FFFFLandroidx/compose/ui/graphics/colorspace/ColorSpace;)J -HSPLandroidx/compose/ui/graphics/ColorKt;->Color(I)J -HSPLandroidx/compose/ui/graphics/ColorKt;->Color(J)J -HSPLandroidx/compose/ui/graphics/ColorKt;->compositeOver--OWjLjI(JJ)J -HSPLandroidx/compose/ui/graphics/ColorKt;->getComponents-8_81llA(J)[F -HSPLandroidx/compose/ui/graphics/ColorKt;->toArgb-8_81llA(J)I -HSPLandroidx/compose/ui/graphics/Float16$Companion;->()V -HSPLandroidx/compose/ui/graphics/Float16;->()V -HSPLandroidx/compose/ui/graphics/Float16;->constructor-impl(F)S -HSPLandroidx/compose/ui/graphics/Float16;->toFloat-impl(S)F -HSPLandroidx/compose/ui/graphics/GraphicsLayerModifierKt;->graphicsLayer(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/graphics/GraphicsLayerModifierKt;->graphicsLayer-pANQ8Wg$default(Landroidx/compose/ui/Modifier;FFFLandroidx/compose/ui/graphics/Shape;ZI)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/graphics/GraphicsLayerScopeKt;->()V -HSPLandroidx/compose/ui/graphics/Matrix;->constructor-impl$default()[F -HSPLandroidx/compose/ui/graphics/Matrix;->map-MK-Hz9U([FJ)J -HSPLandroidx/compose/ui/graphics/Matrix;->map-impl([FLandroidx/compose/ui/geometry/MutableRect;)V -HSPLandroidx/compose/ui/graphics/Matrix;->reset-impl([F)V -HSPLandroidx/compose/ui/graphics/Matrix;->translate-impl$default([FFF)V -HSPLandroidx/compose/ui/graphics/Outline$Rectangle;->(Landroidx/compose/ui/geometry/Rect;)V -HSPLandroidx/compose/ui/graphics/Outline$Rounded;->(Landroidx/compose/ui/geometry/RoundRect;)V -HSPLandroidx/compose/ui/graphics/Outline;->()V -HSPLandroidx/compose/ui/graphics/OutlineKt;->drawOutline-wDX37Ww$default(Landroidx/compose/ui/graphics/drawscope/DrawScope;Landroidx/compose/ui/graphics/Outline;J)V -HSPLandroidx/compose/ui/graphics/PathFillType;->(I)V -HSPLandroidx/compose/ui/graphics/RectangleShapeKt$RectangleShape$1;->()V -HSPLandroidx/compose/ui/graphics/RectangleShapeKt;->()V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->()V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->getDensity()F -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setAlpha(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setAmbientShadowColor-8_81llA(J)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setCameraDistance(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setClip(Z)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setRenderEffect()V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setRotationX(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setRotationY(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setRotationZ(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setScaleX(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setScaleY(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setShadowElevation(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setShape(Landroidx/compose/ui/graphics/Shape;)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setSpotShadowColor-8_81llA(J)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setTransformOrigin-__ExYCQ(J)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setTranslationX(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->setTranslationY(F)V -HSPLandroidx/compose/ui/graphics/ReusableGraphicsLayerScope;->toPx-0680j_4(F)F -HSPLandroidx/compose/ui/graphics/Shadow;->()V -HSPLandroidx/compose/ui/graphics/Shadow;->(JJF)V -HSPLandroidx/compose/ui/graphics/Shadow;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier$layerBlock$1;->(Landroidx/compose/ui/graphics/SimpleGraphicsLayerModifier;)V -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier$layerBlock$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier$measure$1;->(Landroidx/compose/ui/layout/Placeable;Landroidx/compose/ui/graphics/SimpleGraphicsLayerModifier;)V -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier;->(FFFFFFFFFFJLandroidx/compose/ui/graphics/Shape;ZJJ)V -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/graphics/SimpleGraphicsLayerModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/graphics/SolidColor;->(J)V -HSPLandroidx/compose/ui/graphics/SolidColor;->applyTo-Pq9zytI(FJLandroidx/compose/ui/graphics/Paint;)V -HSPLandroidx/compose/ui/graphics/StrokeCap;->(I)V -HSPLandroidx/compose/ui/graphics/StrokeJoin;->(I)V -HSPLandroidx/compose/ui/graphics/TransformOrigin;->()V -HSPLandroidx/compose/ui/graphics/TransformOrigin;->getPivotFractionY-impl(J)F -HSPLandroidx/compose/ui/graphics/WrapperVerificationHelperMethods$$ExternalSyntheticApiModelOutline0;->m(Landroid/graphics/Paint;Landroid/graphics/BlendMode;)V -HSPLandroidx/compose/ui/graphics/WrapperVerificationHelperMethods;->()V -HSPLandroidx/compose/ui/graphics/WrapperVerificationHelperMethods;->()V -HSPLandroidx/compose/ui/graphics/WrapperVerificationHelperMethods;->setBlendMode-GB0RdKg(Landroid/graphics/Paint;I)V -HSPLandroidx/compose/ui/graphics/colorspace/Adaptation$Companion$Bradford$1;->([F)V -HSPLandroidx/compose/ui/graphics/colorspace/Adaptation;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Adaptation;->([F)V -HSPLandroidx/compose/ui/graphics/colorspace/ColorModel;->()V -HSPLandroidx/compose/ui/graphics/colorspace/ColorModel;->equals-impl0(JJ)Z -HSPLandroidx/compose/ui/graphics/colorspace/ColorSpace;->(Ljava/lang/String;JI)V -HSPLandroidx/compose/ui/graphics/colorspace/ColorSpace;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/colorspace/ColorSpace;->isSrgb()Z -HSPLandroidx/compose/ui/graphics/colorspace/ColorSpaces$ExtendedSrgb$1;->()V -HSPLandroidx/compose/ui/graphics/colorspace/ColorSpaces$ExtendedSrgb$1;->()V -HSPLandroidx/compose/ui/graphics/colorspace/ColorSpaces$ExtendedSrgb$2;->()V -HSPLandroidx/compose/ui/graphics/colorspace/ColorSpaces$ExtendedSrgb$2;->()V -HSPLandroidx/compose/ui/graphics/colorspace/ColorSpaces;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Connector;->(Landroidx/compose/ui/graphics/colorspace/ColorSpace;Landroidx/compose/ui/graphics/colorspace/ColorSpace;I)V -HSPLandroidx/compose/ui/graphics/colorspace/Connector;->(Landroidx/compose/ui/graphics/colorspace/ColorSpace;Landroidx/compose/ui/graphics/colorspace/ColorSpace;[F)V -HSPLandroidx/compose/ui/graphics/colorspace/Connector;->transform([F)V -HSPLandroidx/compose/ui/graphics/colorspace/Illuminant;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Lab;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Oklab;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Oklab;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Oklab;->fromXyz([F)[F -HSPLandroidx/compose/ui/graphics/colorspace/Oklab;->getMaxValue(I)F -HSPLandroidx/compose/ui/graphics/colorspace/Oklab;->getMinValue(I)F -HSPLandroidx/compose/ui/graphics/colorspace/Oklab;->toXyz([F)[F -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$1;->(Landroidx/compose/ui/graphics/colorspace/TransferParameters;)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$3;->(Landroidx/compose/ui/graphics/colorspace/TransferParameters;)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$3;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$5;->(D)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$6;->(D)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$Companion$DoubleIdentity$1;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$Companion$DoubleIdentity$1;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$Companion$DoubleIdentity$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$Companion;->area([F)F -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$Companion;->compare(DLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$eotf$1;->(Landroidx/compose/ui/graphics/colorspace/Rgb;)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$eotf$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$oetf$1;->(Landroidx/compose/ui/graphics/colorspace/Rgb;)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb$oetf$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->(Ljava/lang/String;[FLandroidx/compose/ui/graphics/colorspace/WhitePoint;DFFI)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->(Ljava/lang/String;[FLandroidx/compose/ui/graphics/colorspace/WhitePoint;Landroidx/compose/ui/graphics/colorspace/TransferParameters;I)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->(Ljava/lang/String;[FLandroidx/compose/ui/graphics/colorspace/WhitePoint;[FLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;FFLandroidx/compose/ui/graphics/colorspace/TransferParameters;I)V -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->fromXyz([F)[F -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->getMaxValue(I)F -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->getMinValue(I)F -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->isSrgb()Z -HSPLandroidx/compose/ui/graphics/colorspace/Rgb;->toXyz([F)[F -HSPLandroidx/compose/ui/graphics/colorspace/TransferParameters;->(DDDDD)V -HSPLandroidx/compose/ui/graphics/colorspace/WhitePoint;->(FF)V -HSPLandroidx/compose/ui/graphics/colorspace/WhitePoint;->toXyz$ui_graphics_release()[F -HSPLandroidx/compose/ui/graphics/colorspace/Xyz;->()V -HSPLandroidx/compose/ui/graphics/colorspace/Xyz;->clamp(F)F -HSPLandroidx/compose/ui/graphics/colorspace/Xyz;->fromXyz([F)[F -HSPLandroidx/compose/ui/graphics/colorspace/Xyz;->getMaxValue(I)F -HSPLandroidx/compose/ui/graphics/colorspace/Xyz;->getMinValue(I)F -HSPLandroidx/compose/ui/graphics/colorspace/Xyz;->toXyz([F)[F -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope$DrawParams;->()V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope$drawContext$1;->(Landroidx/compose/ui/graphics/drawscope/CanvasDrawScope;)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope$drawContext$1;->getCanvas()Landroidx/compose/ui/graphics/Canvas; -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope$drawContext$1;->getSize-NH-jbRc()J -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope$drawContext$1;->setSize-uvyYCjk(J)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->()V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->configurePaint-2qPWKa0$default(Landroidx/compose/ui/graphics/drawscope/CanvasDrawScope;JLandroidx/loader/app/LoaderManager;FLandroidx/compose/ui/graphics/ColorFilter;I)Landroidx/compose/ui/graphics/Paint; -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->configurePaint-swdJneE$default(Landroidx/compose/ui/graphics/drawscope/CanvasDrawScope;Landroidx/compose/ui/graphics/Brush;Landroidx/loader/app/LoaderManager;FLandroidx/compose/ui/graphics/ColorFilter;I)Landroidx/compose/ui/graphics/Paint; -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->configurePaint-swdJneE(Landroidx/compose/ui/graphics/Brush;Landroidx/loader/app/LoaderManager;FLandroidx/compose/ui/graphics/ColorFilter;II)Landroidx/compose/ui/graphics/Paint; -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->drawImage-AZ2fEMs(Landroidx/compose/ui/graphics/ImageBitmap;JJJJFLandroidx/loader/app/LoaderManager;Landroidx/compose/ui/graphics/ColorFilter;II)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->drawPath-GBMwjPU(Landroidx/compose/ui/graphics/Path;Landroidx/compose/ui/graphics/Brush;FLandroidx/loader/app/LoaderManager;Landroidx/compose/ui/graphics/ColorFilter;I)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->drawRect-n-J9OG0(JJJFLandroidx/loader/app/LoaderManager;Landroidx/compose/ui/graphics/ColorFilter;I)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->drawRoundRect-u-Aw5IA(JJJJLandroidx/loader/app/LoaderManager;FLandroidx/compose/ui/graphics/ColorFilter;I)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->getDensity()F -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->getDrawContext()Landroidx/compose/ui/graphics/drawscope/CanvasDrawScope$drawContext$1; -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->getSize-NH-jbRc()J -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->modulate-5vOe2sY(FJ)J -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->selectPaint(Landroidx/loader/app/LoaderManager;)Landroidx/compose/ui/graphics/Paint; -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScope;->toPx-0680j_4(F)F -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScopeKt$asDrawTransform$1;->(Landroidx/compose/ui/graphics/drawscope/DrawContext;)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScopeKt$asDrawTransform$1;->inset(FFFF)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScopeKt$asDrawTransform$1;->transform-58bKbWc([F)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScopeKt$asDrawTransform$1;->translate(FF)V -HSPLandroidx/compose/ui/graphics/drawscope/CanvasDrawScopeKt;->()V -HSPLandroidx/compose/ui/graphics/drawscope/DrawScope$-CC;->$private$offsetSize-PENXr5M(JJ)J -HSPLandroidx/compose/ui/graphics/drawscope/DrawScope$-CC;->()V -HSPLandroidx/compose/ui/graphics/drawscope/DrawScope$-CC;->drawImage-AZ2fEMs$default(Landroidx/compose/ui/graphics/drawscope/DrawScope;Landroidx/compose/ui/graphics/ImageBitmap;JJJFLandroidx/compose/ui/graphics/ColorFilter;II)V -HSPLandroidx/compose/ui/graphics/drawscope/DrawScope$-CC;->drawPath-GBMwjPU$default(Landroidx/compose/ui/graphics/drawscope/DrawScope;Landroidx/compose/ui/graphics/Path;Landroidx/compose/ui/graphics/Brush;FLandroidx/compose/ui/graphics/drawscope/Stroke;I)V -HSPLandroidx/compose/ui/graphics/drawscope/DrawScope$-CC;->drawRect-n-J9OG0$default(Landroidx/compose/ui/graphics/drawscope/DrawScope;JJFLandroidx/compose/ui/graphics/ColorFilter;I)V -HSPLandroidx/compose/ui/graphics/drawscope/EmptyCanvas;->()V -HSPLandroidx/compose/ui/graphics/drawscope/Fill;->()V -HSPLandroidx/compose/ui/graphics/drawscope/Fill;->()V -HSPLandroidx/compose/ui/graphics/painter/Painter;->()V -HSPLandroidx/compose/ui/graphics/painter/Painter;->draw-x_KDEd0(Landroidx/compose/ui/graphics/drawscope/DrawScope;JFLandroidx/compose/ui/graphics/ColorFilter;)V -HSPLandroidx/compose/ui/graphics/vector/DrawCache;->()V -HSPLandroidx/compose/ui/graphics/vector/GroupComponent;->()V -HSPLandroidx/compose/ui/graphics/vector/GroupComponent;->draw(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V -HSPLandroidx/compose/ui/graphics/vector/GroupComponent;->getInvalidateListener$ui_release()Lkotlin/jvm/functions/Function0; -HSPLandroidx/compose/ui/graphics/vector/GroupComponent;->remove(II)V -HSPLandroidx/compose/ui/graphics/vector/GroupComponent;->setInvalidateListener$ui_release(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/ui/graphics/vector/ImageVector$Builder$GroupParams;->(Ljava/lang/String;FFFFFFFLjava/util/List;I)V -HSPLandroidx/compose/ui/graphics/vector/ImageVector$Builder;->(Ljava/lang/String;)V -HSPLandroidx/compose/ui/graphics/vector/ImageVector$Builder;->(Ljava/lang/String;FFFFJIZ)V -HSPLandroidx/compose/ui/graphics/vector/ImageVector$Builder;->addPath-oIyEayM$default(Landroidx/compose/ui/graphics/vector/ImageVector$Builder;Ljava/util/ArrayList;Landroidx/compose/ui/graphics/SolidColor;)V -HSPLandroidx/compose/ui/graphics/vector/ImageVector$Builder;->addPath-oIyEayM(FFFFFFFIIILandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Ljava/lang/String;Ljava/util/List;)V -HSPLandroidx/compose/ui/graphics/vector/ImageVector$Builder;->build()Landroidx/compose/ui/graphics/vector/ImageVector; -HSPLandroidx/compose/ui/graphics/vector/ImageVector$Builder;->ensureNotConsumed()V -HSPLandroidx/compose/ui/graphics/vector/ImageVector;->(Ljava/lang/String;FFFFLandroidx/compose/ui/graphics/vector/VectorGroup;JIZ)V -HSPLandroidx/compose/ui/graphics/vector/ImageVector;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->()V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->addNode(Landroidx/compose/ui/graphics/vector/PathNode;)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->close()V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->curveTo(FFFFFF)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->curveToRelative(FFFFFF)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->horizontalLineTo(F)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->horizontalLineToRelative(F)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->lineTo(FF)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->lineToRelative(FF)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->moveTo(FF)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->reflectiveCurveTo(FFFF)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->reflectiveCurveToRelative(FFFF)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->verticalLineTo(F)V -HSPLandroidx/compose/ui/graphics/vector/PathBuilder;->verticalLineToRelative(F)V -HSPLandroidx/compose/ui/graphics/vector/PathComponent$pathMeasure$2;->()V -HSPLandroidx/compose/ui/graphics/vector/PathComponent$pathMeasure$2;->()V -HSPLandroidx/compose/ui/graphics/vector/PathComponent;->()V -HSPLandroidx/compose/ui/graphics/vector/PathComponent;->draw(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V -HSPLandroidx/compose/ui/graphics/vector/PathComponent;->updateRenderPath()V -HSPLandroidx/compose/ui/graphics/vector/PathNode$Close;->()V -HSPLandroidx/compose/ui/graphics/vector/PathNode$Close;->()V -HSPLandroidx/compose/ui/graphics/vector/PathNode$CurveTo;->(FFFFFF)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$HorizontalTo;->(F)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$LineTo;->(FF)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$MoveTo;->(FF)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$ReflectiveCurveTo;->(FFFF)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$RelativeCurveTo;->(FFFFFF)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$RelativeHorizontalTo;->(F)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$RelativeLineTo;->(FF)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$RelativeReflectiveCurveTo;->(FFFF)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$RelativeVerticalTo;->(F)V -HSPLandroidx/compose/ui/graphics/vector/PathNode$VerticalTo;->(F)V -HSPLandroidx/compose/ui/graphics/vector/PathNode;->(ZZI)V -HSPLandroidx/compose/ui/graphics/vector/PathParser$PathPoint;->(I)V -HSPLandroidx/compose/ui/graphics/vector/PathParser$PathPoint;->reset()V -HSPLandroidx/compose/ui/graphics/vector/PathParser;->()V -HSPLandroidx/compose/ui/graphics/vector/PathParser;->toPath(Landroidx/compose/ui/graphics/Path;)V -HSPLandroidx/compose/ui/graphics/vector/VNode;->()V -HSPLandroidx/compose/ui/graphics/vector/VNode;->getInvalidateListener$ui_release()Lkotlin/jvm/functions/Function0; -HSPLandroidx/compose/ui/graphics/vector/VNode;->invalidate()V -HSPLandroidx/compose/ui/graphics/vector/VNode;->setInvalidateListener$ui_release(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/ui/graphics/vector/VectorApplier;->(Landroidx/compose/ui/graphics/vector/GroupComponent;)V -HSPLandroidx/compose/ui/graphics/vector/VectorApplier;->asGroup(Landroidx/compose/ui/graphics/vector/VNode;)Landroidx/compose/ui/graphics/vector/GroupComponent; -HSPLandroidx/compose/ui/graphics/vector/VectorApplier;->insertBottomUp(ILjava/lang/Object;)V -HSPLandroidx/compose/ui/graphics/vector/VectorApplier;->insertTopDown(ILjava/lang/Object;)V -HSPLandroidx/compose/ui/graphics/vector/VectorApplier;->onClear()V -HSPLandroidx/compose/ui/graphics/vector/VectorComponent$drawVectorBlock$1;->(Landroidx/compose/ui/graphics/vector/VectorComponent;)V -HSPLandroidx/compose/ui/graphics/vector/VectorComponent$drawVectorBlock$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComponent$invalidateCallback$1;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComponent$invalidateCallback$1;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComponent$root$1$1;->(Landroidx/compose/ui/graphics/vector/VectorComponent;)V -HSPLandroidx/compose/ui/graphics/vector/VectorComponent$root$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComponent;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComponent;->draw(Landroidx/compose/ui/graphics/drawscope/DrawScope;FLandroidx/compose/ui/graphics/ColorFilter;)V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$10;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$10;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$10;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$11;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$11;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$11;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$12;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$12;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$12;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$13;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$13;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$13;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$14;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$14;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$14;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$1;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$1;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$2;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$2;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$3;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$3;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$4;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$4;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$5;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$5;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$5;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$6;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$6;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$6;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$7;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$7;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$7;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$8;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$8;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$8;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$9;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$9;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$9;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path$3;->(Ljava/util/List;ILjava/lang/String;Landroidx/compose/ui/graphics/Brush;FLandroidx/compose/ui/graphics/Brush;FFIIFFFFIII)V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path-9cdaXJ4$$inlined$ComposeNode$1;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt$Path-9cdaXJ4$$inlined$ComposeNode$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorComposeKt;->Path-9cdaXJ4(Ljava/util/List;ILjava/lang/String;Landroidx/compose/ui/graphics/Brush;FLandroidx/compose/ui/graphics/Brush;FFIIFFFFLandroidx/compose/runtime/Composer;III)V -HSPLandroidx/compose/ui/graphics/vector/VectorGroup;->(Ljava/lang/String;FFFFFFFLjava/util/List;Ljava/util/List;)V -HSPLandroidx/compose/ui/graphics/vector/VectorGroup;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/graphics/vector/VectorKt;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorNode;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$RenderVector$2$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/Composition;)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$RenderVector$2$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$RenderVector$2;->(Landroidx/compose/runtime/Composition;)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$RenderVector$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$RenderVector$3;->(Landroidx/compose/ui/graphics/vector/VectorPainter;Ljava/lang/String;FFLkotlin/jvm/functions/Function4;I)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$composeVector$1;->(Lkotlin/jvm/functions/Function4;Landroidx/compose/ui/graphics/vector/VectorPainter;)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$composeVector$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$vector$1$1;->(Landroidx/compose/ui/graphics/vector/VectorPainter;)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter$vector$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorPainter;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter;->RenderVector$ui_release(Ljava/lang/String;FFLkotlin/jvm/functions/Function4;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainter;->applyColorFilter(Landroidx/compose/ui/graphics/ColorFilter;)Z -HSPLandroidx/compose/ui/graphics/vector/VectorPainter;->getIntrinsicSize-NH-jbRc()J -HSPLandroidx/compose/ui/graphics/vector/VectorPainter;->onDraw(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainterKt$RenderVectorGroup$2;->(Landroidx/compose/ui/graphics/vector/VectorGroup;Ljava/util/Map;II)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainterKt$RenderVectorGroup$config$1;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorPainterKt$RenderVectorGroup$config$1;->getOrDefault(Landroidx/compose/ui/graphics/vector/VectorProperty;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorPainterKt$rememberVectorPainter$3;->(Landroidx/compose/ui/graphics/vector/ImageVector;)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainterKt$rememberVectorPainter$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/graphics/vector/VectorPainterKt;->RenderVectorGroup(Landroidx/compose/ui/graphics/vector/VectorGroup;Ljava/util/Map;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/ui/graphics/vector/VectorPainterKt;->rememberVectorPainter(Landroidx/compose/ui/graphics/vector/ImageVector;Landroidx/compose/runtime/Composer;)Landroidx/compose/ui/graphics/vector/VectorPainter; -HSPLandroidx/compose/ui/graphics/vector/VectorPath;->(Ljava/lang/String;Ljava/util/List;ILandroidx/compose/ui/graphics/Brush;FLandroidx/compose/ui/graphics/Brush;FFIIFFFF)V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$Fill;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$Fill;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$FillAlpha;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$FillAlpha;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$PathData;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$PathData;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$Stroke;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$Stroke;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$StrokeAlpha;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$StrokeAlpha;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$StrokeLineWidth;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$StrokeLineWidth;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$TrimPathEnd;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$TrimPathEnd;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$TrimPathOffset;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$TrimPathOffset;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$TrimPathStart;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty$TrimPathStart;->()V -HSPLandroidx/compose/ui/graphics/vector/VectorProperty;->()V -HSPLandroidx/compose/ui/hapticfeedback/PlatformHapticFeedback;->(Landroid/view/View;)V -HSPLandroidx/compose/ui/input/InputMode;->(I)V -HSPLandroidx/compose/ui/input/InputMode;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/input/InputModeManagerImpl;->(ILandroidx/compose/ui/platform/AndroidComposeView$_inputModeManager$1;)V -HSPLandroidx/compose/ui/input/InputModeManagerImpl;->getInputMode-aOaMEAU()I -HSPLandroidx/compose/ui/input/focus/FocusAwareInputModifier;->(Landroidx/compose/ui/input/rotary/RotaryInputModifierKt$focusAwareCallback$1;Landroidx/compose/ui/modifier/ProvidableModifierLocal;)V -HSPLandroidx/compose/ui/input/focus/FocusAwareInputModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/input/focus/FocusAwareInputModifier;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/input/focus/FocusAwareInputModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/ui/input/key/KeyInputModifier;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/input/key/KeyInputModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/input/key/KeyInputModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/key/KeyInputModifier;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/input/key/KeyInputModifier;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/input/key/KeyInputModifier;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/ui/input/key/KeyInputModifier;->onPlaced(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/ui/input/key/KeyInputModifierKt$ModifierLocalKeyInput$1;->()V -HSPLandroidx/compose/ui/input/key/KeyInputModifierKt$ModifierLocalKeyInput$1;->()V -HSPLandroidx/compose/ui/input/key/KeyInputModifierKt$ModifierLocalKeyInput$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/input/key/KeyInputModifierKt;->()V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollDispatcher$calculateNestedScrollScope$1;->(Landroidx/compose/ui/input/nestedscroll/NestedScrollDispatcher;)V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollDispatcher;->()V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierKt$nestedScroll$2;->(Landroidx/compose/ui/input/nestedscroll/NestedScrollConnection;Landroidx/compose/ui/input/nestedscroll/NestedScrollDispatcher;)V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierKt$nestedScroll$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierKt;->nestedScroll(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/input/nestedscroll/NestedScrollConnection;Landroidx/compose/ui/input/nestedscroll/NestedScrollDispatcher;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal$1;->(Landroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal;)V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal;->(Landroidx/compose/ui/input/nestedscroll/NestedScrollConnection;Landroidx/compose/ui/input/nestedscroll/NestedScrollDispatcher;)V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal;->getKey()Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal;->getParent()Landroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal; -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal;->onModifierLocalsUpdated(Landroidx/compose/ui/modifier/ModifierLocalReadScope;)V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocalKt$ModifierLocalNestedScroll$1;->()V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocalKt$ModifierLocalNestedScroll$1;->()V -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocalKt$ModifierLocalNestedScroll$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocalKt;->()V -HSPLandroidx/compose/ui/input/pointer/AwaitPointerEventScope$-CC;->awaitPointerEvent$default(Landroidx/compose/ui/input/pointer/AwaitPointerEventScope;Lkotlin/coroutines/jvm/internal/BaseContinuationImpl;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/HitPathTracker;->(Landroidx/compose/ui/node/InnerNodeCoordinator;)V -HSPLandroidx/compose/ui/input/pointer/MotionEventAdapter;->()V -HSPLandroidx/compose/ui/input/pointer/NodeParent;->()V -HSPLandroidx/compose/ui/input/pointer/PointerEvent;->(Ljava/util/List;)V -HSPLandroidx/compose/ui/input/pointer/PointerEvent;->(Ljava/util/List;Landroidx/compose/ui/input/pointer/InternalPointerEvent;)V -HSPLandroidx/compose/ui/input/pointer/PointerEventPass;->()V -HSPLandroidx/compose/ui/input/pointer/PointerEventPass;->(ILjava/lang/String;)V -HSPLandroidx/compose/ui/input/pointer/PointerInputChangeEventProducer;->()V -HSPLandroidx/compose/ui/input/pointer/PointerInputEventProcessor;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/input/pointer/PointerInputFilter;->()V -HSPLandroidx/compose/ui/input/pointer/PointerInputFilter;->getSize-YbymL2g()J -HSPLandroidx/compose/ui/input/pointer/PointerKeyboardModifiers;->(I)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$PointerEventHandlerCoroutine;->(Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilter;Lkotlinx/coroutines/CancellableContinuationImpl;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$PointerEventHandlerCoroutine;->awaitPointerEvent(Landroidx/compose/ui/input/pointer/PointerEventPass;Lkotlin/coroutines/jvm/internal/BaseContinuationImpl;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$PointerEventHandlerCoroutine;->getContext()Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$PointerEventHandlerCoroutine;->resumeWith(Ljava/lang/Object;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$awaitPointerEventScope$2$2;->(Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$PointerEventHandlerCoroutine;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$awaitPointerEventScope$2$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter;->(Landroidx/compose/ui/platform/ViewConfiguration;Landroidx/compose/ui/unit/Density;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter;->awaitPointerEventScope(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilter;->getPointerInputFilter()Landroidx/compose/ui/input/pointer/PointerInputFilter; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$2$2$1;->(Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilter;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$2$2$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$2$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$2;->(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$4$2$1;->(Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilter;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$4$2$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$4$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$4;->(Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$6$2$1;->(Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilter;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$6$2$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$6$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$6;->([Ljava/lang/Object;Landroidx/compose/foundation/gestures/DraggableKt$draggable$9$3;)V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$6;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt;->()V -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt;->pointerInput(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt;->pointerInput(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/input/pointer/util/VelocityTracker;->()V -HSPLandroidx/compose/ui/input/rotary/RotaryInputModifierKt$ModifierLocalRotaryScrollParent$1;->()V -HSPLandroidx/compose/ui/input/rotary/RotaryInputModifierKt$ModifierLocalRotaryScrollParent$1;->()V -HSPLandroidx/compose/ui/input/rotary/RotaryInputModifierKt$ModifierLocalRotaryScrollParent$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/input/rotary/RotaryInputModifierKt$focusAwareCallback$1;->()V -HSPLandroidx/compose/ui/input/rotary/RotaryInputModifierKt;->()V -HSPLandroidx/compose/ui/layout/AlignmentLine;->(Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/layout/AlignmentLineKt$FirstBaseline$1;->()V -HSPLandroidx/compose/ui/layout/AlignmentLineKt$FirstBaseline$1;->()V -HSPLandroidx/compose/ui/layout/AlignmentLineKt$LastBaseline$1;->()V -HSPLandroidx/compose/ui/layout/AlignmentLineKt$LastBaseline$1;->()V -HSPLandroidx/compose/ui/layout/AlignmentLineKt;->()V -HSPLandroidx/compose/ui/layout/BeyondBoundsLayoutKt$ModifierLocalBeyondBoundsLayout$1;->()V -HSPLandroidx/compose/ui/layout/BeyondBoundsLayoutKt$ModifierLocalBeyondBoundsLayout$1;->()V -HSPLandroidx/compose/ui/layout/BeyondBoundsLayoutKt$ModifierLocalBeyondBoundsLayout$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/BeyondBoundsLayoutKt;->()V -HSPLandroidx/compose/ui/layout/ComposableSingletons$SubcomposeLayoutKt$lambda-1$1;->()V -HSPLandroidx/compose/ui/layout/ComposableSingletons$SubcomposeLayoutKt$lambda-1$1;->()V -HSPLandroidx/compose/ui/layout/ComposableSingletons$SubcomposeLayoutKt;->()V -HSPLandroidx/compose/ui/layout/ContentScale$Companion$Crop$1;->()V -HSPLandroidx/compose/ui/layout/ContentScale$Companion$Fit$1;->()V -HSPLandroidx/compose/ui/layout/ContentScale$Companion$Fit$1;->computeScaleFactor-H7hwNQA(JJ)J -HSPLandroidx/compose/ui/layout/ContentScale$Companion$Inside$1;->()V -HSPLandroidx/compose/ui/layout/ContentScale$Companion;->()V -HSPLandroidx/compose/ui/layout/FixedScale;->()V -HSPLandroidx/compose/ui/layout/HorizontalAlignmentLine;->(Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/layout/LayoutId;->(Ljava/lang/String;)V -HSPLandroidx/compose/ui/layout/LayoutId;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/layout/LayoutId;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/layout/LayoutId;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/LayoutId;->getLayoutId()Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/LayoutId;->modifyParentData(Landroidx/compose/ui/unit/Density;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/LayoutId;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/layout/LayoutIdKt;->getLayoutId(Landroidx/compose/ui/layout/Measurable;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/LayoutKt$materializerOf$1;->(Landroidx/compose/ui/Modifier;)V -HSPLandroidx/compose/ui/layout/LayoutKt$materializerOf$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/LayoutKt;->materializerOf(Landroidx/compose/ui/Modifier;)Landroidx/compose/runtime/internal/ComposableLambdaImpl; -HSPLandroidx/compose/ui/layout/LayoutModifierImpl;->(Lkotlin/jvm/functions/Function3;)V -HSPLandroidx/compose/ui/layout/LayoutModifierImpl;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/layout/LayoutModifierImpl;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/layout/LayoutModifierImpl;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/LayoutModifierImpl;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/layout/LayoutModifierImpl;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/layout/LayoutModifierKt;->boundsInRoot(Landroidx/compose/ui/node/NodeCoordinator;)Landroidx/compose/ui/geometry/Rect; -HSPLandroidx/compose/ui/layout/LayoutModifierKt;->findRootCoordinates(Landroidx/compose/ui/node/NodeCoordinator;)Landroidx/compose/ui/layout/LayoutCoordinates; -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$NodeState;->(Ljava/lang/Object;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope;->(Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState;)V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope;->getDensity()F -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope;->getLayoutDirection()Landroidx/compose/ui/unit/LayoutDirection; -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope;->layout(IILjava/util/Map;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope;->roundToPx-0680j_4(F)I -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope;->subcompose(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/util/List; -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope;->toDp-u2uoSUM(I)F -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope;->toPx-0680j_4(F)F -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1$measure$1;->(Landroidx/compose/ui/layout/MeasureResult;Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState;I)V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1$measure$1;->getAlignmentLines()Ljava/util/Map; -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1$measure$1;->getHeight()I -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1$measure$1;->getWidth()I -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1$measure$1;->placeChildren()V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1;->(Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState;Lkotlin/jvm/functions/Function2;Ljava/lang/String;)V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$subcompose$2$1$1;->(Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState$NodeState;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState$subcompose$2$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState;->(Landroidx/compose/ui/node/LayoutNode;Landroidx/compose/ui/layout/SubcomposeSlotReusePolicy;)V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState;->disposeOrReuseStartingFromIndex(I)V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState;->makeSureStateIsConsistent()V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState;->subcompose(Landroidx/compose/ui/node/LayoutNode;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/layout/LayoutNodeSubcompositionsState;->takeNodeFromReusables(Ljava/lang/Object;)Landroidx/compose/ui/node/LayoutNode; -HSPLandroidx/compose/ui/layout/MeasureScope$layout$1;->(IILandroidx/compose/ui/layout/MeasureScope;Ljava/util/Map;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/layout/MeasureScope$layout$1;->getAlignmentLines()Ljava/util/Map; -HSPLandroidx/compose/ui/layout/MeasureScope$layout$1;->getHeight()I -HSPLandroidx/compose/ui/layout/MeasureScope$layout$1;->getWidth()I -HSPLandroidx/compose/ui/layout/MeasureScope$layout$1;->placeChildren()V -HSPLandroidx/compose/ui/layout/NoOpSubcomposeSlotReusePolicy;->()V -HSPLandroidx/compose/ui/layout/NoOpSubcomposeSlotReusePolicy;->()V -HSPLandroidx/compose/ui/layout/OnGloballyPositionedModifierImpl;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/layout/OnGloballyPositionedModifierImpl;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/layout/OnGloballyPositionedModifierImpl;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/layout/OnGloballyPositionedModifierImpl;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/OnGloballyPositionedModifierImpl;->onGloballyPositioned(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/ui/layout/OnGloballyPositionedModifierKt;->onGloballyPositioned(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/layout/OnSizeChangedModifier;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/layout/OnSizeChangedModifier;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/layout/OnSizeChangedModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/OnSizeChangedModifier;->onRemeasured-ozmzZPI(J)V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope$Companion;->(I)V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope$Companion;->access$configureForPlacingForAlignment(Landroidx/compose/ui/layout/Placeable$PlacementScope$Companion;Landroidx/compose/ui/node/LookaheadCapablePlaceable;)Z -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope$Companion;->getParentLayoutDirection()Landroidx/compose/ui/unit/LayoutDirection; -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->()V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->()V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->place$default(Landroidx/compose/ui/layout/Placeable$PlacementScope;Landroidx/compose/ui/layout/Placeable;II)V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->place-70tqf50(Landroidx/compose/ui/layout/Placeable;JF)V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->placeRelative$default(Landroidx/compose/ui/layout/Placeable$PlacementScope;Landroidx/compose/ui/layout/Placeable;II)V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->placeRelativeWithLayer$default(Landroidx/compose/ui/layout/Placeable$PlacementScope;Landroidx/compose/ui/layout/Placeable;II)V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->placeWithLayer$default(Landroidx/compose/ui/layout/Placeable$PlacementScope;Landroidx/compose/ui/layout/Placeable;IILkotlin/jvm/functions/Function1;I)V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->placeWithLayer-aW-9-wM$default(Landroidx/compose/ui/layout/Placeable$PlacementScope;Landroidx/compose/ui/layout/Placeable;J)V -HSPLandroidx/compose/ui/layout/Placeable$PlacementScope;->placeWithLayer-aW-9-wM(Landroidx/compose/ui/layout/Placeable;JFLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/layout/Placeable;->()V -HSPLandroidx/compose/ui/layout/Placeable;->getApparentToRealOffset-nOcc-ac()J -HSPLandroidx/compose/ui/layout/Placeable;->getMeasuredHeight()I -HSPLandroidx/compose/ui/layout/Placeable;->getMeasuredWidth()I -HSPLandroidx/compose/ui/layout/Placeable;->recalculateWidthAndHeight()V -HSPLandroidx/compose/ui/layout/Placeable;->setMeasuredSize-ozmzZPI(J)V -HSPLandroidx/compose/ui/layout/Placeable;->setMeasurementConstraints-BRTryo0(J)V -HSPLandroidx/compose/ui/layout/PlaceableKt$DefaultLayerBlock$1;->()V -HSPLandroidx/compose/ui/layout/PlaceableKt$DefaultLayerBlock$1;->()V -HSPLandroidx/compose/ui/layout/PlaceableKt$DefaultLayerBlock$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/PlaceableKt;->()V -HSPLandroidx/compose/ui/layout/RootMeasurePolicy$measure$2;->(Landroidx/compose/ui/layout/Placeable;)V -HSPLandroidx/compose/ui/layout/RootMeasurePolicy$measure$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/RootMeasurePolicy;->()V -HSPLandroidx/compose/ui/layout/RootMeasurePolicy;->()V -HSPLandroidx/compose/ui/layout/RootMeasurePolicy;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/layout/ScaleFactor;->()V -HSPLandroidx/compose/ui/layout/ScaleFactorKt;->ScaleFactor(FF)J -HSPLandroidx/compose/ui/layout/ScaleFactorKt;->times-UQTWf7w(JJ)J -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$$inlined$ComposeNode$1;->(Landroidx/compose/ui/node/LayoutNode$Companion$Constructor$1;)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$$inlined$ComposeNode$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$2;->(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$4;->(Landroidx/compose/ui/layout/SubcomposeLayoutState;)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$4;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$5$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/State;)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$5$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$5$1;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$5$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$6;->(Landroidx/compose/ui/layout/SubcomposeLayoutState;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt;->SubcomposeLayout(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutKt;->SubcomposeLayout(Landroidx/compose/ui/layout/SubcomposeLayoutState;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState$setCompositionContext$1;->(Landroidx/compose/ui/layout/SubcomposeLayoutState;)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState$setCompositionContext$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState$setMeasurePolicy$1;->(Landroidx/compose/ui/layout/SubcomposeLayoutState;)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState$setMeasurePolicy$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState$setRoot$1;->(Landroidx/compose/ui/layout/SubcomposeLayoutState;)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState$setRoot$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState;->()V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState;->(Landroidx/compose/ui/layout/SubcomposeSlotReusePolicy;)V -HSPLandroidx/compose/ui/layout/SubcomposeLayoutState;->getState()Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState; -HSPLandroidx/compose/ui/layout/SubcomposeSlotReusePolicy$SlotIdsSet;->(I)V -HSPLandroidx/compose/ui/modifier/BackwardsCompatLocalMap;->(Landroidx/compose/ui/modifier/ModifierLocalProvider;)V -HSPLandroidx/compose/ui/modifier/BackwardsCompatLocalMap;->contains$ui_release(Landroidx/compose/ui/modifier/ModifierLocal;)Z -HSPLandroidx/compose/ui/modifier/BackwardsCompatLocalMap;->get$ui_release(Landroidx/compose/ui/modifier/ProvidableModifierLocal;)Ljava/lang/Object; -HSPLandroidx/compose/ui/modifier/EmptyMap;->()V -HSPLandroidx/compose/ui/modifier/EmptyMap;->()V -HSPLandroidx/compose/ui/modifier/EmptyMap;->contains$ui_release(Landroidx/compose/ui/modifier/ModifierLocal;)Z -HSPLandroidx/compose/ui/modifier/ModifierLocal;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/ui/modifier/ModifierLocalManager$invalidate$1;->(Landroidx/compose/ui/modifier/ModifierLocalManager;)V -HSPLandroidx/compose/ui/modifier/ModifierLocalManager$invalidate$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/modifier/ModifierLocalManager;->(Landroidx/compose/ui/node/Owner;)V -HSPLandroidx/compose/ui/modifier/ModifierLocalManager;->invalidate()V -HSPLandroidx/compose/ui/modifier/ModifierLocalManager;->invalidateConsumersOfNodeForKey(Landroidx/compose/ui/Modifier$Node;Landroidx/compose/ui/modifier/ModifierLocal;Ljava/util/HashSet;)V -HSPLandroidx/compose/ui/modifier/ModifierLocalMap;->()V -HSPLandroidx/compose/ui/modifier/ProvidableModifierLocal;->(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/ui/node/AlignmentLines$recalculate$1;->(Landroidx/compose/ui/node/AlignmentLines;)V -HSPLandroidx/compose/ui/node/AlignmentLines$recalculate$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/AlignmentLines;->(Landroidx/compose/ui/node/AlignmentLinesOwner;)V -HSPLandroidx/compose/ui/node/AlignmentLines;->access$addAlignmentLine(Landroidx/compose/ui/node/AlignmentLines;Landroidx/compose/ui/layout/AlignmentLine;ILandroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/ui/node/AlignmentLines;->getQueried$ui_release()Z -HSPLandroidx/compose/ui/node/AlignmentLines;->getRequired$ui_release()Z -HSPLandroidx/compose/ui/node/AlignmentLines;->onAlignmentsChanged()V -HSPLandroidx/compose/ui/node/AlignmentLines;->recalculate()V -HSPLandroidx/compose/ui/node/AlignmentLines;->recalculateQueryOwner()V -HSPLandroidx/compose/ui/node/BackwardsCompatNode$onModifierUpdated$1;->(Landroidx/compose/ui/node/BackwardsCompatNode;)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode$onModifierUpdated$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/BackwardsCompatNode$onModifierUpdated$4;->(Landroidx/compose/ui/node/BackwardsCompatNode;)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode$onModifierUpdated$4;->onLayoutComplete()V -HSPLandroidx/compose/ui/node/BackwardsCompatNode$updateModifierLocalConsumer$1;->(Landroidx/compose/ui/node/BackwardsCompatNode;)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode$updateModifierLocalConsumer$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->(Landroidx/compose/ui/Modifier$Element;)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->draw(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->getCurrent(Landroidx/compose/ui/modifier/ProvidableModifierLocal;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->getProvidedValues()Landroidx/compose/ui/modifier/ModifierLocalMap; -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->getSemanticsConfiguration()Landroidx/compose/ui/semantics/SemanticsConfiguration; -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->isValid()Z -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->modifyParentData(Landroidx/compose/ui/unit/Density;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->onAttach()V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->onDetach()V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->onGloballyPositioned(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->onMeasureResultChanged()V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->onModifierUpdated(Z)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->onPlaced(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->onRemeasured-ozmzZPI(J)V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->updateModifierLocalConsumer()V -HSPLandroidx/compose/ui/node/BackwardsCompatNode;->updateModifierLocalProvider(Landroidx/compose/ui/modifier/ModifierLocalProvider;)V -HSPLandroidx/compose/ui/node/BackwardsCompatNodeKt$DetachedModifierLocalReadScope$1;->()V -HSPLandroidx/compose/ui/node/BackwardsCompatNodeKt$DetachedModifierLocalReadScope$1;->getCurrent(Landroidx/compose/ui/modifier/ProvidableModifierLocal;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/BackwardsCompatNodeKt$updateModifierLocalConsumer$1;->()V -HSPLandroidx/compose/ui/node/BackwardsCompatNodeKt$updateModifierLocalConsumer$1;->()V -HSPLandroidx/compose/ui/node/BackwardsCompatNodeKt$updateModifierLocalConsumer$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/BackwardsCompatNodeKt;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetDensity$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetDensity$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetDensity$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetLayoutDirection$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetLayoutDirection$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetLayoutDirection$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetMeasurePolicy$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetMeasurePolicy$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetMeasurePolicy$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetModifier$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetModifier$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetModifier$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetViewConfiguration$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetViewConfiguration$1;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion$SetViewConfiguration$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode$Companion;->()V -HSPLandroidx/compose/ui/node/ComposeUiNode;->()V -HSPLandroidx/compose/ui/node/DelegatableNodeKt;->access$addLayoutNodeChildren(Landroidx/compose/runtime/collection/MutableVector;Landroidx/compose/ui/Modifier$Node;)V -HSPLandroidx/compose/ui/node/DelegatableNodeKt;->requireCoordinator-64DMado(Landroidx/compose/ui/node/DelegatableNode;I)Landroidx/compose/ui/node/NodeCoordinator; -HSPLandroidx/compose/ui/node/DelegatableNodeKt;->requireLayoutNode(Landroidx/compose/ui/node/DelegatableNode;)Landroidx/compose/ui/node/LayoutNode; -HSPLandroidx/compose/ui/node/DelegatableNodeKt;->requireOwner(Landroidx/compose/ui/node/DelegatableNode;)Landroidx/compose/ui/node/Owner; -HSPLandroidx/compose/ui/node/DepthSortedSet$DepthComparator$1;->()V -HSPLandroidx/compose/ui/node/DepthSortedSet$DepthComparator$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HSPLandroidx/compose/ui/node/DepthSortedSet$mapOfOriginalDepth$2;->()V -HSPLandroidx/compose/ui/node/DepthSortedSet$mapOfOriginalDepth$2;->()V -HSPLandroidx/compose/ui/node/DepthSortedSet;->()V -HSPLandroidx/compose/ui/node/DepthSortedSet;->add(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/DepthSortedSet;->remove(Landroidx/compose/ui/node/LayoutNode;)Z -HSPLandroidx/compose/ui/node/DrawModifierNodeKt;->collapsedSemanticsConfiguration(Landroidx/compose/ui/node/SemanticsModifierNode;)Landroidx/compose/ui/semantics/SemanticsConfiguration; -HSPLandroidx/compose/ui/node/HitTestResult;->()V -HSPLandroidx/compose/ui/node/InnerNodeCoordinator$tail$1;->()V -HSPLandroidx/compose/ui/node/InnerNodeCoordinator;->()V -HSPLandroidx/compose/ui/node/InnerNodeCoordinator;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/InnerNodeCoordinator;->calculateAlignmentLine(Landroidx/compose/ui/layout/AlignmentLine;)I -HSPLandroidx/compose/ui/node/InnerNodeCoordinator;->getTail()Landroidx/compose/ui/Modifier$Node; -HSPLandroidx/compose/ui/node/InnerNodeCoordinator;->measure-BRTryo0(J)Landroidx/compose/ui/layout/Placeable; -HSPLandroidx/compose/ui/node/InnerNodeCoordinator;->performDraw(Landroidx/compose/ui/graphics/Canvas;)V -HSPLandroidx/compose/ui/node/InnerNodeCoordinator;->placeAt-f8xVGno(JFLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/IntStack;->(I)V -HSPLandroidx/compose/ui/node/IntStack;->pop()I -HSPLandroidx/compose/ui/node/IntStack;->pushDiagonal(III)V -HSPLandroidx/compose/ui/node/IntStack;->pushRange(IIII)V -HSPLandroidx/compose/ui/node/IntStack;->quickSort(II)V -HSPLandroidx/compose/ui/node/IntStack;->swapDiagonal(II)V -HSPLandroidx/compose/ui/node/IntrinsicsPolicy;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/LayerPositionalProperties;->()V -HSPLandroidx/compose/ui/node/LayoutModifierNodeCoordinator;->()V -HSPLandroidx/compose/ui/node/LayoutModifierNodeCoordinator;->(Landroidx/compose/ui/node/LayoutNode;Landroidx/compose/ui/node/LayoutModifierNode;)V -HSPLandroidx/compose/ui/node/LayoutModifierNodeCoordinator;->calculateAlignmentLine(Landroidx/compose/ui/layout/AlignmentLine;)I -HSPLandroidx/compose/ui/node/LayoutModifierNodeCoordinator;->getTail()Landroidx/compose/ui/Modifier$Node; -HSPLandroidx/compose/ui/node/LayoutModifierNodeCoordinator;->measure-BRTryo0(J)Landroidx/compose/ui/layout/Placeable; -HSPLandroidx/compose/ui/node/LayoutModifierNodeCoordinator;->onLayoutModifierNodeChanged()V -HSPLandroidx/compose/ui/node/LayoutModifierNodeCoordinator;->performDraw(Landroidx/compose/ui/graphics/Canvas;)V -HSPLandroidx/compose/ui/node/LayoutModifierNodeCoordinator;->placeAt-f8xVGno(JFLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/LayoutNode$$ExternalSyntheticLambda0;->()V -HSPLandroidx/compose/ui/node/LayoutNode$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HSPLandroidx/compose/ui/node/LayoutNode$Companion$Constructor$1;->()V -HSPLandroidx/compose/ui/node/LayoutNode$Companion$Constructor$1;->()V -HSPLandroidx/compose/ui/node/LayoutNode$Companion$Constructor$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/LayoutNode$Companion$DummyViewConfiguration$1;->()V -HSPLandroidx/compose/ui/node/LayoutNode$Companion$ErrorMeasurePolicy$1;->()V -HSPLandroidx/compose/ui/node/LayoutNode$NoIntrinsicsMeasurePolicy;->(Ljava/lang/String;)V -HSPLandroidx/compose/ui/node/LayoutNode$WhenMappings;->()V -HSPLandroidx/compose/ui/node/LayoutNode$_foldedChildren$1;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/LayoutNode$_foldedChildren$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/LayoutNode;->()V -HSPLandroidx/compose/ui/node/LayoutNode;->(IZ)V -HSPLandroidx/compose/ui/node/LayoutNode;->(IZI)V -HSPLandroidx/compose/ui/node/LayoutNode;->attach$ui_release(Landroidx/compose/ui/node/Owner;)V -HSPLandroidx/compose/ui/node/LayoutNode;->clearSubtreeIntrinsicsUsage$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->clearSubtreePlacementIntrinsicsUsage()V -HSPLandroidx/compose/ui/node/LayoutNode;->detach$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->draw$ui_release(Landroidx/compose/ui/graphics/Canvas;)V -HSPLandroidx/compose/ui/node/LayoutNode;->getChildMeasurables$ui_release()Ljava/util/List; -HSPLandroidx/compose/ui/node/LayoutNode;->getChildren$ui_release()Ljava/util/List; -HSPLandroidx/compose/ui/node/LayoutNode;->getFoldedChildren$ui_release()Ljava/util/List; -HSPLandroidx/compose/ui/node/LayoutNode;->getParent$ui_release()Landroidx/compose/ui/node/LayoutNode; -HSPLandroidx/compose/ui/node/LayoutNode;->getZSortedChildren()Landroidx/compose/runtime/collection/MutableVector; -HSPLandroidx/compose/ui/node/LayoutNode;->get_children$ui_release()Landroidx/compose/runtime/collection/MutableVector; -HSPLandroidx/compose/ui/node/LayoutNode;->insertAt$ui_release(ILandroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/LayoutNode;->invalidateLayer$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->invalidateLayers$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->invalidateMeasurements$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->invalidateUnfoldedVirtualChildren()V -HSPLandroidx/compose/ui/node/LayoutNode;->isAttached()Z -HSPLandroidx/compose/ui/node/LayoutNode;->isValid()Z -HSPLandroidx/compose/ui/node/LayoutNode;->markNodeAndSubtreeAsPlaced()V -HSPLandroidx/compose/ui/node/LayoutNode;->onChildRemoved(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/LayoutNode;->onZSortedChildrenInvalidated$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->removeAll$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->removeAt$ui_release(II)V -HSPLandroidx/compose/ui/node/LayoutNode;->replace$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->requestRelayout$ui_release(Z)V -HSPLandroidx/compose/ui/node/LayoutNode;->requestRemeasure$ui_release(Z)V -HSPLandroidx/compose/ui/node/LayoutNode;->rescheduleRemeasureOrRelayout$ui_release(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/LayoutNode;->resetSubtreeIntrinsicsUsage$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNode;->setDensity(Landroidx/compose/ui/unit/Density;)V -HSPLandroidx/compose/ui/node/LayoutNode;->setLayoutDirection(Landroidx/compose/ui/unit/LayoutDirection;)V -HSPLandroidx/compose/ui/node/LayoutNode;->setMeasurePolicy(Landroidx/compose/ui/layout/MeasurePolicy;)V -HSPLandroidx/compose/ui/node/LayoutNode;->setModifier(Landroidx/compose/ui/Modifier;)V -HSPLandroidx/compose/ui/node/LayoutNode;->setViewConfiguration(Landroidx/compose/ui/platform/ViewConfiguration;)V -HSPLandroidx/compose/ui/node/LayoutNode;->shouldInvalidateParentLayer()Z -HSPLandroidx/compose/ui/node/LayoutNode;->updateChildrenIfDirty$ui_release()V -HSPLandroidx/compose/ui/node/LayoutNodeAlignmentLines;->(Landroidx/compose/ui/node/AlignmentLinesOwner;)V -HSPLandroidx/compose/ui/node/LayoutNodeAlignmentLines;->calculatePositionInParent-R5De75A(Landroidx/compose/ui/node/NodeCoordinator;J)J -HSPLandroidx/compose/ui/node/LayoutNodeAlignmentLines;->getAlignmentLinesMap(Landroidx/compose/ui/node/NodeCoordinator;)Ljava/util/Map; -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->()V -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->draw-x_KDEd0$ui_release(Landroidx/compose/ui/graphics/Canvas;JLandroidx/compose/ui/node/NodeCoordinator;Landroidx/compose/ui/node/DrawModifierNode;)V -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->drawContent()V -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->drawImage-AZ2fEMs(Landroidx/compose/ui/graphics/ImageBitmap;JJJJFLandroidx/loader/app/LoaderManager;Landroidx/compose/ui/graphics/ColorFilter;II)V -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->drawRect-n-J9OG0(JJJFLandroidx/loader/app/LoaderManager;Landroidx/compose/ui/graphics/ColorFilter;I)V -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->drawRoundRect-u-Aw5IA(JJJJLandroidx/loader/app/LoaderManager;FLandroidx/compose/ui/graphics/ColorFilter;I)V -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->getDrawContext()Landroidx/compose/ui/graphics/drawscope/CanvasDrawScope$drawContext$1; -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->getLayoutDirection()Landroidx/compose/ui/unit/LayoutDirection; -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->getSize-NH-jbRc()J -HSPLandroidx/compose/ui/node/LayoutNodeDrawScope;->toPx-0680j_4(F)F -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$childMeasurables$1;->()V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$childMeasurables$1;->()V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$childMeasurables$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$layoutChildren$1$1;->(Landroidx/compose/ui/node/LayoutNodeLayoutDelegate;Landroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$layoutChildren$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$placeOuterCoordinator$1;->(Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/node/LayoutNodeLayoutDelegate;JF)V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$placeOuterCoordinator$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->(Landroidx/compose/ui/node/LayoutNodeLayoutDelegate;)V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->forEachChildAlignmentLinesOwner(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->get(Landroidx/compose/ui/layout/AlignmentLine;)I -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->getAlignmentLines()Landroidx/compose/ui/node/AlignmentLines; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->getInnerCoordinator()Landroidx/compose/ui/node/InnerNodeCoordinator; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->getMeasuredWidth()I -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->getParentAlignmentLinesOwner()Landroidx/compose/ui/node/AlignmentLinesOwner; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->getParentData()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->isPlaced()Z -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->layoutChildren()V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->measure-BRTryo0(J)Landroidx/compose/ui/layout/Placeable; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->notifyChildrenUsingCoordinatesWhilePlacing()V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->placeAt-f8xVGno(JFLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->placeOuterCoordinator-f8xVGno(JFLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->remeasure-BRTryo0(J)Z -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate;->requestMeasure()V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$performMeasure$2;->(Landroidx/compose/ui/node/LayoutNodeLayoutDelegate;J)V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate$performMeasure$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate;->getOuterCoordinator()Landroidx/compose/ui/node/NodeCoordinator; -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegate;->isOutMostLookaheadRoot(Landroidx/compose/ui/node/LayoutNode;)Z -HSPLandroidx/compose/ui/node/LayoutNodeLayoutDelegateKt;->access$updateChildMeasurables(Landroidx/compose/ui/node/LayoutNode;Landroidx/compose/runtime/collection/MutableVector;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/LookaheadCapablePlaceable;->()V -HSPLandroidx/compose/ui/node/LookaheadCapablePlaceable;->get(Landroidx/compose/ui/layout/AlignmentLine;)I -HSPLandroidx/compose/ui/node/LookaheadCapablePlaceable;->invalidateAlignmentLinesFromPositionChange(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/ui/node/LookaheadCapablePlaceable;->layout(IILjava/util/Map;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/node/LookaheadCapablePlaceable;->roundToPx-0680j_4(F)I -HSPLandroidx/compose/ui/node/LookaheadCapablePlaceable;->toPx-0680j_4(F)F -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->callOnLayoutCompletedListeners()V -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->dispatchOnPositionedCallbacks(Z)V -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->doRemeasure-sdFAvZA(Landroidx/compose/ui/node/LayoutNode;Landroidx/compose/ui/unit/Constraints;)Z -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->forceMeasureTheSubtree(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->measureAndLayout(Landroidx/compose/ui/platform/AndroidComposeView$resendMotionEventOnLayout$1;)Z -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->remeasureAndRelayoutIfNeeded(Landroidx/compose/ui/node/LayoutNode;)Z -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->requestRelayout(Landroidx/compose/ui/node/LayoutNode;Z)Z -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->requestRemeasure(Landroidx/compose/ui/node/LayoutNode;Z)Z -HSPLandroidx/compose/ui/node/MeasureAndLayoutDelegate;->updateRootConstraints-BRTryo0(J)V -HSPLandroidx/compose/ui/node/MutableVectorWithMutationTracking;->(Landroidx/compose/runtime/collection/MutableVector;Landroidx/compose/ui/node/LayoutNode$_foldedChildren$1;)V -HSPLandroidx/compose/ui/node/NodeChain$Differ;->(Landroidx/compose/ui/node/NodeChain;Landroidx/compose/ui/Modifier$Node;ILandroidx/compose/runtime/collection/MutableVector;Landroidx/compose/runtime/collection/MutableVector;)V -HSPLandroidx/compose/ui/node/NodeChain$Differ;->insert(I)V -HSPLandroidx/compose/ui/node/NodeChain$Differ;->same(II)V -HSPLandroidx/compose/ui/node/NodeChain;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/NodeChain;->attach()V -HSPLandroidx/compose/ui/node/NodeChain;->createAndInsertNodeAsParent(Landroidx/compose/ui/Modifier$Element;Landroidx/compose/ui/Modifier$Node;)Landroidx/compose/ui/Modifier$Node; -HSPLandroidx/compose/ui/node/NodeChain;->structuralUpdate(Landroidx/compose/runtime/collection/MutableVector;ILandroidx/compose/runtime/collection/MutableVector;ILandroidx/compose/ui/Modifier$Node;)V -HSPLandroidx/compose/ui/node/NodeChain;->updateNodeAndReplaceIfNeeded(Landroidx/compose/ui/Modifier$Element;Landroidx/compose/ui/Modifier$Element;Landroidx/compose/ui/Modifier$Node;)Landroidx/compose/ui/Modifier$Node; -HSPLandroidx/compose/ui/node/NodeChainKt$SentinelHead$1;->()V -HSPLandroidx/compose/ui/node/NodeChainKt;->()V -HSPLandroidx/compose/ui/node/NodeCoordinator$Companion$PointerInputSource$1;->()V -HSPLandroidx/compose/ui/node/NodeCoordinator$Companion$SemanticsSource$1;->()V -HSPLandroidx/compose/ui/node/NodeCoordinator$Companion$onCommitAffectingLayer$1;->()V -HSPLandroidx/compose/ui/node/NodeCoordinator$Companion$onCommitAffectingLayer$1;->()V -HSPLandroidx/compose/ui/node/NodeCoordinator$Companion$onCommitAffectingLayer$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/NodeCoordinator$Companion$onCommitAffectingLayerParams$1;->()V -HSPLandroidx/compose/ui/node/NodeCoordinator$Companion$onCommitAffectingLayerParams$1;->()V -HSPLandroidx/compose/ui/node/NodeCoordinator$invalidateParentLayer$1;->(Landroidx/compose/ui/node/NodeCoordinator;)V -HSPLandroidx/compose/ui/node/NodeCoordinator$invalidateParentLayer$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/NodeCoordinator$invoke$1;->(Landroidx/compose/ui/node/NodeCoordinator;Landroidx/compose/ui/graphics/Canvas;)V -HSPLandroidx/compose/ui/node/NodeCoordinator$invoke$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/NodeCoordinator$updateLayerParameters$1;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/NodeCoordinator$updateLayerParameters$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/NodeCoordinator;->()V -HSPLandroidx/compose/ui/node/NodeCoordinator;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/NodeCoordinator;->ancestorToLocal(Landroidx/compose/ui/node/NodeCoordinator;Landroidx/compose/ui/geometry/MutableRect;Z)V -HSPLandroidx/compose/ui/node/NodeCoordinator;->calculateMinimumTouchTargetPadding-E7KxVPU(J)J -HSPLandroidx/compose/ui/node/NodeCoordinator;->draw(Landroidx/compose/ui/graphics/Canvas;)V -HSPLandroidx/compose/ui/node/NodeCoordinator;->drawContainedDrawModifiers(Landroidx/compose/ui/graphics/Canvas;)V -HSPLandroidx/compose/ui/node/NodeCoordinator;->findCommonAncestor$ui_release(Landroidx/compose/ui/node/NodeCoordinator;)Landroidx/compose/ui/node/NodeCoordinator; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getChild()Landroidx/compose/ui/node/LookaheadCapablePlaceable; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getCoordinates()Landroidx/compose/ui/layout/LayoutCoordinates; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getDensity()F -HSPLandroidx/compose/ui/node/NodeCoordinator;->getFontScale()F -HSPLandroidx/compose/ui/node/NodeCoordinator;->getHasMeasureResult()Z -HSPLandroidx/compose/ui/node/NodeCoordinator;->getLayoutDirection()Landroidx/compose/ui/unit/LayoutDirection; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getLayoutNode()Landroidx/compose/ui/node/LayoutNode; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getMeasureResult$ui_release()Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getMinimumTouchTargetSize-NH-jbRc()J -HSPLandroidx/compose/ui/node/NodeCoordinator;->getParent()Landroidx/compose/ui/node/LookaheadCapablePlaceable; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getParentData()Ljava/lang/Object; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getParentLayoutCoordinates()Landroidx/compose/ui/node/NodeCoordinator; -HSPLandroidx/compose/ui/node/NodeCoordinator;->getPosition-nOcc-ac()J -HSPLandroidx/compose/ui/node/NodeCoordinator;->getSize-YbymL2g()J -HSPLandroidx/compose/ui/node/NodeCoordinator;->headNode(Z)Landroidx/compose/ui/Modifier$Node; -HSPLandroidx/compose/ui/node/NodeCoordinator;->invalidateLayer()V -HSPLandroidx/compose/ui/node/NodeCoordinator;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/NodeCoordinator;->isAttached()Z -HSPLandroidx/compose/ui/node/NodeCoordinator;->isTransparent()Z -HSPLandroidx/compose/ui/node/NodeCoordinator;->isValid()Z -HSPLandroidx/compose/ui/node/NodeCoordinator;->localBoundingBoxOf(Landroidx/compose/ui/layout/LayoutCoordinates;Z)Landroidx/compose/ui/geometry/Rect; -HSPLandroidx/compose/ui/node/NodeCoordinator;->onLayerBlockUpdated(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/NodeCoordinator;->onLayoutModifierNodeChanged()V -HSPLandroidx/compose/ui/node/NodeCoordinator;->onMeasured()V -HSPLandroidx/compose/ui/node/NodeCoordinator;->onPlaced$1()V -HSPLandroidx/compose/ui/node/NodeCoordinator;->placeAt-f8xVGno(JFLkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/node/NodeCoordinator;->rectInParent$ui_release(Landroidx/compose/ui/geometry/MutableRect;ZZ)V -HSPLandroidx/compose/ui/node/NodeCoordinator;->replace$ui_release()V -HSPLandroidx/compose/ui/node/NodeCoordinator;->setMeasureResult$ui_release(Landroidx/compose/ui/layout/MeasureResult;)V -HSPLandroidx/compose/ui/node/NodeCoordinator;->toParentPosition-MK-Hz9U(J)J -HSPLandroidx/compose/ui/node/NodeCoordinator;->updateLayerParameters()V -HSPLandroidx/compose/ui/node/OnPositionedDispatcher$Companion$DepthComparator;->()V -HSPLandroidx/compose/ui/node/OnPositionedDispatcher$Companion$DepthComparator;->()V -HSPLandroidx/compose/ui/node/OnPositionedDispatcher$Companion$DepthComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HSPLandroidx/compose/ui/node/OnPositionedDispatcher;->()V -HSPLandroidx/compose/ui/node/OnPositionedDispatcher;->dispatchHierarchy(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/Owner$-CC;->()V -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingLayout$1;->()V -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingLayout$1;->()V -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingLayoutModifier$1;->()V -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingLayoutModifier$1;->()V -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingLayoutModifier$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingMeasure$1;->()V -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingMeasure$1;->()V -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingMeasure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver;->(Landroidx/compose/ui/platform/AndroidComposeView$snapshotObserver$1;)V -HSPLandroidx/compose/ui/node/OwnerSnapshotObserver;->observeReads$ui_release(Landroidx/compose/ui/node/OwnerScope;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/ui/node/TreeSet;->(Landroidx/compose/ui/node/DepthSortedSet$DepthComparator$1;)V -HSPLandroidx/compose/ui/node/UiApplier;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/node/UiApplier;->insertBottomUp(ILjava/lang/Object;)V -HSPLandroidx/compose/ui/node/UiApplier;->insertTopDown(ILjava/lang/Object;)V -HSPLandroidx/compose/ui/node/UiApplier;->onClear()V -HSPLandroidx/compose/ui/node/UiApplier;->onEndChanges()V -HSPLandroidx/compose/ui/node/UiApplier;->remove(II)V -HSPLandroidx/compose/ui/platform/AbstractComposeView$ensureCompositionCreated$1;->(Landroidx/compose/ui/platform/AbstractComposeView;)V -HSPLandroidx/compose/ui/platform/AbstractComposeView$ensureCompositionCreated$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AbstractComposeView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->checkAddView()V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->createComposition()V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->ensureCompositionCreated()V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->internalOnLayout$ui_release(ZIIII)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->internalOnMeasure$ui_release(II)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->isAlive(Landroidx/compose/runtime/CompositionContext;)Z -HSPLandroidx/compose/ui/platform/AbstractComposeView;->onAttachedToWindow()V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->onLayout(ZIIII)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->onMeasure(II)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->onRtlPropertiesChanged(I)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->resolveParentCompositionContext()Landroidx/compose/runtime/CompositionContext; -HSPLandroidx/compose/ui/platform/AbstractComposeView;->setParentCompositionContext(Landroidx/compose/runtime/CompositionContext;)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->setParentContext(Landroidx/compose/runtime/CompositionContext;)V -HSPLandroidx/compose/ui/platform/AbstractComposeView;->setPreviousAttachedWindowToken(Landroid/os/IBinder;)V -HSPLandroidx/compose/ui/platform/AccessibilityNodeInfoVerificationHelperMethods$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/accessibility/AccessibilityNodeInfo;Ljava/util/List;)V -HSPLandroidx/compose/ui/platform/AccessibilityNodeInfoVerificationHelperMethods;->()V -HSPLandroidx/compose/ui/platform/AccessibilityNodeInfoVerificationHelperMethods;->()V -HSPLandroidx/compose/ui/platform/AccessibilityNodeInfoVerificationHelperMethods;->setAvailableExtraData(Landroid/view/accessibility/AccessibilityNodeInfo;Ljava/util/List;)V -HSPLandroidx/compose/ui/platform/AndroidAccessibilityManager;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/platform/AndroidClipboardManager;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda0;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda0;->onGlobalLayout()V -HSPLandroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda1;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda2;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda2;->onTouchModeChanged(Z)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda3;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$Companion;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeView$Companion;->access$getIsShowingLayoutBounds()Z -HSPLandroidx/compose/ui/platform/AndroidComposeView$ViewTreeOwners;->(Landroidx/lifecycle/LifecycleOwner;Landroidx/savedstate/SavedStateRegistryOwner;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$_inputModeManager$1;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$configurationChangeObserver$1;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeView$configurationChangeObserver$1;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeView$keyInputModifier$1;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$pointerIconService$1;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$resendMotionEventOnLayout$1;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$resendMotionEventOnLayout$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidComposeView$resendMotionEventRunnable$1;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$rotaryInputModifier$1;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeView$rotaryInputModifier$1;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeView$semanticsModifier$1;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeView$semanticsModifier$1;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeView$semanticsModifier$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidComposeView$snapshotObserver$1;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView$snapshotObserver$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->clearChildInvalidObservations(Landroid/view/ViewGroup;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->convertMeasureSpec(I)Lkotlin/Pair; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->createLayer(Landroidx/compose/ui/node/NodeCoordinator$invalidateParentLayer$1;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/node/OwnedLayer; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->dispatchDraw(Landroid/graphics/Canvas;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->forceMeasureTheSubtree(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getAccessibilityManager()Landroidx/compose/ui/platform/AccessibilityManager; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getAccessibilityManager()Landroidx/compose/ui/platform/AndroidAccessibilityManager; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getAndroidViewsHandler$ui_release()Landroidx/compose/ui/platform/AndroidViewsHandler; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getAutofill()Landroidx/compose/ui/autofill/Autofill; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getAutofillTree()Landroidx/compose/ui/autofill/AutofillTree; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getClipboardManager()Landroidx/compose/ui/platform/AndroidClipboardManager; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getClipboardManager()Landroidx/compose/ui/platform/ClipboardManager; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getDensity()Landroidx/compose/ui/unit/Density; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getFocusManager()Landroidx/compose/ui/focus/FocusManager; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getFontFamilyResolver()Landroidx/compose/ui/text/font/FontFamily$Resolver; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getFontLoader()Landroidx/compose/ui/text/font/Font$ResourceLoader; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getHapticFeedBack()Landroidx/compose/ui/hapticfeedback/HapticFeedback; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getInputModeManager()Landroidx/compose/ui/input/InputModeManager; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getLayoutDirection()Landroidx/compose/ui/unit/LayoutDirection; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getModifierLocalManager()Landroidx/compose/ui/modifier/ModifierLocalManager; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getPointerIconService()Landroidx/compose/ui/input/pointer/PointerIconService; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getRoot()Landroidx/compose/ui/node/LayoutNode; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getSemanticsOwner()Landroidx/compose/ui/semantics/SemanticsOwner; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getSharedDrawScope()Landroidx/compose/ui/node/LayoutNodeDrawScope; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getShowLayoutBounds()Z -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getSnapshotObserver()Landroidx/compose/ui/node/OwnerSnapshotObserver; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getTextInputService()Landroidx/compose/ui/text/input/TextInputService; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getTextToolbar()Landroidx/compose/ui/platform/TextToolbar; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getView()Landroid/view/View; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getViewConfiguration()Landroidx/compose/ui/platform/ViewConfiguration; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getViewTreeOwners()Landroidx/compose/ui/platform/AndroidComposeView$ViewTreeOwners; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->getWindowInfo()Landroidx/compose/ui/platform/WindowInfo; -HSPLandroidx/compose/ui/platform/AndroidComposeView;->invalidateLayers(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->invalidateLayoutNodeMeasurement(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->localToScreen-MK-Hz9U(J)J -HSPLandroidx/compose/ui/platform/AndroidComposeView;->measureAndLayout(Z)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->notifyLayerIsDirty$ui_release(Landroidx/compose/ui/node/OwnedLayer;Z)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onAttach(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onAttachedToWindow()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onCreate()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onDestroy()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onDetach(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onDetachedFromWindow()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onDraw(Landroid/graphics/Canvas;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onEndApplyChanges()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onLayout(ZIIII)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onLayoutChange(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onMeasure(II)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onPause()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onRequestMeasure(Landroidx/compose/ui/node/LayoutNode;ZZ)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onRequestRelayout(Landroidx/compose/ui/node/LayoutNode;ZZ)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onResume(Landroidx/lifecycle/LifecycleOwner;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onRtlPropertiesChanged(I)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onSemanticsChange()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onStart()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onStop()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->onWindowFocusChanged(Z)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->recalculateWindowPosition()V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->registerOnEndApplyChangesListener(Lkotlin/jvm/functions/Function0;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->registerOnLayoutCompletedListener(Landroidx/compose/ui/node/BackwardsCompatNode$onModifierUpdated$4;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->scheduleMeasureAndLayout(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->setConfigurationChangeObserver(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->setLayoutDirection(Landroidx/compose/ui/unit/LayoutDirection;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->setOnViewTreeOwnersAvailable(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->setShowLayoutBounds(Z)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->setViewTreeOwners(Landroidx/compose/ui/platform/AndroidComposeView$ViewTreeOwners;)V -HSPLandroidx/compose/ui/platform/AndroidComposeView;->updatePositionCacheAndDispatch()V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$$ExternalSyntheticLambda0;->(Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$1;->(Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$1;->onViewAttachedToWindow(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$1;->onViewDetachedFromWindow(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$Api24Impl;->addSetProgressAction(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;Landroidx/compose/ui/semantics/SemanticsNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$MyNodeProvider;->(Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$MyNodeProvider;->createAccessibilityNodeInfo(I)Landroid/view/accessibility/AccessibilityNodeInfo; -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$SemanticsNodeCopy;->(Landroidx/compose/ui/semantics/SemanticsNode;Ljava/util/Map;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$boundsUpdatesEventLoop$1;->(Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$boundsUpdatesEventLoop$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$sendScrollEventIfNeededLambda$1;->(Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->boundsUpdatesEventLoop(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->getAccessibilityNodeProvider(Landroid/view/View;)Landroidx/core/view/accessibility/AccessibilityNodeProviderCompat; -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->getAccessibilitySelectionEnd(Landroidx/compose/ui/semantics/SemanticsNode;)I -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->getAccessibilitySelectionStart(Landroidx/compose/ui/semantics/SemanticsNode;)I -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->getCurrentSemanticsNodes()Ljava/util/Map; -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->getIterableTextForAccessibility(Landroidx/compose/ui/semantics/SemanticsNode;)Ljava/lang/String; -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->getTextForTextField(Landroidx/compose/ui/semantics/SemanticsConfiguration;)Landroidx/compose/ui/text/AnnotatedString; -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->isAccessibilityEnabled()Z -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->populateAccessibilityNodeInfoProperties$canScrollBackward(Landroidx/compose/ui/semantics/ScrollAxisRange;)Z -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->populateAccessibilityNodeInfoProperties$canScrollForward(Landroidx/compose/ui/semantics/ScrollAxisRange;)Z -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat;->trimToSize(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat_androidKt;->access$enabled(Landroidx/compose/ui/semantics/SemanticsNode;)Z -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat_androidKt;->access$excludeLineAndPageGranularities(Landroidx/compose/ui/semantics/SemanticsNode;)Z -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat_androidKt;->getAllUncoveredSemanticsNodesToMap$findAllSemanticNodesRecursive(Landroid/graphics/Region;Landroidx/compose/ui/semantics/SemanticsNode;Ljava/util/LinkedHashMap;Landroidx/compose/ui/semantics/SemanticsNode;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat_androidKt;->isTextField(Landroidx/compose/ui/semantics/SemanticsNode;)Z -HSPLandroidx/compose/ui/platform/AndroidComposeViewForceDarkModeQ$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewForceDarkModeQ;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeViewForceDarkModeQ;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeViewForceDarkModeQ;->disallowForceDark(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewVerificationHelperMethodsO$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/View;I)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewVerificationHelperMethodsO$$ExternalSyntheticApiModelOutline1;->m(Landroid/view/View;Z)V -HSPLandroidx/compose/ui/platform/AndroidComposeViewVerificationHelperMethodsO;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeViewVerificationHelperMethodsO;->()V -HSPLandroidx/compose/ui/platform/AndroidComposeViewVerificationHelperMethodsO;->focusable(Landroid/view/View;IZ)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalConfiguration$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalConfiguration$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalContext$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalContext$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalImageVectorCache$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalImageVectorCache$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalLifecycleOwner$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalLifecycleOwner$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalSavedStateRegistryOwner$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalSavedStateRegistryOwner$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalView$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalView$1;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$1$1;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$2$invoke$$inlined$onDispose$1;->(Landroidx/compose/ui/platform/DisposableSaveableStateRegistry;)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$2$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$2;->(Landroidx/compose/ui/platform/DisposableSaveableStateRegistry;)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3;->(Landroidx/compose/ui/platform/AndroidComposeView;Landroidx/compose/ui/platform/AndroidUriHandler;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$4;->(Landroidx/compose/ui/platform/AndroidComposeView;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$1$invoke$$inlined$onDispose$1;->(Landroid/content/Context;Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$callbacks$1$1;)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$1;->(Landroid/content/Context;Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$callbacks$1$1;)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$callbacks$1$1;->(Landroid/content/res/Configuration;Landroidx/compose/ui/res/ImageVectorCache;)V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt;->()V -HSPLandroidx/compose/ui/platform/AndroidCompositionLocals_androidKt;->ProvideAndroidCompositionLocals(Landroidx/compose/ui/platform/AndroidComposeView;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/ui/platform/AndroidTextToolbar;->(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher$Companion$Main$2;->()V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher$Companion$Main$2;->()V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher$Companion$Main$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher$Companion$currentThread$1;->()V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher$dispatchCallback$1;->(Landroidx/compose/ui/platform/AndroidUiDispatcher;)V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher$dispatchCallback$1;->doFrame(J)V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher$dispatchCallback$1;->run()V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher;->()V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher;->(Landroid/view/Choreographer;Landroid/os/Handler;)V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher;->access$performTrampolineDispatch(Landroidx/compose/ui/platform/AndroidUiDispatcher;)V -HSPLandroidx/compose/ui/platform/AndroidUiDispatcher;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock$withFrameNanos$2$1;->(Landroidx/compose/ui/platform/AndroidUiDispatcher;Landroidx/compose/ui/platform/AndroidUiFrameClock$withFrameNanos$2$callback$1;)V -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock$withFrameNanos$2$callback$1;->(Lkotlinx/coroutines/CancellableContinuationImpl;Landroidx/compose/ui/platform/AndroidUiFrameClock;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock$withFrameNanos$2$callback$1;->doFrame(J)V -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock;->(Landroid/view/Choreographer;)V -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/compose/ui/platform/AndroidUiFrameClock;->withFrameNanos(Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/AndroidUriHandler;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/platform/AndroidViewConfiguration;->(Landroid/view/ViewConfiguration;)V -HSPLandroidx/compose/ui/platform/AndroidViewConfiguration;->getMinimumTouchTargetSize-MYxV2XQ()J -HSPLandroidx/compose/ui/platform/AndroidViewsHandler;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/platform/AndroidViewsHandler;->getLayoutNodeToHolder()Ljava/util/HashMap; -HSPLandroidx/compose/ui/platform/AndroidViewsHandler;->onLayout(ZIIII)V -HSPLandroidx/compose/ui/platform/AndroidViewsHandler;->onMeasure(II)V -HSPLandroidx/compose/ui/platform/AndroidViewsHandler;->requestLayout()V -HSPLandroidx/compose/ui/platform/CalculateMatrixToWindowApi29$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/View;Landroid/graphics/Matrix;)V -HSPLandroidx/compose/ui/platform/CalculateMatrixToWindowApi29;->()V -HSPLandroidx/compose/ui/platform/CalculateMatrixToWindowApi29;->calculateMatrixToWindow-EL8BTi8(Landroid/view/View;[F)V -HSPLandroidx/compose/ui/platform/ComposableSingletons$Wrapper_androidKt$lambda-1$1;->()V -HSPLandroidx/compose/ui/platform/ComposableSingletons$Wrapper_androidKt$lambda-1$1;->()V -HSPLandroidx/compose/ui/platform/ComposableSingletons$Wrapper_androidKt;->()V -HSPLandroidx/compose/ui/platform/ComposeView$Content$1;->(Landroidx/compose/ui/platform/ComposeView;I)V -HSPLandroidx/compose/ui/platform/ComposeView;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/platform/ComposeView;->Content(Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/ui/platform/ComposeView;->getAccessibilityClassName()Ljava/lang/CharSequence; -HSPLandroidx/compose/ui/platform/ComposeView;->getShouldCreateCompositionOnAttachedToWindow()Z -HSPLandroidx/compose/ui/platform/ComposeView;->setContent(Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalAccessibilityManager$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalAccessibilityManager$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalAutofill$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalAutofill$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalAutofillTree$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalAutofillTree$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalClipboardManager$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalClipboardManager$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalDensity$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalDensity$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalFocusManager$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalFocusManager$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalFontFamilyResolver$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalFontFamilyResolver$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalFontLoader$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalFontLoader$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalHapticFeedback$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalHapticFeedback$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalInputModeManager$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalInputModeManager$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalLayoutDirection$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalLayoutDirection$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalPointerIconService$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalPointerIconService$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalTextInputService$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalTextInputService$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalTextToolbar$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalTextToolbar$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalUriHandler$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalUriHandler$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalViewConfiguration$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalViewConfiguration$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalWindowInfo$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$LocalWindowInfo$1;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt$ProvideCommonCompositionLocals$1;->(Landroidx/compose/ui/node/Owner;Landroidx/compose/ui/platform/UriHandler;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt;->()V -HSPLandroidx/compose/ui/platform/CompositionLocalsKt;->ProvideCommonCompositionLocals(Landroidx/compose/ui/node/Owner;Landroidx/compose/ui/platform/UriHandler;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry;->(Landroidx/compose/runtime/saveable/SaveableStateRegistryImpl;Landroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$1;)V -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry;->canBeSaved(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry;->consumeRestored(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry;->registerProvider(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Landroidx/compose/runtime/saveable/SaveableStateRegistry$Entry; -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$1;->(ZLandroidx/savedstate/SavedStateRegistry;Ljava/lang/String;)V -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$registered$1;->(Landroidx/compose/runtime/saveable/SaveableStateRegistryImpl;)V -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$saveableStateRegistry$1;->()V -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$saveableStateRegistry$1;->()V -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$saveableStateRegistry$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt;->()V -HSPLandroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt;->canBeSavedToBundle(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/platform/GlobalSnapshotManager$ensureStarted$1;->(Lkotlinx/coroutines/channels/Channel;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/platform/GlobalSnapshotManager$ensureStarted$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/platform/GlobalSnapshotManager$ensureStarted$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/GlobalSnapshotManager$ensureStarted$2;->(Lkotlinx/coroutines/channels/AbstractChannel;)V -HSPLandroidx/compose/ui/platform/GlobalSnapshotManager$ensureStarted$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/GlobalSnapshotManager;->()V -HSPLandroidx/compose/ui/platform/InspectableModifier$End;->()V -HSPLandroidx/compose/ui/platform/InspectableModifier$End;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/platform/InspectableModifier$End;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/InspectableModifier;->()V -HSPLandroidx/compose/ui/platform/InspectableModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/platform/InspectableModifier;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/InspectableModifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/platform/InspectableValueKt$NoInspectorInfo$1;->()V -HSPLandroidx/compose/ui/platform/InspectableValueKt$NoInspectorInfo$1;->()V -HSPLandroidx/compose/ui/platform/InspectableValueKt;->inspectableWrapper(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/platform/InspectionModeKt$LocalInspectionMode$1;->()V -HSPLandroidx/compose/ui/platform/InspectionModeKt$LocalInspectionMode$1;->()V -HSPLandroidx/compose/ui/platform/InspectionModeKt$LocalInspectionMode$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/InspectionModeKt;->()V -HSPLandroidx/compose/ui/platform/InspectorValueInfo;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/platform/InvertMatrixKt;->invertTo-JiSxe2E([F[F)Z -HSPLandroidx/compose/ui/platform/LayerMatrixCache;->(Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/platform/LayerMatrixCache;->calculateMatrix-GrdbGEg(Ljava/lang/Object;)[F -HSPLandroidx/compose/ui/platform/LayerMatrixCache;->invalidate()V -HSPLandroidx/compose/ui/platform/MotionDurationScaleImpl;->()V -HSPLandroidx/compose/ui/platform/MotionDurationScaleImpl;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/MotionDurationScaleImpl;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLandroidx/compose/ui/platform/MotionDurationScaleImpl;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLandroidx/compose/ui/platform/MotionDurationScaleImpl;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/compose/ui/platform/OutlineResolver;->(Landroidx/compose/ui/unit/Density;)V -HSPLandroidx/compose/ui/platform/OutlineResolver;->getOutline()Landroid/graphics/Outline; -HSPLandroidx/compose/ui/platform/OutlineResolver;->update(Landroidx/compose/ui/graphics/Shape;FZFLandroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/unit/Density;)Z -HSPLandroidx/compose/ui/platform/OutlineResolver;->updateCache()V -HSPLandroidx/compose/ui/platform/RenderNodeApi29$$ExternalSyntheticApiModelOutline0;->m(Landroid/graphics/Canvas;Landroid/graphics/RenderNode;)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->drawInto(Landroid/graphics/Canvas;)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getAlpha()F -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getClipToOutline()Z -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getElevation()F -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getHasDisplayList()Z -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getHeight()I -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getLeft()I -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getMatrix(Landroid/graphics/Matrix;)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getTop()I -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->getWidth()I -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->offsetLeftAndRight(I)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->offsetTopAndBottom(I)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->record(Landroidx/compose/ui/graphics/CanvasHolder;Landroidx/compose/ui/graphics/Path;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setAlpha(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setAmbientShadowColor(I)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setCameraDistance(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setClipToBounds(Z)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setClipToOutline(Z)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setElevation(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setHasOverlappingRendering()Z -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setOutline(Landroid/graphics/Outline;)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setPivotX(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setPivotY(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setPosition(IIII)Z -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setRenderEffect()V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setRotationX(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setRotationY(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setRotationZ(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setScaleX(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setScaleY(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setSpotShadowColor(I)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setTranslationX(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29;->setTranslationY(F)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29VerificationHelper$$ExternalSyntheticApiModelOutline0;->m(Landroid/graphics/RenderNode;)V -HSPLandroidx/compose/ui/platform/RenderNodeApi29VerificationHelper;->()V -HSPLandroidx/compose/ui/platform/RenderNodeApi29VerificationHelper;->()V -HSPLandroidx/compose/ui/platform/RenderNodeApi29VerificationHelper;->setRenderEffect(Landroid/graphics/RenderNode;Landroidx/compose/ui/graphics/RenderEffect;)V -HSPLandroidx/compose/ui/platform/RenderNodeLayer$Companion$getMatrix$1;->()V -HSPLandroidx/compose/ui/platform/RenderNodeLayer$Companion$getMatrix$1;->()V -HSPLandroidx/compose/ui/platform/RenderNodeLayer$Companion$getMatrix$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->(Landroidx/compose/ui/platform/AndroidComposeView;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/node/NodeCoordinator$invalidateParentLayer$1;)V -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->drawLayer(Landroidx/compose/ui/graphics/Canvas;)V -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->invalidate()V -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->mapBounds(Landroidx/compose/ui/geometry/MutableRect;Z)V -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->mapOffset-8S9VItk(ZJ)J -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->move--gyyYBs(J)V -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->resize-ozmzZPI(J)V -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->setDirty(Z)V -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->updateDisplayList()V -HSPLandroidx/compose/ui/platform/RenderNodeLayer;->updateLayerProperties-NHXXZp8(FFFFFFFFFFJLandroidx/compose/ui/graphics/Shape;ZJJLandroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/unit/Density;)V -HSPLandroidx/compose/ui/platform/SemanticsNodeWithAdjustedBounds;->(Landroidx/compose/ui/semantics/SemanticsNode;Landroid/graphics/Rect;)V -HSPLandroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$1;->(Landroidx/compose/ui/platform/AbstractComposeView;Landroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$listener$1;Landroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$poolingContainerListener$1;)V -HSPLandroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$listener$1;->(Landroidx/compose/ui/platform/AbstractComposeView;)V -HSPLandroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$listener$1;->onViewAttachedToWindow(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$listener$1;->onViewDetachedFromWindow(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$poolingContainerListener$1;->()V -HSPLandroidx/compose/ui/platform/ViewLayer$Companion$OutlineProvider$1;->()V -HSPLandroidx/compose/ui/platform/ViewLayer;->()V -HSPLandroidx/compose/ui/platform/WeakCache;->()V -HSPLandroidx/compose/ui/platform/WindowInfoImpl;->()V -HSPLandroidx/compose/ui/platform/WindowInfoImpl;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposerFactory$Companion$LifecycleAware$1;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposerFactory$Companion$LifecycleAware$1;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposerFactory$Companion$LifecycleAware$1;->createRecomposer(Landroid/view/View;)Landroidx/compose/runtime/Recomposer; -HSPLandroidx/compose/ui/platform/WindowRecomposerFactory$Companion;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposerFactory$Companion;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposerFactory;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposerPolicy$createAndInstallWindowRecomposer$1;->(Lkotlinx/coroutines/StandaloneCoroutine;)V -HSPLandroidx/compose/ui/platform/WindowRecomposerPolicy$createAndInstallWindowRecomposer$1;->onViewAttachedToWindow(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/WindowRecomposerPolicy$createAndInstallWindowRecomposer$1;->onViewDetachedFromWindow(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/WindowRecomposerPolicy$createAndInstallWindowRecomposer$unsetJob$1;->(Landroidx/compose/runtime/Recomposer;Landroid/view/View;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/platform/WindowRecomposerPolicy$createAndInstallWindowRecomposer$unsetJob$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/platform/WindowRecomposerPolicy$createAndInstallWindowRecomposer$unsetJob$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WindowRecomposerPolicy;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$1;->(Landroid/view/View;Landroidx/compose/runtime/Recomposer;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$1;->onViewAttachedToWindow(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$1;->onViewDetachedFromWindow(Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$WhenMappings;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1$1$1$1;->(Landroidx/compose/ui/platform/MotionDurationScaleImpl;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1$1$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1$1$1;->(Lkotlinx/coroutines/flow/StateFlow;Landroidx/compose/ui/platform/MotionDurationScaleImpl;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1;->(Lkotlin/jvm/internal/Ref$ObjectRef;Landroidx/compose/runtime/Recomposer;Landroidx/lifecycle/LifecycleOwner;Landroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2;Landroid/view/View;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2;->(Lkotlinx/coroutines/internal/ContextScope;Landroidx/compose/runtime/PausableMonotonicFrameClock;Landroidx/compose/runtime/Recomposer;Lkotlin/jvm/internal/Ref$ObjectRef;Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$getAnimationScaleFlowFor$1$1$1;->(Landroid/content/ContentResolver;Landroid/net/Uri;Landroidx/compose/ui/platform/WindowRecomposer_androidKt$getAnimationScaleFlowFor$1$1$contentObserver$1;Lkotlinx/coroutines/channels/Channel;Landroid/content/Context;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$getAnimationScaleFlowFor$1$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$getAnimationScaleFlowFor$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$getAnimationScaleFlowFor$1$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt$getAnimationScaleFlowFor$1$1$contentObserver$1;->(Lkotlinx/coroutines/channels/AbstractChannel;Landroid/os/Handler;)V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt;->()V -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt;->access$getAnimationScaleFlowFor(Landroid/content/Context;)Lkotlinx/coroutines/flow/StateFlow; -HSPLandroidx/compose/ui/platform/WindowRecomposer_androidKt;->getCompositionContext(Landroid/view/View;)Landroidx/compose/runtime/CompositionContext; -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1$1;->(Landroidx/compose/ui/platform/WrappedComposition;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1$2;->(Landroidx/compose/ui/platform/WrappedComposition;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1$3;->(Landroidx/compose/ui/platform/WrappedComposition;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1;->(Landroidx/compose/ui/platform/WrappedComposition;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1;->(Landroidx/compose/ui/platform/WrappedComposition;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/platform/WrappedComposition$setContent$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/platform/WrappedComposition;->(Landroidx/compose/ui/platform/AndroidComposeView;Landroidx/compose/runtime/CompositionImpl;)V -HSPLandroidx/compose/ui/platform/WrappedComposition;->dispose()V -HSPLandroidx/compose/ui/platform/WrappedComposition;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/compose/ui/platform/WrappedComposition;->setContent(Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/platform/WrapperRenderNodeLayerHelperMethods$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/ViewParent;Landroid/view/View;Landroid/view/View;)V -HSPLandroidx/compose/ui/platform/WrapperRenderNodeLayerHelperMethods;->()V -HSPLandroidx/compose/ui/platform/WrapperRenderNodeLayerHelperMethods;->()V -HSPLandroidx/compose/ui/platform/WrapperRenderNodeLayerHelperMethods;->onDescendantInvalidated(Landroidx/compose/ui/platform/AndroidComposeView;)V -HSPLandroidx/compose/ui/platform/WrapperVerificationHelperMethods$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/View;)Ljava/util/Map; -HSPLandroidx/compose/ui/platform/WrapperVerificationHelperMethods;->()V -HSPLandroidx/compose/ui/platform/WrapperVerificationHelperMethods;->()V -HSPLandroidx/compose/ui/platform/WrapperVerificationHelperMethods;->attributeSourceResourceMap(Landroid/view/View;)Ljava/util/Map; -HSPLandroidx/compose/ui/platform/Wrapper_androidKt;->()V -HSPLandroidx/compose/ui/platform/Wrapper_androidKt;->setContent(Landroidx/compose/ui/platform/AbstractComposeView;Landroidx/compose/runtime/CompositionContext;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)Landroidx/compose/runtime/Composition; -HSPLandroidx/compose/ui/platform/accessibility/CollectionInfoKt;->hasCollectionInfo(Landroidx/compose/ui/semantics/SemanticsNode;)Z -HSPLandroidx/compose/ui/platform/accessibility/CollectionInfoKt;->setCollectionInfo(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;Landroidx/compose/ui/semantics/SemanticsNode;)V -HSPLandroidx/compose/ui/platform/accessibility/CollectionInfoKt;->setCollectionItemInfo(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;Landroidx/compose/ui/semantics/SemanticsNode;)V -HSPLandroidx/compose/ui/res/ImageVectorCache;->()V -HSPLandroidx/compose/ui/res/Resources_androidKt;->resources(Landroidx/compose/runtime/Composer;)Landroid/content/res/Resources; -HSPLandroidx/compose/ui/semantics/AccessibilityAction;->(Ljava/lang/String;Lkotlin/Function;)V -HSPLandroidx/compose/ui/semantics/AccessibilityAction;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/semantics/CollectionInfo;->(II)V -HSPLandroidx/compose/ui/semantics/NodeLocationHolder$compareTo$child1$1;->(Landroidx/compose/ui/geometry/Rect;)V -HSPLandroidx/compose/ui/semantics/NodeLocationHolder$compareTo$child1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/semantics/NodeLocationHolder$compareTo$child2$1;->(Landroidx/compose/ui/geometry/Rect;)V -HSPLandroidx/compose/ui/semantics/NodeLocationHolder$compareTo$child2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/semantics/NodeLocationHolder;->(Landroidx/compose/ui/node/LayoutNode;Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/semantics/NodeLocationHolder;->compareTo(Landroidx/compose/ui/semantics/NodeLocationHolder;)I -HSPLandroidx/compose/ui/semantics/NodeLocationHolder;->compareTo(Ljava/lang/Object;)I -HSPLandroidx/compose/ui/semantics/Role;->(I)V -HSPLandroidx/compose/ui/semantics/Role;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/semantics/ScrollAxisRange;->(Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Z)V -HSPLandroidx/compose/ui/semantics/SemanticsActions;->()V -HSPLandroidx/compose/ui/semantics/SemanticsConfiguration;->()V -HSPLandroidx/compose/ui/semantics/SemanticsConfiguration;->contains(Landroidx/compose/ui/semantics/SemanticsPropertyKey;)Z -HSPLandroidx/compose/ui/semantics/SemanticsConfiguration;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/semantics/SemanticsConfiguration;->get(Landroidx/compose/ui/semantics/SemanticsPropertyKey;)Ljava/lang/Object; -HSPLandroidx/compose/ui/semantics/SemanticsConfiguration;->set(Landroidx/compose/ui/semantics/SemanticsPropertyKey;Ljava/lang/Object;)V -HSPLandroidx/compose/ui/semantics/SemanticsModifierCore;->()V -HSPLandroidx/compose/ui/semantics/SemanticsModifierCore;->(ZZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/semantics/SemanticsModifierCore;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLandroidx/compose/ui/semantics/SemanticsModifierCore;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/semantics/SemanticsModifierCore;->foldIn(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/compose/ui/semantics/SemanticsModifierCore;->getSemanticsConfiguration()Landroidx/compose/ui/semantics/SemanticsConfiguration; -HSPLandroidx/compose/ui/semantics/SemanticsModifierCore;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/semantics/SemanticsModifierKt;->clearAndSetSemantics(Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/semantics/SemanticsModifierKt;->semantics(Landroidx/compose/ui/Modifier;ZLkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier; -HSPLandroidx/compose/ui/semantics/SemanticsNode$emitFakeNodes$fakeNode$1;->(Landroidx/compose/ui/semantics/Role;)V -HSPLandroidx/compose/ui/semantics/SemanticsNode$emitFakeNodes$fakeNode$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/semantics/SemanticsNode$fakeSemanticsNode$fakeNode$1;->(Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/compose/ui/semantics/SemanticsNode$fakeSemanticsNode$fakeNode$1;->getSemanticsConfiguration()Landroidx/compose/ui/semantics/SemanticsConfiguration; -HSPLandroidx/compose/ui/semantics/SemanticsNode;->(Landroidx/compose/ui/node/SemanticsModifierNode;Z)V -HSPLandroidx/compose/ui/semantics/SemanticsNode;->(Landroidx/compose/ui/node/SemanticsModifierNode;ZLandroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/semantics/SemanticsNode;->fakeSemanticsNode-ypyhhiA(Landroidx/compose/ui/semantics/Role;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/semantics/SemanticsNode; -HSPLandroidx/compose/ui/semantics/SemanticsNode;->findCoordinatorToGetBounds$ui_release()Landroidx/compose/ui/node/NodeCoordinator; -HSPLandroidx/compose/ui/semantics/SemanticsNode;->getBoundsInRoot()Landroidx/compose/ui/geometry/Rect; -HSPLandroidx/compose/ui/semantics/SemanticsNode;->getChildren(Z)Ljava/util/List; -HSPLandroidx/compose/ui/semantics/SemanticsNode;->getConfig()Landroidx/compose/ui/semantics/SemanticsConfiguration; -HSPLandroidx/compose/ui/semantics/SemanticsNode;->getParent()Landroidx/compose/ui/semantics/SemanticsNode; -HSPLandroidx/compose/ui/semantics/SemanticsNode;->isMergingSemanticsOfDescendants()Z -HSPLandroidx/compose/ui/semantics/SemanticsNode;->unmergedChildren$ui_release(ZZ)Ljava/util/List; -HSPLandroidx/compose/ui/semantics/SemanticsNodeKt;->findOneLayerOfSemanticsWrappers(Landroidx/compose/ui/node/LayoutNode;Ljava/util/List;)V -HSPLandroidx/compose/ui/semantics/SemanticsNodeKt;->getOuterMergingSemantics(Landroidx/compose/ui/node/LayoutNode;)Landroidx/compose/ui/node/SemanticsModifierNode; -HSPLandroidx/compose/ui/semantics/SemanticsNodeKt;->getOuterSemantics(Landroidx/compose/ui/node/LayoutNode;)Landroidx/compose/ui/node/SemanticsModifierNode; -HSPLandroidx/compose/ui/semantics/SemanticsOwner;->(Landroidx/compose/ui/node/LayoutNode;)V -HSPLandroidx/compose/ui/semantics/SemanticsOwner;->getUnmergedRootSemanticsNode()Landroidx/compose/ui/semantics/SemanticsNode; -HSPLandroidx/compose/ui/semantics/SemanticsProperties$ContentDescription$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$ContentDescription$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$InvisibleToUser$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$InvisibleToUser$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$IsDialog$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$IsDialog$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$PaneTitle$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$PaneTitle$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$Role$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$Role$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$TestTag$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$TestTag$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$Text$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties$Text$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsProperties;->()V -HSPLandroidx/compose/ui/semantics/SemanticsPropertiesKt$ActionPropertyKey$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsPropertiesKt$ActionPropertyKey$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsPropertiesKt;->()V -HSPLandroidx/compose/ui/semantics/SemanticsPropertiesKt;->setContentDescription(Landroidx/compose/ui/semantics/SemanticsPropertyReceiver;Ljava/lang/String;)V -HSPLandroidx/compose/ui/semantics/SemanticsPropertiesKt;->setRole-kuIjeqM(Landroidx/compose/ui/semantics/SemanticsPropertyReceiver;I)V -HSPLandroidx/compose/ui/semantics/SemanticsPropertyKey$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsPropertyKey$1;->()V -HSPLandroidx/compose/ui/semantics/SemanticsPropertyKey;->(Ljava/lang/String;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/compose/ui/semantics/SemanticsPropertyKey;->setValue(Landroidx/compose/ui/semantics/SemanticsPropertyReceiver;Lkotlin/reflect/KProperty;Ljava/lang/Object;)V -HSPLandroidx/compose/ui/semantics/SemanticsSortKt;->findCoordinatorToGetBounds(Landroidx/compose/ui/node/LayoutNode;)Landroidx/compose/ui/node/NodeCoordinator; -HSPLandroidx/compose/ui/semantics/SemanticsSortKt;->findNodeByPredicateTraversal(Landroidx/compose/ui/node/LayoutNode;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/node/LayoutNode; -HSPLandroidx/compose/ui/semantics/SemanticsSortKt;->findOneLayerOfSemanticsWrappersSortedByBounds(Landroidx/compose/ui/node/LayoutNode;Ljava/util/List;)V -HSPLandroidx/compose/ui/text/AndroidParagraph$wordBoundary$2;->(Landroidx/compose/ui/text/AndroidParagraph;)V -HSPLandroidx/compose/ui/text/AndroidParagraph;->(Landroidx/compose/ui/text/platform/AndroidParagraphIntrinsics;IZJ)V -HSPLandroidx/compose/ui/text/AndroidParagraph;->constructTextLayout(IILandroid/text/TextUtils$TruncateAt;I)Landroidx/compose/ui/text/android/TextLayout; -HSPLandroidx/compose/ui/text/AndroidParagraph;->getFirstBaseline()F -HSPLandroidx/compose/ui/text/AndroidParagraph;->getHeight()F -HSPLandroidx/compose/ui/text/AndroidParagraph;->getLastBaseline()F -HSPLandroidx/compose/ui/text/AndroidParagraph;->getPlaceholderRects()Ljava/util/List; -HSPLandroidx/compose/ui/text/AndroidParagraph;->getWidth()F -HSPLandroidx/compose/ui/text/AndroidParagraph;->paint-RPmYEkk(Landroidx/compose/ui/graphics/Canvas;JLandroidx/compose/ui/graphics/Shadow;Landroidx/compose/ui/text/style/TextDecoration;)V -HSPLandroidx/compose/ui/text/AnnotatedString$Range;->(IILjava/lang/Object;)V -HSPLandroidx/compose/ui/text/AnnotatedString$Range;->(Ljava/lang/Object;IILjava/lang/String;)V -HSPLandroidx/compose/ui/text/AnnotatedString$special$$inlined$sortedBy$1;->()V -HSPLandroidx/compose/ui/text/AnnotatedString;->(Ljava/lang/String;Ljava/util/List;I)V -HSPLandroidx/compose/ui/text/AnnotatedString;->(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V -HSPLandroidx/compose/ui/text/AnnotatedString;->(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V -HSPLandroidx/compose/ui/text/AnnotatedString;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/AnnotatedString;->length()I -HSPLandroidx/compose/ui/text/AnnotatedStringKt;->()V -HSPLandroidx/compose/ui/text/MultiParagraph;->(Landroidx/compose/ui/text/MultiParagraphIntrinsics;JIZ)V -HSPLandroidx/compose/ui/text/MultiParagraph;->paint-RPmYEkk(Landroidx/compose/ui/graphics/Canvas;JLandroidx/compose/ui/graphics/Shadow;Landroidx/compose/ui/text/style/TextDecoration;)V -HSPLandroidx/compose/ui/text/MultiParagraphIntrinsics$maxIntrinsicWidth$2;->(Landroidx/compose/ui/text/MultiParagraphIntrinsics;)V -HSPLandroidx/compose/ui/text/MultiParagraphIntrinsics$maxIntrinsicWidth$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/text/MultiParagraphIntrinsics$minIntrinsicWidth$2;->(Landroidx/compose/ui/text/MultiParagraphIntrinsics;)V -HSPLandroidx/compose/ui/text/MultiParagraphIntrinsics;->(Landroidx/compose/ui/text/AnnotatedString;Landroidx/compose/ui/text/TextStyle;Ljava/util/List;Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/text/font/FontFamily$Resolver;)V -HSPLandroidx/compose/ui/text/MultiParagraphIntrinsics;->getHasStaleResolvedFonts()Z -HSPLandroidx/compose/ui/text/MultiParagraphIntrinsics;->getMaxIntrinsicWidth()F -HSPLandroidx/compose/ui/text/ParagraphInfo;->(Landroidx/compose/ui/text/AndroidParagraph;IIIIFF)V -HSPLandroidx/compose/ui/text/ParagraphIntrinsicInfo;->(Landroidx/compose/ui/text/platform/AndroidParagraphIntrinsics;II)V -HSPLandroidx/compose/ui/text/ParagraphStyle;->(Landroidx/compose/ui/text/style/TextAlign;Landroidx/compose/ui/text/style/TextDirection;JLandroidx/compose/ui/text/style/TextIndent;Landroidx/compose/ui/text/style/LineHeightStyle;)V -HSPLandroidx/compose/ui/text/ParagraphStyle;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/ParagraphStyle;->merge(Landroidx/compose/ui/text/ParagraphStyle;)Landroidx/compose/ui/text/ParagraphStyle; -HSPLandroidx/compose/ui/text/ParagraphStyleKt;->()V -HSPLandroidx/compose/ui/text/SpanStyle;->(JJLandroidx/compose/ui/text/font/FontWeight;Landroidx/compose/ui/text/font/FontStyle;Landroidx/compose/ui/text/font/FontSynthesis;Landroidx/compose/ui/text/font/FontFamily;Ljava/lang/String;JLandroidx/compose/ui/text/style/BaselineShift;Landroidx/compose/ui/text/style/TextGeometricTransform;Landroidx/compose/ui/text/intl/LocaleList;JLandroidx/compose/ui/text/style/TextDecoration;Landroidx/compose/ui/graphics/Shadow;I)V -HSPLandroidx/compose/ui/text/SpanStyle;->(Landroidx/compose/ui/text/style/TextDrawStyle;JLandroidx/compose/ui/text/font/FontWeight;Landroidx/compose/ui/text/font/FontStyle;Landroidx/compose/ui/text/font/FontSynthesis;Landroidx/compose/ui/text/font/FontFamily;Ljava/lang/String;JLandroidx/compose/ui/text/style/BaselineShift;Landroidx/compose/ui/text/style/TextGeometricTransform;Landroidx/compose/ui/text/intl/LocaleList;JLandroidx/compose/ui/text/style/TextDecoration;Landroidx/compose/ui/graphics/Shadow;)V -HSPLandroidx/compose/ui/text/SpanStyle;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/SpanStyle;->getColor-0d7_KjU()J -HSPLandroidx/compose/ui/text/SpanStyle;->hasSameLayoutAffectingAttributes$ui_text_release(Landroidx/compose/ui/text/SpanStyle;)Z -HSPLandroidx/compose/ui/text/SpanStyle;->merge(Landroidx/compose/ui/text/SpanStyle;)Landroidx/compose/ui/text/SpanStyle; -HSPLandroidx/compose/ui/text/SpanStyleKt$resolveSpanStyleDefaults$1;->()V -HSPLandroidx/compose/ui/text/SpanStyleKt$resolveSpanStyleDefaults$1;->()V -HSPLandroidx/compose/ui/text/SpanStyleKt;->()V -HSPLandroidx/compose/ui/text/TextLayoutInput;->(Landroidx/compose/ui/text/AnnotatedString;Landroidx/compose/ui/text/TextStyle;Ljava/util/List;IZILandroidx/compose/ui/unit/Density;Landroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/text/font/FontFamily$Resolver;J)V -HSPLandroidx/compose/ui/text/TextLayoutInput;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/TextLayoutResult;->(Landroidx/compose/ui/text/TextLayoutInput;Landroidx/compose/ui/text/MultiParagraph;J)V -HSPLandroidx/compose/ui/text/TextLayoutResult;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/TextRange;->()V -HSPLandroidx/compose/ui/text/TextRange;->getEnd-impl(J)I -HSPLandroidx/compose/ui/text/TextRangeKt;->TextRange(II)J -HSPLandroidx/compose/ui/text/TextRangeKt;->constrain-8ffj60Q(JI)J -HSPLandroidx/compose/ui/text/TextStyle;->()V -HSPLandroidx/compose/ui/text/TextStyle;->(JJLandroidx/compose/ui/text/font/FontWeight;Landroidx/compose/ui/text/font/FontStyle;Landroidx/compose/ui/text/font/FontFamily;Ljava/lang/String;JLandroidx/compose/ui/text/style/TextDecoration;Landroidx/compose/ui/graphics/Shadow;Landroidx/compose/ui/text/style/TextAlign;JI)V -HSPLandroidx/compose/ui/text/TextStyle;->(Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/ParagraphStyle;)V -HSPLandroidx/compose/ui/text/TextStyle;->(Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/ParagraphStyle;Lokhttp3/internal/_HostnamesJvmKt;)V -HSPLandroidx/compose/ui/text/TextStyle;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/TextStyle;->merge(Landroidx/compose/ui/text/TextStyle;)Landroidx/compose/ui/text/TextStyle; -HSPLandroidx/compose/ui/text/android/BoringLayoutFactory33;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;)Landroid/text/BoringLayout$Metrics; -HSPLandroidx/compose/ui/text/android/LayoutIntrinsics$boringMetrics$2;->(ILandroidx/compose/ui/text/platform/AndroidTextPaint;Ljava/lang/CharSequence;)V -HSPLandroidx/compose/ui/text/android/LayoutIntrinsics$boringMetrics$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/text/android/LayoutIntrinsics$maxIntrinsicWidth$2;->(Landroidx/compose/ui/text/android/LayoutIntrinsics;Ljava/lang/CharSequence;Landroidx/compose/ui/text/platform/AndroidTextPaint;)V -HSPLandroidx/compose/ui/text/android/LayoutIntrinsics$maxIntrinsicWidth$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/text/android/LayoutIntrinsics$minIntrinsicWidth$2;->(Landroidx/compose/ui/text/platform/AndroidTextPaint;Ljava/lang/CharSequence;)V -HSPLandroidx/compose/ui/text/android/LayoutIntrinsics;->(ILandroidx/compose/ui/text/platform/AndroidTextPaint;Ljava/lang/CharSequence;)V -HSPLandroidx/compose/ui/text/android/SpannedExtensionsKt;->getSystemBarsForVisualComponents(Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/layout/AndroidWindowInsets; -HSPLandroidx/compose/ui/text/android/SpannedExtensionsKt;->hasSpan(Landroid/text/Spanned;Ljava/lang/Class;)Z -HSPLandroidx/compose/ui/text/android/StaticLayoutFactory23;->()V -HSPLandroidx/compose/ui/text/android/StaticLayoutFactory23;->create(Landroidx/compose/ui/text/android/StaticLayoutParams;)Landroid/text/StaticLayout; -HSPLandroidx/compose/ui/text/android/StaticLayoutFactory26$$ExternalSyntheticApiModelOutline0;->m(Landroid/text/StaticLayout$Builder;I)V -HSPLandroidx/compose/ui/text/android/StaticLayoutFactory26;->setJustificationMode(Landroid/text/StaticLayout$Builder;I)V -HSPLandroidx/compose/ui/text/android/StaticLayoutFactory28$$ExternalSyntheticApiModelOutline0;->m(Landroid/text/StaticLayout$Builder;Z)V -HSPLandroidx/compose/ui/text/android/StaticLayoutFactory28;->setUseLineSpacingFromFallbacks(Landroid/text/StaticLayout$Builder;Z)V -HSPLandroidx/compose/ui/text/android/StaticLayoutFactory;->()V -HSPLandroidx/compose/ui/text/android/StaticLayoutFactory;->create(Ljava/lang/CharSequence;IILandroidx/compose/ui/text/platform/AndroidTextPaint;ILandroid/text/TextDirectionHeuristic;Landroid/text/Layout$Alignment;ILandroid/text/TextUtils$TruncateAt;IFFIZZII[I[I)Landroid/text/StaticLayout; -HSPLandroidx/compose/ui/text/android/StaticLayoutParams;->(Ljava/lang/CharSequence;IILandroidx/compose/ui/text/platform/AndroidTextPaint;ILandroid/text/TextDirectionHeuristic;Landroid/text/Layout$Alignment;ILandroid/text/TextUtils$TruncateAt;IFFIZZII[I[I)V -HSPLandroidx/compose/ui/text/android/TextAlignmentAdapter;->()V -HSPLandroidx/compose/ui/text/android/TextLayout$layoutHelper$2;->(Landroidx/compose/ui/text/android/TextLayout;)V -HSPLandroidx/compose/ui/text/android/TextLayout;->(Ljava/lang/CharSequence;FLandroidx/compose/ui/text/platform/AndroidTextPaint;ILandroid/text/TextUtils$TruncateAt;IIILandroidx/compose/ui/text/android/LayoutIntrinsics;)V -HSPLandroidx/compose/ui/text/android/TextLayout;->getHeight()I -HSPLandroidx/compose/ui/text/android/TextLayout;->getLineBaseline(I)F -HSPLandroidx/compose/ui/text/android/TextLayout;->getText()Ljava/lang/CharSequence; -HSPLandroidx/compose/ui/text/android/TextLayout;->paint(Landroid/graphics/Canvas;)V -HSPLandroidx/compose/ui/text/android/TextLayoutKt;->()V -HSPLandroidx/compose/ui/text/android/TextLayoutKt;->getTextDirectionHeuristic(I)Landroid/text/TextDirectionHeuristic; -HSPLandroidx/compose/ui/text/android/style/IndentationFixSpanKt;->getEllipsizedLeftPadding(Landroid/text/Layout;ILandroid/graphics/Paint;)F -HSPLandroidx/compose/ui/text/android/style/IndentationFixSpanKt;->getEllipsizedRightPadding(Landroid/text/Layout;ILandroid/graphics/Paint;)F -HSPLandroidx/compose/ui/text/android/style/LineHeightSpan;->(F)V -HSPLandroidx/compose/ui/text/android/style/LineHeightSpan;->chooseHeight(Ljava/lang/CharSequence;IIIILandroid/graphics/Paint$FontMetricsInt;)V -HSPLandroidx/compose/ui/text/caches/ContainerHelpersKt;->()V -HSPLandroidx/compose/ui/text/caches/LruCache;->()V -HSPLandroidx/compose/ui/text/caches/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/text/caches/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/text/caches/LruCache;->size()I -HSPLandroidx/compose/ui/text/caches/SimpleArrayMap;->(I)V -HSPLandroidx/compose/ui/text/font/AndroidFontLoader;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/text/font/AndroidFontLoader;->getCacheKey()V -HSPLandroidx/compose/ui/text/font/AndroidFontResolveInterceptor;->(I)V -HSPLandroidx/compose/ui/text/font/AndroidFontResolveInterceptor;->interceptFontFamily(Landroidx/compose/ui/text/font/FontFamily;)Landroidx/compose/ui/text/font/FontFamily; -HSPLandroidx/compose/ui/text/font/AndroidFontResolveInterceptor;->interceptFontStyle-T2F_aPo(I)I -HSPLandroidx/compose/ui/text/font/AndroidFontResolveInterceptor;->interceptFontSynthesis-Mscr08Y(I)I -HSPLandroidx/compose/ui/text/font/AndroidFontResolveInterceptor;->interceptFontWeight(Landroidx/compose/ui/text/font/FontWeight;)Landroidx/compose/ui/text/font/FontWeight; -HSPLandroidx/compose/ui/text/font/AndroidFontResolveInterceptor_androidKt;->AndroidFontResolveInterceptor(Landroid/content/Context;)Landroidx/compose/ui/text/font/AndroidFontResolveInterceptor; -HSPLandroidx/compose/ui/text/font/AsyncTypefaceCache;->()V -HSPLandroidx/compose/ui/text/font/DefaultFontFamily;->()V -HSPLandroidx/compose/ui/text/font/FontFamily;->()V -HSPLandroidx/compose/ui/text/font/FontFamily;->()V -HSPLandroidx/compose/ui/text/font/FontFamilyResolverImpl$createDefaultTypeface$1;->(Landroidx/compose/ui/text/font/FontFamilyResolverImpl;)V -HSPLandroidx/compose/ui/text/font/FontFamilyResolverImpl$resolve$result$1;->(Landroidx/compose/ui/text/font/FontFamilyResolverImpl;Landroidx/compose/ui/text/font/TypefaceRequest;)V -HSPLandroidx/compose/ui/text/font/FontFamilyResolverImpl$resolve$result$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/text/font/FontFamilyResolverImpl;->(Landroidx/compose/ui/text/font/AndroidFontLoader;Landroidx/compose/ui/text/font/AndroidFontResolveInterceptor;)V -HSPLandroidx/compose/ui/text/font/FontFamilyResolverImpl;->resolve(Landroidx/compose/ui/text/font/TypefaceRequest;)Landroidx/compose/ui/text/font/TypefaceResult; -HSPLandroidx/compose/ui/text/font/FontFamilyResolverImpl;->resolve-DPcqOEQ(Landroidx/compose/ui/text/font/FontFamily;Landroidx/compose/ui/text/font/FontWeight;II)Landroidx/compose/ui/text/font/TypefaceResult; -HSPLandroidx/compose/ui/text/font/FontFamilyResolverKt;->()V -HSPLandroidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter$special$$inlined$CoroutineExceptionHandler$1;->()V -HSPLandroidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter;->()V -HSPLandroidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter;->(Landroidx/compose/ui/text/font/AsyncTypefaceCache;)V -HSPLandroidx/compose/ui/text/font/FontStyle;->(I)V -HSPLandroidx/compose/ui/text/font/FontStyle;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/font/FontSynthesis;->(I)V -HSPLandroidx/compose/ui/text/font/FontWeight;->()V -HSPLandroidx/compose/ui/text/font/FontWeight;->(I)V -HSPLandroidx/compose/ui/text/font/FontWeight;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/font/GenericFontFamily;->(Ljava/lang/String;Ljava/lang/String;)V -HSPLandroidx/compose/ui/text/font/PlatformTypefacesApi28;->()V -HSPLandroidx/compose/ui/text/font/PlatformTypefacesApi28;->createAndroidTypefaceApi28-RetOiIg(Ljava/lang/String;Landroidx/compose/ui/text/font/FontWeight;I)Landroid/graphics/Typeface; -HSPLandroidx/compose/ui/text/font/PlatformTypefacesApi28;->createNamed-RetOiIg(Landroidx/compose/ui/text/font/GenericFontFamily;Landroidx/compose/ui/text/font/FontWeight;I)Landroid/graphics/Typeface; -HSPLandroidx/compose/ui/text/font/SystemFontFamily;->()V -HSPLandroidx/compose/ui/text/font/TypefaceRequest;->(Landroidx/compose/ui/text/font/FontFamily;Landroidx/compose/ui/text/font/FontWeight;IILjava/lang/Object;)V -HSPLandroidx/compose/ui/text/font/TypefaceRequest;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/font/TypefaceRequest;->hashCode()I -HSPLandroidx/compose/ui/text/font/TypefaceRequestCache$runCached$currentTypefaceResult$1;->(Landroidx/compose/ui/text/font/TypefaceRequestCache;Landroidx/compose/ui/text/font/TypefaceRequest;)V -HSPLandroidx/compose/ui/text/font/TypefaceRequestCache;->()V -HSPLandroidx/compose/ui/text/font/TypefaceResult$Immutable;->(Ljava/lang/Object;Z)V -HSPLandroidx/compose/ui/text/font/TypefaceResult$Immutable;->getCacheable()Z -HSPLandroidx/compose/ui/text/font/TypefaceResult$Immutable;->getValue()Ljava/lang/Object; -HSPLandroidx/compose/ui/text/input/InputMethodManagerImpl$imm$2;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/text/input/InputMethodManagerImpl;->(Landroid/content/Context;)V -HSPLandroidx/compose/ui/text/input/TextFieldValue$Companion$Saver$1;->()V -HSPLandroidx/compose/ui/text/input/TextFieldValue$Companion$Saver$1;->()V -HSPLandroidx/compose/ui/text/input/TextFieldValue$Companion$Saver$2;->()V -HSPLandroidx/compose/ui/text/input/TextFieldValue$Companion$Saver$2;->()V -HSPLandroidx/compose/ui/text/input/TextFieldValue;->()V -HSPLandroidx/compose/ui/text/input/TextFieldValue;->(Landroidx/compose/ui/text/AnnotatedString;JLandroidx/compose/ui/text/TextRange;)V -HSPLandroidx/compose/ui/text/input/TextInputService;->(Landroidx/compose/ui/text/input/PlatformTextInputService;)V -HSPLandroidx/compose/ui/text/input/TextInputServiceAndroid$baseInputConnection$2;->(Landroidx/compose/ui/text/input/TextInputServiceAndroid;)V -HSPLandroidx/compose/ui/text/input/TextInputServiceAndroid$textInputCommandEventLoop$1;->(Landroidx/compose/ui/text/input/TextInputServiceAndroid;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/compose/ui/text/input/TextInputServiceAndroid$textInputCommandEventLoop$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/text/input/TextInputServiceAndroid;->(Landroid/view/View;)V -HSPLandroidx/compose/ui/text/input/TextInputServiceAndroid;->textInputCommandEventLoop(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/compose/ui/text/intl/AndroidLocale;->(Ljava/util/Locale;)V -HSPLandroidx/compose/ui/text/intl/AndroidLocale;->toLanguageTag()Ljava/lang/String; -HSPLandroidx/compose/ui/text/intl/AndroidLocaleDelegateAPI24;->()V -HSPLandroidx/compose/ui/text/intl/AndroidLocaleDelegateAPI24;->getCurrent()Ljava/util/List; -HSPLandroidx/compose/ui/text/intl/Locale;->(Landroidx/compose/ui/text/intl/PlatformLocale;)V -HSPLandroidx/compose/ui/text/intl/Locale;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/intl/LocaleList;->(Ljava/util/ArrayList;)V -HSPLandroidx/compose/ui/text/intl/LocaleList;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/intl/PlatformLocaleKt;->()V -HSPLandroidx/compose/ui/text/platform/AndroidAccessibilitySpannableString_androidKt;->toAccessibilitySpannableString(Landroidx/compose/ui/text/AnnotatedString;Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/text/font/FontFamily$Resolver;)Landroid/text/SpannableString; -HSPLandroidx/compose/ui/text/platform/AndroidParagraphIntrinsics$resolveTypeface$1;->(Landroidx/compose/ui/text/platform/AndroidParagraphIntrinsics;)V -HSPLandroidx/compose/ui/text/platform/AndroidParagraphIntrinsics;->(Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/font/FontFamily$Resolver;Landroidx/compose/ui/unit/Density;Ljava/lang/String;Ljava/util/List;Ljava/util/ArrayList;)V -HSPLandroidx/compose/ui/text/platform/AndroidParagraphIntrinsics;->getHasStaleResolvedFonts()Z -HSPLandroidx/compose/ui/text/platform/AndroidParagraphIntrinsics;->getMaxIntrinsicWidth()F -HSPLandroidx/compose/ui/text/platform/AndroidTextPaint;->(F)V -HSPLandroidx/compose/ui/text/platform/AndroidTextPaint;->setBrush-12SF9DM(Landroidx/compose/ui/graphics/Brush;JF)V -HSPLandroidx/compose/ui/text/platform/AndroidTextPaint;->setColor-8_81llA(J)V -HSPLandroidx/compose/ui/text/platform/AndroidTextPaint;->setShadow(Landroidx/compose/ui/graphics/Shadow;)V -HSPLandroidx/compose/ui/text/platform/AndroidTextPaint;->setTextDecoration(Landroidx/compose/ui/text/style/TextDecoration;)V -HSPLandroidx/compose/ui/text/platform/TypefaceDirtyTracker;->(Landroidx/compose/runtime/State;)V -HSPLandroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt$setFontAttributes$1;->(Landroid/text/SpannableString;Landroidx/compose/ui/text/platform/AndroidParagraphIntrinsics$resolveTypeface$1;)V -HSPLandroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt;->resolveLineHeightInPx-o2QH7mI(JFLandroidx/compose/ui/unit/Density;)F -HSPLandroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt;->setBackground-RPmYEkk(Landroid/text/SpannableString;JII)V -HSPLandroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt;->setColor-RPmYEkk(Landroid/text/SpannableString;JII)V -HSPLandroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt;->setFontSize-KmRG4DE(Landroid/text/SpannableString;JLandroidx/compose/ui/unit/Density;II)V -HSPLandroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt;->setLocaleList(Landroid/text/SpannableString;Landroidx/compose/ui/text/intl/LocaleList;II)V -HSPLandroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt;->setSpan(Landroid/text/Spannable;Ljava/lang/Object;II)V -HSPLandroidx/compose/ui/text/style/BaselineShift;->(F)V -HSPLandroidx/compose/ui/text/style/ColorStyle;->(J)V -HSPLandroidx/compose/ui/text/style/ColorStyle;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/style/ColorStyle;->getAlpha()F -HSPLandroidx/compose/ui/text/style/ColorStyle;->getBrush()Landroidx/compose/ui/graphics/Brush; -HSPLandroidx/compose/ui/text/style/ColorStyle;->getColor-0d7_KjU()J -HSPLandroidx/compose/ui/text/style/ColorStyle;->takeOrElse(Lkotlin/jvm/functions/Function0;)Landroidx/compose/ui/text/style/TextDrawStyle; -HSPLandroidx/compose/ui/text/style/TextAlign;->(I)V -HSPLandroidx/compose/ui/text/style/TextAlign;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/style/TextDecoration;->()V -HSPLandroidx/compose/ui/text/style/TextDecoration;->(I)V -HSPLandroidx/compose/ui/text/style/TextDecoration;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/style/TextDirection;->(I)V -HSPLandroidx/compose/ui/text/style/TextDrawStyle$-CC;->$default$merge(Landroidx/compose/ui/text/style/TextDrawStyle;Landroidx/compose/ui/text/style/TextDrawStyle;)Landroidx/compose/ui/text/style/TextDrawStyle; -HSPLandroidx/compose/ui/text/style/TextDrawStyle$-CC;->$default$takeOrElse(Landroidx/compose/ui/text/style/TextDrawStyle;Lkotlin/jvm/functions/Function0;)Landroidx/compose/ui/text/style/TextDrawStyle; -HSPLandroidx/compose/ui/text/style/TextDrawStyle$Unspecified;->()V -HSPLandroidx/compose/ui/text/style/TextDrawStyle$Unspecified;->()V -HSPLandroidx/compose/ui/text/style/TextDrawStyle$Unspecified;->getAlpha()F -HSPLandroidx/compose/ui/text/style/TextDrawStyle$Unspecified;->getBrush()Landroidx/compose/ui/graphics/Brush; -HSPLandroidx/compose/ui/text/style/TextDrawStyle$Unspecified;->getColor-0d7_KjU()J -HSPLandroidx/compose/ui/text/style/TextDrawStyle$Unspecified;->merge(Landroidx/compose/ui/text/style/TextDrawStyle;)Landroidx/compose/ui/text/style/TextDrawStyle; -HSPLandroidx/compose/ui/text/style/TextDrawStyle$Unspecified;->takeOrElse(Lkotlin/jvm/functions/Function0;)Landroidx/compose/ui/text/style/TextDrawStyle; -HSPLandroidx/compose/ui/text/style/TextDrawStyle$merge$2;->(Landroidx/compose/ui/text/style/TextDrawStyle;)V -HSPLandroidx/compose/ui/text/style/TextDrawStyle$merge$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/text/style/TextGeometricTransform;->()V -HSPLandroidx/compose/ui/text/style/TextGeometricTransform;->(FF)V -HSPLandroidx/compose/ui/text/style/TextGeometricTransform;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/text/style/TextIndent;->()V -HSPLandroidx/compose/ui/text/style/TextIndent;->(JJ)V -HSPLandroidx/compose/ui/unit/Constraints$Companion;->bitsNeedForSize(I)I -HSPLandroidx/compose/ui/unit/Constraints$Companion;->createConstraints-Zbe2FdA$ui_unit_release(IIII)J -HSPLandroidx/compose/ui/unit/Constraints$Companion;->fixed-JhjzzOo(II)J -HSPLandroidx/compose/ui/unit/Constraints;->()V -HSPLandroidx/compose/ui/unit/Constraints;->(J)V -HSPLandroidx/compose/ui/unit/Constraints;->copy-Zbe2FdA$default(JIIIII)J -HSPLandroidx/compose/ui/unit/Constraints;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/unit/Constraints;->equals-impl0(JJ)Z -HSPLandroidx/compose/ui/unit/Constraints;->getHasBoundedHeight-impl(J)Z -HSPLandroidx/compose/ui/unit/Constraints;->getHasBoundedWidth-impl(J)Z -HSPLandroidx/compose/ui/unit/Constraints;->getMaxHeight-impl(J)I -HSPLandroidx/compose/ui/unit/Constraints;->getMaxWidth-impl(J)I -HSPLandroidx/compose/ui/unit/Constraints;->getMinHeight-impl(J)I -HSPLandroidx/compose/ui/unit/Constraints;->getMinWidth-impl(J)I -HSPLandroidx/compose/ui/unit/Density$-CC;->$default$roundToPx-0680j_4(FLandroidx/compose/ui/unit/Density;)I -HSPLandroidx/compose/ui/unit/Density$-CC;->$default$toDpSize-k-rfVVM(JLandroidx/compose/ui/unit/Density;)J -HSPLandroidx/compose/ui/unit/Density$-CC;->$default$toPx--R2X_6o(JLandroidx/compose/ui/unit/Density;)F -HSPLandroidx/compose/ui/unit/Density$-CC;->$default$toSize-XkaWNTQ(JLandroidx/compose/ui/unit/Density;)J -HSPLandroidx/compose/ui/unit/DensityImpl;->(FF)V -HSPLandroidx/compose/ui/unit/DensityImpl;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/unit/DensityImpl;->getDensity()F -HSPLandroidx/compose/ui/unit/DensityImpl;->getFontScale()F -HSPLandroidx/compose/ui/unit/DensityImpl;->roundToPx-0680j_4(F)I -HSPLandroidx/compose/ui/unit/DensityImpl;->toDp-u2uoSUM(F)F -HSPLandroidx/compose/ui/unit/DensityImpl;->toDpSize-k-rfVVM(J)J -HSPLandroidx/compose/ui/unit/DensityImpl;->toPx--R2X_6o(J)F -HSPLandroidx/compose/ui/unit/DensityImpl;->toPx-0680j_4(F)F -HSPLandroidx/compose/ui/unit/DensityImpl;->toSize-XkaWNTQ(J)J -HSPLandroidx/compose/ui/unit/Dp;->(F)V -HSPLandroidx/compose/ui/unit/Dp;->compareTo(Ljava/lang/Object;)I -HSPLandroidx/compose/ui/unit/Dp;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/unit/Dp;->equals-impl0(FF)Z -HSPLandroidx/compose/ui/unit/DpKt;->DpOffset-YgX7TsA(FF)J -HSPLandroidx/compose/ui/unit/DpKt;->DpSize-YgX7TsA(FF)J -HSPLandroidx/compose/ui/unit/DpOffset;->()V -HSPLandroidx/compose/ui/unit/DpSize;->()V -HSPLandroidx/compose/ui/unit/DpSize;->getHeight-D9Ej5fM(J)F -HSPLandroidx/compose/ui/unit/DpSize;->getWidth-D9Ej5fM(J)F -HSPLandroidx/compose/ui/unit/IntOffset$Companion;->()V -HSPLandroidx/compose/ui/unit/IntOffset;->()V -HSPLandroidx/compose/ui/unit/IntOffset;->(J)V -HSPLandroidx/compose/ui/unit/IntOffset;->equals-impl0(JJ)Z -HSPLandroidx/compose/ui/unit/IntOffset;->getY-impl(J)I -HSPLandroidx/compose/ui/unit/IntOffsetKt;->IntOffset(II)J -HSPLandroidx/compose/ui/unit/IntSize$Companion;->()V -HSPLandroidx/compose/ui/unit/IntSize;->()V -HSPLandroidx/compose/ui/unit/IntSize;->(J)V -HSPLandroidx/compose/ui/unit/IntSize;->equals-impl0(JJ)Z -HSPLandroidx/compose/ui/unit/IntSize;->getHeight-impl(J)I -HSPLandroidx/compose/ui/unit/IntSizeKt;->IntSize(II)J -HSPLandroidx/compose/ui/unit/IntSizeKt;->toSize-ozmzZPI(J)J -HSPLandroidx/compose/ui/unit/LayoutDirection;->()V -HSPLandroidx/compose/ui/unit/LayoutDirection;->(ILjava/lang/String;)V -HSPLandroidx/compose/ui/unit/TextUnit;->()V -HSPLandroidx/compose/ui/unit/TextUnit;->(J)V -HSPLandroidx/compose/ui/unit/TextUnit;->equals-impl0(JJ)Z -HSPLandroidx/compose/ui/unit/TextUnit;->getType-UIouoOA(J)J -HSPLandroidx/compose/ui/unit/TextUnit;->getValue-impl(J)F -HSPLandroidx/compose/ui/unit/TextUnitKt;->getSp(I)J -HSPLandroidx/compose/ui/unit/TextUnitKt;->isUnspecified--R2X_6o(J)Z -HSPLandroidx/compose/ui/unit/TextUnitKt;->pack(FJ)J -HSPLandroidx/compose/ui/unit/TextUnitType;->(J)V -HSPLandroidx/compose/ui/unit/TextUnitType;->equals-impl0(JJ)Z -HSPLandroidx/compose/ui/util/MathHelpersKt;->lerp(FFF)F -HSPLandroidx/compose/ui/viewinterop/AndroidViewHolder$onCommitAffectingUpdate$1$$ExternalSyntheticLambda0;->(ILjava/lang/Object;)V -HSPLandroidx/compose/ui/viewinterop/AndroidViewHolder$onCommitAffectingUpdate$1$$ExternalSyntheticLambda0;->run()V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/ui/window/DialogWrapper;)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$1;->(Landroidx/compose/ui/window/DialogWrapper;)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$2;->(Landroidx/compose/ui/window/DialogWrapper;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/window/DialogProperties;Landroidx/compose/ui/unit/LayoutDirection;)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$2;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$3;->(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/window/DialogProperties;Lkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1$1;->()V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1$1;->()V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1$2;->(Landroidx/compose/runtime/State;)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1;->(Landroidx/compose/runtime/MutableState;)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialogId$1;->()V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialogId$1;->()V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialogId$1;->invoke()Ljava/lang/Object; -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$1$measure$1;->(Ljava/util/ArrayList;)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$1$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$1;->()V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$1;->()V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$1;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$2;->(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;II)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt;->Dialog(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/window/DialogProperties;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/ui/window/AndroidDialog_androidKt;->access$DialogLayout(Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/compose/ui/window/AndroidPopup_androidKt$LocalPopupTestTag$1;->()V -HSPLandroidx/compose/ui/window/AndroidPopup_androidKt$LocalPopupTestTag$1;->()V -HSPLandroidx/compose/ui/window/AndroidPopup_androidKt;->()V -HSPLandroidx/compose/ui/window/AndroidPopup_androidKt;->isFlagSecureEnabled(Landroid/view/View;)Z -HSPLandroidx/compose/ui/window/ComposableSingletons$AndroidDialog_androidKt$lambda-1$1;->()V -HSPLandroidx/compose/ui/window/ComposableSingletons$AndroidDialog_androidKt$lambda-1$1;->()V -HSPLandroidx/compose/ui/window/ComposableSingletons$AndroidDialog_androidKt;->()V -HSPLandroidx/compose/ui/window/DialogLayout$Content$4;->(Landroidx/compose/ui/window/DialogLayout;I)V -HSPLandroidx/compose/ui/window/DialogLayout;->(Landroid/content/Context;Landroid/view/Window;)V -HSPLandroidx/compose/ui/window/DialogLayout;->Content(Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/compose/ui/window/DialogLayout;->getShouldCreateCompositionOnAttachedToWindow()Z -HSPLandroidx/compose/ui/window/DialogLayout;->internalOnLayout$ui_release(ZIIII)V -HSPLandroidx/compose/ui/window/DialogLayout;->internalOnMeasure$ui_release(II)V -HSPLandroidx/compose/ui/window/DialogProperties;->(I)V -HSPLandroidx/compose/ui/window/DialogProperties;->(ZZLandroidx/compose/ui/window/SecureFlagPolicy;ZZ)V -HSPLandroidx/compose/ui/window/DialogProperties;->equals(Ljava/lang/Object;)Z -HSPLandroidx/compose/ui/window/DialogWrapper$1$2;->()V -HSPLandroidx/compose/ui/window/DialogWrapper$1$2;->getOutline(Landroid/view/View;Landroid/graphics/Outline;)V -HSPLandroidx/compose/ui/window/DialogWrapper;->(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/window/DialogProperties;Landroid/view/View;Landroidx/compose/ui/unit/LayoutDirection;Landroidx/compose/ui/unit/Density;Ljava/util/UUID;)V -HSPLandroidx/compose/ui/window/DialogWrapper;->_init_$disableClipping(Landroid/view/ViewGroup;)V -HSPLandroidx/compose/ui/window/DialogWrapper;->updateParameters(Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/window/DialogProperties;Landroidx/compose/ui/unit/LayoutDirection;)V -HSPLandroidx/compose/ui/window/SecureFlagPolicy;->()V -HSPLandroidx/compose/ui/window/SecureFlagPolicy;->(ILjava/lang/String;)V -HSPLandroidx/core/R$dimen;->clip(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/Shape;)Landroidx/compose/ui/Modifier; -HSPLandroidx/core/R$dimen;->clipToBounds(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; -HSPLandroidx/core/R$dimen;->createCoroutineUnintercepted(Ljava/lang/Object;Lkotlin/coroutines/Continuation;Lkotlin/jvm/functions/Function2;)Lkotlin/coroutines/Continuation; -HSPLandroidx/core/R$dimen;->intercepted(Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/core/app/ActivityCompat$Api23Impl$$ExternalSyntheticApiModelOutline1;->m(Landroid/app/Activity;Ljava/lang/String;)Z -HSPLandroidx/core/app/ActivityCompat$Api23Impl;->shouldShowRequestPermissionRationale(Landroid/app/Activity;Ljava/lang/String;)Z -HSPLandroidx/core/app/ComponentActivity;->()V -HSPLandroidx/core/app/ComponentActivity;->onCreate(Landroid/os/Bundle;)V -HSPLandroidx/core/app/CoreComponentFactory;->()V -HSPLandroidx/core/app/CoreComponentFactory;->checkCompatWrapper(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/core/app/CoreComponentFactory;->instantiateActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity; -HSPLandroidx/core/app/CoreComponentFactory;->instantiateApplication(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/app/Application; -HSPLandroidx/core/app/CoreComponentFactory;->instantiateProvider(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/content/ContentProvider; -HSPLandroidx/core/app/CoreComponentFactory;->instantiateReceiver(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/content/BroadcastReceiver; -HSPLandroidx/core/app/NavUtils;->getParentActivityName(Landroid/content/Context;Landroid/content/ComponentName;)Ljava/lang/String; -HSPLandroidx/core/content/ContextCompat$Api21Impl;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; -HSPLandroidx/core/content/ContextCompat$Api23Impl;->getSystemService(Landroid/content/Context;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroidx/core/content/ContextCompat$Api24Impl$$ExternalSyntheticApiModelOutline0;->m(Landroid/content/Context;)Z -HSPLandroidx/core/content/ContextCompat$Api24Impl$$ExternalSyntheticApiModelOutline1;->m(Landroid/content/Context;)Landroid/content/Context; -HSPLandroidx/core/content/ContextCompat$Api24Impl;->createDeviceProtectedStorageContext(Landroid/content/Context;)Landroid/content/Context; -HSPLandroidx/core/content/ContextCompat;->()V -HSPLandroidx/core/content/ContextCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I -HSPLandroidx/core/content/ContextCompat;->getSystemService(Landroid/content/Context;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroidx/core/content/PermissionChecker;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I -HSPLandroidx/core/graphics/Insets;->()V -HSPLandroidx/core/graphics/Insets;->(IIII)V -HSPLandroidx/core/graphics/Insets;->equals(Ljava/lang/Object;)Z -HSPLandroidx/core/graphics/Insets;->of(IIII)Landroidx/core/graphics/Insets; -HSPLandroidx/core/graphics/Insets;->toCompatInsets(Landroid/graphics/Insets;)Landroidx/core/graphics/Insets; -HSPLandroidx/core/graphics/TypefaceCompat;->()V -HSPLandroidx/core/graphics/TypefaceCompatApi29Impl;->()V -HSPLandroidx/core/graphics/TypefaceCompatApi29Impl;->createFromFontInfo(Landroid/content/Context;[Landroidx/core/provider/FontsContractCompat$FontInfo;I)Landroid/graphics/Typeface; -HSPLandroidx/core/graphics/TypefaceCompatApi29Impl;->findBaseFont(Landroid/graphics/fonts/FontFamily;I)Landroid/graphics/fonts/Font; -HSPLandroidx/core/graphics/TypefaceCompatApi29Impl;->getMatchScore(Landroid/graphics/fonts/FontStyle;Landroid/graphics/fonts/FontStyle;)I -HSPLandroidx/core/graphics/TypefaceCompatBaseImpl;->()V -HSPLandroidx/core/graphics/TypefaceCompatUtil$Api19Impl;->openFileDescriptor(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor; -HSPLandroidx/core/graphics/TypefaceCompatUtil;->mmap(Landroid/content/Context;Landroid/net/Uri;)Ljava/nio/MappedByteBuffer; -HSPLandroidx/core/os/BuildCompat;->isAtLeastT()Z -HSPLandroidx/core/os/BundleKt;->bundleOf([Lkotlin/Pair;)Landroid/os/Bundle; -HSPLandroidx/core/os/HandlerCompat;->createAsync(Landroid/os/Looper;)Landroid/os/Handler; -HSPLandroidx/core/os/LocaleListCompat$Api21Impl;->()V -HSPLandroidx/core/os/LocaleListCompat$Api21Impl;->forLanguageTag(Ljava/lang/String;)Ljava/util/Locale; -HSPLandroidx/core/os/LocaleListCompat$Api24Impl;->createLocaleList([Ljava/util/Locale;)Landroid/os/LocaleList; -HSPLandroidx/core/os/LocaleListCompat;->()V -HSPLandroidx/core/os/LocaleListCompat;->(Landroidx/core/os/LocaleListInterface;)V -HSPLandroidx/core/os/LocaleListCompat;->create([Ljava/util/Locale;)Landroidx/core/os/LocaleListCompat; -HSPLandroidx/core/os/LocaleListCompat;->forLanguageTags(Ljava/lang/String;)Landroidx/core/os/LocaleListCompat; -HSPLandroidx/core/os/LocaleListPlatformWrapper;->(Ljava/lang/Object;)V -HSPLandroidx/core/os/TraceCompat$Api18Impl;->beginSection(Ljava/lang/String;)V -HSPLandroidx/core/os/TraceCompat$Api18Impl;->endSection()V -HSPLandroidx/core/os/TraceCompat;->()V -HSPLandroidx/core/os/UserManagerCompat$Api24Impl$$ExternalSyntheticApiModelOutline0;->m(Landroid/os/UserManager;)Z -HSPLandroidx/core/os/UserManagerCompat$Api24Impl;->isUserUnlocked(Landroid/content/Context;)Z -HSPLandroidx/core/provider/FontProvider$$ExternalSyntheticLambda0;->()V -HSPLandroidx/core/provider/FontProvider$Api16Impl;->query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Landroid/database/Cursor; -HSPLandroidx/core/provider/FontProvider;->()V -HSPLandroidx/core/provider/FontProvider;->getFontFamilyResult(Landroid/content/Context;Landroidx/core/provider/FontRequest;)Landroidx/core/provider/FontsContractCompat$FontFamilyResult; -HSPLandroidx/core/provider/FontRequest;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V -HSPLandroidx/core/provider/FontsContractCompat$FontFamilyResult;->(I[Landroidx/core/provider/FontsContractCompat$FontInfo;)V -HSPLandroidx/core/provider/FontsContractCompat$FontInfo;->(Landroid/net/Uri;IIZI)V -HSPLandroidx/core/splashscreen/R$dimen;->modifierLocalOf(Lkotlin/jvm/functions/Function0;)Landroidx/compose/ui/modifier/ProvidableModifierLocal; -HSPLandroidx/core/splashscreen/SplashScreen$Impl31$hierarchyListener$1;->(Landroidx/core/splashscreen/SplashScreen$Impl31;Landroid/app/Activity;)V -HSPLandroidx/core/splashscreen/SplashScreen$Impl31;->(Landroid/app/Activity;)V -HSPLandroidx/core/splashscreen/SplashScreen$Impl31;->install()V -HSPLandroidx/core/splashscreen/SplashScreen$Impl;->(Landroid/app/Activity;)V -HSPLandroidx/core/splashscreen/SplashScreen$Impl;->setPostSplashScreenTheme(Landroid/content/res/Resources$Theme;Landroid/util/TypedValue;)V -HSPLandroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;->(Landroidx/core/view/AccessibilityDelegateCompat;)V -HSPLandroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;->dispatchPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z -HSPLandroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;->getAccessibilityNodeProvider(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeProvider; -HSPLandroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;->onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V -HSPLandroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;->onPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V -HSPLandroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;->onRequestSendAccessibilityEvent(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z -HSPLandroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter;->sendAccessibilityEventUnchecked(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V -HSPLandroidx/core/view/AccessibilityDelegateCompat;->()V -HSPLandroidx/core/view/AccessibilityDelegateCompat;->()V -HSPLandroidx/core/view/AccessibilityDelegateCompat;->(Landroid/view/View$AccessibilityDelegate;)V -HSPLandroidx/core/view/AccessibilityDelegateCompat;->dispatchPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z -HSPLandroidx/core/view/AccessibilityDelegateCompat;->onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V -HSPLandroidx/core/view/AccessibilityDelegateCompat;->onPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V -HSPLandroidx/core/view/AccessibilityDelegateCompat;->onRequestSendAccessibilityEvent(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z -HSPLandroidx/core/view/AccessibilityDelegateCompat;->sendAccessibilityEventUnchecked(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V -HSPLandroidx/core/view/DisplayCutoutCompat$Api30Impl$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/DisplayCutout;)Landroid/graphics/Insets; -HSPLandroidx/core/view/DisplayCutoutCompat$Api30Impl;->getWaterfallInsets(Landroid/view/DisplayCutout;)Landroid/graphics/Insets; -HSPLandroidx/core/view/DisplayCutoutCompat;->(Landroid/view/DisplayCutout;)V -HSPLandroidx/core/view/MenuHostHelper;->(Ljava/lang/Runnable;)V -HSPLandroidx/core/view/ViewCompat$$ExternalSyntheticLambda0;->()V -HSPLandroidx/core/view/ViewCompat$AccessibilityPaneVisibilityManager;->()V -HSPLandroidx/core/view/ViewCompat$Api16Impl;->getParentForAccessibility(Landroid/view/View;)Landroid/view/ViewParent; -HSPLandroidx/core/view/ViewCompat$Api16Impl;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V -HSPLandroidx/core/view/ViewCompat$Api19Impl;->isAttachedToWindow(Landroid/view/View;)Z -HSPLandroidx/core/view/ViewCompat$Api19Impl;->isLaidOut(Landroid/view/View;)Z -HSPLandroidx/core/view/ViewCompat$Api20Impl;->onApplyWindowInsets(Landroid/view/View;Landroid/view/WindowInsets;)Landroid/view/WindowInsets; -HSPLandroidx/core/view/ViewCompat$Api21Impl$1;->(Landroid/view/View;Landroidx/core/view/OnApplyWindowInsetsListener;)V -HSPLandroidx/core/view/ViewCompat$Api21Impl$1;->onApplyWindowInsets(Landroid/view/View;Landroid/view/WindowInsets;)Landroid/view/WindowInsets; -HSPLandroidx/core/view/ViewCompat$Api21Impl;->setOnApplyWindowInsetsListener(Landroid/view/View;Landroidx/core/view/OnApplyWindowInsetsListener;)V -HSPLandroidx/core/view/ViewCompat$Api23Impl$$ExternalSyntheticApiModelOutline1;->m(Landroid/view/View;)Landroid/view/WindowInsets; -HSPLandroidx/core/view/ViewCompat$Api23Impl;->getRootWindowInsets(Landroid/view/View;)Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/core/view/ViewCompat;->()V -HSPLandroidx/core/view/ViewCompat;->getRootWindowInsets(Landroid/view/View;)Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/core/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroidx/core/view/AccessibilityDelegateCompat;)V -HSPLandroidx/core/view/ViewCompat;->setWindowInsetsAnimationCallback(Landroid/view/View;Landroidx/compose/foundation/layout/InsetsListener;)V -HSPLandroidx/core/view/ViewKt$ancestors$1;->()V -HSPLandroidx/core/view/ViewKt$ancestors$1;->()V -HSPLandroidx/core/view/ViewKt$ancestors$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/core/view/WindowCompat$Api30Impl$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/Window;Z)V -HSPLandroidx/core/view/WindowCompat$Api30Impl;->setDecorFitsSystemWindows(Landroid/view/Window;Z)V -HSPLandroidx/core/view/WindowInsetsAnimationCompat$Callback;->(I)V -HSPLandroidx/core/view/WindowInsetsAnimationCompat$Impl30$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/View;Landroidx/core/view/WindowInsetsAnimationCompat$Impl30$ProxyCallback;)V -HSPLandroidx/core/view/WindowInsetsAnimationCompat$Impl30$ProxyCallback;->(Landroidx/compose/foundation/layout/InsetsListener;)V -HSPLandroidx/core/view/WindowInsetsCompat$BuilderImpl29;->()V -HSPLandroidx/core/view/WindowInsetsCompat$BuilderImpl29;->build()Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/core/view/WindowInsetsCompat$BuilderImpl30;->()V -HSPLandroidx/core/view/WindowInsetsCompat$BuilderImpl;->()V -HSPLandroidx/core/view/WindowInsetsCompat$BuilderImpl;->(Landroidx/core/view/WindowInsetsCompat;)V -HSPLandroidx/core/view/WindowInsetsCompat$BuilderImpl;->applyInsetTypes()V -HSPLandroidx/core/view/WindowInsetsCompat$Impl20;->(Landroidx/core/view/WindowInsetsCompat;Landroid/view/WindowInsets;)V -HSPLandroidx/core/view/WindowInsetsCompat$Impl20;->getSystemWindowInsets()Landroidx/core/graphics/Insets; -HSPLandroidx/core/view/WindowInsetsCompat$Impl20;->setOverriddenInsets([Landroidx/core/graphics/Insets;)V -HSPLandroidx/core/view/WindowInsetsCompat$Impl20;->setRootWindowInsets(Landroidx/core/view/WindowInsetsCompat;)V -HSPLandroidx/core/view/WindowInsetsCompat$Impl21;->(Landroidx/core/view/WindowInsetsCompat;Landroid/view/WindowInsets;)V -HSPLandroidx/core/view/WindowInsetsCompat$Impl21;->consumeStableInsets()Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/core/view/WindowInsetsCompat$Impl21;->consumeSystemWindowInsets()Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/core/view/WindowInsetsCompat$Impl28$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/WindowInsets;)Landroid/view/DisplayCutout; -HSPLandroidx/core/view/WindowInsetsCompat$Impl28$$ExternalSyntheticApiModelOutline1;->m(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; -HSPLandroidx/core/view/WindowInsetsCompat$Impl28;->(Landroidx/core/view/WindowInsetsCompat;Landroid/view/WindowInsets;)V -HSPLandroidx/core/view/WindowInsetsCompat$Impl28;->consumeDisplayCutout()Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/core/view/WindowInsetsCompat$Impl28;->getDisplayCutout()Landroidx/core/view/DisplayCutoutCompat; -HSPLandroidx/core/view/WindowInsetsCompat$Impl29;->(Landroidx/core/view/WindowInsetsCompat;Landroid/view/WindowInsets;)V -HSPLandroidx/core/view/WindowInsetsCompat$Impl30$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/WindowInsets;I)Z -HSPLandroidx/core/view/WindowInsetsCompat$Impl30$$ExternalSyntheticApiModelOutline1;->m(Landroid/view/WindowInsets;I)Landroid/graphics/Insets; -HSPLandroidx/core/view/WindowInsetsCompat$Impl30$$ExternalSyntheticApiModelOutline2;->m(Landroid/view/WindowInsets;I)Landroid/graphics/Insets; -HSPLandroidx/core/view/WindowInsetsCompat$Impl30;->()V -HSPLandroidx/core/view/WindowInsetsCompat$Impl30;->(Landroidx/core/view/WindowInsetsCompat;Landroid/view/WindowInsets;)V -HSPLandroidx/core/view/WindowInsetsCompat$Impl30;->copyRootViewBounds(Landroid/view/View;)V -HSPLandroidx/core/view/WindowInsetsCompat$Impl30;->getInsets(I)Landroidx/core/graphics/Insets; -HSPLandroidx/core/view/WindowInsetsCompat$Impl30;->getInsetsIgnoringVisibility(I)Landroidx/core/graphics/Insets; -HSPLandroidx/core/view/WindowInsetsCompat$Impl30;->isVisible(I)Z -HSPLandroidx/core/view/WindowInsetsCompat$Impl;->()V -HSPLandroidx/core/view/WindowInsetsCompat$Impl;->(Landroidx/core/view/WindowInsetsCompat;)V -HSPLandroidx/core/view/WindowInsetsCompat$TypeImpl30;->toPlatformType(I)I -HSPLandroidx/core/view/WindowInsetsCompat;->()V -HSPLandroidx/core/view/WindowInsetsCompat;->()V -HSPLandroidx/core/view/WindowInsetsCompat;->(Landroid/view/WindowInsets;)V -HSPLandroidx/core/view/WindowInsetsCompat;->getInsets(I)Landroidx/core/graphics/Insets; -HSPLandroidx/core/view/WindowInsetsCompat;->getInsetsIgnoringVisibility(I)Landroidx/core/graphics/Insets; -HSPLandroidx/core/view/WindowInsetsCompat;->getSystemWindowInsetTop()I -HSPLandroidx/core/view/WindowInsetsCompat;->toWindowInsets()Landroid/view/WindowInsets; -HSPLandroidx/core/view/WindowInsetsCompat;->toWindowInsetsCompat(Landroid/view/View;Landroid/view/WindowInsets;)Landroidx/core/view/WindowInsetsCompat; -HSPLandroidx/core/view/WindowInsetsControllerCompat$Impl30$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/Window;)Landroid/view/WindowInsetsController; -HSPLandroidx/core/view/WindowInsetsControllerCompat$Impl30;->(Landroid/view/Window;)V -HSPLandroidx/core/view/WindowInsetsControllerCompat$Impl30;->setAppearanceLightNavigationBars(Z)V -HSPLandroidx/core/view/WindowInsetsControllerCompat$Impl30;->setAppearanceLightStatusBars(Z)V -HSPLandroidx/core/view/WindowInsetsControllerCompat$Impl;->()V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline10;->m(Landroid/view/accessibility/AccessibilityNodeInfo;)Ljava/lang/CharSequence; -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline1;->m(Landroid/view/accessibility/AccessibilityNodeInfo;Z)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline3;->m(Landroid/view/accessibility/AccessibilityNodeInfo;Ljava/lang/CharSequence;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline4;->m(Landroid/view/accessibility/AccessibilityNodeInfo;Ljava/lang/CharSequence;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline8;->m(Landroid/view/accessibility/AccessibilityNodeInfo;)Ljava/lang/CharSequence; -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline9;->m(Landroid/view/accessibility/AccessibilityNodeInfo;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;->()V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;->(ILjava/lang/Class;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;->(ILjava/lang/String;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;->(Ljava/lang/Object;ILjava/lang/String;Landroidx/core/view/accessibility/AccessibilityViewCommand;Ljava/lang/Class;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->(Landroid/view/accessibility/AccessibilityNodeInfo;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->addAction(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->extrasIntList(Ljava/lang/String;)Ljava/util/ArrayList; -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getHintText()Ljava/lang/CharSequence; -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getMovementGranularities()I -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getStateDescription()Ljava/lang/CharSequence; -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->getText()Ljava/lang/CharSequence; -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setClassName(Ljava/lang/CharSequence;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setStateDescription(Ljava/lang/CharSequence;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setText(Ljava/lang/CharSequence;)V -HSPLandroidx/core/view/accessibility/AccessibilityNodeProviderCompat;->(Landroid/view/accessibility/AccessibilityNodeProvider;)V -HSPLandroidx/customview/poolingcontainer/PoolingContainer;->getPoolingContainerListenerHolder(Landroid/view/View;)Landroidx/customview/poolingcontainer/PoolingContainerListenerHolder; -HSPLandroidx/customview/poolingcontainer/PoolingContainerListenerHolder;->()V -HSPLandroidx/datastore/DataStoreDelegateKt$dataStore$1;->()V -HSPLandroidx/datastore/DataStoreDelegateKt$dataStore$1;->()V -HSPLandroidx/datastore/DataStoreDelegateKt$dataStore$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/DataStoreSingletonDelegate$getValue$1$1;->(Landroid/content/Context;Landroidx/datastore/DataStoreSingletonDelegate;)V -HSPLandroidx/datastore/DataStoreSingletonDelegate$getValue$1$1;->invoke()Ljava/lang/Object; -HSPLandroidx/datastore/DataStoreSingletonDelegate;->(Lkotlin/jvm/functions/Function1;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/datastore/core/Data;->(ILjava/lang/Object;)V -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$getInitializer$1;->(Ljava/util/List;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$getInitializer$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$getInitializer$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$getInitializer$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->(Landroidx/datastore/core/DataMigrationInitializer$Companion;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$2;->(Ljava/util/List;Ljava/util/List;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion;->()V -HSPLandroidx/datastore/core/DataMigrationInitializer$Companion;->access$runMigrations(Landroidx/datastore/core/DataMigrationInitializer$Companion;Ljava/util/List;Landroidx/datastore/core/InitializerApi;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/datastore/core/DataMigrationInitializer;->()V -HSPLandroidx/datastore/core/SimpleActor$1;->(Landroidx/datastore/core/SingleProcessDataStore$actor$1;Landroidx/datastore/core/SimpleActor;)V -HSPLandroidx/datastore/core/SimpleActor$offer$2;->(Landroidx/datastore/core/SimpleActor;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SimpleActor$offer$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/datastore/core/SimpleActor$offer$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SimpleActor;->(Lkotlinx/coroutines/CoroutineScope;Landroidx/datastore/core/SingleProcessDataStore$actor$1;Landroidx/datastore/core/SingleProcessDataStore$actor$3;)V -HSPLandroidx/datastore/core/SimpleActor;->offer(Landroidx/datastore/core/SingleProcessDataStore$Message;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$Message$Read;->(Landroidx/datastore/core/State;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$Message;->()V -HSPLandroidx/datastore/core/SingleProcessDataStore$actor$1;->(Landroidx/datastore/core/SingleProcessDataStore;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$actor$2;->()V -HSPLandroidx/datastore/core/SingleProcessDataStore$actor$2;->()V -HSPLandroidx/datastore/core/SingleProcessDataStore$actor$3;->(Landroidx/datastore/core/SingleProcessDataStore;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$actor$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/datastore/core/SingleProcessDataStore$actor$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$actor$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1$1;->(Landroidx/datastore/core/State;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1$invokeSuspend$$inlined$map$1$2$1;->(Landroidx/datastore/core/SingleProcessDataStore$data$1$invokeSuspend$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1$invokeSuspend$$inlined$map$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1$invokeSuspend$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1;->(Landroidx/datastore/core/SingleProcessDataStore;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$data$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$file$2;->(Landroidx/datastore/core/SingleProcessDataStore;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$file$2;->invoke()Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$readAndInit$1;->(Landroidx/datastore/core/SingleProcessDataStore;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$readAndInit$api$1$updateData$1;->(Landroidx/datastore/core/SingleProcessDataStore$readAndInit$api$1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$readAndInit$api$1;->(Lkotlinx/coroutines/sync/Mutex;Lkotlin/jvm/internal/Ref$BooleanRef;Lkotlin/jvm/internal/Ref$ObjectRef;Landroidx/datastore/core/SingleProcessDataStore;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$readAndInit$api$1;->updateData(Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore$readAndInitOrPropagateFailure$1;->(Landroidx/datastore/core/SingleProcessDataStore;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$readData$1;->(Landroidx/datastore/core/SingleProcessDataStore;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore$readDataOrHandleCorruption$1;->(Landroidx/datastore/core/SingleProcessDataStore;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/datastore/core/SingleProcessDataStore;->()V -HSPLandroidx/datastore/core/SingleProcessDataStore;->(Landroidx/datastore/DataStoreSingletonDelegate$getValue$1$1;Landroidx/datastore/core/Serializer;Ljava/util/List;Landroidx/datastore/core/handlers/NoOpCorruptionHandler;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/datastore/core/SingleProcessDataStore;->getFile()Ljava/io/File; -HSPLandroidx/datastore/core/SingleProcessDataStore;->readAndInit(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore;->readAndInitOrPropagateFailure(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore;->readData(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/datastore/core/SingleProcessDataStore;->readDataOrHandleCorruption(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/datastore/core/State;->()V -HSPLandroidx/datastore/core/UnInitialized;->()V -HSPLandroidx/datastore/core/UnInitialized;->()V -HSPLandroidx/datastore/core/handlers/NoOpCorruptionHandler;->()V -HSPLandroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda0;->(Ljava/lang/String;)V -HSPLandroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda0;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread; -HSPLandroidx/emoji2/text/ConcurrencyHelpers$Handler28Impl;->createAsync(Landroid/os/Looper;)Landroid/os/Handler; -HSPLandroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;->()V -HSPLandroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API19;->()V -HSPLandroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API28;->()V -HSPLandroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API28;->getSigningSignatures(Landroid/content/pm/PackageManager;Ljava/lang/String;)[Landroid/content/pm/Signature; -HSPLandroidx/emoji2/text/DefaultEmojiCompatConfig;->create(Landroid/content/Context;)Landroidx/emoji2/text/FontRequestEmojiCompatConfig; -HSPLandroidx/emoji2/text/DefaultGlyphChecker;->()V -HSPLandroidx/emoji2/text/DefaultGlyphChecker;->()V -HSPLandroidx/emoji2/text/EmojiCompat$CompatInternal19$1;->(Landroidx/emoji2/text/EmojiCompat$CompatInternal19;)V -HSPLandroidx/emoji2/text/EmojiCompat$CompatInternal19$1;->onLoaded(Landroidx/emoji2/text/MetadataRepo;)V -HSPLandroidx/emoji2/text/EmojiCompat$CompatInternal19;->(Landroidx/emoji2/text/EmojiCompat;)V -HSPLandroidx/emoji2/text/EmojiCompat$CompatInternal;->(Landroidx/emoji2/text/EmojiCompat;)V -HSPLandroidx/emoji2/text/EmojiCompat$Config;->(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;)V -HSPLandroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->(Ljava/util/List;ILjava/lang/Throwable;)V -HSPLandroidx/emoji2/text/EmojiCompat$ListenerDispatcher;->run()V -HSPLandroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;->()V -HSPLandroidx/emoji2/text/EmojiCompat$SpanFactory;->()V -HSPLandroidx/emoji2/text/EmojiCompat;->()V -HSPLandroidx/emoji2/text/EmojiCompat;->(Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultConfig;)V -HSPLandroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; -HSPLandroidx/emoji2/text/EmojiCompat;->getLoadState()I -HSPLandroidx/emoji2/text/EmojiCompat;->load()V -HSPLandroidx/emoji2/text/EmojiCompat;->onMetadataLoadSuccess()V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$1;->(Landroidx/emoji2/text/EmojiCompatInitializer;Landroidx/lifecycle/Lifecycle;)V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$1;->onCreate()V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$1;->onResume(Landroidx/lifecycle/LifecycleOwner;)V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$1;->onStart()V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultConfig;->(Landroid/content/Context;)V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;->(Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0;->run()V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;Ljava/util/concurrent/ThreadPoolExecutor;)V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1;->onLoaded(Landroidx/emoji2/text/MetadataRepo;)V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;->(Landroid/content/Context;)V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader;->load(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;)V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$LoadEmojiCompatRunnable;->()V -HSPLandroidx/emoji2/text/EmojiCompatInitializer$LoadEmojiCompatRunnable;->run()V -HSPLandroidx/emoji2/text/EmojiCompatInitializer;->()V -HSPLandroidx/emoji2/text/EmojiCompatInitializer;->create(Landroid/content/Context;)Ljava/lang/Boolean; -HSPLandroidx/emoji2/text/EmojiCompatInitializer;->create(Landroid/content/Context;)Ljava/lang/Object; -HSPLandroidx/emoji2/text/EmojiCompatInitializer;->dependencies()Ljava/util/List; -HSPLandroidx/emoji2/text/EmojiMetadata;->()V -HSPLandroidx/emoji2/text/EmojiMetadata;->(Landroidx/emoji2/text/MetadataRepo;I)V -HSPLandroidx/emoji2/text/EmojiProcessor;->(Landroidx/emoji2/text/MetadataRepo;Landroidx/emoji2/text/EmojiCompat$SpanFactory;Landroidx/emoji2/text/DefaultGlyphChecker;)V -HSPLandroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper;->()V -HSPLandroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->(Landroid/content/Context;Landroidx/core/provider/FontRequest;)V -HSPLandroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->cleanUp()V -HSPLandroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->load(Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;)V -HSPLandroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->loadInternal()V -HSPLandroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader;->retrieveFontInfo()Landroidx/core/provider/FontsContractCompat$FontInfo; -HSPLandroidx/emoji2/text/FontRequestEmojiCompatConfig;->()V -HSPLandroidx/emoji2/text/FontRequestEmojiCompatConfig;->(Landroid/content/Context;Landroidx/core/provider/FontRequest;)V -HSPLandroidx/emoji2/text/MetadataListReader$ByteBufferReader;->(Ljava/nio/ByteBuffer;)V -HSPLandroidx/emoji2/text/MetadataListReader$ByteBufferReader;->readUnsignedInt()J -HSPLandroidx/emoji2/text/MetadataListReader$ByteBufferReader;->skip(I)V -HSPLandroidx/emoji2/text/MetadataListReader;->read(Ljava/nio/MappedByteBuffer;)Landroidx/emoji2/text/flatbuffer/MetadataList; -HSPLandroidx/emoji2/text/MetadataRepo$Node;->()V -HSPLandroidx/emoji2/text/MetadataRepo$Node;->(I)V -HSPLandroidx/emoji2/text/MetadataRepo$Node;->put(Landroidx/emoji2/text/EmojiMetadata;II)V -HSPLandroidx/emoji2/text/flatbuffer/MetadataItem;->()V -HSPLandroidx/emoji2/text/flatbuffer/MetadataList;->()V -HSPLandroidx/emoji2/text/flatbuffer/Table;->()V -HSPLandroidx/emoji2/text/flatbuffer/Utf8Safe;->()V -HSPLandroidx/emoji2/text/flatbuffer/Utf8Safe;->()V -HSPLandroidx/emoji2/text/flatbuffer/Utf8Safe;->zza()Ljava/lang/Object; -HSPLandroidx/fragment/R$animator;->()V -HSPLandroidx/fragment/R$animator;->()V -HSPLandroidx/fragment/R$animator;->compareValues(Ljava/lang/Comparable;Ljava/lang/Comparable;)I -HSPLandroidx/fragment/R$animator;->zza()Ljava/lang/Object; -HSPLandroidx/fragment/R$id;->()V -HSPLandroidx/fragment/R$id;->()V -HSPLandroidx/fragment/R$id;->zza()Ljava/lang/Object; -HSPLandroidx/fragment/R$styleable;->()V -HSPLandroidx/fragment/R$styleable;->()V -HSPLandroidx/fragment/R$styleable;->zza()Ljava/lang/Object; -HSPLandroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda0;->(Landroidx/fragment/app/FragmentActivity;)V -HSPLandroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda1;->(Landroidx/fragment/app/FragmentActivity;)V -HSPLandroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda2;->(Landroidx/fragment/app/FragmentActivity;)V -HSPLandroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda3;->(Landroidx/fragment/app/FragmentActivity;)V -HSPLandroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda3;->onContextAvailable()V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->(Landroidx/fragment/app/FragmentActivity;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->addMenuProvider(Landroidx/fragment/app/FragmentManager$2;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->addOnConfigurationChangedListener(Landroidx/core/util/Consumer;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->addOnMultiWindowModeChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda2;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->addOnPictureInPictureModeChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda3;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->addOnTrimMemoryListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda1;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getActivityResultRegistry()Landroidx/activity/result/ActivityResultRegistry; -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getLifecycle()Landroidx/lifecycle/Lifecycle; -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getOnBackPressedDispatcher()Landroidx/activity/OnBackPressedDispatcher; -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getSavedStateRegistry()Landroidx/savedstate/SavedStateRegistry; -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getViewModelStore()Landroidx/lifecycle/ViewModelStore; -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->removeMenuProvider(Landroidx/fragment/app/FragmentManager$2;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->removeOnConfigurationChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda0;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->removeOnMultiWindowModeChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda2;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->removeOnPictureInPictureModeChangedListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda3;)V -HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->removeOnTrimMemoryListener(Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda1;)V -HSPLandroidx/fragment/app/FragmentActivity;->()V -HSPLandroidx/fragment/app/FragmentActivity;->markState(Landroidx/fragment/app/FragmentManager;)Z -HSPLandroidx/fragment/app/FragmentActivity;->onCreate(Landroid/os/Bundle;)V -HSPLandroidx/fragment/app/FragmentActivity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroidx/fragment/app/FragmentActivity;->onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroidx/fragment/app/FragmentActivity;->onDestroy()V -HSPLandroidx/fragment/app/FragmentActivity;->onPause()V -HSPLandroidx/fragment/app/FragmentActivity;->onPostResume()V -HSPLandroidx/fragment/app/FragmentActivity;->onResume()V -HSPLandroidx/fragment/app/FragmentActivity;->onStart()V -HSPLandroidx/fragment/app/FragmentActivity;->onStateNotSaved()V -HSPLandroidx/fragment/app/FragmentActivity;->onStop()V -HSPLandroidx/fragment/app/FragmentController;->(Landroidx/fragment/app/FragmentActivity$HostCallbacks;)V -HSPLandroidx/fragment/app/FragmentController;->noteStateNotSaved()V -HSPLandroidx/fragment/app/FragmentFactory;->()V -HSPLandroidx/fragment/app/FragmentFactory;->()V -HSPLandroidx/fragment/app/FragmentHostCallback;->(Landroidx/fragment/app/FragmentActivity;)V -HSPLandroidx/fragment/app/FragmentLayoutInflaterFactory;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentLayoutInflaterFactory;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda0;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda1;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda2;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda3;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda4;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$10;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$1;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$2;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$3;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$4;->()V -HSPLandroidx/fragment/app/FragmentManager$5;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$8;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$9;->(Landroidx/fragment/app/FragmentManager;)V -HSPLandroidx/fragment/app/FragmentManager$FragmentIntentSenderContract;->()V -HSPLandroidx/fragment/app/FragmentManager;->()V -HSPLandroidx/fragment/app/FragmentManager;->attachController(Landroidx/fragment/app/FragmentHostCallback;Landroidx/work/InputMergerFactory;Landroidx/fragment/app/Fragment;)V -HSPLandroidx/fragment/app/FragmentManager;->collectAllSpecialEffectsController()Ljava/util/HashSet; -HSPLandroidx/fragment/app/FragmentManager;->dispatchDestroy()V -HSPLandroidx/fragment/app/FragmentManager;->dispatchStateChange(I)V -HSPLandroidx/fragment/app/FragmentManager;->ensureExecReady(Z)V -HSPLandroidx/fragment/app/FragmentManager;->execPendingActions(Z)Z -HSPLandroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z -HSPLandroidx/fragment/app/FragmentManager;->moveToState(IZ)V -HSPLandroidx/fragment/app/FragmentManager;->noteStateNotSaved()V -HSPLandroidx/fragment/app/FragmentManager;->startPendingDeferredFragments()V -HSPLandroidx/fragment/app/FragmentManager;->updateOnBackPressedCallbackEnabled()V -HSPLandroidx/fragment/app/FragmentManagerImpl;->()V -HSPLandroidx/fragment/app/FragmentManagerViewModel$1;->()V -HSPLandroidx/fragment/app/FragmentManagerViewModel$1;->create(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/fragment/app/FragmentManagerViewModel$1;->create(Ljava/lang/Class;Landroidx/lifecycle/viewmodel/MutableCreationExtras;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/fragment/app/FragmentManagerViewModel;->()V -HSPLandroidx/fragment/app/FragmentManagerViewModel;->(Z)V -HSPLandroidx/fragment/app/FragmentManagerViewModel;->onCleared()V -HSPLandroidx/fragment/app/FragmentStore;->()V -HSPLandroidx/fragment/app/FragmentStore;->getActiveFragmentStateManagers()Ljava/util/ArrayList; -HSPLandroidx/fragment/app/FragmentStore;->getFragments()Ljava/util/List; -HSPLandroidx/hilt/navigation/compose/HiltViewModelKt;->createHiltViewModelFactory(Landroidx/lifecycle/ViewModelStoreOwner;Landroidx/compose/runtime/Composer;)Ldagger/hilt/android/internal/lifecycle/HiltViewModelFactory; -HSPLandroidx/hilt/work/HiltWorkerFactory;->(Ljava/util/Map;)V -HSPLandroidx/lifecycle/AbstractSavedStateViewModelFactory;->()V -HSPLandroidx/lifecycle/AbstractSavedStateViewModelFactory;->create(Ljava/lang/Class;Landroidx/lifecycle/viewmodel/MutableCreationExtras;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/lifecycle/CloseableCoroutineScope;->(Lkotlin/coroutines/CoroutineContext;)V -HSPLandroidx/lifecycle/CloseableCoroutineScope;->close()V -HSPLandroidx/lifecycle/CloseableCoroutineScope;->getCoroutineContext()Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->()V -HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityDestroyed(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityPaused(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityResumed(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityStopped(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/FullLifecycleObserverAdapter$1;->()V -HSPLandroidx/lifecycle/FullLifecycleObserverAdapter;->(Landroidx/lifecycle/FullLifecycleObserver;Landroidx/lifecycle/LifecycleEventObserver;)V -HSPLandroidx/lifecycle/FullLifecycleObserverAdapter;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/lifecycle/LegacySavedStateHandleController;->attachHandleIfNeeded(Landroidx/lifecycle/ViewModel;Landroidx/savedstate/SavedStateRegistry;Landroidx/lifecycle/Lifecycle;)V -HSPLandroidx/lifecycle/Lifecycle$1;->()V -HSPLandroidx/lifecycle/Lifecycle$Event;->()V -HSPLandroidx/lifecycle/Lifecycle$Event;->(ILjava/lang/String;)V -HSPLandroidx/lifecycle/Lifecycle$Event;->getTargetState()Landroidx/lifecycle/Lifecycle$State; -HSPLandroidx/lifecycle/Lifecycle$Event;->values()[Landroidx/lifecycle/Lifecycle$Event; -HSPLandroidx/lifecycle/Lifecycle$State;->()V -HSPLandroidx/lifecycle/Lifecycle$State;->(ILjava/lang/String;)V -HSPLandroidx/lifecycle/Lifecycle$State;->isAtLeast(Landroidx/lifecycle/Lifecycle$State;)Z -HSPLandroidx/lifecycle/Lifecycle$State;->values()[Landroidx/lifecycle/Lifecycle$State; -HSPLandroidx/lifecycle/Lifecycle;->()V -HSPLandroidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback;->()V -HSPLandroidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLandroidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback;->onActivityStopped(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/LifecycleDispatcher;->()V -HSPLandroidx/lifecycle/LifecycleRegistry$ObserverWithState;->(Landroidx/lifecycle/LifecycleObserver;Landroidx/lifecycle/Lifecycle$State;)V -HSPLandroidx/lifecycle/LifecycleRegistry$ObserverWithState;->dispatchEvent(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/lifecycle/LifecycleRegistry;->(Landroidx/lifecycle/LifecycleOwner;)V -HSPLandroidx/lifecycle/LifecycleRegistry;->addObserver(Landroidx/lifecycle/LifecycleObserver;)V -HSPLandroidx/lifecycle/LifecycleRegistry;->calculateTargetState(Landroidx/lifecycle/LifecycleObserver;)Landroidx/lifecycle/Lifecycle$State; -HSPLandroidx/lifecycle/LifecycleRegistry;->enforceMainThreadIfNeeded(Ljava/lang/String;)V -HSPLandroidx/lifecycle/LifecycleRegistry;->getCurrentState()Landroidx/lifecycle/Lifecycle$State; -HSPLandroidx/lifecycle/LifecycleRegistry;->handleLifecycleEvent(Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/lifecycle/LifecycleRegistry;->moveToState(Landroidx/lifecycle/Lifecycle$State;)V -HSPLandroidx/lifecycle/LifecycleRegistry;->removeObserver(Landroidx/lifecycle/LifecycleObserver;)V -HSPLandroidx/lifecycle/LifecycleRegistry;->setCurrentState(Landroidx/lifecycle/Lifecycle$State;)V -HSPLandroidx/lifecycle/LifecycleRegistry;->sync()V -HSPLandroidx/lifecycle/Lifecycling;->()V -HSPLandroidx/lifecycle/ProcessLifecycleInitializer;->()V -HSPLandroidx/lifecycle/ProcessLifecycleInitializer;->create(Landroid/content/Context;)Ljava/lang/Object; -HSPLandroidx/lifecycle/ProcessLifecycleInitializer;->dependencies()Ljava/util/List; -HSPLandroidx/lifecycle/ProcessLifecycleOwner$1;->(Landroidx/lifecycle/ProcessLifecycleOwner;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$2;->(Landroidx/lifecycle/ProcessLifecycleOwner;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3$$ExternalSyntheticApiModelOutline0;->m(Landroid/app/Activity;Landroidx/lifecycle/ProcessLifecycleOwner$3$1;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3$1;->(Landroidx/lifecycle/ProcessLifecycleOwner$3;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3$1;->onActivityPostResumed(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3$1;->onActivityPostStarted(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3;->(Landroidx/lifecycle/ProcessLifecycleOwner;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3;->onActivityPaused(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3;->onActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner$3;->onActivityStopped(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ProcessLifecycleOwner;->()V -HSPLandroidx/lifecycle/ProcessLifecycleOwner;->()V -HSPLandroidx/lifecycle/ProcessLifecycleOwner;->activityResumed()V -HSPLandroidx/lifecycle/ProcessLifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1$1$1;->(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1;->(Lkotlinx/coroutines/sync/Mutex;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1;->(Landroidx/lifecycle/Lifecycle$Event;Lkotlin/jvm/internal/Ref$ObjectRef;Lkotlinx/coroutines/CoroutineScope;Landroidx/lifecycle/Lifecycle$Event;Lkotlinx/coroutines/CancellableContinuationImpl;Lkotlinx/coroutines/sync/MutexImpl;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1;->(Landroidx/lifecycle/Lifecycle;Landroidx/lifecycle/Lifecycle$State;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3;->(Landroidx/lifecycle/Lifecycle;Landroidx/lifecycle/Lifecycle$State;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks$$ExternalSyntheticApiModelOutline0;->m(Landroid/app/Activity;Landroidx/lifecycle/ReportFragment$LifecycleCallbacks;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->()V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityDestroyed(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPaused(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPostResumed(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPostStarted(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPreDestroyed(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPrePaused(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPreStopped(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityResumed(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityStopped(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->registerIn(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment;->()V -HSPLandroidx/lifecycle/ReportFragment;->dispatch(Landroid/app/Activity;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/lifecycle/ReportFragment;->dispatch(Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/lifecycle/ReportFragment;->injectIfNeededIn(Landroid/app/Activity;)V -HSPLandroidx/lifecycle/ReportFragment;->onActivityCreated(Landroid/os/Bundle;)V -HSPLandroidx/lifecycle/ReportFragment;->onDestroy()V -HSPLandroidx/lifecycle/ReportFragment;->onPause()V -HSPLandroidx/lifecycle/ReportFragment;->onResume()V -HSPLandroidx/lifecycle/ReportFragment;->onStart()V -HSPLandroidx/lifecycle/ReportFragment;->onStop()V -HSPLandroidx/lifecycle/SavedStateHandle$$ExternalSyntheticLambda0;->(Landroidx/lifecycle/SavedStateHandle;)V -HSPLandroidx/lifecycle/SavedStateHandle$Companion;->createHandle(Landroid/os/Bundle;Landroid/os/Bundle;)Landroidx/lifecycle/SavedStateHandle; -HSPLandroidx/lifecycle/SavedStateHandle;->()V -HSPLandroidx/lifecycle/SavedStateHandle;->()V -HSPLandroidx/lifecycle/SavedStateHandle;->get(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroidx/lifecycle/SavedStateHandle;->set(Ljava/lang/Object;Ljava/lang/String;)V -HSPLandroidx/lifecycle/SavedStateHandleAttacher;->(Landroidx/lifecycle/SavedStateHandlesProvider;)V -HSPLandroidx/lifecycle/SavedStateHandleAttacher;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/lifecycle/SavedStateHandleSupport$DEFAULT_ARGS_KEY$1;->()V -HSPLandroidx/lifecycle/SavedStateHandleSupport$SAVED_STATE_REGISTRY_OWNER_KEY$1;->()V -HSPLandroidx/lifecycle/SavedStateHandleSupport$VIEW_MODEL_STORE_OWNER_KEY$1;->()V -HSPLandroidx/lifecycle/SavedStateHandleSupport$savedStateHandlesVM$1$1;->()V -HSPLandroidx/lifecycle/SavedStateHandleSupport$savedStateHandlesVM$1$1;->()V -HSPLandroidx/lifecycle/SavedStateHandleSupport$savedStateHandlesVM$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/SavedStateHandleSupport;->()V -HSPLandroidx/lifecycle/SavedStateHandleSupport;->createSavedStateHandle(Landroidx/lifecycle/viewmodel/MutableCreationExtras;)Landroidx/lifecycle/SavedStateHandle; -HSPLandroidx/lifecycle/SavedStateHandleSupport;->enableSavedStateHandles(Landroidx/savedstate/SavedStateRegistryOwner;)V -HSPLandroidx/lifecycle/SavedStateHandleSupport;->getSavedStateHandlesVM(Landroidx/lifecycle/ViewModelStoreOwner;)Landroidx/lifecycle/SavedStateHandlesVM; -HSPLandroidx/lifecycle/SavedStateHandlesProvider$viewModel$2;->(Landroidx/lifecycle/ViewModelStoreOwner;)V -HSPLandroidx/lifecycle/SavedStateHandlesProvider$viewModel$2;->invoke()Ljava/lang/Object; -HSPLandroidx/lifecycle/SavedStateHandlesProvider;->(Landroidx/savedstate/SavedStateRegistry;Landroidx/lifecycle/ViewModelStoreOwner;)V -HSPLandroidx/lifecycle/SavedStateHandlesVM;->()V -HSPLandroidx/lifecycle/SavedStateViewModelFactory;->(Landroid/app/Application;Landroidx/savedstate/SavedStateRegistryOwner;Landroid/os/Bundle;)V -HSPLandroidx/lifecycle/SavedStateViewModelFactory;->create(Ljava/lang/Class;Landroidx/lifecycle/viewmodel/MutableCreationExtras;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/lifecycle/SavedStateViewModelFactory;->onRequery(Landroidx/lifecycle/ViewModel;)V -HSPLandroidx/lifecycle/SavedStateViewModelFactoryKt;->()V -HSPLandroidx/lifecycle/SavedStateViewModelFactoryKt;->findMatchingConstructor(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/reflect/Constructor; -HSPLandroidx/lifecycle/SavedStateViewModelFactoryKt;->newInstance(Ljava/lang/Class;Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/lifecycle/ViewModel;->()V -HSPLandroidx/lifecycle/ViewModel;->closeWithRuntimeException(Ljava/lang/Object;)V -HSPLandroidx/lifecycle/ViewModel;->onCleared()V -HSPLandroidx/lifecycle/ViewModel;->setTagIfAbsent(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; -HSPLandroidx/lifecycle/ViewModelKt;->getViewModelScope(Landroidx/lifecycle/ViewModel;)Lkotlinx/coroutines/CoroutineScope; -HSPLandroidx/lifecycle/ViewModelProvider$AndroidViewModelFactory$Companion$ApplicationKeyImpl;->()V -HSPLandroidx/lifecycle/ViewModelProvider$AndroidViewModelFactory$Companion$ApplicationKeyImpl;->()V -HSPLandroidx/lifecycle/ViewModelProvider$AndroidViewModelFactory;->(Landroid/app/Application;)V -HSPLandroidx/lifecycle/ViewModelProvider$NewInstanceFactory$Companion$ViewModelKeyImpl;->()V -HSPLandroidx/lifecycle/ViewModelProvider$NewInstanceFactory$Companion$ViewModelKeyImpl;->()V -HSPLandroidx/lifecycle/ViewModelProvider$NewInstanceFactory;->()V -HSPLandroidx/lifecycle/ViewModelProvider$OnRequeryFactory;->()V -HSPLandroidx/lifecycle/ViewModelProvider;->(Landroidx/lifecycle/ViewModelStore;Landroidx/lifecycle/ViewModelProvider$Factory;)V -HSPLandroidx/lifecycle/ViewModelProvider;->(Landroidx/lifecycle/ViewModelStore;Landroidx/lifecycle/ViewModelProvider$Factory;I)V -HSPLandroidx/lifecycle/ViewModelProvider;->(Landroidx/lifecycle/ViewModelStore;Landroidx/lifecycle/ViewModelProvider$Factory;Landroidx/lifecycle/viewmodel/CreationExtras;)V -HSPLandroidx/lifecycle/ViewModelProvider;->(Landroidx/lifecycle/ViewModelStoreOwner;Landroidx/lifecycle/ViewModelProvider$Factory;)V -HSPLandroidx/lifecycle/ViewModelProvider;->get(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/lifecycle/ViewModelProvider;->get(Ljava/lang/Class;Ljava/lang/String;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/lifecycle/ViewModelProviderGetKt;->toAndroidRect(Landroidx/compose/ui/geometry/Rect;)Landroid/graphics/Rect; -HSPLandroidx/lifecycle/ViewModelStore;->()V -HSPLandroidx/lifecycle/ViewModelStore;->clear()V -HSPLandroidx/lifecycle/ViewTreeLifecycleOwner;->get(Landroid/view/View;)Landroidx/lifecycle/LifecycleOwner; -HSPLandroidx/lifecycle/ViewTreeLifecycleOwner;->set(Landroid/view/View;Landroidx/lifecycle/LifecycleOwner;)V -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1$1$1;->(Landroidx/compose/runtime/ProduceStateScope;)V -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1$1;->(Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/flow/Flow;Landroidx/compose/runtime/ProduceStateScope;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1;->(Landroidx/lifecycle/Lifecycle;Landroidx/lifecycle/Lifecycle$State;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/lifecycle/compose/FlowExtKt;->collectAsStateWithLifecycle(Lkotlinx/coroutines/flow/ReadonlyStateFlow;Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/MutableState; -HSPLandroidx/lifecycle/compose/FlowExtKt;->collectAsStateWithLifecycle(Lkotlinx/coroutines/flow/internal/FusibleFlow;Lcom/joeloewi/croissant/state/Lce$Loading;Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/MutableState; -HSPLandroidx/lifecycle/compose/FlowExtKt;->collectAsStateWithLifecycle(Lkotlinx/coroutines/flow/internal/FusibleFlow;Ljava/lang/Object;Landroidx/lifecycle/Lifecycle;Landroidx/lifecycle/Lifecycle$State;Lkotlin/coroutines/CoroutineContext;Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/MutableState; -HSPLandroidx/lifecycle/viewmodel/CreationExtras$Empty;->()V -HSPLandroidx/lifecycle/viewmodel/CreationExtras$Empty;->()V -HSPLandroidx/lifecycle/viewmodel/CreationExtras;->()V -HSPLandroidx/lifecycle/viewmodel/InitializerViewModelFactory;->([Landroidx/lifecycle/viewmodel/ViewModelInitializer;)V -HSPLandroidx/lifecycle/viewmodel/InitializerViewModelFactory;->create(Ljava/lang/Class;Landroidx/lifecycle/viewmodel/MutableCreationExtras;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/lifecycle/viewmodel/MutableCreationExtras;->(I)V -HSPLandroidx/lifecycle/viewmodel/MutableCreationExtras;->(Landroidx/lifecycle/viewmodel/CreationExtras;)V -HSPLandroidx/lifecycle/viewmodel/ViewModelInitializer;->(Ljava/lang/Class;)V -HSPLandroidx/lifecycle/viewmodel/compose/LocalViewModelStoreOwner$LocalViewModelStoreOwner$1;->()V -HSPLandroidx/lifecycle/viewmodel/compose/LocalViewModelStoreOwner$LocalViewModelStoreOwner$1;->()V -HSPLandroidx/lifecycle/viewmodel/compose/LocalViewModelStoreOwner$LocalViewModelStoreOwner$1;->invoke()Ljava/lang/Object; -HSPLandroidx/lifecycle/viewmodel/compose/LocalViewModelStoreOwner;->()V -HSPLandroidx/lifecycle/viewmodel/compose/LocalViewModelStoreOwner;->getCurrent(Landroidx/compose/runtime/Composer;)Landroidx/lifecycle/ViewModelStoreOwner; -HSPLandroidx/lifecycle/viewmodel/compose/ViewModelKt;->get(Landroidx/lifecycle/ViewModelStoreOwner;Ljava/lang/Class;Ljava/lang/String;Landroidx/lifecycle/ViewModelProvider$Factory;Landroidx/lifecycle/viewmodel/CreationExtras;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/lifecycle/viewmodel/compose/ViewModelKt;->viewModel(Ljava/lang/Class;Landroidx/lifecycle/ViewModelStoreOwner;Ldagger/hilt/android/internal/lifecycle/HiltViewModelFactory;Landroidx/compose/runtime/Composer;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/loader/app/LoaderManager;->()V -HSPLandroidx/navigation/ActivityNavigator$hostActivity$1;->()V -HSPLandroidx/navigation/ActivityNavigator$hostActivity$1;->()V -HSPLandroidx/navigation/ActivityNavigator;->(Landroid/content/Context;)V -HSPLandroidx/navigation/NamedNavArgument;->(Ljava/lang/String;Landroidx/navigation/NavArgument;)V -HSPLandroidx/navigation/NamedNavArgumentKt;->adapt$default(Landroidx/compose/ui/graphics/colorspace/ColorSpace;)Landroidx/compose/ui/graphics/colorspace/ColorSpace; -HSPLandroidx/navigation/NamedNavArgumentKt;->chromaticAdaptation([F[F[F)[F -HSPLandroidx/navigation/NamedNavArgumentKt;->compare(Landroidx/compose/ui/graphics/colorspace/WhitePoint;Landroidx/compose/ui/graphics/colorspace/WhitePoint;)Z -HSPLandroidx/navigation/NamedNavArgumentKt;->connect-YBCOT_4$default(Landroidx/compose/ui/graphics/colorspace/ColorSpace;Landroidx/compose/ui/graphics/colorspace/ColorSpace;I)Landroidx/compose/ui/graphics/colorspace/Connector; -HSPLandroidx/navigation/NamedNavArgumentKt;->inverse3x3([F)[F -HSPLandroidx/navigation/NamedNavArgumentKt;->mul3x3([F[F)[F -HSPLandroidx/navigation/NamedNavArgumentKt;->mul3x3Diag([F[F)[F -HSPLandroidx/navigation/NamedNavArgumentKt;->mul3x3Float3([F[F)V -HSPLandroidx/navigation/NamedNavArgumentKt;->navArgument(Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Landroidx/navigation/NamedNavArgument; -HSPLandroidx/navigation/NavArgument$Builder;->()V -HSPLandroidx/navigation/NavArgument;->(Landroidx/navigation/NavType;Ljava/lang/Object;Z)V -HSPLandroidx/navigation/NavArgument;->equals(Ljava/lang/Object;)Z -HSPLandroidx/navigation/NavArgument;->hashCode()I -HSPLandroidx/navigation/NavArgumentBuilder;->()V -HSPLandroidx/navigation/NavArgumentBuilder;->setType(Landroidx/navigation/NavType;)V -HSPLandroidx/navigation/NavBackStackEntry$Companion;->()V -HSPLandroidx/navigation/NavBackStackEntry$Companion;->create$default(Landroid/content/Context;Landroidx/navigation/NavDestination;Landroid/os/Bundle;Landroidx/lifecycle/Lifecycle$State;Landroidx/navigation/NavControllerViewModel;)Landroidx/navigation/NavBackStackEntry; -HSPLandroidx/navigation/NavBackStackEntry$defaultFactory$2;->(Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/NavBackStackEntry$defaultFactory$2;->invoke()Ljava/lang/Object; -HSPLandroidx/navigation/NavBackStackEntry$savedStateHandle$2;->(Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/NavBackStackEntry;->()V -HSPLandroidx/navigation/NavBackStackEntry;->(Landroid/content/Context;Landroidx/navigation/NavDestination;Landroid/os/Bundle;Landroidx/lifecycle/Lifecycle$State;Landroidx/navigation/NavViewModelStoreProvider;Ljava/lang/String;Landroid/os/Bundle;)V -HSPLandroidx/navigation/NavBackStackEntry;->equals(Ljava/lang/Object;)Z -HSPLandroidx/navigation/NavBackStackEntry;->getDefaultViewModelCreationExtras()Landroidx/lifecycle/viewmodel/MutableCreationExtras; -HSPLandroidx/navigation/NavBackStackEntry;->getDefaultViewModelProviderFactory()Landroidx/lifecycle/ViewModelProvider$Factory; -HSPLandroidx/navigation/NavBackStackEntry;->getLifecycle()Landroidx/lifecycle/Lifecycle; -HSPLandroidx/navigation/NavBackStackEntry;->getSavedStateRegistry()Landroidx/savedstate/SavedStateRegistry; -HSPLandroidx/navigation/NavBackStackEntry;->getViewModelStore()Landroidx/lifecycle/ViewModelStore; -HSPLandroidx/navigation/NavBackStackEntry;->hashCode()I -HSPLandroidx/navigation/NavBackStackEntry;->setMaxLifecycle(Landroidx/lifecycle/Lifecycle$State;)V -HSPLandroidx/navigation/NavBackStackEntry;->updateState()V -HSPLandroidx/navigation/NavController$$ExternalSyntheticLambda0;->(Landroidx/navigation/NavController;)V -HSPLandroidx/navigation/NavController$$ExternalSyntheticLambda0;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/navigation/NavController$NavControllerNavigatorState;->(Landroidx/navigation/NavController;Landroidx/navigation/Navigator;)V -HSPLandroidx/navigation/NavController$NavControllerNavigatorState;->addInternal(Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/NavController$NavControllerNavigatorState;->createBackStackEntry(Landroidx/navigation/NavDestination;Landroid/os/Bundle;)Landroidx/navigation/NavBackStackEntry; -HSPLandroidx/navigation/NavController$NavControllerNavigatorState;->markTransitionComplete(Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/NavController$NavControllerNavigatorState;->push(Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/NavController$activity$1;->()V -HSPLandroidx/navigation/NavController$activity$1;->()V -HSPLandroidx/navigation/NavController$navInflater$2;->(Landroidx/navigation/NavController;)V -HSPLandroidx/navigation/NavController$navigate$4;->(Lkotlin/jvm/internal/Ref$BooleanRef;Landroidx/navigation/NavController;Landroidx/navigation/NavDestination;Landroid/os/Bundle;)V -HSPLandroidx/navigation/NavController$navigate$4;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/NavController$onBackPressedCallback$1;->(Landroidx/navigation/NavController;)V -HSPLandroidx/navigation/NavController;->(Landroid/content/Context;)V -HSPLandroidx/navigation/NavController;->addEntryToBackStack(Landroidx/navigation/NavDestination;Landroid/os/Bundle;Landroidx/navigation/NavBackStackEntry;Ljava/util/List;)V -HSPLandroidx/navigation/NavController;->dispatchOnDestinationChanged()Z -HSPLandroidx/navigation/NavController;->findDestination(I)Landroidx/navigation/NavDestination; -HSPLandroidx/navigation/NavController;->getBackStackEntry(I)Landroidx/navigation/NavBackStackEntry; -HSPLandroidx/navigation/NavController;->getDestinationCountOnBackStack()I -HSPLandroidx/navigation/NavController;->getHostLifecycleState$navigation_runtime_release()Landroidx/lifecycle/Lifecycle$State; -HSPLandroidx/navigation/NavController;->linkChildToParent(Landroidx/navigation/NavBackStackEntry;Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/NavController;->navigate(Landroidx/navigation/NavDestination;Landroid/os/Bundle;Landroidx/navigation/NavOptions;Landroidx/navigation/Navigator$Extras;)V -HSPLandroidx/navigation/NavController;->populateVisibleEntries$navigation_runtime_release()Ljava/util/ArrayList; -HSPLandroidx/navigation/NavController;->updateBackStackLifecycle$navigation_runtime_release()V -HSPLandroidx/navigation/NavController;->updateOnBackPressedCallbackEnabled()V -HSPLandroidx/navigation/NavControllerViewModel$Companion$FACTORY$1;->()V -HSPLandroidx/navigation/NavControllerViewModel$Companion$FACTORY$1;->create(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/navigation/NavControllerViewModel$Companion$FACTORY$1;->create(Ljava/lang/Class;Landroidx/lifecycle/viewmodel/MutableCreationExtras;)Landroidx/lifecycle/ViewModel; -HSPLandroidx/navigation/NavControllerViewModel;->()V -HSPLandroidx/navigation/NavControllerViewModel;->()V -HSPLandroidx/navigation/NavControllerViewModel;->getViewModelStore(Ljava/lang/String;)Landroidx/lifecycle/ViewModelStore; -HSPLandroidx/navigation/NavControllerViewModel;->onCleared()V -HSPLandroidx/navigation/NavDeepLink$Builder;->()V -HSPLandroidx/navigation/NavDeepLink$mimeTypePattern$2;->(Landroidx/navigation/NavDeepLink;)V -HSPLandroidx/navigation/NavDeepLink$pattern$2;->(Landroidx/navigation/NavDeepLink;)V -HSPLandroidx/navigation/NavDeepLink;->()V -HSPLandroidx/navigation/NavDeepLink;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -HSPLandroidx/navigation/NavDeepLink;->buildPathRegex(Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/util/regex/Pattern;)Z -HSPLandroidx/navigation/NavDeepLink;->equals(Ljava/lang/Object;)Z -HSPLandroidx/navigation/NavDeepLink;->hashCode()I -HSPLandroidx/navigation/NavDeepLinkDslBuilder;->()V -HSPLandroidx/navigation/NavDeepLinkRequest;->(Landroid/content/Intent;)V -HSPLandroidx/navigation/NavDeepLinkRequest;->(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V -HSPLandroidx/navigation/NavDestination$$ExternalSyntheticOutline0;->m(Ljava/lang/String;II)I -HSPLandroidx/navigation/NavDestination$$ExternalSyntheticOutline0;->m(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLandroidx/navigation/NavDestination$Companion$hierarchy$1;->()V -HSPLandroidx/navigation/NavDestination$Companion$hierarchy$1;->()V -HSPLandroidx/navigation/NavDestination$Companion$hierarchy$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/NavDestination$Companion;->createRoute(Ljava/lang/String;)Ljava/lang/String; -HSPLandroidx/navigation/NavDestination;->()V -HSPLandroidx/navigation/NavDestination;->(Landroidx/navigation/Navigator;)V -HSPLandroidx/navigation/NavDestination;->addDeepLink(Landroidx/navigation/NavDeepLink;)V -HSPLandroidx/navigation/NavDestination;->addInDefaultArgs(Landroid/os/Bundle;)Landroid/os/Bundle; -HSPLandroidx/navigation/NavDestination;->equals(Ljava/lang/Object;)Z -HSPLandroidx/navigation/NavDestination;->getArguments()Ljava/util/Map; -HSPLandroidx/navigation/NavDestination;->hashCode()I -HSPLandroidx/navigation/NavDestination;->matchDeepLink(Landroidx/navigation/NavDeepLinkRequest;)Landroidx/navigation/NavDestination$DeepLinkMatch; -HSPLandroidx/navigation/NavDestination;->setRoute(Ljava/lang/String;)V -HSPLandroidx/navigation/NavGraph$iterator$1;->(Landroidx/navigation/NavGraph;)V -HSPLandroidx/navigation/NavGraph$iterator$1;->hasNext()Z -HSPLandroidx/navigation/NavGraph$iterator$1;->next()Ljava/lang/Object; -HSPLandroidx/navigation/NavGraph;->(Landroidx/navigation/Navigator;)V -HSPLandroidx/navigation/NavGraph;->equals(Ljava/lang/Object;)Z -HSPLandroidx/navigation/NavGraph;->findNode(Ljava/lang/String;Z)Landroidx/navigation/NavDestination; -HSPLandroidx/navigation/NavGraph;->hashCode()I -HSPLandroidx/navigation/NavGraph;->matchDeepLink(Landroidx/navigation/NavDeepLinkRequest;)Landroidx/navigation/NavDestination$DeepLinkMatch; -HSPLandroidx/navigation/NavGraph;->setStartDestinationRoute(Ljava/lang/String;)V -HSPLandroidx/navigation/NavGraphBuilder;->(Landroidx/navigation/NavigatorProvider;Ljava/lang/String;Ljava/lang/String;)V -HSPLandroidx/navigation/NavGraphBuilder;->build$androidx$navigation$NavDestinationBuilder()Landroidx/navigation/NavDestination; -HSPLandroidx/navigation/NavGraphBuilder;->build()Landroidx/navigation/NavGraph; -HSPLandroidx/navigation/NavGraphNavigator;->(Landroidx/navigation/NavigatorProvider;)V -HSPLandroidx/navigation/NavGraphNavigator;->createDestination()Landroidx/navigation/NavDestination; -HSPLandroidx/navigation/NavGraphNavigator;->navigate(Ljava/util/List;Landroidx/navigation/NavOptions;Landroidx/navigation/Navigator$Extras;)V -HSPLandroidx/navigation/NavHostController;->(Landroid/content/Context;)V -HSPLandroidx/navigation/NavType$Companion$BoolArrayType$1;->()V -HSPLandroidx/navigation/NavType$Companion$BoolType$1;->()V -HSPLandroidx/navigation/NavType$Companion$FloatArrayType$1;->()V -HSPLandroidx/navigation/NavType$Companion$FloatType$1;->()V -HSPLandroidx/navigation/NavType$Companion$IntArrayType$1;->()V -HSPLandroidx/navigation/NavType$Companion$IntType$1;->()V -HSPLandroidx/navigation/NavType$Companion$LongArrayType$1;->()V -HSPLandroidx/navigation/NavType$Companion$LongType$1;->()V -HSPLandroidx/navigation/NavType$Companion$StringArrayType$1;->()V -HSPLandroidx/navigation/NavType$Companion$StringType$1;->()V -HSPLandroidx/navigation/NavType$EnumType;->(Ljava/lang/Class;)V -HSPLandroidx/navigation/NavType$SerializableType;->(Ljava/lang/Class;I)V -HSPLandroidx/navigation/NavType$SerializableType;->equals(Ljava/lang/Object;)Z -HSPLandroidx/navigation/NavType$SerializableType;->hashCode()I -HSPLandroidx/navigation/NavType;->()V -HSPLandroidx/navigation/NavType;->(Z)V -HSPLandroidx/navigation/Navigator;->()V -HSPLandroidx/navigation/Navigator;->getState()Landroidx/navigation/NavigatorState; -HSPLandroidx/navigation/NavigatorProvider$Companion;->getNameForNavigator$navigation_common_release(Ljava/lang/Class;)Ljava/lang/String; -HSPLandroidx/navigation/NavigatorProvider$Companion;->validateName$navigation_common_release(Ljava/lang/String;)Z -HSPLandroidx/navigation/NavigatorProvider;->()V -HSPLandroidx/navigation/NavigatorProvider;->()V -HSPLandroidx/navigation/NavigatorProvider;->addNavigator(Landroidx/navigation/Navigator;)V -HSPLandroidx/navigation/NavigatorProvider;->getNavigator(Ljava/lang/String;)Landroidx/navigation/Navigator; -HSPLandroidx/navigation/NavigatorState;->()V -HSPLandroidx/navigation/NavigatorState;->markTransitionComplete(Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/NavigatorState;->push(Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/compose/BackStackEntryIdViewModel;->(Landroidx/lifecycle/SavedStateHandle;)V -HSPLandroidx/navigation/compose/BackStackEntryIdViewModel;->onCleared()V -HSPLandroidx/navigation/compose/ComposeNavigator$Destination;->(Landroidx/navigation/compose/ComposeNavigator;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/navigation/compose/ComposeNavigator;->()V -HSPLandroidx/navigation/compose/ComposeNavigator;->navigate(Ljava/util/List;Landroidx/navigation/NavOptions;Landroidx/navigation/Navigator$Extras;)V -HSPLandroidx/navigation/compose/DialogHostKt$DialogHost$2;->(Landroidx/navigation/compose/DialogNavigator;I)V -HSPLandroidx/navigation/compose/DialogHostKt$PopulateVisibleList$2;->(Ljava/util/List;Ljava/util/Collection;I)V -HSPLandroidx/navigation/compose/DialogHostKt;->DialogHost(Landroidx/navigation/compose/DialogNavigator;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/navigation/compose/DialogHostKt;->PopulateVisibleList(Ljava/util/List;Ljava/util/Collection;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/navigation/compose/DialogNavigator;->()V -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt$LocalOwnersProvider$1;->(Landroidx/compose/runtime/saveable/SaveableStateHolder;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt$LocalOwnersProvider$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt$LocalOwnersProvider$2;->(Landroidx/navigation/NavBackStackEntry;Landroidx/compose/runtime/saveable/SaveableStateHolder;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt$SaveableStateProvider$1$invoke$$inlined$onDispose$1;->(Landroidx/navigation/compose/BackStackEntryIdViewModel;)V -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt$SaveableStateProvider$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt$SaveableStateProvider$1;->(Landroidx/navigation/compose/BackStackEntryIdViewModel;)V -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt$SaveableStateProvider$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt$SaveableStateProvider$2;->(Landroidx/compose/runtime/saveable/SaveableStateHolder;Lkotlin/jvm/functions/Function2;I)V -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt;->LocalOwnersProvider(Landroidx/navigation/NavBackStackEntry;Landroidx/compose/runtime/saveable/SaveableStateHolder;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/navigation/compose/NavBackStackEntryProviderKt;->access$SaveableStateProvider(Landroidx/compose/runtime/saveable/SaveableStateHolder;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLandroidx/navigation/compose/NavGraphBuilderKt;->composable$default(Landroidx/navigation/NavGraphBuilder;Ljava/lang/String;Ljava/util/List;Landroidx/compose/runtime/internal/ComposableLambdaImpl;I)V -HSPLandroidx/navigation/compose/NavGraphBuilderKt;->composable(Landroidx/navigation/NavGraphBuilder;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/navigation/compose/NavGraphBuilderKt;->navigation$default(Landroidx/navigation/NavGraphBuilder;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/navigation/compose/NavHostControllerKt$NavControllerSaver$1;->()V -HSPLandroidx/navigation/compose/NavHostControllerKt$NavControllerSaver$1;->()V -HSPLandroidx/navigation/compose/NavHostControllerKt$NavControllerSaver$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavHostControllerKt$NavControllerSaver$2;->(Landroid/content/Context;)V -HSPLandroidx/navigation/compose/NavHostControllerKt$rememberNavController$1;->(Landroid/content/Context;)V -HSPLandroidx/navigation/compose/NavHostControllerKt$rememberNavController$1;->invoke()Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavHostControllerKt;->rememberNavController([Landroidx/navigation/Navigator;Landroidx/compose/runtime/Composer;)Landroidx/navigation/NavHostController; -HSPLandroidx/navigation/compose/NavHostKt$NavHost$2;->(Landroidx/navigation/NavHostController;Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function1;II)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$3$invoke$$inlined$onDispose$1;->(Landroidx/navigation/NavHostController;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$3$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$3;->(Landroidx/navigation/NavHostController;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$3;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavHostKt$NavHost$4$1$1$invoke$$inlined$onDispose$1;->(Landroidx/compose/runtime/State;Landroidx/navigation/compose/ComposeNavigator;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$4$1$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$4$1$1;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/State;Landroidx/navigation/compose/ComposeNavigator;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$4$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavHostKt$NavHost$4$2;->(Landroidx/navigation/NavBackStackEntry;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$4$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavHostKt$NavHost$4;->(Landroidx/compose/runtime/MutableState;Landroidx/compose/runtime/MutableState;Landroidx/navigation/compose/ComposeNavigator;Landroidx/compose/runtime/saveable/SaveableStateHolderImpl;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavHostKt$NavHost$5;->(Landroidx/navigation/NavHostController;Landroidx/navigation/NavGraph;Landroidx/compose/ui/Modifier;II)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1$2$1;->(Landroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1;->(Lkotlinx/coroutines/flow/ReadonlyStateFlow;)V -HSPLandroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/navigation/compose/NavHostKt;->NavHost(Landroidx/navigation/NavHostController;Landroidx/navigation/NavGraph;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/navigation/compose/NavHostKt;->NavHost(Landroidx/navigation/NavHostController;Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)V -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$2$emit$1;->(Landroidx/paging/CachedPageEventFlow$downstreamFlow$1$2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$2$emit$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$2;->(Lkotlin/jvm/internal/Ref$IntRef;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1$2;->emit(Lkotlin/collections/IndexedValue;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1;->(Landroidx/paging/CachedPageEventFlow;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$downstreamFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$job$1$1$emit$1;->(Landroidx/paging/CachedPageEventFlow$job$1$1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPageEventFlow$job$1$1;->(Landroidx/paging/CachedPageEventFlow;)V -HSPLandroidx/paging/CachedPageEventFlow$job$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$job$1$1;->emit(Lkotlin/collections/IndexedValue;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$job$1;->(Lkotlinx/coroutines/flow/Flow;Landroidx/paging/CachedPageEventFlow;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPageEventFlow$job$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/CachedPageEventFlow$job$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$job$2$1;->(Landroidx/paging/CachedPageEventFlow;)V -HSPLandroidx/paging/CachedPageEventFlow$job$2$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$sharedForDownstream$1;->(Landroidx/paging/CachedPageEventFlow;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPageEventFlow$sharedForDownstream$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/CachedPageEventFlow$sharedForDownstream$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow$sharedForDownstream$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPageEventFlow;->(Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1$2$1;->(Landroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1;->(Lkotlinx/coroutines/flow/SafeFlow;)V -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$$inlined$simpleMapLatest$1;->(Lkotlin/coroutines/Continuation;Lkotlinx/coroutines/CoroutineScope;Landroidx/paging/ActiveFlowTracker;)V -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$$inlined$simpleMapLatest$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$$inlined$simpleMapLatest$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$2;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$4;->(Landroidx/paging/ActiveFlowTracker;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$4;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$4;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$5;->(Landroidx/paging/ActiveFlowTracker;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$5;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPagingDataKt$cachedIn$5;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CachedPagingDataKt;->cachedIn(Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineScope;)Lkotlinx/coroutines/flow/ReadonlySharedFlow; -HSPLandroidx/paging/CancelableChannelFlowKt$cancelableChannelFlow$1$1;->(Landroidx/paging/SimpleProducerScope;)V -HSPLandroidx/paging/CancelableChannelFlowKt$cancelableChannelFlow$1;->(Lkotlinx/coroutines/Job;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/CancelableChannelFlowKt$cancelableChannelFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/CancelableChannelFlowKt$cancelableChannelFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/CancelableChannelFlowKt$cancelableChannelFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/ChannelFlowCollector;->(Landroidx/paging/SimpleProducerScope;)V -HSPLandroidx/paging/ChannelFlowCollector;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/CombinedLoadStates;->(Landroidx/paging/LoadState;Landroidx/paging/LoadState;Landroidx/paging/LoadState;Landroidx/paging/LoadStates;Landroidx/paging/LoadStates;)V -HSPLandroidx/paging/CombinedLoadStates;->equals(Ljava/lang/Object;)Z -HSPLandroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1$2$1;->(Landroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1$2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1;->(Lkotlinx/coroutines/flow/StateFlowImpl;)V -HSPLandroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/ConflatedEventBus;->(I)V -HSPLandroidx/paging/FlattenedPageController$getStateAsEvents$1;->(Landroidx/paging/FlattenedPageController;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/FlattenedPageController$record$1;->(Landroidx/paging/FlattenedPageController;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/FlattenedPageController;->()V -HSPLandroidx/paging/FlattenedPageController;->getStateAsEvents(Lkotlin/coroutines/Continuation;)Ljava/io/Serializable; -HSPLandroidx/paging/FlattenedPageController;->record(Lkotlin/collections/IndexedValue;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/FlattenedPageEventStorage;->()V -HSPLandroidx/paging/FlattenedPageEventStorage;->add(Landroidx/paging/PageEvent;)V -HSPLandroidx/paging/FlattenedPageEventStorage;->getAsEvents()Ljava/util/List; -HSPLandroidx/paging/FlowExtKt$simpleRunningReduce$1$1$emit$1;->(Landroidx/paging/FlowExtKt$simpleRunningReduce$1$1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/FlowExtKt$simpleRunningReduce$1$1;->(Lkotlin/jvm/internal/Ref$ObjectRef;Lkotlin/jvm/functions/Function3;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/paging/FlowExtKt$simpleRunningReduce$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleRunningReduce$1;->(Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/FlowExtKt$simpleRunningReduce$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/FlowExtKt$simpleRunningReduce$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleRunningReduce$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleScan$1$1$emit$1;->(Landroidx/paging/FlowExtKt$simpleScan$1$1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/FlowExtKt$simpleScan$1$1;->(Lkotlin/jvm/internal/Ref$ObjectRef;Lkotlin/jvm/functions/Function3;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/paging/FlowExtKt$simpleScan$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleScan$1;->(Ljava/lang/Object;Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/FlowExtKt$simpleScan$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/FlowExtKt$simpleScan$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleScan$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleTransformLatest$1$1;->(Lkotlin/jvm/functions/Function3;Landroidx/paging/ChannelFlowCollector;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/FlowExtKt$simpleTransformLatest$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/FlowExtKt$simpleTransformLatest$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleTransformLatest$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleTransformLatest$1;->(Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/FlowExtKt$simpleTransformLatest$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/FlowExtKt$simpleTransformLatest$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt$simpleTransformLatest$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/FlowExtKt;->()V -HSPLandroidx/paging/FlowExtKt;->simpleTransformLatest(Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function3;)Lkotlinx/coroutines/flow/Flow; -HSPLandroidx/paging/HintHandler$HintFlow;->()V -HSPLandroidx/paging/HintHandler$State;->(Landroidx/paging/HintHandler;)V -HSPLandroidx/paging/HintHandler$State;->modify(Landroidx/paging/ViewportHint$Access;Lkotlin/jvm/functions/Function2;)V -HSPLandroidx/paging/HintHandler$processHint$1;->(Landroidx/paging/ViewportHint;)V -HSPLandroidx/paging/HintHandler$processHint$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/HintHandler;->()V -HSPLandroidx/paging/HintHandlerKt;->shouldPrioritizeOver(Landroidx/paging/ViewportHint;Landroidx/paging/ViewportHint;Landroidx/paging/LoadType;)Z -HSPLandroidx/paging/InvalidateCallbackTracker;->()V -HSPLandroidx/paging/ItemSnapshotList;->(IILjava/util/List;)V -HSPLandroidx/paging/ItemSnapshotList;->getSize()I -HSPLandroidx/paging/LoadState$Loading;->()V -HSPLandroidx/paging/LoadState$Loading;->()V -HSPLandroidx/paging/LoadState$Loading;->equals(Ljava/lang/Object;)Z -HSPLandroidx/paging/LoadState$NotLoading;->()V -HSPLandroidx/paging/LoadState$NotLoading;->(Z)V -HSPLandroidx/paging/LoadState$NotLoading;->equals(Ljava/lang/Object;)Z -HSPLandroidx/paging/LoadState;->(Z)V -HSPLandroidx/paging/LoadStates;->()V -HSPLandroidx/paging/LoadStates;->(Landroidx/paging/LoadState;Landroidx/paging/LoadState;Landroidx/paging/LoadState;)V -HSPLandroidx/paging/LoadStates;->equals(Ljava/lang/Object;)Z -HSPLandroidx/paging/LoadType;->()V -HSPLandroidx/paging/LoadType;->(ILjava/lang/String;)V -HSPLandroidx/paging/MulticastedPagingData$asPagingData$1;->(Landroidx/paging/MulticastedPagingData;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/MulticastedPagingData$asPagingData$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/MulticastedPagingData$asPagingData$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/MulticastedPagingData$asPagingData$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/MulticastedPagingData$asPagingData$2;->(Landroidx/paging/MulticastedPagingData;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/MulticastedPagingData$asPagingData$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/MulticastedPagingData$asPagingData$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/MulticastedPagingData;->(Lkotlinx/coroutines/CoroutineScope;Landroidx/paging/PagingData;Landroidx/paging/ActiveFlowTracker;)V -HSPLandroidx/paging/MutableCombinedLoadStateCollection;->()V -HSPLandroidx/paging/MutableCombinedLoadStateCollection;->computeHelperState(Landroidx/paging/LoadState;Landroidx/paging/LoadState;Landroidx/paging/LoadState;Landroidx/paging/LoadState;)Landroidx/paging/LoadState; -HSPLandroidx/paging/MutableCombinedLoadStateCollection;->updateHelperStatesAndDispatch()V -HSPLandroidx/paging/MutableLoadStateCollection;->()V -HSPLandroidx/paging/MutableLoadStateCollection;->get(Landroidx/paging/LoadType;)Landroidx/paging/LoadState; -HSPLandroidx/paging/MutableLoadStateCollection;->set(Landroidx/paging/LoadStates;)V -HSPLandroidx/paging/MutableLoadStateCollection;->set(Landroidx/paging/LoadType;Landroidx/paging/LoadState;)V -HSPLandroidx/paging/MutableLoadStateCollection;->snapshot()Landroidx/paging/LoadStates; -HSPLandroidx/paging/PageEvent$Insert$Companion;->Refresh(Ljava/util/List;IILandroidx/paging/LoadStates;Landroidx/paging/LoadStates;)Landroidx/paging/PageEvent$Insert; -HSPLandroidx/paging/PageEvent$Insert$map$1;->(Landroidx/paging/PageEvent$Insert;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageEvent$Insert;->()V -HSPLandroidx/paging/PageEvent$Insert;->(Landroidx/paging/LoadType;Ljava/util/List;IILandroidx/paging/LoadStates;Landroidx/paging/LoadStates;)V -HSPLandroidx/paging/PageEvent$Insert;->map(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PageEvent$LoadStateUpdate;->(Landroidx/paging/LoadStates;Landroidx/paging/LoadStates;)V -HSPLandroidx/paging/PageEvent;->()V -HSPLandroidx/paging/PageEvent;->map(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$GenerationInfo;->(Landroidx/paging/PageFetcherSnapshot;Landroidx/paging/PagingState;Lkotlinx/coroutines/JobImpl;)V -HSPLandroidx/paging/PageFetcher$PagerHintReceiver;->(Landroidx/paging/PageFetcherSnapshot;)V -HSPLandroidx/paging/PageFetcher$PagerHintReceiver;->accessHint(Landroidx/paging/ViewportHint;)V -HSPLandroidx/paging/PageFetcher$PagerUiReceiver;->(Landroidx/paging/ConflatedEventBus;)V -HSPLandroidx/paging/PageFetcher$flow$1$1;->(Landroidx/paging/RemoteMediatorAccessor;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcher$flow$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcher$flow$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1$2$1;->(Landroidx/paging/PageFetcher;)V -HSPLandroidx/paging/PageFetcher$flow$1$2;->(Landroidx/paging/PageFetcher;Landroidx/paging/RemoteMediatorAccessor;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcher$flow$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1$3$downstreamFlow$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcher$flow$1$3$downstreamFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcher$flow$1$3$downstreamFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1$3$downstreamFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1$4;->(Landroidx/paging/SimpleProducerScope;)V -HSPLandroidx/paging/PageFetcher$flow$1$4;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1$invokeSuspend$$inlined$simpleMapLatest$1;->(Landroidx/paging/PageFetcher;Landroidx/paging/RemoteMediatorAccessor;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcher$flow$1$invokeSuspend$$inlined$simpleMapLatest$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1$invokeSuspend$$inlined$simpleMapLatest$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1;->(Landroidx/paging/PageFetcher;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcher$flow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcher$flow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$flow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcher$generateNewPagingSource$1;->(Landroidx/paging/PageFetcher;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcher$generateNewPagingSource$3;->(Landroidx/paging/PageFetcher;)V -HSPLandroidx/paging/PageFetcher;->(Lkotlin/jvm/functions/Function1;Ljava/lang/Object;Landroidx/paging/PagingConfig;)V -HSPLandroidx/paging/PageFetcher;->access$generateNewPagingSource(Landroidx/paging/PageFetcher;Landroidx/paging/PagingSource;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$collectAsGenerationalViewportHints$$inlined$simpleFlatMapLatest$1;->(Lkotlin/coroutines/Continuation;Landroidx/paging/PageFetcherSnapshot;Landroidx/paging/LoadType;)V -HSPLandroidx/paging/PageFetcherSnapshot$collectAsGenerationalViewportHints$$inlined$simpleFlatMapLatest$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$collectAsGenerationalViewportHints$$inlined$simpleFlatMapLatest$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$collectAsGenerationalViewportHints$3;->(Landroidx/paging/LoadType;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshot$collectAsGenerationalViewportHints$4;->(Landroidx/paging/PageFetcherSnapshot;Landroidx/paging/LoadType;)V -HSPLandroidx/paging/PageFetcherSnapshot$doInitialLoad$1;->(Landroidx/paging/PageFetcherSnapshot;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshot$doInitialLoad$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2$1$emit$1;->(Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2$1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2$1;->(Landroidx/paging/SimpleProducerScope;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2$1;->emit(Landroidx/paging/PageEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2;->(Landroidx/paging/PageFetcherSnapshot;Landroidx/paging/SimpleProducerScope;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$3$1;->(Lkotlinx/coroutines/channels/Channel;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$3;->(Landroidx/paging/PageFetcherSnapshot;Lkotlin/coroutines/Continuation;Lkotlinx/coroutines/channels/Channel;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$4$1;->(Landroidx/paging/PageFetcherSnapshot;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$4;->(Landroidx/paging/PageFetcherSnapshot;Lkotlin/coroutines/Continuation;Lkotlinx/coroutines/channels/Channel;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$4;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1$4;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1;->(Landroidx/paging/PageFetcherSnapshot;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$2;->(Landroidx/paging/PageFetcherSnapshot;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$pageEventFlow$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$startConsumingHints$2;->(Landroidx/paging/PageFetcherSnapshot;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshot$startConsumingHints$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshot$startConsumingHints$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot$startConsumingHints$3;->(Landroidx/paging/PageFetcherSnapshot;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshot$startConsumingHints$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshot$startConsumingHints$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot;->(Ljava/lang/Object;Landroidx/paging/PagingSource;Landroidx/paging/PagingConfig;Landroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1;Landroidx/paging/RemoteMediatorAccessor;Landroidx/paging/PagingState;Landroidx/paging/PageFetcher$flow$1$2$1;)V -HSPLandroidx/paging/PageFetcherSnapshot;->access$collectAsGenerationalViewportHints(Landroidx/paging/PageFetcherSnapshot;Lkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1;Landroidx/paging/LoadType;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot;->access$startConsumingHints(Landroidx/paging/PageFetcherSnapshot;Lkotlinx/coroutines/CoroutineScope;)V -HSPLandroidx/paging/PageFetcherSnapshot;->doInitialLoad(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshot;->loadParams(Landroidx/paging/LoadType;Ljava/lang/Object;)Landroidx/paging/PagingSource$LoadParams; -HSPLandroidx/paging/PageFetcherSnapshot;->setLoading(Landroidx/paging/PageFetcherSnapshotState;Landroidx/paging/LoadType;Lkotlin/coroutines/jvm/internal/ContinuationImpl;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshotState$Holder;->(Landroidx/paging/PagingConfig;)V -HSPLandroidx/paging/PageFetcherSnapshotState$consumeAppendGenerationIdAsFlow$1;->(Landroidx/paging/PageFetcherSnapshotState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshotState$consumeAppendGenerationIdAsFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshotState$consumeAppendGenerationIdAsFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshotState$consumeAppendGenerationIdAsFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshotState$consumePrependGenerationIdAsFlow$1;->(Landroidx/paging/PageFetcherSnapshotState;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PageFetcherSnapshotState$consumePrependGenerationIdAsFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PageFetcherSnapshotState$consumePrependGenerationIdAsFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshotState$consumePrependGenerationIdAsFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PageFetcherSnapshotState;->(Landroidx/paging/PagingConfig;)V -HSPLandroidx/paging/PageFetcherSnapshotState;->getPlaceholdersBefore$paging_common()I -HSPLandroidx/paging/PageFetcherSnapshotState;->insert(ILandroidx/paging/LoadType;Landroidx/paging/PagingSource$LoadResult$Page;)Z -HSPLandroidx/paging/PageFetcherSnapshotState;->toPageEvent$paging_common(Landroidx/paging/PagingSource$LoadResult$Page;Landroidx/paging/LoadType;)Landroidx/paging/PageEvent$Insert; -HSPLandroidx/paging/PagePresenter;->()V -HSPLandroidx/paging/PagePresenter;->(IILjava/util/List;)V -HSPLandroidx/paging/PagePresenter;->getOriginalPageOffsetFirst()I -HSPLandroidx/paging/PagePresenter;->getOriginalPageOffsetLast()I -HSPLandroidx/paging/Pager$flow$2;->(Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/Pager$flow$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/Pager$flow$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PagingConfig;->()V -HSPLandroidx/paging/PagingData;->(Lkotlinx/coroutines/flow/Flow;Landroidx/paging/UiReceiver;Landroidx/paging/HintReceiver;)V -HSPLandroidx/paging/PagingDataDiffer$1;->(Landroidx/paging/PagingDataDiffer;)V -HSPLandroidx/paging/PagingDataDiffer$1;->invoke()Ljava/lang/Object; -HSPLandroidx/paging/PagingDataDiffer$collectFrom$2$1$2;->(Landroidx/paging/PageEvent;Landroidx/paging/PagingDataDiffer;Landroidx/paging/PagingData;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PagingDataDiffer$collectFrom$2$1$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/PagingDataDiffer$collectFrom$2$1$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PagingDataDiffer$collectFrom$2$1;->(Landroidx/paging/PagingDataDiffer;Landroidx/paging/PagingData;)V -HSPLandroidx/paging/PagingDataDiffer$collectFrom$2$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PagingDataDiffer$collectFrom$2;->(Landroidx/paging/PagingDataDiffer;Landroidx/paging/PagingData;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PagingDataDiffer$collectFrom$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PagingDataDiffer$collectFrom$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/PagingDataDiffer$presentNewList$1;->(Landroidx/paging/PagingDataDiffer;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PagingDataDiffer$presentNewList$transformedLastAccessedIndex$1;->(Landroidx/paging/PagingDataDiffer;Landroidx/paging/PagePresenter;Lkotlin/jvm/internal/Ref$BooleanRef;Landroidx/paging/HintReceiver;Landroidx/paging/LoadStates;Ljava/util/List;IILandroidx/paging/LoadStates;)V -HSPLandroidx/paging/PagingDataDiffer$presentNewList$transformedLastAccessedIndex$1;->invoke()Ljava/lang/Object; -HSPLandroidx/paging/PagingDataDiffer$processPageEventCallback$1;->(Landroidx/paging/PagingDataDiffer;)V -HSPLandroidx/paging/PagingDataDiffer;->(Landroidx/paging/compose/LazyPagingItems$differCallback$1;Lkotlin/coroutines/CoroutineContext;)V -HSPLandroidx/paging/PagingDataDiffer;->access$presentNewList(Landroidx/paging/PagingDataDiffer;Ljava/util/List;IIZLandroidx/paging/LoadStates;Landroidx/paging/LoadStates;Landroidx/paging/HintReceiver;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PagingDataDiffer;->dispatchLoadStates$paging_common(Landroidx/paging/LoadStates;Landroidx/paging/LoadStates;)V -HSPLandroidx/paging/PagingDataTransforms$map$$inlined$transform$1$2$1;->(Landroidx/paging/PagingDataTransforms$map$$inlined$transform$1$2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/PagingDataTransforms$map$$inlined$transform$1$2;->(Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLandroidx/paging/PagingDataTransforms$map$$inlined$transform$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PagingDataTransforms$map$$inlined$transform$1;->(Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/flow/Flow;)V -HSPLandroidx/paging/PagingDataTransforms$map$$inlined$transform$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/PagingDataTransforms;->map(Landroidx/paging/PagingData;Lkotlin/jvm/functions/Function2;)Landroidx/paging/PagingData; -HSPLandroidx/paging/PagingSource$LoadParams$Refresh;->(ILjava/lang/Object;Z)V -HSPLandroidx/paging/PagingSource$LoadParams$Refresh;->getKey()Ljava/lang/Object; -HSPLandroidx/paging/PagingSource$LoadParams;->(IZ)V -HSPLandroidx/paging/PagingSource$LoadResult$Page;->()V -HSPLandroidx/paging/PagingSource$LoadResult$Page;->(Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Integer;II)V -HSPLandroidx/paging/PagingSource$LoadResult;->()V -HSPLandroidx/paging/PagingSource$invalidateCallbackTracker$1;->()V -HSPLandroidx/paging/PagingSource$invalidateCallbackTracker$1;->()V -HSPLandroidx/paging/PagingSource;->()V -HSPLandroidx/paging/RemoteMediator$InitializeAction;->()V -HSPLandroidx/paging/RemoteMediator$InitializeAction;->(ILjava/lang/String;)V -HSPLandroidx/paging/RemoteMediatorAccessorKt;->()V -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1$1;->(Lkotlinx/coroutines/channels/Channel;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1;->(Lkotlinx/coroutines/channels/Channel;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1;->(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1;->(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SimpleChannelFlowKt;->simpleChannelFlow(Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow; -HSPLandroidx/paging/SimpleProducerScopeImpl;->(Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/channels/Channel;)V -HSPLandroidx/paging/SimpleProducerScopeImpl;->getCoroutineContext()Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/paging/SimpleProducerScopeImpl;->send(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/SingleRunner$Holder$onFinish$1;->(Landroidx/paging/SingleRunner$Holder;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/SingleRunner$Holder$tryEnqueue$1;->(Landroidx/paging/SingleRunner$Holder;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/SingleRunner$Holder;->(Landroidx/paging/SingleRunner;Z)V -HSPLandroidx/paging/SingleRunner$Holder;->onFinish(Lkotlinx/coroutines/Job;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/SingleRunner$Holder;->tryEnqueue(ILkotlinx/coroutines/Job;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/SingleRunner$runInIsolation$1;->(Landroidx/paging/SingleRunner;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/SingleRunner$runInIsolation$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SingleRunner$runInIsolation$2;->(Landroidx/paging/SingleRunner;ILkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/SingleRunner$runInIsolation$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/SingleRunner$runInIsolation$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SingleRunner$runInIsolation$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/SingleRunner;->(Z)V -HSPLandroidx/paging/SingleRunner;->runInIsolation(ILkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/TransformablePage;->()V -HSPLandroidx/paging/TransformablePage;->(ILjava/util/List;)V -HSPLandroidx/paging/TransformablePage;->([ILjava/util/List;ILjava/util/List;)V -HSPLandroidx/paging/ViewportHint$Initial;->(IIII)V -HSPLandroidx/paging/ViewportHint;->(IIII)V -HSPLandroidx/paging/compose/LazyPagingItems$Companion$1;->()V -HSPLandroidx/paging/compose/LazyPagingItems$Companion$1;->isLoggable(I)Z -HSPLandroidx/paging/compose/LazyPagingItems$collectLoadState$2;->(Landroidx/paging/compose/LazyPagingItems;)V -HSPLandroidx/paging/compose/LazyPagingItems$collectLoadState$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/paging/compose/LazyPagingItems$collectPagingData$2;->(Landroidx/paging/compose/LazyPagingItems;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/compose/LazyPagingItems$collectPagingData$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/compose/LazyPagingItems$collectPagingData$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/compose/LazyPagingItems$collectPagingData$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/compose/LazyPagingItems$differCallback$1;->(Landroidx/paging/compose/LazyPagingItems;)V -HSPLandroidx/paging/compose/LazyPagingItems$pagingDataDiffer$1;->(Landroidx/paging/compose/LazyPagingItems;Landroidx/paging/compose/LazyPagingItems$differCallback$1;Lkotlinx/coroutines/MainCoroutineDispatcher;)V -HSPLandroidx/paging/compose/LazyPagingItems$pagingDataDiffer$1;->presentNewList(Landroidx/paging/PagingDataDiffer$presentNewList$transformedLastAccessedIndex$1;)V -HSPLandroidx/paging/compose/LazyPagingItems;->()V -HSPLandroidx/paging/compose/LazyPagingItems;->(Lkotlinx/coroutines/flow/ReadonlySharedFlow;)V -HSPLandroidx/paging/compose/LazyPagingItems;->access$updateItemSnapshotList(Landroidx/paging/compose/LazyPagingItems;)V -HSPLandroidx/paging/compose/LazyPagingItemsKt$collectAsLazyPagingItems$1;->(Landroidx/paging/compose/LazyPagingItems;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/compose/LazyPagingItemsKt$collectAsLazyPagingItems$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/compose/LazyPagingItemsKt$collectAsLazyPagingItems$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/compose/LazyPagingItemsKt$collectAsLazyPagingItems$2;->(Landroidx/paging/compose/LazyPagingItems;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/paging/compose/LazyPagingItemsKt$collectAsLazyPagingItems$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/paging/compose/LazyPagingItemsKt$collectAsLazyPagingItems$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/paging/compose/LazyPagingItemsKt$items$1;->(Landroidx/paging/compose/LazyPagingItems;Lkotlin/jvm/functions/Function1;)V -HSPLandroidx/paging/compose/LazyPagingItemsKt$items$2;->(Landroidx/compose/runtime/internal/ComposableLambdaImpl;Landroidx/paging/compose/LazyPagingItems;)V -HSPLandroidx/paging/compose/LazyPagingItemsKt;->()V -HSPLandroidx/paging/compose/LazyPagingItemsKt;->collectAsLazyPagingItems(Lkotlinx/coroutines/flow/ReadonlySharedFlow;Landroidx/compose/runtime/Composer;)Landroidx/paging/compose/LazyPagingItems; -HSPLandroidx/paging/compose/LazyPagingItemsKt;->items(Landroidx/compose/foundation/lazy/LazyListScope;Landroidx/paging/compose/LazyPagingItems;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/internal/ComposableLambdaImpl;)V -HSPLandroidx/profileinstaller/ProfileInstallReceiver;->()V -HSPLandroidx/profileinstaller/ProfileInstallReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V -HSPLandroidx/profileinstaller/ProfileInstaller$1;->()V -HSPLandroidx/profileinstaller/ProfileInstaller$2;->()V -HSPLandroidx/profileinstaller/ProfileInstaller$2;->onResultReceived(ILjava/lang/Object;)V -HSPLandroidx/profileinstaller/ProfileInstaller;->()V -HSPLandroidx/profileinstaller/ProfileInstaller;->noteProfileWrittenFor(Landroid/content/pm/PackageInfo;Ljava/io/File;)V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer$$ExternalSyntheticLambda0;->(Landroidx/profileinstaller/ProfileInstallerInitializer;Landroid/content/Context;)V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer$$ExternalSyntheticLambda0;->run()V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer$$ExternalSyntheticLambda1;->(Landroid/content/Context;)V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer$Choreographer16Impl$$ExternalSyntheticLambda0;->(Ljava/lang/Runnable;)V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer$Choreographer16Impl$$ExternalSyntheticLambda0;->doFrame(J)V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer$Choreographer16Impl;->postFrameCallback(Ljava/lang/Runnable;)V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer$Handler28Impl;->createAsync(Landroid/os/Looper;)Landroid/os/Handler; -HSPLandroidx/profileinstaller/ProfileInstallerInitializer$Result;->()V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer;->()V -HSPLandroidx/profileinstaller/ProfileInstallerInitializer;->create(Landroid/content/Context;)Ljava/lang/Object; -HSPLandroidx/profileinstaller/ProfileInstallerInitializer;->dependencies()Ljava/util/List; -HSPLandroidx/recyclerview/R$styleable;->()V -HSPLandroidx/recyclerview/R$styleable;->()V -HSPLandroidx/room/CoroutinesRoomKt;->getQueryDispatcher(Landroidx/room/RoomDatabase;)Lkotlinx/coroutines/CoroutineDispatcher; -HSPLandroidx/room/DatabaseConfiguration;->(Landroid/content/Context;Ljava/lang/String;Landroidx/sqlite/db/SupportSQLiteOpenHelper$Factory;Landroidx/room/RoomDatabase$MigrationContainer;Ljava/util/ArrayList;ZILjava/util/concurrent/Executor;Ljava/util/concurrent/Executor;ZZ)V -HSPLandroidx/room/EntityDeletionOrUpdateAdapter;->(Landroidx/room/RoomDatabase;)V -HSPLandroidx/room/EntityInsertionAdapter;->(Landroidx/room/RoomDatabase;)V -HSPLandroidx/room/InvalidationLiveDataContainer;->(Landroidx/room/RoomDatabase;)V -HSPLandroidx/room/InvalidationTracker$1;->(Landroidx/room/InvalidationTracker;)V -HSPLandroidx/room/InvalidationTracker$1;->checkUpdatedTable()Ljava/util/HashSet; -HSPLandroidx/room/InvalidationTracker$1;->run()V -HSPLandroidx/room/InvalidationTracker$ObservedTableTracker;->(I)V -HSPLandroidx/room/InvalidationTracker$ObservedTableTracker;->getTablesToSync()[I -HSPLandroidx/room/InvalidationTracker$Observer;->([Ljava/lang/String;)V -HSPLandroidx/room/InvalidationTracker$ObserverWrapper;->(Landroidx/room/InvalidationTracker$Observer;[I[Ljava/lang/String;)V -HSPLandroidx/room/InvalidationTracker$WeakObserver;->(Landroidx/room/InvalidationTracker;Landroidx/room/InvalidationTracker$Observer;)V -HSPLandroidx/room/InvalidationTracker;->()V -HSPLandroidx/room/InvalidationTracker;->(Landroidx/room/RoomDatabase;Ljava/util/HashMap;Ljava/util/HashMap;[Ljava/lang/String;)V -HSPLandroidx/room/InvalidationTracker;->addObserver(Landroidx/room/InvalidationTracker$Observer;)V -HSPLandroidx/room/InvalidationTracker;->ensureInitialization()Z -HSPLandroidx/room/InvalidationTracker;->resolveViews([Ljava/lang/String;)[Ljava/lang/String; -HSPLandroidx/room/InvalidationTracker;->startTrackingTable(ILandroidx/sqlite/db/SupportSQLiteDatabase;)V -HSPLandroidx/room/InvalidationTracker;->syncTriggers()V -HSPLandroidx/room/InvalidationTracker;->syncTriggers(Landroidx/sqlite/db/SupportSQLiteDatabase;)V -HSPLandroidx/room/RoomDatabase$Builder;->(Landroid/content/Context;Ljava/lang/Class;Ljava/lang/String;)V -HSPLandroidx/room/RoomDatabase$Builder;->build()Landroidx/room/RoomDatabase; -HSPLandroidx/room/RoomDatabase$MigrationContainer;->()V -HSPLandroidx/room/RoomDatabase;->()V -HSPLandroidx/room/RoomDatabase;->assertNotMainThread()V -HSPLandroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V -HSPLandroidx/room/RoomDatabase;->beginTransaction()V -HSPLandroidx/room/RoomDatabase;->inTransaction()Z -HSPLandroidx/room/RoomDatabase;->internalEndTransaction()V -HSPLandroidx/room/RoomDatabase;->internalInitInvalidationTracker(Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase;)V -HSPLandroidx/room/RoomDatabase;->isOpen()Z -HSPLandroidx/room/RoomDatabase;->query(Landroidx/sqlite/db/SupportSQLiteQuery;)Landroid/database/Cursor; -HSPLandroidx/room/RoomDatabase;->setTransactionSuccessful()V -HSPLandroidx/room/RoomDatabase;->unwrapOpenHelper(Ljava/lang/Class;Landroidx/sqlite/db/SupportSQLiteOpenHelper;)Ljava/lang/Object; -HSPLandroidx/room/RoomDatabaseKt$acquireTransactionThread$2$1;->(Lkotlinx/coroutines/JobImpl;)V -HSPLandroidx/room/RoomDatabaseKt$acquireTransactionThread$2$2$1;->(Lkotlinx/coroutines/CancellableContinuation;Lkotlinx/coroutines/Job;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/room/RoomDatabaseKt$acquireTransactionThread$2$2$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/room/RoomDatabaseKt$acquireTransactionThread$2$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/room/RoomDatabaseKt$acquireTransactionThread$2$2;->(Lkotlinx/coroutines/CancellableContinuationImpl;Lkotlinx/coroutines/JobImpl;)V -HSPLandroidx/room/RoomDatabaseKt$acquireTransactionThread$2$2;->run()V -HSPLandroidx/room/RoomDatabaseKt$createTransactionContext$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/room/RoomDatabaseKt$createTransactionContext$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/room/RoomDatabaseKt$createTransactionContext$2;->(Lkotlinx/coroutines/JobImpl;)V -HSPLandroidx/room/RoomDatabaseKt$createTransactionContext$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/room/RoomDatabaseKt$withTransaction$1;->(Lkotlin/coroutines/Continuation;)V -HSPLandroidx/room/RoomDatabaseKt$withTransaction$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/room/RoomDatabaseKt$withTransaction$2;->(Landroidx/room/RoomDatabase;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/room/RoomDatabaseKt$withTransaction$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/room/RoomDatabaseKt$withTransaction$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/room/RoomDatabaseKt;->createTransactionContext(Landroidx/room/RoomDatabase;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/room/RoomDatabaseKt;->withTransaction(Landroidx/room/RoomDatabase;Landroidx/room/paging/LimitOffsetPagingSource$initialLoad$2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLandroidx/room/RoomOpenHelper$Delegate;->(I)V -HSPLandroidx/room/RoomOpenHelper;->(Landroidx/room/DatabaseConfiguration;Landroidx/room/RoomOpenHelper$Delegate;Ljava/lang/String;Ljava/lang/String;)V -HSPLandroidx/room/RoomOpenHelper;->onConfigure()V -HSPLandroidx/room/RoomOpenHelper;->onCreate(Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase;)V -HSPLandroidx/room/RoomOpenHelper;->onOpen(Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase;)V -HSPLandroidx/room/RoomOpenHelper;->updateIdentity(Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase;)V -HSPLandroidx/room/RoomSQLiteQuery;->()V -HSPLandroidx/room/RoomSQLiteQuery;->(I)V -HSPLandroidx/room/RoomSQLiteQuery;->acquire(ILjava/lang/String;)Landroidx/room/RoomSQLiteQuery; -HSPLandroidx/room/RoomSQLiteQuery;->bindTo(Landroidx/sqlite/db/SupportSQLiteProgram;)V -HSPLandroidx/room/RoomSQLiteQuery;->copyArgumentsFrom(Landroidx/room/RoomSQLiteQuery;)V -HSPLandroidx/room/RoomSQLiteQuery;->getSql()Ljava/lang/String; -HSPLandroidx/room/RoomSQLiteQuery;->release()V -HSPLandroidx/room/SharedSQLiteStatement;->(Landroidx/room/RoomDatabase;)V -HSPLandroidx/room/TransactionElement$Key;->()V -HSPLandroidx/room/TransactionElement;->()V -HSPLandroidx/room/TransactionElement;->(Lkotlinx/coroutines/CompletableJob;Lkotlin/coroutines/ContinuationInterceptor;)V -HSPLandroidx/room/TransactionElement;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLandroidx/room/TransactionElement;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLandroidx/room/TransactionElement;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLandroidx/room/TransactionElement;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLandroidx/room/TransactionExecutor$1;->(Landroidx/room/TransactionExecutor;Ljava/lang/Runnable;)V -HSPLandroidx/room/TransactionExecutor$1;->run()V -HSPLandroidx/room/TransactionExecutor;->(Ljava/util/concurrent/Executor;)V -HSPLandroidx/room/TransactionExecutor;->execute(Ljava/lang/Runnable;)V -HSPLandroidx/room/TransactionExecutor;->scheduleNext()V -HSPLandroidx/room/paging/LimitOffsetPagingSource$initialLoad$2;->(Landroidx/room/paging/LimitOffsetPagingSource;Landroidx/paging/PagingSource$LoadParams;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/room/paging/LimitOffsetPagingSource$initialLoad$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/room/paging/LimitOffsetPagingSource$initialLoad$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/room/paging/LimitOffsetPagingSource$load$2;->(Landroidx/room/paging/LimitOffsetPagingSource;Landroidx/paging/PagingSource$LoadParams;Lkotlin/coroutines/Continuation;)V -HSPLandroidx/room/paging/LimitOffsetPagingSource$load$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLandroidx/room/paging/LimitOffsetPagingSource$load$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/room/paging/LimitOffsetPagingSource$observer$1;->([Ljava/lang/String;Landroidx/room/paging/LimitOffsetPagingSource;)V -HSPLandroidx/room/paging/LimitOffsetPagingSource;->(Landroidx/room/RoomSQLiteQuery;Landroidx/room/RoomDatabase;[Ljava/lang/String;)V -HSPLandroidx/room/paging/LimitOffsetPagingSource;->access$loadFromDb(Landroidx/room/paging/LimitOffsetPagingSource;Landroidx/paging/PagingSource$LoadParams;I)Landroidx/paging/PagingSource$LoadResult$Page; -HSPLandroidx/room/paging/LimitOffsetPagingSource;->load(Landroidx/paging/PagingSource$LoadParams;Lkotlin/coroutines/jvm/internal/ContinuationImpl;)Ljava/lang/Object; -HSPLandroidx/room/util/StringUtil;->checkNotNullFromProvides(Ljava/lang/Object;)V -HSPLandroidx/room/util/UUIDUtil;->checkArgument(Ljava/lang/String;Z)V -HSPLandroidx/room/util/UUIDUtil;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V -HSPLandroidx/room/util/UUIDUtil;->writeBoolean(Landroid/os/Parcel;IZ)V -HSPLandroidx/room/util/UUIDUtil;->writeBundle(Landroid/os/Parcel;ILandroid/os/Bundle;)V -HSPLandroidx/room/util/UUIDUtil;->writeIBinder(Landroid/os/Parcel;ILandroid/os/IBinder;)V -HSPLandroidx/room/util/UUIDUtil;->writeInt(Landroid/os/Parcel;II)V -HSPLandroidx/room/util/UUIDUtil;->writeLong(Landroid/os/Parcel;IJ)V -HSPLandroidx/room/util/UUIDUtil;->writeParcelable(Landroid/os/Parcel;ILandroid/os/Parcelable;I)V -HSPLandroidx/room/util/UUIDUtil;->writeString(Landroid/os/Parcel;ILjava/lang/String;)V -HSPLandroidx/room/util/UUIDUtil;->writeTypedArray(Landroid/os/Parcel;I[Landroid/os/Parcelable;I)V -HSPLandroidx/room/util/UUIDUtil;->zza(Landroid/os/Parcel;I)I -HSPLandroidx/room/util/UUIDUtil;->zzb(Landroid/os/Parcel;I)V -HSPLandroidx/savedstate/R$id;->access$calculateAlignmentAndPlaceChildAsNeeded(Landroidx/compose/ui/node/LookaheadCapablePlaceable;Landroidx/compose/ui/layout/AlignmentLine;)I -HSPLandroidx/savedstate/Recreator;->(Landroidx/savedstate/SavedStateRegistryOwner;)V -HSPLandroidx/savedstate/Recreator;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/savedstate/SavedStateRegistry$$ExternalSyntheticLambda0;->(Landroidx/savedstate/SavedStateRegistry;)V -HSPLandroidx/savedstate/SavedStateRegistry$$ExternalSyntheticLambda0;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLandroidx/savedstate/SavedStateRegistry;->()V -HSPLandroidx/savedstate/SavedStateRegistry;->consumeRestoredStateForKey(Ljava/lang/String;)Landroid/os/Bundle; -HSPLandroidx/savedstate/SavedStateRegistry;->getSavedStateProvider()Landroidx/savedstate/SavedStateRegistry$SavedStateProvider; -HSPLandroidx/savedstate/SavedStateRegistry;->registerSavedStateProvider(Ljava/lang/String;Landroidx/savedstate/SavedStateRegistry$SavedStateProvider;)V -HSPLandroidx/savedstate/SavedStateRegistryController;->(Landroidx/savedstate/SavedStateRegistryOwner;)V -HSPLandroidx/savedstate/SavedStateRegistryController;->performAttach()V -HSPLandroidx/savedstate/SavedStateRegistryController;->performRestore(Landroid/os/Bundle;)V -HSPLandroidx/savedstate/ViewTreeSavedStateRegistryOwner$findViewTreeSavedStateRegistryOwner$1;->()V -HSPLandroidx/savedstate/ViewTreeSavedStateRegistryOwner$findViewTreeSavedStateRegistryOwner$1;->()V -HSPLandroidx/savedstate/ViewTreeSavedStateRegistryOwner$findViewTreeSavedStateRegistryOwner$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/savedstate/ViewTreeSavedStateRegistryOwner$findViewTreeSavedStateRegistryOwner$2;->()V -HSPLandroidx/savedstate/ViewTreeSavedStateRegistryOwner$findViewTreeSavedStateRegistryOwner$2;->()V -HSPLandroidx/savedstate/ViewTreeSavedStateRegistryOwner$findViewTreeSavedStateRegistryOwner$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroidx/savedstate/ViewTreeSavedStateRegistryOwner;->get(Landroid/view/View;)Landroidx/savedstate/SavedStateRegistryOwner; -HSPLandroidx/savedstate/ViewTreeSavedStateRegistryOwner;->set(Landroid/view/View;Landroidx/savedstate/SavedStateRegistryOwner;)V -HSPLandroidx/sqlite/db/SimpleSQLiteQuery;->(Ljava/lang/String;)V -HSPLandroidx/sqlite/db/SimpleSQLiteQuery;->bindTo(Landroidx/sqlite/db/SupportSQLiteProgram;)V -HSPLandroidx/sqlite/db/SimpleSQLiteQuery;->getSql()Ljava/lang/String; -HSPLandroidx/sqlite/db/SupportSQLiteOpenHelper$Callback;->(I)V -HSPLandroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration;->(Landroid/content/Context;Ljava/lang/String;Landroidx/sqlite/db/SupportSQLiteOpenHelper$Callback;Z)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase$1;->(Landroidx/sqlite/db/SupportSQLiteQuery;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase$1;->newCursor(Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)Landroid/database/Cursor; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->()V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->beginTransactionNonExclusive()V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroidx/sqlite/db/SupportSQLiteStatement; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->endTransaction()V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->execSQL(Ljava/lang/String;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->inTransaction()Z -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->isOpen()Z -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->isWriteAheadLoggingEnabled()Z -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->query(Landroidx/sqlite/db/SupportSQLiteQuery;)Landroid/database/Cursor; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteDatabase;->setTransactionSuccessful()V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper$1;->(Landroidx/sqlite/db/SupportSQLiteOpenHelper$Callback;[Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper;->(Landroid/content/Context;Ljava/lang/String;[Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase;Landroidx/sqlite/db/SupportSQLiteOpenHelper$Callback;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper;->getWrappedDb(Landroid/database/sqlite/SQLiteDatabase;)Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper;->getWritableSupportDatabase()Landroidx/sqlite/db/SupportSQLiteDatabase; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper;->onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper;->(Landroid/content/Context;Ljava/lang/String;Landroidx/sqlite/db/SupportSQLiteOpenHelper$Callback;Z)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper;->getDelegate()Landroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper;->getWritableDatabase()Landroidx/sqlite/db/SupportSQLiteDatabase; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper;->setWriteAheadLoggingEnabled(Z)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelperFactory;->()V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteOpenHelperFactory;->create(Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration;)Landroidx/sqlite/db/SupportSQLiteOpenHelper; -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteProgram;->(Landroid/database/sqlite/SQLiteProgram;)V -HSPLandroidx/sqlite/db/framework/FrameworkSQLiteStatement;->(Landroid/database/sqlite/SQLiteStatement;)V -HSPLandroidx/startup/AppInitializer;->()V -HSPLandroidx/startup/AppInitializer;->(Landroid/content/Context;)V -HSPLandroidx/startup/AppInitializer;->discoverAndInitialize(Landroid/os/Bundle;)V -HSPLandroidx/startup/AppInitializer;->doInitialize(Ljava/lang/Class;Ljava/util/HashSet;)Ljava/lang/Object; -HSPLandroidx/startup/AppInitializer;->getInstance(Landroid/content/Context;)Landroidx/startup/AppInitializer; -HSPLandroidx/startup/InitializationProvider;->()V -HSPLandroidx/startup/InitializationProvider;->onCreate()Z -HSPLandroidx/tracing/Trace$$ExternalSyntheticApiModelOutline0;->m()Z -HSPLandroidx/tracing/Trace;->isEnabled()Z -HSPLandroidx/webkit/WebViewFeature;->getDisplayCutout(Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/layout/AndroidWindowInsets; -HSPLandroidx/webkit/WebViewFeature;->getSafeDrawing(Landroidx/compose/runtime/Composer;)Landroidx/compose/foundation/layout/UnionInsets; -HSPLandroidx/webkit/WebViewFeature;->toInsetsValues(Landroidx/core/graphics/Insets;)Landroidx/compose/foundation/layout/InsetsValues; -HSPLandroidx/webkit/WebViewRenderProcess;->()V -HSPLandroidx/webkit/WebViewRenderProcess;->get(Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroidx/webkit/WebViewRenderProcess;->setOf(Ljava/lang/Class;)Ljava/util/Set; -HSPLandroidx/window/core/Bounds;->(Landroid/graphics/Rect;)V -HSPLandroidx/window/layout/ActivityCompatHelperApi30;->currentWindowBounds(Landroid/app/Activity;)Landroid/graphics/Rect; -HSPLandroidx/window/layout/WindowMetrics;->(Landroid/graphics/Rect;)V -HSPLandroidx/window/layout/WindowMetricsCalculator$Companion;->()V -HSPLandroidx/window/layout/WindowMetricsCalculator$Companion;->()V -HSPLandroidx/window/layout/WindowMetricsCalculator;->()V -HSPLandroidx/window/layout/WindowMetricsCalculatorCompat;->()V -HSPLandroidx/window/layout/WindowMetricsCalculatorCompat;->()V -HSPLandroidx/window/layout/WindowMetricsCalculatorCompat;->computeCurrentWindowMetrics(Landroid/app/Activity;)Landroidx/window/layout/WindowMetrics; -HSPLandroidx/work/InputMergerFactory;->()V -HSPLandroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String; -HSPLandroidx/work/WorkerFactory;->()V -HSPLandroidx/work/WorkerFactory;->()V -HSPLandroidx/work/impl/utils/ProcessUtils$$ExternalSyntheticApiModelOutline0;->m()Ljava/lang/String; -HSPLcoil/Coil;->()V -HSPLcoil/Coil;->()V -HSPLcoil/ComponentRegistry$Builder;->(Lcoil/ComponentRegistry;)V -HSPLcoil/ComponentRegistry$Builder;->add(Lcoil/fetch/Fetcher$Factory;Ljava/lang/Class;)V -HSPLcoil/ComponentRegistry$Builder;->add(Lcoil/map/Mapper;Ljava/lang/Class;)V -HSPLcoil/ComponentRegistry;->()V -HSPLcoil/ComponentRegistry;->(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V -HSPLcoil/EventListener$Companion$NONE$1;->()V -HSPLcoil/EventListener$Companion$NONE$1;->fetchEnd()V -HSPLcoil/EventListener$Companion$NONE$1;->fetchStart()V -HSPLcoil/EventListener$Companion$NONE$1;->keyEnd()V -HSPLcoil/EventListener$Companion$NONE$1;->keyStart()V -HSPLcoil/EventListener$Companion$NONE$1;->mapEnd()V -HSPLcoil/EventListener$Companion$NONE$1;->mapStart()V -HSPLcoil/EventListener$Companion$NONE$1;->onStart()V -HSPLcoil/EventListener$Companion$NONE$1;->onSuccess()V -HSPLcoil/EventListener$Companion$NONE$1;->resolveSizeEnd()V -HSPLcoil/EventListener$Companion$NONE$1;->resolveSizeStart()V -HSPLcoil/EventListener$Factory$$ExternalSyntheticLambda0;->()V -HSPLcoil/EventListener$Factory;->()V -HSPLcoil/EventListener;->()V -HSPLcoil/ImageLoader$Builder$build$1;->(Lcoil/ImageLoader$Builder;)V -HSPLcoil/ImageLoader$Builder$build$1;->invoke()Ljava/lang/Object; -HSPLcoil/ImageLoader$Builder$build$2;->(Lcoil/ImageLoader$Builder;)V -HSPLcoil/ImageLoader$Builder$build$3;->()V -HSPLcoil/ImageLoader$Builder$build$3;->()V -HSPLcoil/ImageLoader$Builder;->(Landroid/content/Context;)V -HSPLcoil/ImageLoader$Builder;->build()Lcoil/RealImageLoader; -HSPLcoil/RealImageLoader$execute$2$job$1;->(Lcoil/RealImageLoader;Lcoil/request/ImageRequest;Lkotlin/coroutines/Continuation;)V -HSPLcoil/RealImageLoader$execute$2$job$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcoil/RealImageLoader$execute$2$job$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/RealImageLoader$execute$2;->(Lcoil/RealImageLoader;Lcoil/request/ImageRequest;Lkotlin/coroutines/Continuation;)V -HSPLcoil/RealImageLoader$execute$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcoil/RealImageLoader$execute$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/RealImageLoader$execute$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/RealImageLoader$executeMain$1;->(Lcoil/RealImageLoader;Lkotlin/coroutines/Continuation;)V -HSPLcoil/RealImageLoader$executeMain$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/RealImageLoader$executeMain$result$1;->(Lcoil/request/ImageRequest;Lcoil/RealImageLoader;Lcoil/size/Size;Lcoil/EventListener;Landroid/graphics/Bitmap;Lkotlin/coroutines/Continuation;)V -HSPLcoil/RealImageLoader$executeMain$result$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcoil/RealImageLoader$executeMain$result$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/RealImageLoader$executeMain$result$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/RealImageLoader$special$$inlined$CoroutineExceptionHandler$1;->(Lcoil/RealImageLoader;)V -HSPLcoil/RealImageLoader;->(Landroid/content/Context;Lcoil/request/DefaultRequestOptions;Lkotlin/SynchronizedLazyImpl;Lkotlin/SynchronizedLazyImpl;Lkotlin/SynchronizedLazyImpl;Lcoil/ComponentRegistry;Lcoil/util/ImageLoaderOptions;)V -HSPLcoil/RealImageLoader;->access$executeMain(Lcoil/RealImageLoader;Lcoil/request/ImageRequest;ILkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/RealImageLoader;->execute(Lcoil/request/ImageRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/RealImageLoader;->getComponents()Lcoil/ComponentRegistry; -HSPLcoil/RealImageLoader;->getMemoryCache()Lcoil/memory/MemoryCache; -HSPLcoil/RealImageLoader;->onSuccess(Lcoil/request/SuccessResult;Lcoil/target/Target;Lcoil/EventListener;)V -HSPLcoil/compose/AsyncImageKt$AsyncImage$2;->(Ljava/lang/Object;Ljava/lang/String;Lcoil/ImageLoader;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;IIII)V -HSPLcoil/compose/AsyncImageKt$Content$$inlined$Layout$1;->(Landroidx/compose/ui/node/LayoutNode$Companion$Constructor$1;)V -HSPLcoil/compose/AsyncImageKt$Content$$inlined$Layout$1;->invoke()Ljava/lang/Object; -HSPLcoil/compose/AsyncImageKt$Content$1$measure$1;->()V -HSPLcoil/compose/AsyncImageKt$Content$1$measure$1;->()V -HSPLcoil/compose/AsyncImageKt$Content$1$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/compose/AsyncImageKt$Content$1;->()V -HSPLcoil/compose/AsyncImageKt$Content$1;->()V -HSPLcoil/compose/AsyncImageKt$Content$1;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Ljava/util/List;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLcoil/compose/AsyncImageKt$Content$2;->(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/painter/Painter;Ljava/lang/String;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;I)V -HSPLcoil/compose/AsyncImageKt;->AsyncImage-MvsnxeU(Ljava/lang/Object;Ljava/lang/String;Lcoil/ImageLoader;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;ILandroidx/compose/runtime/Composer;III)V -HSPLcoil/compose/AsyncImageKt;->Content(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/painter/Painter;Ljava/lang/String;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;Landroidx/compose/runtime/Composer;I)V -HSPLcoil/compose/AsyncImagePainter$Companion$DefaultTransform$1;->()V -HSPLcoil/compose/AsyncImagePainter$Companion$DefaultTransform$1;->()V -HSPLcoil/compose/AsyncImagePainter$Companion$DefaultTransform$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/compose/AsyncImagePainter$State$Empty;->()V -HSPLcoil/compose/AsyncImagePainter$State$Empty;->()V -HSPLcoil/compose/AsyncImagePainter$State$Empty;->getPainter()Landroidx/compose/ui/graphics/painter/Painter; -HSPLcoil/compose/AsyncImagePainter$State$Loading;->(Landroidx/compose/ui/graphics/painter/Painter;)V -HSPLcoil/compose/AsyncImagePainter$State$Loading;->equals(Ljava/lang/Object;)Z -HSPLcoil/compose/AsyncImagePainter$State$Loading;->getPainter()Landroidx/compose/ui/graphics/painter/Painter; -HSPLcoil/compose/AsyncImagePainter$State$Success;->(Landroidx/compose/ui/graphics/painter/Painter;Lcoil/request/SuccessResult;)V -HSPLcoil/compose/AsyncImagePainter$State$Success;->getPainter()Landroidx/compose/ui/graphics/painter/Painter; -HSPLcoil/compose/AsyncImagePainter$State;->()V -HSPLcoil/compose/AsyncImagePainter$onRemembered$1$1;->(Lcoil/compose/AsyncImagePainter;)V -HSPLcoil/compose/AsyncImagePainter$onRemembered$1$1;->invoke()Ljava/lang/Object; -HSPLcoil/compose/AsyncImagePainter$onRemembered$1$2;->(Lcoil/compose/AsyncImagePainter;Lkotlin/coroutines/Continuation;)V -HSPLcoil/compose/AsyncImagePainter$onRemembered$1$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcoil/compose/AsyncImagePainter$onRemembered$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/compose/AsyncImagePainter$onRemembered$1$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/compose/AsyncImagePainter$onRemembered$1$3;->(Lcoil/compose/AsyncImagePainter;)V -HSPLcoil/compose/AsyncImagePainter$onRemembered$1$3;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/compose/AsyncImagePainter$onRemembered$1;->(Lcoil/compose/AsyncImagePainter;Lkotlin/coroutines/Continuation;)V -HSPLcoil/compose/AsyncImagePainter$onRemembered$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcoil/compose/AsyncImagePainter$onRemembered$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/compose/AsyncImagePainter$updateRequest$$inlined$target$default$1;->(Lcoil/compose/AsyncImagePainter;)V -HSPLcoil/compose/AsyncImagePainter$updateRequest$$inlined$target$default$1;->onStart(Landroid/graphics/drawable/Drawable;)V -HSPLcoil/compose/AsyncImagePainter$updateRequest$$inlined$target$default$1;->onSuccess(Landroid/graphics/drawable/Drawable;)V -HSPLcoil/compose/AsyncImagePainter;->(Lcoil/request/ImageRequest;Lcoil/ImageLoader;)V -HSPLcoil/compose/AsyncImagePainter;->getIntrinsicSize-NH-jbRc()J -HSPLcoil/compose/AsyncImagePainter;->onDraw(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V -HSPLcoil/compose/AsyncImagePainter;->onForgotten()V -HSPLcoil/compose/AsyncImagePainter;->onRemembered()V -HSPLcoil/compose/AsyncImagePainter;->toPainter(Landroid/graphics/drawable/Drawable;)Landroidx/compose/ui/graphics/painter/Painter; -HSPLcoil/compose/AsyncImagePainter;->updateState(Lcoil/compose/AsyncImagePainter$State;)V -HSPLcoil/compose/AsyncImagePainterKt$FakeTransitionTarget$1;->()V -HSPLcoil/compose/AsyncImagePainterKt;->()V -HSPLcoil/compose/ConstraintsSizeResolver$measure$1;->(Landroidx/compose/ui/layout/Placeable;)V -HSPLcoil/compose/ConstraintsSizeResolver$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1$2$1;->(Lcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1$2;Lkotlin/coroutines/Continuation;)V -HSPLcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1;->(Lkotlinx/coroutines/flow/StateFlowImpl;)V -HSPLcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/compose/ConstraintsSizeResolver;->()V -HSPLcoil/compose/ConstraintsSizeResolver;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLcoil/compose/ConstraintsSizeResolver;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLcoil/compose/ConstraintsSizeResolver;->size(Lcoil/RealImageLoader$executeMain$1;)Ljava/lang/Object; -HSPLcoil/compose/ContentPainterModifier$measure$1;->(Landroidx/compose/ui/layout/Placeable;)V -HSPLcoil/compose/ContentPainterModifier$measure$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/compose/ContentPainterModifier;->(Landroidx/compose/ui/graphics/painter/Painter;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;)V -HSPLcoil/compose/ContentPainterModifier;->all(Lkotlin/jvm/functions/Function1;)Z -HSPLcoil/compose/ContentPainterModifier;->calculateScaledSize-E7KxVPU(J)J -HSPLcoil/compose/ContentPainterModifier;->draw(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)V -HSPLcoil/compose/ContentPainterModifier;->equals(Ljava/lang/Object;)Z -HSPLcoil/compose/ContentPainterModifier;->measure-3p2s80s(Landroidx/compose/ui/layout/MeasureScope;Landroidx/compose/ui/layout/Measurable;J)Landroidx/compose/ui/layout/MeasureResult; -HSPLcoil/compose/CrossfadePainter;->(Landroidx/compose/ui/graphics/painter/Painter;Landroidx/compose/ui/graphics/painter/Painter;Landroidx/compose/ui/layout/ContentScale;IZZ)V -HSPLcoil/compose/CrossfadePainter;->drawPainter(Landroidx/compose/ui/graphics/drawscope/DrawScope;Landroidx/compose/ui/graphics/painter/Painter;F)V -HSPLcoil/compose/CrossfadePainter;->getIntrinsicSize-NH-jbRc()J -HSPLcoil/compose/CrossfadePainter;->getMaxAlpha()F -HSPLcoil/compose/CrossfadePainter;->onDraw(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V -HSPLcoil/compose/ImageLoaderProvidableCompositionLocal$1;->()V -HSPLcoil/compose/ImageLoaderProvidableCompositionLocal$1;->()V -HSPLcoil/compose/ImageLoaderProvidableCompositionLocal$1;->invoke()Ljava/lang/Object; -HSPLcoil/compose/LocalImageLoaderKt;->()V -HSPLcoil/compose/SingletonAsyncImageKt$AsyncImage$2;->(Ljava/lang/Object;Ljava/lang/String;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;III)V -HSPLcoil/compose/SingletonAsyncImageKt;->AsyncImage-3HmZ8SU(Ljava/lang/Object;Ljava/lang/String;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;FLandroidx/compose/ui/graphics/ColorFilter;ILandroidx/compose/runtime/Composer;II)V -HSPLcoil/compose/UtilsKt;->()V -HSPLcoil/compose/UtilsKt;->requestOf(Ljava/lang/Object;Landroidx/compose/runtime/Composer;)Lcoil/request/ImageRequest; -HSPLcoil/decode/BitmapFactoryDecoder$Factory;->(II)V -HSPLcoil/fetch/AssetUriFetcher$Factory;->()V -HSPLcoil/fetch/AssetUriFetcher$Factory;->create(Ljava/lang/Object;Lcoil/request/Options;)Lcoil/fetch/Fetcher; -HSPLcoil/fetch/BitmapFetcher$Factory;->()V -HSPLcoil/fetch/ByteBufferFetcher$Factory;->()V -HSPLcoil/fetch/ContentUriFetcher$Factory;->()V -HSPLcoil/fetch/ContentUriFetcher$Factory;->create(Ljava/lang/Object;Lcoil/request/Options;)Lcoil/fetch/Fetcher; -HSPLcoil/fetch/DrawableFetcher$Factory;->()V -HSPLcoil/fetch/DrawableResult;->(Landroid/graphics/drawable/Drawable;ZI)V -HSPLcoil/fetch/FetchResult;->()V -HSPLcoil/fetch/FileFetcher$Factory;->()V -HSPLcoil/fetch/HttpUriFetcher$Factory;->(Lkotlin/SynchronizedLazyImpl;Lkotlin/SynchronizedLazyImpl;Z)V -HSPLcoil/fetch/HttpUriFetcher$Factory;->create(Ljava/lang/Object;Lcoil/request/Options;)Lcoil/fetch/Fetcher; -HSPLcoil/fetch/ResourceUriFetcher$Factory;->()V -HSPLcoil/fetch/ResourceUriFetcher$Factory;->create(Ljava/lang/Object;Lcoil/request/Options;)Lcoil/fetch/Fetcher; -HSPLcoil/fetch/ResourceUriFetcher;->(Landroid/net/Uri;Lcoil/request/Options;)V -HSPLcoil/fetch/ResourceUriFetcher;->fetch(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/intercept/EngineInterceptor$ExecuteResult;->(Landroid/graphics/drawable/Drawable;ZILjava/lang/String;)V -HSPLcoil/intercept/EngineInterceptor$execute$1;->(Lcoil/intercept/EngineInterceptor;Lkotlin/coroutines/Continuation;)V -HSPLcoil/intercept/EngineInterceptor$fetch$1;->(Lcoil/intercept/EngineInterceptor;Lkotlin/coroutines/Continuation;)V -HSPLcoil/intercept/EngineInterceptor$intercept$1;->(Lcoil/intercept/EngineInterceptor;Lkotlin/coroutines/Continuation;)V -HSPLcoil/intercept/EngineInterceptor$intercept$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/intercept/EngineInterceptor$intercept$2;->(Lcoil/intercept/EngineInterceptor;Lcoil/request/ImageRequest;Ljava/lang/Object;Lcoil/request/Options;Lcoil/EventListener;Lcoil/memory/MemoryCache$Key;Lcoil/intercept/Interceptor$Chain;Lkotlin/coroutines/Continuation;)V -HSPLcoil/intercept/EngineInterceptor$intercept$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcoil/intercept/EngineInterceptor$intercept$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/intercept/EngineInterceptor;->(Lcoil/ImageLoader;Lcoil/request/RequestService;)V -HSPLcoil/intercept/EngineInterceptor;->access$execute(Lcoil/intercept/EngineInterceptor;Lcoil/request/ImageRequest;Ljava/lang/Object;Lcoil/request/Options;Lcoil/EventListener;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/intercept/EngineInterceptor;->fetch(Lcoil/ComponentRegistry;Lcoil/request/ImageRequest;Ljava/lang/Object;Lcoil/request/Options;Lcoil/EventListener;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/intercept/EngineInterceptor;->intercept(Lcoil/intercept/RealInterceptorChain;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/intercept/RealInterceptorChain$proceed$1;->(Lcoil/intercept/RealInterceptorChain;Lkotlin/coroutines/Continuation;)V -HSPLcoil/intercept/RealInterceptorChain$proceed$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcoil/intercept/RealInterceptorChain;->(Lcoil/request/ImageRequest;Ljava/util/List;ILcoil/request/ImageRequest;Lcoil/size/Size;Lcoil/EventListener;Z)V -HSPLcoil/intercept/RealInterceptorChain;->checkRequest(Lcoil/request/ImageRequest;Lcoil/intercept/Interceptor;)V -HSPLcoil/intercept/RealInterceptorChain;->proceed(Lcoil/request/ImageRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcoil/key/FileKeyer;->(Z)V -HSPLcoil/key/UriKeyer;->()V -HSPLcoil/key/UriKeyer;->key(Ljava/lang/Object;Lcoil/request/Options;)Ljava/lang/String; -HSPLcoil/map/ByteArrayMapper;->()V -HSPLcoil/map/FileUriMapper;->()V -HSPLcoil/map/HttpUrlMapper;->()V -HSPLcoil/map/ResourceIntMapper;->()V -HSPLcoil/map/ResourceIntMapper;->map(Ljava/lang/Object;Lcoil/request/Options;)Ljava/lang/Object; -HSPLcoil/map/ResourceUriMapper;->()V -HSPLcoil/map/StringMapper;->()V -HSPLcoil/memory/MemoryCache$Key$Companion$CREATOR$1;->()V -HSPLcoil/memory/MemoryCache$Key;->()V -HSPLcoil/memory/MemoryCache$Key;->(Ljava/lang/String;Ljava/util/Map;)V -HSPLcoil/memory/MemoryCache$Key;->hashCode()I -HSPLcoil/memory/MemoryCacheService;->(Lcoil/ImageLoader;Lcoil/request/RequestService;)V -HSPLcoil/memory/MemoryCacheService;->getCacheValue$enumunboxing$(Lcoil/request/ImageRequest;Lcoil/memory/MemoryCache$Key;Lcoil/size/Size;I)Lcoil/memory/MemoryCache$Value; -HSPLcoil/memory/MemoryCacheService;->newCacheKey(Lcoil/request/ImageRequest;Ljava/lang/Object;Lcoil/request/Options;Lcoil/EventListener;)Lcoil/memory/MemoryCache$Key; -HSPLcoil/memory/RealMemoryCache;->(Lcoil/memory/StrongMemoryCache;Lcoil/memory/WeakMemoryCache;)V -HSPLcoil/memory/RealMemoryCache;->get(Lcoil/memory/MemoryCache$Key;)Lcoil/memory/MemoryCache$Value; -HSPLcoil/memory/RealStrongMemoryCache$cache$1;->(ILcoil/memory/RealStrongMemoryCache;)V -HSPLcoil/memory/RealStrongMemoryCache;->(ILcoil/memory/WeakMemoryCache;)V -HSPLcoil/memory/RealStrongMemoryCache;->get(Lcoil/memory/MemoryCache$Key;)Lcoil/memory/MemoryCache$Value; -HSPLcoil/memory/RealWeakMemoryCache;->()V -HSPLcoil/memory/RealWeakMemoryCache;->get(Lcoil/memory/MemoryCache$Key;)Lcoil/memory/MemoryCache$Value; -HSPLcoil/network/RealNetworkObserver$networkCallback$1;->(Lcoil/network/RealNetworkObserver;)V -HSPLcoil/network/RealNetworkObserver$networkCallback$1;->onAvailable(Landroid/net/Network;)V -HSPLcoil/network/RealNetworkObserver;->(Landroid/net/ConnectivityManager;Lcoil/network/NetworkObserver$Listener;)V -HSPLcoil/network/RealNetworkObserver;->access$onConnectivityChange(Lcoil/network/RealNetworkObserver;Landroid/net/Network;Z)V -HSPLcoil/network/RealNetworkObserver;->isOnline()Z -HSPLcoil/request/BaseRequestDelegate;->(Landroidx/lifecycle/Lifecycle;Lkotlinx/coroutines/Job;)V -HSPLcoil/request/BaseRequestDelegate;->complete()V -HSPLcoil/request/BaseRequestDelegate;->start()V -HSPLcoil/request/CachePolicy$EnumUnboxingLocalUtility;->getReadEnabled(I)Z -HSPLcoil/request/CachePolicy$EnumUnboxingLocalUtility;->getWriteEnabled(I)Z -HSPLcoil/request/DefaultRequestOptions;->(I)V -HSPLcoil/request/DefaultRequestOptions;->(Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lcoil/transition/Transition$Factory;ILandroid/graphics/Bitmap$Config;ZZLandroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;III)V -HSPLcoil/request/DefaultRequestOptions;->copy$default(Lcoil/request/DefaultRequestOptions;Lcoil/transition/Transition$Factory;Landroid/graphics/drawable/Drawable;I)Lcoil/request/DefaultRequestOptions; -HSPLcoil/request/DefaultRequestOptions;->equals(Ljava/lang/Object;)Z -HSPLcoil/request/DefinedRequestOptions;->(Landroidx/lifecycle/Lifecycle;Lcoil/size/SizeResolver;ILkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lcoil/transition/Transition$Factory;ILandroid/graphics/Bitmap$Config;Ljava/lang/Boolean;Ljava/lang/Boolean;III)V -HSPLcoil/request/DefinedRequestOptions;->equals(Ljava/lang/Object;)Z -HSPLcoil/request/ImageRequest$Builder;->(Landroid/content/Context;)V -HSPLcoil/request/ImageRequest$Builder;->(Lcoil/request/ImageRequest;Landroid/content/Context;)V -HSPLcoil/request/ImageRequest$Builder;->build()Lcoil/request/ImageRequest; -HSPLcoil/request/ImageRequest;->(Landroid/content/Context;Ljava/lang/Object;Lcoil/target/Target;Lcoil/request/ImageRequest$Listener;Lcoil/memory/MemoryCache$Key;Ljava/lang/String;Landroid/graphics/Bitmap$Config;Landroid/graphics/ColorSpace;ILkotlin/Pair;Lcoil/decode/Decoder$Factory;Ljava/util/List;Lcoil/transition/Transition$Factory;Lokhttp3/Headers;Lcoil/request/Tags;ZZZZIIILkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Landroidx/lifecycle/Lifecycle;Lcoil/size/SizeResolver;ILcoil/request/Parameters;Lcoil/memory/MemoryCache$Key;Ljava/lang/Integer;Landroid/graphics/drawable/Drawable;Ljava/lang/Integer;Landroid/graphics/drawable/Drawable;Ljava/lang/Integer;Landroid/graphics/drawable/Drawable;Lcoil/request/DefinedRequestOptions;Lcoil/request/DefaultRequestOptions;)V -HSPLcoil/request/ImageRequest;->equals(Ljava/lang/Object;)Z -HSPLcoil/request/ImageRequest;->newBuilder$default(Lcoil/request/ImageRequest;)Lcoil/request/ImageRequest$Builder; -HSPLcoil/request/ImageResult;->()V -HSPLcoil/request/NullRequestData;->()V -HSPLcoil/request/NullRequestData;->()V -HSPLcoil/request/Options;->(Landroid/content/Context;Landroid/graphics/Bitmap$Config;Landroid/graphics/ColorSpace;Lcoil/size/Size;IZZZLjava/lang/String;Lokhttp3/Headers;Lcoil/request/Tags;Lcoil/request/Parameters;III)V -HSPLcoil/request/Parameters$Builder;->(Lcoil/request/Parameters;)V -HSPLcoil/request/Parameters;->()V -HSPLcoil/request/Parameters;->()V -HSPLcoil/request/Parameters;->(Ljava/util/Map;)V -HSPLcoil/request/Parameters;->equals(Ljava/lang/Object;)Z -HSPLcoil/request/RequestDelegate;->()V -HSPLcoil/request/RequestDelegate;->(I)V -HSPLcoil/request/RequestDelegate;->assertActive()V -HSPLcoil/request/RequestDelegate;->onCreate()V -HSPLcoil/request/RequestDelegate;->onResume(Landroidx/lifecycle/LifecycleOwner;)V -HSPLcoil/request/RequestDelegate;->onStart()V -HSPLcoil/request/RequestService;->(Lcoil/ImageLoader;Lcoil/util/SystemCallbacks;)V -HSPLcoil/request/RequestService;->isConfigValidForHardware(Lcoil/request/ImageRequest;Landroid/graphics/Bitmap$Config;)Z -HSPLcoil/request/RequestService;->options(Lcoil/request/ImageRequest;Lcoil/size/Size;)Lcoil/request/Options; -HSPLcoil/request/SuccessResult;->(Landroid/graphics/drawable/Drawable;Lcoil/request/ImageRequest;ILcoil/memory/MemoryCache$Key;Ljava/lang/String;ZZ)V -HSPLcoil/request/SuccessResult;->getRequest()Lcoil/request/ImageRequest; -HSPLcoil/request/Tags;->()V -HSPLcoil/request/Tags;->(Ljava/util/Map;)V -HSPLcoil/request/Tags;->equals(Ljava/lang/Object;)Z -HSPLcoil/size/-Sizes;->alpha(Landroidx/compose/ui/Modifier;F)Landroidx/compose/ui/Modifier; -HSPLcoil/size/Dimension$Pixels;->(I)V -HSPLcoil/size/Dimension$Pixels;->equals(Ljava/lang/Object;)Z -HSPLcoil/size/Dimension$Undefined;->()V -HSPLcoil/size/Dimension$Undefined;->()V -HSPLcoil/size/Dimension;->()V -HSPLcoil/size/DisplaySizeResolver;->(Landroid/content/Context;)V -HSPLcoil/size/Size;->()V -HSPLcoil/size/Size;->(Lcoil/size/Dimension;Lcoil/size/Dimension;)V -HSPLcoil/transition/CrossfadeTransition$Factory;->(II)V -HSPLcoil/transition/CrossfadeTransition$Factory;->create(Lcoil/transition/TransitionTarget;Lcoil/request/ImageResult;)Lcoil/transition/Transition; -HSPLcoil/transition/CrossfadeTransition;->(Lcoil/transition/TransitionTarget;Lcoil/request/ImageResult;IZ)V -HSPLcoil/transition/NoneTransition$Factory;->()V -HSPLcoil/transition/NoneTransition$Factory;->equals(Ljava/lang/Object;)Z -HSPLcoil/transition/Transition$Factory;->()V -HSPLcoil/util/-Bitmaps;->isHardware(Landroid/graphics/Bitmap$Config;)Z -HSPLcoil/util/-Collections;->toImmutableList(Ljava/util/ArrayList;)Ljava/util/List; -HSPLcoil/util/-Collections;->toImmutableMap(Ljava/util/Map;)Ljava/util/Map; -HSPLcoil/util/-Contexts;->getDrawableCompat(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; -HSPLcoil/util/-HardwareBitmaps;->()V -HSPLcoil/util/-Requests;->()V -HSPLcoil/util/-Requests;->getAllowInexactSize(Lcoil/request/ImageRequest;)Z -HSPLcoil/util/-Requests;->getDrawableCompat(Lcoil/request/ImageRequest;Landroid/graphics/drawable/Drawable;Ljava/lang/Integer;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; -HSPLcoil/util/-Utils;->()V -HSPLcoil/util/-Utils;->getMimeTypeFromUrl(Landroid/webkit/MimeTypeMap;Ljava/lang/String;)Ljava/lang/String; -HSPLcoil/util/HardwareBitmapService;->()V -HSPLcoil/util/ImageLoaderOptions;->()V -HSPLcoil/util/ImmutableHardwareBitmapService;->(Z)V -HSPLcoil/util/ImmutableHardwareBitmapService;->allowHardwareMainThread(Lcoil/size/Size;)Z -HSPLcoil/util/ImmutableHardwareBitmapService;->allowHardwareWorkerThread()Z -HSPLcoil/util/SystemCallbacks;->(Lcoil/RealImageLoader;Landroid/content/Context;Z)V -HSPLcoil/util/SystemCallbacks;->onConnectivityChange(Z)V -HSPLcom/google/accompanist/drawablepainter/DrawablePainter$callback$2$1;->(Lcom/google/accompanist/drawablepainter/DrawablePainter;)V -HSPLcom/google/accompanist/drawablepainter/DrawablePainter$callback$2$1;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V -HSPLcom/google/accompanist/drawablepainter/DrawablePainter$callback$2;->(Lcom/google/accompanist/drawablepainter/DrawablePainter;)V -HSPLcom/google/accompanist/drawablepainter/DrawablePainter$callback$2;->invoke()Ljava/lang/Object; -HSPLcom/google/accompanist/drawablepainter/DrawablePainter;->(Landroid/graphics/drawable/Drawable;)V -HSPLcom/google/accompanist/drawablepainter/DrawablePainter;->applyAlpha(F)Z -HSPLcom/google/accompanist/drawablepainter/DrawablePainter;->getIntrinsicSize-NH-jbRc()J -HSPLcom/google/accompanist/drawablepainter/DrawablePainter;->onDraw(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V -HSPLcom/google/accompanist/drawablepainter/DrawablePainter;->onForgotten()V -HSPLcom/google/accompanist/drawablepainter/DrawablePainter;->onRemembered()V -HSPLcom/google/accompanist/drawablepainter/DrawablePainterKt$MAIN_HANDLER$2;->()V -HSPLcom/google/accompanist/drawablepainter/DrawablePainterKt$MAIN_HANDLER$2;->()V -HSPLcom/google/accompanist/drawablepainter/DrawablePainterKt;->()V -HSPLcom/google/accompanist/drawablepainter/DrawablePainterKt;->access$getIntrinsicSize(Landroid/graphics/drawable/Drawable;)J -HSPLcom/google/accompanist/permissions/MultiplePermissionsStateKt$rememberMultiplePermissionsState$1;->()V -HSPLcom/google/accompanist/permissions/MultiplePermissionsStateKt$rememberMultiplePermissionsState$1;->()V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsState$allPermissionsGranted$2;->(Lcom/google/accompanist/permissions/MutableMultiplePermissionsState;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsState$allPermissionsGranted$2;->invoke()Ljava/lang/Object; -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsState$revokedPermissions$2;->(Lcom/google/accompanist/permissions/MutableMultiplePermissionsState;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsState$revokedPermissions$2;->invoke()Ljava/lang/Object; -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsState$shouldShowRationale$2;->(Lcom/google/accompanist/permissions/MutableMultiplePermissionsState;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsState;->(Ljava/util/List;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsState;->getAllPermissionsGranted()Z -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutableMultiplePermissionsState$2$invoke$$inlined$onDispose$1;->(Lcom/google/accompanist/permissions/MutableMultiplePermissionsState;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutableMultiplePermissionsState$2$invoke$$inlined$onDispose$1;->dispose()V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutableMultiplePermissionsState$2;->(Lcom/google/accompanist/permissions/MutableMultiplePermissionsState;Landroidx/activity/compose/ManagedActivityResultLauncher;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutableMultiplePermissionsState$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutableMultiplePermissionsState$launcher$1$1;->(Lcom/google/accompanist/permissions/MutableMultiplePermissionsState;Lkotlin/jvm/functions/Function1;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutablePermissionsState$1$invoke$$inlined$onDispose$1;->(Lcom/google/accompanist/permissions/MutablePermissionState;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutablePermissionsState$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutablePermissionsState$1;->(Lcom/google/accompanist/permissions/MutablePermissionState;Landroidx/activity/compose/ManagedActivityResultLauncher;)V -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutablePermissionsState$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutablePermissionsState$launcher$1$1;->(Lcom/google/accompanist/permissions/MutablePermissionState;)V -HSPLcom/google/accompanist/permissions/MutablePermissionState;->(Ljava/lang/String;Landroid/content/Context;Landroid/app/Activity;)V -HSPLcom/google/accompanist/permissions/MutablePermissionState;->getPermissionStatus()Lcom/google/accompanist/permissions/PermissionStatus; -HSPLcom/google/accompanist/permissions/MutablePermissionState;->getStatus()Lcom/google/accompanist/permissions/PermissionStatus; -HSPLcom/google/accompanist/permissions/PermissionStatus$Denied;->(Z)V -HSPLcom/google/accompanist/permissions/PermissionStatus$Denied;->equals(Ljava/lang/Object;)Z -HSPLcom/google/accompanist/permissions/PermissionStatus$Granted;->()V -HSPLcom/google/accompanist/permissions/PermissionStatus$Granted;->()V -HSPLcom/google/accompanist/permissions/PermissionsUtilKt$$ExternalSyntheticLambda0;->(Landroidx/lifecycle/Lifecycle$Event;Ljava/util/List;)V -HSPLcom/google/accompanist/permissions/PermissionsUtilKt$$ExternalSyntheticLambda0;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLcom/google/accompanist/permissions/PermissionsUtilKt$PermissionsLifecycleCheckerEffect$1$invoke$$inlined$onDispose$1;->(Landroidx/lifecycle/Lifecycle;Landroidx/lifecycle/LifecycleEventObserver;)V -HSPLcom/google/accompanist/permissions/PermissionsUtilKt$PermissionsLifecycleCheckerEffect$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLcom/google/accompanist/permissions/PermissionsUtilKt$PermissionsLifecycleCheckerEffect$1;->(Landroidx/lifecycle/Lifecycle;Landroidx/lifecycle/LifecycleEventObserver;)V -HSPLcom/google/accompanist/permissions/PermissionsUtilKt$PermissionsLifecycleCheckerEffect$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/accompanist/permissions/PermissionsUtilKt$PermissionsLifecycleCheckerEffect$2;->(Ljava/util/List;Landroidx/lifecycle/Lifecycle$Event;II)V -HSPLcom/google/accompanist/permissions/PermissionsUtilKt;->PermissionsLifecycleCheckerEffect(Ljava/util/List;Landroidx/lifecycle/Lifecycle$Event;Landroidx/compose/runtime/Composer;II)V -HSPLcom/google/android/datatransport/Encoding;->(Ljava/lang/String;)V -HSPLcom/google/android/datatransport/Encoding;->equals(Ljava/lang/Object;)Z -HSPLcom/google/android/datatransport/Encoding;->hashCode()I -HSPLcom/google/android/datatransport/Priority;->()V -HSPLcom/google/android/datatransport/Priority;->(ILjava/lang/String;)V -HSPLcom/google/android/datatransport/Priority;->values()[Lcom/google/android/datatransport/Priority; -HSPLcom/google/android/datatransport/cct/CCTDestination;->()V -HSPLcom/google/android/datatransport/cct/CCTDestination;->(Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/datatransport/cct/CCTDestination;->getExtras()[B -HSPLcom/google/android/datatransport/runtime/AutoValue_TransportContext$Builder;->()V -HSPLcom/google/android/datatransport/runtime/AutoValue_TransportContext$Builder;->build()Lcom/google/android/datatransport/runtime/AutoValue_TransportContext; -HSPLcom/google/android/datatransport/runtime/AutoValue_TransportContext$Builder;->setBackendName(Ljava/lang/String;)Lcom/google/android/datatransport/runtime/AutoValue_TransportContext$Builder; -HSPLcom/google/android/datatransport/runtime/AutoValue_TransportContext$Builder;->setPriority(Lcom/google/android/datatransport/Priority;)Lcom/google/android/datatransport/runtime/AutoValue_TransportContext$Builder; -HSPLcom/google/android/datatransport/runtime/AutoValue_TransportContext;->(Ljava/lang/String;[BLcom/google/android/datatransport/Priority;)V -HSPLcom/google/android/datatransport/runtime/DaggerTransportRuntimeComponent;->(Landroid/content/Context;)V -HSPLcom/google/android/datatransport/runtime/ExecutionModule_ExecutorFactory$InstanceHolder;->()V -HSPLcom/google/android/datatransport/runtime/ExecutionModule_ExecutorFactory;->()V -HSPLcom/google/android/datatransport/runtime/ExecutionModule_ExecutorFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/SafeLoggingExecutor$SafeLoggingRunnable;->(Ljava/lang/Runnable;)V -HSPLcom/google/android/datatransport/runtime/SafeLoggingExecutor$SafeLoggingRunnable;->run()V -HSPLcom/google/android/datatransport/runtime/SafeLoggingExecutor;->(Ljava/util/concurrent/ExecutorService;)V -HSPLcom/google/android/datatransport/runtime/SafeLoggingExecutor;->execute(Ljava/lang/Runnable;)V -HSPLcom/google/android/datatransport/runtime/TransportContext$Builder;->()V -HSPLcom/google/android/datatransport/runtime/TransportContext;->()V -HSPLcom/google/android/datatransport/runtime/TransportContext;->builder()Lcom/google/android/datatransport/runtime/AutoValue_TransportContext$Builder; -HSPLcom/google/android/datatransport/runtime/TransportImpl;->(Lcom/google/android/datatransport/runtime/TransportContext;Lcom/google/android/datatransport/Encoding;Lcom/google/firebase/crashlytics/internal/send/DataTransportCrashlyticsReportSender$$ExternalSyntheticLambda0;Lcom/google/android/datatransport/runtime/TransportInternal;)V -HSPLcom/google/android/datatransport/runtime/TransportRuntime;->(Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/scheduling/Scheduler;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer;)V -HSPLcom/google/android/datatransport/runtime/TransportRuntime;->getInstance()Lcom/google/android/datatransport/runtime/TransportRuntime; -HSPLcom/google/android/datatransport/runtime/TransportRuntime;->initialize(Landroid/content/Context;)V -HSPLcom/google/android/datatransport/runtime/TransportRuntimeComponent;->()V -HSPLcom/google/android/datatransport/runtime/TransportRuntime_Factory;->(Lcom/google/android/datatransport/runtime/scheduling/DefaultScheduler_Factory;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader_Factory;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer_Factory;)V -HSPLcom/google/android/datatransport/runtime/TransportRuntime_Factory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/backends/CreationContextFactory;->(Landroid/content/Context;Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/time/Clock;)V -HSPLcom/google/android/datatransport/runtime/backends/CreationContextFactory_Factory;->(Lcom/google/android/datatransport/runtime/dagger/internal/InstanceFactory;)V -HSPLcom/google/android/datatransport/runtime/backends/CreationContextFactory_Factory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/backends/MetadataBackendRegistry$BackendFactoryProvider;->(Landroid/content/Context;)V -HSPLcom/google/android/datatransport/runtime/backends/MetadataBackendRegistry;->(Landroid/content/Context;Lcom/google/android/datatransport/runtime/backends/CreationContextFactory;)V -HSPLcom/google/android/datatransport/runtime/backends/MetadataBackendRegistry_Factory;->(Lcom/google/android/datatransport/runtime/dagger/internal/InstanceFactory;Lcom/google/android/datatransport/runtime/backends/CreationContextFactory_Factory;)V -HSPLcom/google/android/datatransport/runtime/backends/MetadataBackendRegistry_Factory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/dagger/internal/DoubleCheck;->()V -HSPLcom/google/android/datatransport/runtime/dagger/internal/DoubleCheck;->(Ljavax/inject/Provider;)V -HSPLcom/google/android/datatransport/runtime/dagger/internal/DoubleCheck;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/dagger/internal/DoubleCheck;->provider(Lcom/google/android/datatransport/runtime/dagger/internal/Factory;)Ljavax/inject/Provider; -HSPLcom/google/android/datatransport/runtime/dagger/internal/DoubleCheck;->reentrantCheck(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/android/datatransport/runtime/dagger/internal/InstanceFactory;->(Ljava/lang/Object;)V -HSPLcom/google/android/datatransport/runtime/dagger/internal/InstanceFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/DefaultScheduler;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/DefaultScheduler;->(Ljava/util/concurrent/Executor;Lcom/google/android/datatransport/runtime/backends/BackendRegistry;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkScheduler;Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStore;Lcom/google/android/datatransport/runtime/synchronization/SynchronizationGuard;)V -HSPLcom/google/android/datatransport/runtime/scheduling/DefaultScheduler_Factory;->(Ljavax/inject/Provider;Ljavax/inject/Provider;Lcom/google/android/datatransport/runtime/scheduling/SchedulingModule_WorkSchedulerFactory;Ljavax/inject/Provider;Ljavax/inject/Provider;)V -HSPLcom/google/android/datatransport/runtime/scheduling/DefaultScheduler_Factory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/SchedulingConfigModule_ConfigFactory;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/SchedulingConfigModule_ConfigFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/SchedulingModule_WorkSchedulerFactory;->(Ljavax/inject/Provider;Ljavax/inject/Provider;Lcom/google/android/datatransport/runtime/scheduling/SchedulingConfigModule_ConfigFactory;)V -HSPLcom/google/android/datatransport/runtime/scheduling/SchedulingModule_WorkSchedulerFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/AutoValue_SchedulerConfig;->(Lcom/google/android/datatransport/runtime/time/Clock;Ljava/util/Map;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/AutoValue_SchedulerConfig_ConfigValue$Builder;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/AutoValue_SchedulerConfig_ConfigValue$Builder;->build()Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/AutoValue_SchedulerConfig_ConfigValue; -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/AutoValue_SchedulerConfig_ConfigValue;->(JJLjava/util/Set;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/JobInfoScheduler;->(Landroid/content/Context;Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStore;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig$ConfigValue$Builder;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig$ConfigValue;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig$Flag;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig$Flag;->(ILjava/lang/String;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader;->(Landroid/content/Context;Lcom/google/android/datatransport/runtime/backends/BackendRegistry;Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStore;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkScheduler;Ljava/util/concurrent/Executor;Lcom/google/android/datatransport/runtime/synchronization/SynchronizationGuard;Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/scheduling/persistence/ClientHealthMetricsStore;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader_Factory;->(Ljavax/inject/Provider;Ljavax/inject/Provider;Ljavax/inject/Provider;Lcom/google/android/datatransport/runtime/scheduling/SchedulingModule_WorkSchedulerFactory;Ljavax/inject/Provider;Ljavax/inject/Provider;Ljavax/inject/Provider;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader_Factory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer$$ExternalSyntheticLambda0;->(Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer$$ExternalSyntheticLambda0;->run()V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer$$ExternalSyntheticLambda1;->(Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer$$ExternalSyntheticLambda1;->execute()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer;->(Ljava/util/concurrent/Executor;Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStore;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkScheduler;Lcom/google/android/datatransport/runtime/synchronization/SynchronizationGuard;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer_Factory;->(Ljavax/inject/Provider;Ljavax/inject/Provider;Lcom/google/android/datatransport/runtime/scheduling/SchedulingModule_WorkSchedulerFactory;Ljavax/inject/Provider;)V -HSPLcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer_Factory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/AutoValue_EventStoreConfig;->(JIIJI)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreConfig;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreConfig;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_DbNameFactory$InstanceHolder;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_DbNameFactory;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_DbNameFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_PackageNameFactory;->(Ljavax/inject/Provider;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_SchemaVersionFactory$InstanceHolder;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_SchemaVersionFactory;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_SchemaVersionFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_StoreConfigFactory$InstanceHolder;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_StoreConfigFactory;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_StoreConfigFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore$$ExternalSyntheticLambda6;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore$$ExternalSyntheticLambda6;->apply(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore;->(Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreConfig;Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager;Lcom/google/android/datatransport/runtime/dagger/Lazy;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore;->getDb()Landroid/database/sqlite/SQLiteDatabase; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore;->loadActiveContexts()Ljava/lang/Iterable; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore;->runCriticalSection(Lcom/google/android/datatransport/runtime/synchronization/SynchronizationGuard$CriticalSection;)Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore;->tryWithCursor(Landroid/database/Cursor;Lcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore$Function;)Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore_Factory;->(Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager_Factory;Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_PackageNameFactory;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore_Factory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda0;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda0;->upgrade(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda1;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda1;->upgrade(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda2;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda2;->upgrade(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda3;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda3;->upgrade(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda4;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda4;->upgrade(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager;->()V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager;->(ILandroid/content/Context;Ljava/lang/String;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager;->onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager;->upgrade(Landroid/database/sqlite/SQLiteDatabase;II)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager_Factory;->(Ljavax/inject/Provider;)V -HSPLcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager_Factory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/time/TimeModule_EventClockFactory$InstanceHolder;->()V -HSPLcom/google/android/datatransport/runtime/time/TimeModule_EventClockFactory;->()V -HSPLcom/google/android/datatransport/runtime/time/TimeModule_EventClockFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/time/TimeModule_UptimeClockFactory$InstanceHolder;->()V -HSPLcom/google/android/datatransport/runtime/time/TimeModule_UptimeClockFactory;->()V -HSPLcom/google/android/datatransport/runtime/time/TimeModule_UptimeClockFactory;->get()Ljava/lang/Object; -HSPLcom/google/android/datatransport/runtime/time/UptimeClock;->()V -HSPLcom/google/android/datatransport/runtime/time/UptimeClock;->getTime()J -HSPLcom/google/android/datatransport/runtime/time/WallTimeClock;->()V -HSPLcom/google/android/gms/common/ConnectionResult;->()V -HSPLcom/google/android/gms/common/ConnectionResult;->(I)V -HSPLcom/google/android/gms/common/ConnectionResult;->(IILandroid/app/PendingIntent;Ljava/lang/String;)V -HSPLcom/google/android/gms/common/Feature;->()V -HSPLcom/google/android/gms/common/GoogleApiAvailabilityLight;->()V -HSPLcom/google/android/gms/common/GoogleApiAvailabilityLight;->()V -HSPLcom/google/android/gms/common/GoogleApiAvailabilityLight;->isGooglePlayServicesAvailable(Landroid/content/Context;I)I -HSPLcom/google/android/gms/common/GooglePlayServicesUtilLight;->()V -HSPLcom/google/android/gms/common/GoogleSignatureVerifier;->(Landroid/content/Context;)V -HSPLcom/google/android/gms/common/GoogleSignatureVerifier;->getInstance(Landroid/content/Context;)Lcom/google/android/gms/common/GoogleSignatureVerifier; -HSPLcom/google/android/gms/common/GoogleSignatureVerifier;->zza(Landroid/content/pm/PackageInfo;[Lcom/google/android/gms/common/zzj;)Lcom/google/android/gms/common/zzj; -HSPLcom/google/android/gms/common/GoogleSignatureVerifier;->zzb(Landroid/content/pm/PackageInfo;Z)Z -HSPLcom/google/android/gms/common/api/internal/BackgroundDetector;->()V -HSPLcom/google/android/gms/common/api/internal/BackgroundDetector;->()V -HSPLcom/google/android/gms/common/api/internal/BackgroundDetector;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/common/api/internal/BackgroundDetector;->onActivityDestroyed(Landroid/app/Activity;)V -HSPLcom/google/android/gms/common/api/internal/BackgroundDetector;->onActivityPaused(Landroid/app/Activity;)V -HSPLcom/google/android/gms/common/api/internal/BackgroundDetector;->onActivityResumed(Landroid/app/Activity;)V -HSPLcom/google/android/gms/common/api/internal/BackgroundDetector;->onActivityStarted(Landroid/app/Activity;)V -HSPLcom/google/android/gms/common/api/internal/BackgroundDetector;->onActivityStopped(Landroid/app/Activity;)V -HSPLcom/google/android/gms/common/internal/BaseGmsClient$LegacyClientCallbackAdapter;->(Lcom/google/android/gms/measurement/internal/zzek;)V -HSPLcom/google/android/gms/common/internal/BaseGmsClient$LegacyClientCallbackAdapter;->onReportServiceBinding(Lcom/google/android/gms/common/ConnectionResult;)V -HSPLcom/google/android/gms/common/internal/BaseGmsClient;->()V -HSPLcom/google/android/gms/common/internal/BaseGmsClient;->(Landroid/content/Context;Landroid/os/Looper;Lcom/google/android/gms/measurement/internal/zzjr;Lcom/google/android/gms/measurement/internal/zzjr;)V -HSPLcom/google/android/gms/common/internal/BaseGmsClient;->checkAvailabilityAndConnect()V -HSPLcom/google/android/gms/common/internal/BaseGmsClient;->getService()Landroid/os/IInterface; -HSPLcom/google/android/gms/common/internal/BaseGmsClient;->isConnected()Z -HSPLcom/google/android/gms/common/internal/BaseGmsClient;->isConnecting()Z -HSPLcom/google/android/gms/common/internal/BaseGmsClient;->zzn(Lcom/google/android/gms/common/internal/BaseGmsClient;IILcom/google/android/gms/measurement/internal/zzee;)Z -HSPLcom/google/android/gms/common/internal/BaseGmsClient;->zzp(ILcom/google/android/gms/measurement/internal/zzee;)V -HSPLcom/google/android/gms/common/internal/GetServiceRequest;->()V -HSPLcom/google/android/gms/common/internal/GetServiceRequest;->(IIILjava/lang/String;Landroid/os/IBinder;[Lcom/google/android/gms/common/api/Scope;Landroid/os/Bundle;Landroid/accounts/Account;[Lcom/google/android/gms/common/Feature;[Lcom/google/android/gms/common/Feature;ZIZLjava/lang/String;)V -HSPLcom/google/android/gms/common/internal/GmsClientSupervisor;->()V -HSPLcom/google/android/gms/common/internal/GmsClientSupervisor;->()V -HSPLcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLcom/google/android/gms/common/internal/Preconditions;->checkArgument(Z)V -HSPLcom/google/android/gms/common/internal/Preconditions;->checkMainThread(Ljava/lang/String;)V -HSPLcom/google/android/gms/common/internal/Preconditions;->checkNotEmpty(Ljava/lang/String;)V -HSPLcom/google/android/gms/common/internal/Preconditions;->checkNotEmpty(Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/common/internal/Preconditions;->checkNotMainThread(Ljava/lang/String;)V -HSPLcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)V -HSPLcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V -HSPLcom/google/android/gms/common/internal/Preconditions;->checkState(Ljava/lang/String;Z)V -HSPLcom/google/android/gms/common/internal/StringResourceValueReader;->(Landroid/content/Context;)V -HSPLcom/google/android/gms/common/internal/StringResourceValueReader;->getString(Ljava/lang/String;)Ljava/lang/String; -HSPLcom/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable;->()V -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->createBundle(Landroid/os/Parcel;I)Landroid/os/Bundle; -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->createParcelable(Landroid/os/Parcel;ILandroid/os/Parcelable$Creator;)Landroid/os/Parcelable; -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->createString(Landroid/os/Parcel;I)Ljava/lang/String; -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->createTypedArray(Landroid/os/Parcel;ILandroid/os/Parcelable$Creator;)[Ljava/lang/Object; -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->ensureAtEnd(Landroid/os/Parcel;I)V -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->readInt(Landroid/os/Parcel;I)I -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->readLong(Landroid/os/Parcel;I)J -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->readSize(Landroid/os/Parcel;I)I -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->validateObjectHeader(Landroid/os/Parcel;)I -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->zza(Landroid/os/Parcel;II)V -HSPLcom/google/android/gms/common/internal/safeparcel/SafeParcelReader;->zzb(Landroid/os/Parcel;II)V -HSPLcom/google/android/gms/common/internal/zza;->(Lcom/google/android/gms/common/internal/BaseGmsClient;ILandroid/os/Bundle;)V -HSPLcom/google/android/gms/common/internal/zza;->zza()V -HSPLcom/google/android/gms/common/internal/zzab;->()V -HSPLcom/google/android/gms/common/internal/zzab;->zza(ILandroid/os/Parcel;Landroid/os/Parcel;)Z -HSPLcom/google/android/gms/common/internal/zzac;->(Landroid/os/IBinder;)V -HSPLcom/google/android/gms/common/internal/zzac;->getService(Lcom/google/android/gms/common/internal/zzd;Lcom/google/android/gms/common/internal/GetServiceRequest;)V -HSPLcom/google/android/gms/common/internal/zzag;->()V -HSPLcom/google/android/gms/common/internal/zzah;->Animatable$default(F)Landroidx/compose/animation/core/Animatable; -HSPLcom/google/android/gms/common/internal/zzb;->(Lcom/google/android/gms/common/internal/BaseGmsClient;Landroid/os/Looper;)V -HSPLcom/google/android/gms/common/internal/zzb;->handleMessage(Landroid/os/Message;)V -HSPLcom/google/android/gms/common/internal/zzc;->(Lcom/google/android/gms/common/internal/BaseGmsClient;Ljava/lang/Boolean;)V -HSPLcom/google/android/gms/common/internal/zzd;->(Lcom/google/android/gms/common/internal/BaseGmsClient;I)V -HSPLcom/google/android/gms/common/internal/zze;->(Lcom/google/android/gms/common/internal/BaseGmsClient;I)V -HSPLcom/google/android/gms/common/internal/zze;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V -HSPLcom/google/android/gms/common/internal/zzf;->(Lcom/google/android/gms/common/internal/BaseGmsClient;ILandroid/os/IBinder;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/common/internal/zzf;->zzd()Z -HSPLcom/google/android/gms/common/internal/zzg;->(Lcom/google/android/gms/common/internal/BaseGmsClient;I)V -HSPLcom/google/android/gms/common/internal/zzg;->zzd()Z -HSPLcom/google/android/gms/common/internal/zzj;->()V -HSPLcom/google/android/gms/common/internal/zzj;->(Landroid/os/Bundle;[Lcom/google/android/gms/common/Feature;ILcom/google/android/gms/common/internal/ConnectionTelemetryConfiguration;)V -HSPLcom/google/android/gms/common/internal/zzk;->()V -HSPLcom/google/android/gms/common/internal/zzk;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLcom/google/android/gms/common/internal/zzm;->()V -HSPLcom/google/android/gms/common/internal/zzm;->zza(Lcom/google/android/gms/common/internal/GetServiceRequest;Landroid/os/Parcel;I)V -HSPLcom/google/android/gms/common/internal/zzn;->()V -HSPLcom/google/android/gms/common/internal/zzn;->(ILjava/lang/String;Ljava/lang/String;Z)V -HSPLcom/google/android/gms/common/internal/zzn;->hashCode()I -HSPLcom/google/android/gms/common/internal/zzn;->zzc(Landroid/content/Context;)Landroid/content/Intent; -HSPLcom/google/android/gms/common/internal/zzo$$ExternalSyntheticApiModelOutline0;->m(Landroid/os/StrictMode$VmPolicy$Builder;)Landroid/os/StrictMode$VmPolicy$Builder; -HSPLcom/google/android/gms/common/internal/zzo;->(Lcom/google/android/gms/common/internal/zzr;Lcom/google/android/gms/common/internal/zzn;)V -HSPLcom/google/android/gms/common/internal/zzo;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V -HSPLcom/google/android/gms/common/internal/zzo;->zze(Ljava/lang/String;)V -HSPLcom/google/android/gms/common/internal/zzp;->()V -HSPLcom/google/android/gms/common/internal/zzp;->createZeroVectorFrom(Landroidx/compose/animation/core/TwoWayConverter;Ljava/lang/Object;)Landroidx/compose/animation/core/AnimationVector; -HSPLcom/google/android/gms/common/internal/zzq;->(Lcom/google/android/gms/common/internal/zzr;)V -HSPLcom/google/android/gms/common/internal/zzr;->(Landroid/content/Context;Landroid/os/Looper;)V -HSPLcom/google/android/gms/common/internal/zzr;->zzc(Lcom/google/android/gms/common/internal/zzn;Lcom/google/android/gms/common/internal/zze;Ljava/lang/String;)Z -HSPLcom/google/android/gms/common/internal/zzu;->()V -HSPLcom/google/android/gms/common/internal/zzy;->()V -HSPLcom/google/android/gms/common/stats/ConnectionTracker;->()V -HSPLcom/google/android/gms/common/stats/ConnectionTracker;->()V -HSPLcom/google/android/gms/common/stats/ConnectionTracker;->getInstance()Lcom/google/android/gms/common/stats/ConnectionTracker; -HSPLcom/google/android/gms/common/stats/ConnectionTracker;->zzc(Landroid/content/Context;Ljava/lang/String;Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z -HSPLcom/google/android/gms/common/util/DefaultClock;->()V -HSPLcom/google/android/gms/common/util/DefaultClock;->()V -HSPLcom/google/android/gms/common/util/Hex;->()V -HSPLcom/google/android/gms/common/util/Strings;->()V -HSPLcom/google/android/gms/common/wrappers/InstantApps$$ExternalSyntheticApiModelOutline0;->m(Landroid/content/pm/PackageManager;)Z -HSPLcom/google/android/gms/common/wrappers/PackageManagerWrapper;->(Landroid/content/Context;)V -HSPLcom/google/android/gms/common/wrappers/PackageManagerWrapper;->getPackageInfo(ILjava/lang/String;)Landroid/content/pm/PackageInfo; -HSPLcom/google/android/gms/common/wrappers/PackageManagerWrapper;->isCallerInstantApp()Z -HSPLcom/google/android/gms/common/wrappers/Wrappers;->()V -HSPLcom/google/android/gms/common/wrappers/Wrappers;->()V -HSPLcom/google/android/gms/common/wrappers/Wrappers;->packageManager(Landroid/content/Context;)Lcom/google/android/gms/common/wrappers/PackageManagerWrapper; -HSPLcom/google/android/gms/common/zzb;->()V -HSPLcom/google/android/gms/common/zzc;->()V -HSPLcom/google/android/gms/common/zzc;->newArray(I)[Ljava/lang/Object; -HSPLcom/google/android/gms/common/zzf;->([B)V -HSPLcom/google/android/gms/common/zzg;->([B)V -HSPLcom/google/android/gms/common/zzh;->([B)V -HSPLcom/google/android/gms/common/zzi;->([B)V -HSPLcom/google/android/gms/common/zzi;->zzb()[B -HSPLcom/google/android/gms/common/zzj;->([B)V -HSPLcom/google/android/gms/common/zzj;->equals(Ljava/lang/Object;)Z -HSPLcom/google/android/gms/common/zzj;->zzc()I -HSPLcom/google/android/gms/common/zzj;->zzd()Lcom/google/android/gms/dynamic/IObjectWrapper; -HSPLcom/google/android/gms/common/zzj;->zze(Ljava/lang/String;)[B -HSPLcom/google/android/gms/common/zzk;->([B)V -HSPLcom/google/android/gms/common/zzk;->zzf()[B -HSPLcom/google/android/gms/common/zzl;->()V -HSPLcom/google/android/gms/common/zzl;->([B)V -HSPLcom/google/android/gms/common/zzl;->zzf()[B -HSPLcom/google/android/gms/common/zzm;->()V -HSPLcom/google/android/gms/common/zzn;->()V -HSPLcom/google/android/gms/common/zzu;->checkScrollableContainerConstraints-K40F9xA(JLandroidx/compose/foundation/gestures/Orientation;)V -HSPLcom/google/android/gms/dynamic/IObjectWrapper$Stub;->()V -HSPLcom/google/android/gms/dynamic/ObjectWrapper;->(Ljava/lang/Object;)V -HSPLcom/google/android/gms/dynamic/ObjectWrapper;->unwrap(Lcom/google/android/gms/dynamic/IObjectWrapper;)Ljava/lang/Object; -HSPLcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy$SelectionResult;->()V -HSPLcom/google/android/gms/dynamite/DynamiteModule;->()V -HSPLcom/google/android/gms/dynamite/DynamiteModule;->(Landroid/content/Context;)V -HSPLcom/google/android/gms/dynamite/DynamiteModule;->getLocalVersion(Landroid/content/Context;Ljava/lang/String;)I -HSPLcom/google/android/gms/dynamite/DynamiteModule;->instantiate(Ljava/lang/String;)Landroid/os/IBinder; -HSPLcom/google/android/gms/dynamite/DynamiteModule;->load(Landroid/content/Context;Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy;Ljava/lang/String;)Lcom/google/android/gms/dynamite/DynamiteModule; -HSPLcom/google/android/gms/dynamite/DynamiteModule;->zza(Landroid/content/Context;Ljava/lang/String;Z)I -HSPLcom/google/android/gms/dynamite/DynamiteModule;->zzb(Landroid/content/Context;Ljava/lang/String;ZZ)I -HSPLcom/google/android/gms/dynamite/DynamiteModule;->zzd(Ljava/lang/ClassLoader;)V -HSPLcom/google/android/gms/dynamite/DynamiteModule;->zzf(Landroid/content/Context;)Z -HSPLcom/google/android/gms/dynamite/zza;->(Ljava/lang/ThreadGroup;)V -HSPLcom/google/android/gms/dynamite/zza;->run()V -HSPLcom/google/android/gms/dynamite/zzb;->zza()Ljava/lang/ClassLoader; -HSPLcom/google/android/gms/dynamite/zzb;->zzb()Ljava/lang/ClassLoader; -HSPLcom/google/android/gms/dynamite/zzb;->zzc()Ljava/lang/Thread; -HSPLcom/google/android/gms/dynamite/zzd;->()V -HSPLcom/google/android/gms/dynamite/zzd;->initialValue()Ljava/lang/Object; -HSPLcom/google/android/gms/dynamite/zze;->()V -HSPLcom/google/android/gms/dynamite/zze;->zza(Landroid/content/Context;Ljava/lang/String;)I -HSPLcom/google/android/gms/dynamite/zze;->zzb(Landroid/content/Context;Ljava/lang/String;Z)I -HSPLcom/google/android/gms/dynamite/zzi;->()V -HSPLcom/google/android/gms/dynamite/zzi;->selectModule(Landroid/content/Context;Ljava/lang/String;Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy$IVersions;)Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy$SelectionResult; -HSPLcom/google/android/gms/dynamite/zzj;->()V -HSPLcom/google/android/gms/dynamite/zzn;->(I)V -HSPLcom/google/android/gms/dynamite/zzr;->(Landroid/os/IBinder;)V -HSPLcom/google/android/gms/internal/common/zza;->(Landroid/os/IBinder;Ljava/lang/String;)V -HSPLcom/google/android/gms/internal/common/zzb;->(Ljava/lang/String;)V -HSPLcom/google/android/gms/internal/common/zzb;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -HSPLcom/google/android/gms/internal/common/zzc;->()V -HSPLcom/google/android/gms/internal/common/zzc;->zza(Landroid/os/Parcel;Landroid/os/Parcelable$Creator;)Landroid/os/Parcelable; -HSPLcom/google/android/gms/internal/common/zzc;->zzb(Landroid/os/Parcel;)V -HSPLcom/google/android/gms/internal/common/zzi;->(Landroid/os/Looper;)V -HSPLcom/google/android/gms/internal/common/zzi;->(Landroid/os/Looper;Lcom/google/android/gms/common/internal/zzq;)V -HSPLcom/google/android/gms/internal/measurement/zzbm;->(Landroid/os/IBinder;Ljava/lang/String;)V -HSPLcom/google/android/gms/internal/measurement/zzbm;->zza()Landroid/os/Parcel; -HSPLcom/google/android/gms/internal/measurement/zzbm;->zzb(Landroid/os/Parcel;I)Landroid/os/Parcel; -HSPLcom/google/android/gms/internal/measurement/zzbm;->zzc(Landroid/os/Parcel;I)V -HSPLcom/google/android/gms/internal/measurement/zzbn;->(Ljava/lang/String;)V -HSPLcom/google/android/gms/internal/measurement/zzbo;->()V -HSPLcom/google/android/gms/internal/measurement/zzbo;->zze(Landroid/os/Parcel;Landroid/os/Parcelable;)V -HSPLcom/google/android/gms/internal/measurement/zzby;->(Landroid/os/Looper;)V -HSPLcom/google/android/gms/internal/measurement/zzcb;->()V -HSPLcom/google/android/gms/internal/measurement/zzcb;->asInterface(Landroid/os/IBinder;)Lcom/google/android/gms/internal/measurement/zzcc; -HSPLcom/google/android/gms/internal/measurement/zzch;->()V -HSPLcom/google/android/gms/internal/measurement/zzcl;->()V -HSPLcom/google/android/gms/internal/measurement/zzcl;->(JJZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/String;)V -HSPLcom/google/android/gms/internal/measurement/zzcm;->()V -HSPLcom/google/android/gms/internal/measurement/zzcx;->(Lcom/google/android/gms/internal/measurement/zzee;Landroid/content/Context;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/internal/measurement/zzcx;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzdi;->()V -HSPLcom/google/android/gms/internal/measurement/zzdi;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread; -HSPLcom/google/android/gms/internal/measurement/zzdp;->(Lcom/google/android/gms/internal/measurement/zzee;Lcom/google/android/gms/internal/measurement/zzdv;)V -HSPLcom/google/android/gms/internal/measurement/zzdp;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzdr;->(Lcom/google/android/gms/internal/measurement/zzee;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Z)V -HSPLcom/google/android/gms/internal/measurement/zzdr;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzdt;->(Lcom/google/android/gms/internal/measurement/zzee;Z)V -HSPLcom/google/android/gms/internal/measurement/zzdt;->run()V -HSPLcom/google/android/gms/internal/measurement/zzdv;->(Lcom/google/android/gms/measurement/internal/zzgz;)V -HSPLcom/google/android/gms/internal/measurement/zzdv;->zzd()I -HSPLcom/google/android/gms/internal/measurement/zzdv;->zze(JLandroid/os/Bundle;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/internal/measurement/zzdw;->(Lcom/google/android/gms/internal/measurement/zzed;Landroid/os/Bundle;Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzdw;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzdx;->(Lcom/google/android/gms/internal/measurement/zzed;Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzdx;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzdy;->(Lcom/google/android/gms/internal/measurement/zzed;Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzdy;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzdz;->(Lcom/google/android/gms/internal/measurement/zzed;Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzdz;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzea;->(Lcom/google/android/gms/internal/measurement/zzed;Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzea;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzec;->(Lcom/google/android/gms/internal/measurement/zzed;Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzec;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzed;->(Lcom/google/android/gms/internal/measurement/zzee;)V -HSPLcom/google/android/gms/internal/measurement/zzed;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/internal/measurement/zzed;->onActivityDestroyed(Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzed;->onActivityPaused(Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzed;->onActivityResumed(Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzed;->onActivityStarted(Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzed;->onActivityStopped(Landroid/app/Activity;)V -HSPLcom/google/android/gms/internal/measurement/zzee;->(Landroid/content/Context;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/internal/measurement/zzee;->zzU(Lcom/google/android/gms/internal/measurement/zzdt;)V -HSPLcom/google/android/gms/internal/measurement/zzee;->zzg(Landroid/content/Context;Landroid/os/Bundle;)Lcom/google/android/gms/internal/measurement/zzee; -HSPLcom/google/android/gms/internal/measurement/zzgm;->access$insertEntryAtIndex([Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzgm;->access$removeEntryAtIndex(I[Ljava/lang/Object;)[Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzgu;->()V -HSPLcom/google/android/gms/internal/measurement/zzgz;->()V -HSPLcom/google/android/gms/internal/measurement/zzha;->()V -HSPLcom/google/android/gms/internal/measurement/zzhb;->(Landroid/content/Context;Lcom/google/android/gms/internal/measurement/zzih;)V -HSPLcom/google/android/gms/internal/measurement/zzhc;->(Lcom/google/android/gms/internal/measurement/zzhe;)V -HSPLcom/google/android/gms/internal/measurement/zzhc;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzhd;->(Lcom/google/android/gms/internal/measurement/zzhe;)V -HSPLcom/google/android/gms/internal/measurement/zzhe;->()V -HSPLcom/google/android/gms/internal/measurement/zzhe;->(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/Runnable;)V -HSPLcom/google/android/gms/internal/measurement/zzhe;->zza(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/Runnable;)Lcom/google/android/gms/internal/measurement/zzhe; -HSPLcom/google/android/gms/internal/measurement/zzhe;->zzb(Ljava/lang/String;)Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzhe;->zzc()Ljava/util/Map; -HSPLcom/google/android/gms/internal/measurement/zzhe;->zze()V -HSPLcom/google/android/gms/internal/measurement/zzhm;->()V -HSPLcom/google/android/gms/internal/measurement/zzhm;->zzc(Ljava/lang/String;)Ljava/lang/String; -HSPLcom/google/android/gms/internal/measurement/zzho;->()V -HSPLcom/google/android/gms/internal/measurement/zzho;->zza(Landroid/content/Context;Landroid/net/Uri;)Z -HSPLcom/google/android/gms/internal/measurement/zzhp;->()V -HSPLcom/google/android/gms/internal/measurement/zzhp;->zza()Landroid/net/Uri; -HSPLcom/google/android/gms/internal/measurement/zzhq;->()V -HSPLcom/google/android/gms/internal/measurement/zzhq;->()V -HSPLcom/google/android/gms/internal/measurement/zzhr;->(Landroid/content/Context;)V -HSPLcom/google/android/gms/internal/measurement/zzhr;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzht;->(Lcom/google/android/gms/internal/measurement/zzhx;Ljava/lang/String;Ljava/lang/Long;)V -HSPLcom/google/android/gms/internal/measurement/zzht;->zza(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzhu;->(Lcom/google/android/gms/internal/measurement/zzhx;Ljava/lang/String;Ljava/lang/Boolean;)V -HSPLcom/google/android/gms/internal/measurement/zzhu;->zza(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzhv;->(Lcom/google/android/gms/internal/measurement/zzhx;Ljava/lang/Double;)V -HSPLcom/google/android/gms/internal/measurement/zzhv;->zza(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzhw;->(Lcom/google/android/gms/internal/measurement/zzhx;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/internal/measurement/zzhw;->zza(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzhx;->(Landroid/net/Uri;ZZ)V -HSPLcom/google/android/gms/internal/measurement/zzhx;->zzd(Ljava/lang/String;J)Lcom/google/android/gms/internal/measurement/zzht; -HSPLcom/google/android/gms/internal/measurement/zzhx;->zze(Ljava/lang/String;Ljava/lang/String;)Lcom/google/android/gms/internal/measurement/zzhw; -HSPLcom/google/android/gms/internal/measurement/zzhx;->zzf(Ljava/lang/String;Z)Lcom/google/android/gms/internal/measurement/zzhu; -HSPLcom/google/android/gms/internal/measurement/zzhy;->()V -HSPLcom/google/android/gms/internal/measurement/zzia;->()V -HSPLcom/google/android/gms/internal/measurement/zzia;->(Lcom/google/android/gms/internal/measurement/zzhx;Ljava/lang/String;Ljava/lang/Object;)V -HSPLcom/google/android/gms/internal/measurement/zzia;->zzb()Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzib;->()V -HSPLcom/google/android/gms/internal/measurement/zzib;->zzc()V -HSPLcom/google/android/gms/internal/measurement/zzic;->()V -HSPLcom/google/android/gms/internal/measurement/zzic;->(I)V -HSPLcom/google/android/gms/internal/measurement/zzid;->()V -HSPLcom/google/android/gms/internal/measurement/zzid;->()V -HSPLcom/google/android/gms/internal/measurement/zzid;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzif;->()V -HSPLcom/google/android/gms/internal/measurement/zzig;->(Ljava/lang/Object;)V -HSPLcom/google/android/gms/internal/measurement/zzig;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzig;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzii;->(Lcom/google/android/gms/internal/measurement/zzih;)V -HSPLcom/google/android/gms/internal/measurement/zzii;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzij;->(Lcom/google/android/gms/internal/measurement/zzih;)V -HSPLcom/google/android/gms/internal/measurement/zzij;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzik;->(Ljava/lang/Object;)V -HSPLcom/google/android/gms/internal/measurement/zzik;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/internal/measurement/zzng;->()V -HSPLcom/google/android/gms/internal/measurement/zzng;->()V -HSPLcom/google/android/gms/internal/measurement/zzni;->()V -HSPLcom/google/android/gms/internal/measurement/zzni;->()V -HSPLcom/google/android/gms/internal/measurement/zzni;->zza()Z -HSPLcom/google/android/gms/internal/measurement/zznj;->()V -HSPLcom/google/android/gms/internal/measurement/zznj;->()V -HSPLcom/google/android/gms/internal/measurement/zznl;->()V -HSPLcom/google/android/gms/internal/measurement/zznl;->()V -HSPLcom/google/android/gms/internal/measurement/zznl;->zza()Z -HSPLcom/google/android/gms/internal/measurement/zznm;->()V -HSPLcom/google/android/gms/internal/measurement/zznm;->()V -HSPLcom/google/android/gms/internal/measurement/zznm;->zzI()Lcom/google/android/gms/internal/measurement/zznn; -HSPLcom/google/android/gms/internal/measurement/zzno;->()V -HSPLcom/google/android/gms/internal/measurement/zzno;->()V -HSPLcom/google/android/gms/internal/measurement/zzno;->zzA()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzB()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzC()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzD()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzE()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzF()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzG()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzH()Ljava/lang/String; -HSPLcom/google/android/gms/internal/measurement/zzno;->zzI()Ljava/lang/String; -HSPLcom/google/android/gms/internal/measurement/zzno;->zzJ()Ljava/lang/String; -HSPLcom/google/android/gms/internal/measurement/zzno;->zza()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzb()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzc()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzd()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zze()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzf()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzg()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzh()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzi()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzj()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzk()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzl()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzm()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzn()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzo()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzp()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzq()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzr()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzs()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzt()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzu()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzv()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzw()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzx()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzy()J -HSPLcom/google/android/gms/internal/measurement/zzno;->zzz()J -HSPLcom/google/android/gms/internal/measurement/zznp;->()V -HSPLcom/google/android/gms/internal/measurement/zznp;->()V -HSPLcom/google/android/gms/internal/measurement/zznr;->()V -HSPLcom/google/android/gms/internal/measurement/zznr;->()V -HSPLcom/google/android/gms/internal/measurement/zznr;->zza()J -HSPLcom/google/android/gms/internal/measurement/zzns;->()V -HSPLcom/google/android/gms/internal/measurement/zzns;->()V -HSPLcom/google/android/gms/internal/measurement/zznu;->()V -HSPLcom/google/android/gms/internal/measurement/zznu;->()V -HSPLcom/google/android/gms/internal/measurement/zznu;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zznu;->zzc()Z -HSPLcom/google/android/gms/internal/measurement/zznv;->()V -HSPLcom/google/android/gms/internal/measurement/zznv;->()V -HSPLcom/google/android/gms/internal/measurement/zznx;->()V -HSPLcom/google/android/gms/internal/measurement/zznx;->()V -HSPLcom/google/android/gms/internal/measurement/zznx;->zza()V -HSPLcom/google/android/gms/internal/measurement/zznx;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzny;->()V -HSPLcom/google/android/gms/internal/measurement/zzny;->()V -HSPLcom/google/android/gms/internal/measurement/zzoa;->()V -HSPLcom/google/android/gms/internal/measurement/zzoa;->()V -HSPLcom/google/android/gms/internal/measurement/zzoa;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzoa;->zzc()Z -HSPLcom/google/android/gms/internal/measurement/zzoa;->zzd()Z -HSPLcom/google/android/gms/internal/measurement/zzob;->()V -HSPLcom/google/android/gms/internal/measurement/zzob;->()V -HSPLcom/google/android/gms/internal/measurement/zzod;->()V -HSPLcom/google/android/gms/internal/measurement/zzod;->()V -HSPLcom/google/android/gms/internal/measurement/zzod;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzoe;->()V -HSPLcom/google/android/gms/internal/measurement/zzoe;->()V -HSPLcom/google/android/gms/internal/measurement/zzog;->()V -HSPLcom/google/android/gms/internal/measurement/zzog;->()V -HSPLcom/google/android/gms/internal/measurement/zzog;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzog;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzoh;->()V -HSPLcom/google/android/gms/internal/measurement/zzoh;->()V -HSPLcom/google/android/gms/internal/measurement/zzoj;->()V -HSPLcom/google/android/gms/internal/measurement/zzoj;->()V -HSPLcom/google/android/gms/internal/measurement/zzoj;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzok;->()V -HSPLcom/google/android/gms/internal/measurement/zzok;->()V -HSPLcom/google/android/gms/internal/measurement/zzom;->()V -HSPLcom/google/android/gms/internal/measurement/zzom;->()V -HSPLcom/google/android/gms/internal/measurement/zzom;->zza()Z -HSPLcom/google/android/gms/internal/measurement/zzon;->()V -HSPLcom/google/android/gms/internal/measurement/zzon;->()V -HSPLcom/google/android/gms/internal/measurement/zzop;->()V -HSPLcom/google/android/gms/internal/measurement/zzop;->()V -HSPLcom/google/android/gms/internal/measurement/zzop;->zza()Z -HSPLcom/google/android/gms/internal/measurement/zzoq;->()V -HSPLcom/google/android/gms/internal/measurement/zzoq;->()V -HSPLcom/google/android/gms/internal/measurement/zzoq;->zze()Lcom/google/android/gms/internal/measurement/zzor; -HSPLcom/google/android/gms/internal/measurement/zzos;->()V -HSPLcom/google/android/gms/internal/measurement/zzos;->()V -HSPLcom/google/android/gms/internal/measurement/zzos;->zza()D -HSPLcom/google/android/gms/internal/measurement/zzos;->zzb()J -HSPLcom/google/android/gms/internal/measurement/zzos;->zzc()J -HSPLcom/google/android/gms/internal/measurement/zzos;->zzd()Ljava/lang/String; -HSPLcom/google/android/gms/internal/measurement/zzos;->zze()Z -HSPLcom/google/android/gms/internal/measurement/zzot;->()V -HSPLcom/google/android/gms/internal/measurement/zzot;->()V -HSPLcom/google/android/gms/internal/measurement/zzov;->()V -HSPLcom/google/android/gms/internal/measurement/zzov;->()V -HSPLcom/google/android/gms/internal/measurement/zzov;->zza()Z -HSPLcom/google/android/gms/internal/measurement/zzow;->()V -HSPLcom/google/android/gms/internal/measurement/zzow;->()V -HSPLcom/google/android/gms/internal/measurement/zzow;->zzb()Lcom/google/android/gms/internal/measurement/zzox; -HSPLcom/google/android/gms/internal/measurement/zzoy;->()V -HSPLcom/google/android/gms/internal/measurement/zzoy;->()V -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzc()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzd()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zze()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzf()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzg()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzh()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzi()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzj()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzk()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzl()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzm()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzn()Z -HSPLcom/google/android/gms/internal/measurement/zzoy;->zzo()Z -HSPLcom/google/android/gms/internal/measurement/zzoz;->()V -HSPLcom/google/android/gms/internal/measurement/zzoz;->()V -HSPLcom/google/android/gms/internal/measurement/zzoz;->zzc()V -HSPLcom/google/android/gms/internal/measurement/zzpb;->()V -HSPLcom/google/android/gms/internal/measurement/zzpb;->()V -HSPLcom/google/android/gms/internal/measurement/zzpb;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzpb;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzpb;->zzc()Z -HSPLcom/google/android/gms/internal/measurement/zzpc;->()V -HSPLcom/google/android/gms/internal/measurement/zzpc;->()V -HSPLcom/google/android/gms/internal/measurement/zzpe;->()V -HSPLcom/google/android/gms/internal/measurement/zzpe;->()V -HSPLcom/google/android/gms/internal/measurement/zzpe;->zza()Z -HSPLcom/google/android/gms/internal/measurement/zzpf;->()V -HSPLcom/google/android/gms/internal/measurement/zzpf;->()V -HSPLcom/google/android/gms/internal/measurement/zzph;->()V -HSPLcom/google/android/gms/internal/measurement/zzph;->()V -HSPLcom/google/android/gms/internal/measurement/zzph;->zza()V -HSPLcom/google/android/gms/internal/measurement/zzph;->zzb()Z -HSPLcom/google/android/gms/internal/measurement/zzpi;->()V -HSPLcom/google/android/gms/internal/measurement/zzpi;->()V -HSPLcom/google/android/gms/internal/measurement/zzpk;->()V -HSPLcom/google/android/gms/internal/measurement/zzpk;->()V -HSPLcom/google/android/gms/internal/measurement/zzpk;->zza()Z -HSPLcom/google/android/gms/internal/measurement/zzpl;->()V -HSPLcom/google/android/gms/internal/measurement/zzpl;->()V -HSPLcom/google/android/gms/internal/measurement/zzpn;->()V -HSPLcom/google/android/gms/internal/measurement/zzpn;->()V -HSPLcom/google/android/gms/internal/measurement/zzpn;->zza()Z -HSPLcom/google/android/gms/internal/tasks/zza;->(Landroid/os/Looper;)V -HSPLcom/google/android/gms/measurement/api/AppMeasurementSdk;->(Lcom/google/android/gms/internal/measurement/zzee;)V -HSPLcom/google/android/gms/measurement/api/AppMeasurementSdk;->registerOnMeasurementEventListener(Lcom/google/android/gms/measurement/api/AppMeasurementSdk$OnEventListener;)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->()V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->initialize(Lcom/google/android/gms/dynamic/IObjectWrapper;Lcom/google/android/gms/internal/measurement/zzcl;J)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->logEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ZZJ)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->onActivityCreated(Lcom/google/android/gms/dynamic/IObjectWrapper;Landroid/os/Bundle;J)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->onActivityDestroyed(Lcom/google/android/gms/dynamic/IObjectWrapper;J)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->onActivityPaused(Lcom/google/android/gms/dynamic/IObjectWrapper;J)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->onActivityResumed(Lcom/google/android/gms/dynamic/IObjectWrapper;J)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->onActivityStarted(Lcom/google/android/gms/dynamic/IObjectWrapper;J)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->onActivityStopped(Lcom/google/android/gms/dynamic/IObjectWrapper;J)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->registerOnMeasurementEventListener(Lcom/google/android/gms/internal/measurement/zzci;)V -HSPLcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;->zzb()V -HSPLcom/google/android/gms/measurement/internal/zzab;->()V -HSPLcom/google/android/gms/measurement/internal/zzab;->zza()Z -HSPLcom/google/android/gms/measurement/internal/zzae;->()V -HSPLcom/google/android/gms/measurement/internal/zzae;->()V -HSPLcom/google/android/gms/measurement/internal/zzag;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzag;->zzB(Ljava/lang/String;)Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzag;->zzc()I -HSPLcom/google/android/gms/measurement/internal/zzag;->zzh()V -HSPLcom/google/android/gms/measurement/internal/zzag;->zzj()Landroid/os/Bundle; -HSPLcom/google/android/gms/measurement/internal/zzag;->zzk(Ljava/lang/String;)Ljava/lang/Boolean; -HSPLcom/google/android/gms/measurement/internal/zzag;->zzs(Ljava/lang/String;Lcom/google/android/gms/measurement/internal/zzea;)Z -HSPLcom/google/android/gms/measurement/internal/zzag;->zzu()Z -HSPLcom/google/android/gms/measurement/internal/zzag;->zzv()Z -HSPLcom/google/android/gms/measurement/internal/zzag;->zzx()Z -HSPLcom/google/android/gms/measurement/internal/zzah;->()V -HSPLcom/google/android/gms/measurement/internal/zzah;->(ILjava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzah;->values()[Lcom/google/android/gms/measurement/internal/zzah; -HSPLcom/google/android/gms/measurement/internal/zzai;->()V -HSPLcom/google/android/gms/measurement/internal/zzai;->(Ljava/lang/Boolean;Ljava/lang/Boolean;)V -HSPLcom/google/android/gms/measurement/internal/zzai;->(Ljava/util/EnumMap;)V -HSPLcom/google/android/gms/measurement/internal/zzai;->zzb(Ljava/lang/String;)Lcom/google/android/gms/measurement/internal/zzai; -HSPLcom/google/android/gms/measurement/internal/zzai;->zzh()Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzai;->zzi(Lcom/google/android/gms/measurement/internal/zzah;)Z -HSPLcom/google/android/gms/measurement/internal/zzan;->zza(Lcom/google/android/gms/measurement/internal/zzeo;Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzan;->zzb(Lcom/google/android/gms/measurement/internal/zzeo;Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/gms/measurement/internal/zzao;->(Lcom/google/android/gms/measurement/internal/zzap;Lcom/google/android/gms/measurement/internal/zzgt;)V -HSPLcom/google/android/gms/measurement/internal/zzap;->(Lcom/google/android/gms/measurement/internal/zzgt;)V -HSPLcom/google/android/gms/measurement/internal/zzap;->zzb()V -HSPLcom/google/android/gms/measurement/internal/zzap;->zzd(J)V -HSPLcom/google/android/gms/measurement/internal/zzap;->zzf()Landroid/os/Handler; -HSPLcom/google/android/gms/measurement/internal/zzaq;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzaq;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzau;->()V -HSPLcom/google/android/gms/measurement/internal/zzau;->(Landroid/os/Bundle;)V -HSPLcom/google/android/gms/measurement/internal/zzau;->writeToParcel(Landroid/os/Parcel;I)V -HSPLcom/google/android/gms/measurement/internal/zzau;->zzc()Landroid/os/Bundle; -HSPLcom/google/android/gms/measurement/internal/zzav;->()V -HSPLcom/google/android/gms/measurement/internal/zzav;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzaw;->()V -HSPLcom/google/android/gms/measurement/internal/zzaw;->(Ljava/lang/String;Lcom/google/android/gms/measurement/internal/zzau;Ljava/lang/String;J)V -HSPLcom/google/android/gms/measurement/internal/zzaw;->writeToParcel(Landroid/os/Parcel;I)V -HSPLcom/google/android/gms/measurement/internal/zzax;->()V -HSPLcom/google/android/gms/measurement/internal/zzax;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzax;->zza(Lcom/google/android/gms/measurement/internal/zzaw;Landroid/os/Parcel;I)V -HSPLcom/google/android/gms/measurement/internal/zzaz;->()V -HSPLcom/google/android/gms/measurement/internal/zzaz;->()V -HSPLcom/google/android/gms/measurement/internal/zzaz;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzba;->()V -HSPLcom/google/android/gms/measurement/internal/zzba;->()V -HSPLcom/google/android/gms/measurement/internal/zzba;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbb;->()V -HSPLcom/google/android/gms/measurement/internal/zzbb;->()V -HSPLcom/google/android/gms/measurement/internal/zzbb;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbc;->()V -HSPLcom/google/android/gms/measurement/internal/zzbc;->()V -HSPLcom/google/android/gms/measurement/internal/zzbc;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbd;->()V -HSPLcom/google/android/gms/measurement/internal/zzbd;->()V -HSPLcom/google/android/gms/measurement/internal/zzbd;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbe;->()V -HSPLcom/google/android/gms/measurement/internal/zzbe;->()V -HSPLcom/google/android/gms/measurement/internal/zzbe;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbf;->()V -HSPLcom/google/android/gms/measurement/internal/zzbf;->()V -HSPLcom/google/android/gms/measurement/internal/zzbf;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbg;->()V -HSPLcom/google/android/gms/measurement/internal/zzbg;->()V -HSPLcom/google/android/gms/measurement/internal/zzbg;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbh;->()V -HSPLcom/google/android/gms/measurement/internal/zzbh;->()V -HSPLcom/google/android/gms/measurement/internal/zzbh;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbi;->()V -HSPLcom/google/android/gms/measurement/internal/zzbi;->()V -HSPLcom/google/android/gms/measurement/internal/zzbi;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbj;->()V -HSPLcom/google/android/gms/measurement/internal/zzbj;->()V -HSPLcom/google/android/gms/measurement/internal/zzbj;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbk;->()V -HSPLcom/google/android/gms/measurement/internal/zzbk;->()V -HSPLcom/google/android/gms/measurement/internal/zzbk;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbl;->()V -HSPLcom/google/android/gms/measurement/internal/zzbl;->()V -HSPLcom/google/android/gms/measurement/internal/zzbl;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbm;->()V -HSPLcom/google/android/gms/measurement/internal/zzbm;->()V -HSPLcom/google/android/gms/measurement/internal/zzbm;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbn;->()V -HSPLcom/google/android/gms/measurement/internal/zzbn;->()V -HSPLcom/google/android/gms/measurement/internal/zzbn;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbo;->()V -HSPLcom/google/android/gms/measurement/internal/zzbo;->()V -HSPLcom/google/android/gms/measurement/internal/zzbo;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbp;->()V -HSPLcom/google/android/gms/measurement/internal/zzbp;->()V -HSPLcom/google/android/gms/measurement/internal/zzbp;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbq;->()V -HSPLcom/google/android/gms/measurement/internal/zzbq;->()V -HSPLcom/google/android/gms/measurement/internal/zzbq;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbr;->()V -HSPLcom/google/android/gms/measurement/internal/zzbr;->()V -HSPLcom/google/android/gms/measurement/internal/zzbr;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbs;->()V -HSPLcom/google/android/gms/measurement/internal/zzbs;->()V -HSPLcom/google/android/gms/measurement/internal/zzbs;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbt;->()V -HSPLcom/google/android/gms/measurement/internal/zzbt;->()V -HSPLcom/google/android/gms/measurement/internal/zzbt;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbu;->()V -HSPLcom/google/android/gms/measurement/internal/zzbu;->()V -HSPLcom/google/android/gms/measurement/internal/zzbu;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbv;->()V -HSPLcom/google/android/gms/measurement/internal/zzbv;->()V -HSPLcom/google/android/gms/measurement/internal/zzbv;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbx;->()V -HSPLcom/google/android/gms/measurement/internal/zzbx;->()V -HSPLcom/google/android/gms/measurement/internal/zzbx;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzby;->()V -HSPLcom/google/android/gms/measurement/internal/zzby;->()V -HSPLcom/google/android/gms/measurement/internal/zzby;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzbz;->()V -HSPLcom/google/android/gms/measurement/internal/zzbz;->()V -HSPLcom/google/android/gms/measurement/internal/zzbz;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzc;->(Lcom/google/android/gms/measurement/internal/zzd;J)V -HSPLcom/google/android/gms/measurement/internal/zzc;->run()V -HSPLcom/google/android/gms/measurement/internal/zzca;->()V -HSPLcom/google/android/gms/measurement/internal/zzca;->()V -HSPLcom/google/android/gms/measurement/internal/zzca;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcb;->()V -HSPLcom/google/android/gms/measurement/internal/zzcb;->()V -HSPLcom/google/android/gms/measurement/internal/zzcb;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcc;->()V -HSPLcom/google/android/gms/measurement/internal/zzcc;->()V -HSPLcom/google/android/gms/measurement/internal/zzcc;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcd;->()V -HSPLcom/google/android/gms/measurement/internal/zzcd;->()V -HSPLcom/google/android/gms/measurement/internal/zzcd;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzce;->()V -HSPLcom/google/android/gms/measurement/internal/zzce;->()V -HSPLcom/google/android/gms/measurement/internal/zzce;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcf;->()V -HSPLcom/google/android/gms/measurement/internal/zzcf;->()V -HSPLcom/google/android/gms/measurement/internal/zzcf;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcg;->()V -HSPLcom/google/android/gms/measurement/internal/zzcg;->()V -HSPLcom/google/android/gms/measurement/internal/zzcg;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzch;->()V -HSPLcom/google/android/gms/measurement/internal/zzch;->()V -HSPLcom/google/android/gms/measurement/internal/zzch;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzci;->()V -HSPLcom/google/android/gms/measurement/internal/zzci;->()V -HSPLcom/google/android/gms/measurement/internal/zzci;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcj;->()V -HSPLcom/google/android/gms/measurement/internal/zzcj;->()V -HSPLcom/google/android/gms/measurement/internal/zzcj;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzck;->()V -HSPLcom/google/android/gms/measurement/internal/zzck;->()V -HSPLcom/google/android/gms/measurement/internal/zzck;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcl;->()V -HSPLcom/google/android/gms/measurement/internal/zzcl;->()V -HSPLcom/google/android/gms/measurement/internal/zzcl;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcm;->()V -HSPLcom/google/android/gms/measurement/internal/zzcm;->()V -HSPLcom/google/android/gms/measurement/internal/zzcm;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcn;->()V -HSPLcom/google/android/gms/measurement/internal/zzcn;->()V -HSPLcom/google/android/gms/measurement/internal/zzcn;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzco;->()V -HSPLcom/google/android/gms/measurement/internal/zzco;->()V -HSPLcom/google/android/gms/measurement/internal/zzco;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcp;->()V -HSPLcom/google/android/gms/measurement/internal/zzcp;->()V -HSPLcom/google/android/gms/measurement/internal/zzcp;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcq;->()V -HSPLcom/google/android/gms/measurement/internal/zzcq;->()V -HSPLcom/google/android/gms/measurement/internal/zzcq;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcs;->()V -HSPLcom/google/android/gms/measurement/internal/zzcs;->()V -HSPLcom/google/android/gms/measurement/internal/zzcs;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcu;->()V -HSPLcom/google/android/gms/measurement/internal/zzcu;->()V -HSPLcom/google/android/gms/measurement/internal/zzcu;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcy;->()V -HSPLcom/google/android/gms/measurement/internal/zzcy;->()V -HSPLcom/google/android/gms/measurement/internal/zzcy;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzcz;->()V -HSPLcom/google/android/gms/measurement/internal/zzcz;->()V -HSPLcom/google/android/gms/measurement/internal/zzcz;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzd;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzd;->zzf(J)V -HSPLcom/google/android/gms/measurement/internal/zzd;->zzj(J)V -HSPLcom/google/android/gms/measurement/internal/zzda;->()V -HSPLcom/google/android/gms/measurement/internal/zzda;->()V -HSPLcom/google/android/gms/measurement/internal/zzda;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdb;->()V -HSPLcom/google/android/gms/measurement/internal/zzdb;->()V -HSPLcom/google/android/gms/measurement/internal/zzdb;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdc;->()V -HSPLcom/google/android/gms/measurement/internal/zzdc;->()V -HSPLcom/google/android/gms/measurement/internal/zzdc;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdd;->()V -HSPLcom/google/android/gms/measurement/internal/zzdd;->()V -HSPLcom/google/android/gms/measurement/internal/zzdd;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzde;->()V -HSPLcom/google/android/gms/measurement/internal/zzde;->()V -HSPLcom/google/android/gms/measurement/internal/zzde;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdg;->()V -HSPLcom/google/android/gms/measurement/internal/zzdg;->()V -HSPLcom/google/android/gms/measurement/internal/zzdg;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdh;->()V -HSPLcom/google/android/gms/measurement/internal/zzdh;->()V -HSPLcom/google/android/gms/measurement/internal/zzdh;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdi;->()V -HSPLcom/google/android/gms/measurement/internal/zzdi;->()V -HSPLcom/google/android/gms/measurement/internal/zzdi;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdj;->()V -HSPLcom/google/android/gms/measurement/internal/zzdj;->()V -HSPLcom/google/android/gms/measurement/internal/zzdj;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdk;->()V -HSPLcom/google/android/gms/measurement/internal/zzdk;->()V -HSPLcom/google/android/gms/measurement/internal/zzdk;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdl;->()V -HSPLcom/google/android/gms/measurement/internal/zzdl;->()V -HSPLcom/google/android/gms/measurement/internal/zzdl;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdm;->()V -HSPLcom/google/android/gms/measurement/internal/zzdm;->()V -HSPLcom/google/android/gms/measurement/internal/zzdm;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdn;->()V -HSPLcom/google/android/gms/measurement/internal/zzdn;->()V -HSPLcom/google/android/gms/measurement/internal/zzdn;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdo;->()V -HSPLcom/google/android/gms/measurement/internal/zzdo;->()V -HSPLcom/google/android/gms/measurement/internal/zzdo;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdp;->()V -HSPLcom/google/android/gms/measurement/internal/zzdp;->()V -HSPLcom/google/android/gms/measurement/internal/zzdp;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdq;->()V -HSPLcom/google/android/gms/measurement/internal/zzdq;->()V -HSPLcom/google/android/gms/measurement/internal/zzdq;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdr;->()V -HSPLcom/google/android/gms/measurement/internal/zzdr;->()V -HSPLcom/google/android/gms/measurement/internal/zzdr;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzds;->()V -HSPLcom/google/android/gms/measurement/internal/zzds;->()V -HSPLcom/google/android/gms/measurement/internal/zzds;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdt;->()V -HSPLcom/google/android/gms/measurement/internal/zzdt;->()V -HSPLcom/google/android/gms/measurement/internal/zzdt;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzdu;->()V -HSPLcom/google/android/gms/measurement/internal/zzdu;->()V -HSPLcom/google/android/gms/measurement/internal/zzdu;->zza()Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zze;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zze;->zzg()V -HSPLcom/google/android/gms/measurement/internal/zzea;->()V -HSPLcom/google/android/gms/measurement/internal/zzea;->(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Lcom/google/android/gms/measurement/internal/zzdx;)V -HSPLcom/google/android/gms/measurement/internal/zzea;->zza(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzeb;->()V -HSPLcom/google/android/gms/measurement/internal/zzeb;->zza(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Lcom/google/android/gms/measurement/internal/zzdx;)Lcom/google/android/gms/measurement/internal/zzea; -HSPLcom/google/android/gms/measurement/internal/zzec;->(Landroid/os/IBinder;)V -HSPLcom/google/android/gms/measurement/internal/zzec;->zzd(Lcom/google/android/gms/measurement/internal/zzq;)Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzec;->zzj(Lcom/google/android/gms/measurement/internal/zzq;)V -HSPLcom/google/android/gms/measurement/internal/zzec;->zzk(Lcom/google/android/gms/measurement/internal/zzaw;Lcom/google/android/gms/measurement/internal/zzq;)V -HSPLcom/google/android/gms/measurement/internal/zzec;->zzq(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzec;->zzr(Landroid/os/Bundle;Lcom/google/android/gms/measurement/internal/zzq;)V -HSPLcom/google/android/gms/measurement/internal/zzec;->zzt(Lcom/google/android/gms/measurement/internal/zzlc;Lcom/google/android/gms/measurement/internal/zzq;)V -HSPLcom/google/android/gms/measurement/internal/zzef;->(Lcom/google/android/gms/measurement/internal/zzfy;J)V -HSPLcom/google/android/gms/measurement/internal/zzef;->zzd()V -HSPLcom/google/android/gms/measurement/internal/zzef;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzef;->zzl()Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzef;->zzm()Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzeg;->(Lcom/google/android/gms/measurement/internal/zzeh;Landroid/content/Context;)V -HSPLcom/google/android/gms/measurement/internal/zzeg;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; -HSPLcom/google/android/gms/measurement/internal/zzeg;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/gms/measurement/internal/zzeg;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V -HSPLcom/google/android/gms/measurement/internal/zzeh;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzeh;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzeh;->zzh()Landroid/database/sqlite/SQLiteDatabase; -HSPLcom/google/android/gms/measurement/internal/zzeh;->zzm()V -HSPLcom/google/android/gms/measurement/internal/zzeh;->zzq(I[B)Z -HSPLcom/google/android/gms/measurement/internal/zzej;->()V -HSPLcom/google/android/gms/measurement/internal/zzej;->(Lcom/google/android/gms/measurement/internal/zzha;)V -HSPLcom/google/android/gms/measurement/internal/zzek;->(Landroid/content/Context;Landroid/os/Looper;Lcom/google/android/gms/measurement/internal/zzjr;Lcom/google/android/gms/measurement/internal/zzjr;)V -HSPLcom/google/android/gms/measurement/internal/zzem;->(Lcom/google/android/gms/measurement/internal/zzeo;IZZ)V -HSPLcom/google/android/gms/measurement/internal/zzem;->zza(Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzem;->zzb(Ljava/lang/Object;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzem;->zzc(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzeo;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzeo;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzeo;->zzo(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzeo;->zzp(Ljava/lang/Object;Z)Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzeo;->zzq()Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzeo;->zzt(IZZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/android/gms/measurement/internal/zzex;->(Lcom/google/android/gms/measurement/internal/zzfd;Ljava/lang/String;Z)V -HSPLcom/google/android/gms/measurement/internal/zzex;->zza(Z)V -HSPLcom/google/android/gms/measurement/internal/zzex;->zzb()Z -HSPLcom/google/android/gms/measurement/internal/zzey;->(Lcom/google/android/gms/measurement/internal/zzfd;)V -HSPLcom/google/android/gms/measurement/internal/zzey;->zza()Landroid/os/Bundle; -HSPLcom/google/android/gms/measurement/internal/zzez;->(Lcom/google/android/gms/measurement/internal/zzfd;Ljava/lang/String;J)V -HSPLcom/google/android/gms/measurement/internal/zzez;->zza()J -HSPLcom/google/android/gms/measurement/internal/zzez;->zzb(J)V -HSPLcom/google/android/gms/measurement/internal/zzf;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzf;->zza()V -HSPLcom/google/android/gms/measurement/internal/zzf;->zzb$1()V -HSPLcom/google/android/gms/measurement/internal/zzfb;->(Lcom/google/android/gms/measurement/internal/zzfd;J)V -HSPLcom/google/android/gms/measurement/internal/zzfb;->zzd()V -HSPLcom/google/android/gms/measurement/internal/zzfc;->(Lcom/google/android/gms/measurement/internal/zzfd;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzfc;->zza()Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzfc;->zzb(Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzfd;->()V -HSPLcom/google/android/gms/measurement/internal/zzfd;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzfd;->zza()Landroid/content/SharedPreferences; -HSPLcom/google/android/gms/measurement/internal/zzfd;->zzaA()V -HSPLcom/google/android/gms/measurement/internal/zzfd;->zzc()Lcom/google/android/gms/measurement/internal/zzai; -HSPLcom/google/android/gms/measurement/internal/zzfd;->zzd()Ljava/lang/Boolean; -HSPLcom/google/android/gms/measurement/internal/zzfd;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzfd;->zzi(Z)V -HSPLcom/google/android/gms/measurement/internal/zzfd;->zzk(J)Z -HSPLcom/google/android/gms/measurement/internal/zzfq;->zza(Landroid/content/Context;)Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzfs;->(Lcom/google/android/gms/measurement/internal/zzfv;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzft;->(Lcom/google/android/gms/measurement/internal/zzfv;Ljava/lang/Runnable;ZLjava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzft;->compareTo(Ljava/lang/Object;)I -HSPLcom/google/android/gms/measurement/internal/zzfu;->(Lcom/google/android/gms/measurement/internal/zzfv;Ljava/lang/String;Ljava/util/concurrent/BlockingQueue;)V -HSPLcom/google/android/gms/measurement/internal/zzfu;->run()V -HSPLcom/google/android/gms/measurement/internal/zzfv;->()V -HSPLcom/google/android/gms/measurement/internal/zzfv;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzfv;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzfv;->zzg()V -HSPLcom/google/android/gms/measurement/internal/zzfv;->zzp(Ljava/lang/Runnable;)V -HSPLcom/google/android/gms/measurement/internal/zzfv;->zzt(Lcom/google/android/gms/measurement/internal/zzft;)V -HSPLcom/google/android/gms/measurement/internal/zzfx;->(Lcom/google/android/gms/measurement/internal/zzfy;Lcom/google/android/gms/measurement/internal/zzhb;)V -HSPLcom/google/android/gms/measurement/internal/zzfx;->run()V -HSPLcom/google/android/gms/measurement/internal/zzfy;->(Lcom/google/android/gms/measurement/internal/zzhb;)V -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzB$1()V -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzJ()Z -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzM()Z -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzQ(Lcom/google/android/gms/measurement/internal/zzf;)V -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzR(Lcom/google/android/gms/measurement/internal/zzgs;)V -HSPLcom/google/android/gms/measurement/internal/zzfy;->zza()I -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzau()Landroid/content/Context; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzav()Lcom/google/android/gms/common/util/Clock; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzay()Lcom/google/android/gms/measurement/internal/zzeo; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzaz()Lcom/google/android/gms/measurement/internal/zzfv; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzd()Lcom/google/android/gms/measurement/internal/zzd; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzg()Lcom/google/android/gms/measurement/internal/zzaq; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzh()Lcom/google/android/gms/measurement/internal/zzef; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzi()Lcom/google/android/gms/measurement/internal/zzeh; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzm()Lcom/google/android/gms/measurement/internal/zzfd; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzp(Landroid/content/Context;Lcom/google/android/gms/internal/measurement/zzcl;Ljava/lang/Long;)Lcom/google/android/gms/measurement/internal/zzfy; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzq()Lcom/google/android/gms/measurement/internal/zzid; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzs()Lcom/google/android/gms/measurement/internal/zzis; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzt()Lcom/google/android/gms/measurement/internal/zzjs; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzu()Lcom/google/android/gms/measurement/internal/zzki; -HSPLcom/google/android/gms/measurement/internal/zzfy;->zzv()Lcom/google/android/gms/measurement/internal/zzlh; -HSPLcom/google/android/gms/measurement/internal/zzgr;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzgr;->zzg()V -HSPLcom/google/android/gms/measurement/internal/zzgs;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzgs;->zzu()V -HSPLcom/google/android/gms/measurement/internal/zzgs;->zzv()V -HSPLcom/google/android/gms/measurement/internal/zzgx;->()V -HSPLcom/google/android/gms/measurement/internal/zzha;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzhb;->(Landroid/content/Context;Lcom/google/android/gms/internal/measurement/zzcl;Ljava/lang/Long;)V -HSPLcom/google/android/gms/measurement/internal/zzhr;->(Lcom/google/android/gms/measurement/internal/zzid;)V -HSPLcom/google/android/gms/measurement/internal/zzic;->(Lcom/google/android/gms/measurement/internal/zzid;)V -HSPLcom/google/android/gms/measurement/internal/zzic;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/measurement/internal/zzic;->onActivityDestroyed(Landroid/app/Activity;)V -HSPLcom/google/android/gms/measurement/internal/zzic;->onActivityPaused(Landroid/app/Activity;)V -HSPLcom/google/android/gms/measurement/internal/zzic;->onActivityResumed(Landroid/app/Activity;)V -HSPLcom/google/android/gms/measurement/internal/zzid;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzid;->zzB$1()V -HSPLcom/google/android/gms/measurement/internal/zzid;->zzE(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ZZJ)V -HSPLcom/google/android/gms/measurement/internal/zzid;->zzG(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/measurement/internal/zzid;->zzH(JLandroid/os/Bundle;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzid;->zzI(Ljava/lang/String;Ljava/lang/String;JLandroid/os/Bundle;ZZZLjava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzid;->zzV(Lcom/google/android/gms/measurement/internal/zzai;)V -HSPLcom/google/android/gms/measurement/internal/zzid;->zzY(JLjava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzid;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzid;->zzz()V -HSPLcom/google/android/gms/measurement/internal/zzih;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzih;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzij;->zzc(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzik;->(Ljava/lang/String;Ljava/lang/String;J)V -HSPLcom/google/android/gms/measurement/internal/zzik;->(Ljava/lang/String;Ljava/lang/String;JZJ)V -HSPLcom/google/android/gms/measurement/internal/zzim;->(Lcom/google/android/gms/measurement/internal/zzis;Landroid/os/Bundle;Lcom/google/android/gms/measurement/internal/zzik;Lcom/google/android/gms/measurement/internal/zzik;J)V -HSPLcom/google/android/gms/measurement/internal/zzim;->run()V -HSPLcom/google/android/gms/measurement/internal/zzin;->(Lcom/google/android/gms/measurement/internal/zzis;Lcom/google/android/gms/measurement/internal/zzik;Lcom/google/android/gms/measurement/internal/zzik;JZ)V -HSPLcom/google/android/gms/measurement/internal/zzin;->run()V -HSPLcom/google/android/gms/measurement/internal/zziq;->(Lcom/google/android/gms/measurement/internal/zzis;Lcom/google/android/gms/measurement/internal/zzik;J)V -HSPLcom/google/android/gms/measurement/internal/zziq;->run()V -HSPLcom/google/android/gms/measurement/internal/zzir;->(Lcom/google/android/gms/measurement/internal/zzis;)V -HSPLcom/google/android/gms/measurement/internal/zzir;->run()V -HSPLcom/google/android/gms/measurement/internal/zzis;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzis;->zzA(Lcom/google/android/gms/measurement/internal/zzik;Lcom/google/android/gms/measurement/internal/zzik;JZLandroid/os/Bundle;)V -HSPLcom/google/android/gms/measurement/internal/zzis;->zzB(Lcom/google/android/gms/measurement/internal/zzik;ZJ)V -HSPLcom/google/android/gms/measurement/internal/zzis;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzis;->zzj(Z)Lcom/google/android/gms/measurement/internal/zzik; -HSPLcom/google/android/gms/measurement/internal/zzis;->zzl(Ljava/lang/Class;)Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzis;->zzr(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/measurement/internal/zzis;->zzy(Landroid/app/Activity;)Lcom/google/android/gms/measurement/internal/zzik; -HSPLcom/google/android/gms/measurement/internal/zzis;->zzz(Landroid/app/Activity;Lcom/google/android/gms/measurement/internal/zzik;Z)V -HSPLcom/google/android/gms/measurement/internal/zziu;->(Lcom/google/android/gms/measurement/internal/zzjs;Lcom/google/android/gms/measurement/internal/zzq;ZLcom/google/android/gms/measurement/internal/zzlc;)V -HSPLcom/google/android/gms/measurement/internal/zziu;->run()V -HSPLcom/google/android/gms/measurement/internal/zzix;->(Lcom/google/android/gms/measurement/internal/zzjs;Ljava/util/concurrent/atomic/AtomicReference;Lcom/google/android/gms/measurement/internal/zzq;)V -HSPLcom/google/android/gms/measurement/internal/zzix;->run()V -HSPLcom/google/android/gms/measurement/internal/zziz;->(Lcom/google/android/gms/measurement/internal/zzjs;Lcom/google/android/gms/measurement/internal/zzq;)V -HSPLcom/google/android/gms/measurement/internal/zziz;->run()V -HSPLcom/google/android/gms/measurement/internal/zzja;->(Lcom/google/android/gms/measurement/internal/zzjs;Lcom/google/android/gms/measurement/internal/zzik;)V -HSPLcom/google/android/gms/measurement/internal/zzja;->run()V -HSPLcom/google/android/gms/measurement/internal/zzjb;->(Lcom/google/android/gms/measurement/internal/zzjs;Lcom/google/android/gms/measurement/internal/zzq;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/measurement/internal/zzjb;->run()V -HSPLcom/google/android/gms/measurement/internal/zzjc;->(Lcom/google/android/gms/measurement/internal/zzjs;Lcom/google/android/gms/measurement/internal/zzgt;)V -HSPLcom/google/android/gms/measurement/internal/zzje;->(Lcom/google/android/gms/measurement/internal/zzjs;Lcom/google/android/gms/measurement/internal/zzgt;)V -HSPLcom/google/android/gms/measurement/internal/zzjh;->(Lcom/google/android/gms/measurement/internal/zzjs;Lcom/google/android/gms/measurement/internal/zzq;ZLcom/google/android/gms/measurement/internal/zzaw;)V -HSPLcom/google/android/gms/measurement/internal/zzjh;->run()V -HSPLcom/google/android/gms/measurement/internal/zzjo;->(Lcom/google/android/gms/measurement/internal/zzjr;Lcom/google/android/gms/measurement/internal/zzee;)V -HSPLcom/google/android/gms/measurement/internal/zzjo;->run()V -HSPLcom/google/android/gms/measurement/internal/zzjr;->(Lcom/google/android/gms/measurement/internal/zzjs;)V -HSPLcom/google/android/gms/measurement/internal/zzjs;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzD(Lcom/google/android/gms/measurement/internal/zzee;Lcom/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable;Lcom/google/android/gms/measurement/internal/zzq;)V -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzL()Z -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzN()Z -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzO(Z)Lcom/google/android/gms/measurement/internal/zzq; -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzP$1()V -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzQ()V -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzR(Ljava/lang/Runnable;)V -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzr()V -HSPLcom/google/android/gms/measurement/internal/zzjs;->zzu(Ljava/util/concurrent/atomic/AtomicReference;)V -HSPLcom/google/android/gms/measurement/internal/zzka;->(Lcom/google/android/gms/measurement/internal/zzki;J)V -HSPLcom/google/android/gms/measurement/internal/zzka;->run()V -HSPLcom/google/android/gms/measurement/internal/zzkb;->(Lcom/google/android/gms/measurement/internal/zzki;J)V -HSPLcom/google/android/gms/measurement/internal/zzkb;->run()V -HSPLcom/google/android/gms/measurement/internal/zzkd;->(Lcom/google/android/gms/measurement/internal/zzke;JJ)V -HSPLcom/google/android/gms/measurement/internal/zzke;->(Lcom/google/android/gms/measurement/internal/zzki;)V -HSPLcom/google/android/gms/measurement/internal/zzkf;->(Lcom/google/android/gms/measurement/internal/zzkg;Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzkg;->(Lcom/google/android/gms/measurement/internal/zzki;)V -HSPLcom/google/android/gms/measurement/internal/zzkg;->zzd(JZZ)Z -HSPLcom/google/android/gms/measurement/internal/zzkh;->(Lcom/google/android/gms/measurement/internal/zzki;)V -HSPLcom/google/android/gms/measurement/internal/zzkh;->zza()V -HSPLcom/google/android/gms/measurement/internal/zzkh;->zzb(ZJ)V -HSPLcom/google/android/gms/measurement/internal/zzkh;->zzc(ZJ)V -HSPLcom/google/android/gms/measurement/internal/zzki;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzki;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzki;->zzm$2()V -HSPLcom/google/android/gms/measurement/internal/zzkj;->(Lcom/google/android/gms/common/util/Clock;)V -HSPLcom/google/android/gms/measurement/internal/zzkr;->()V -HSPLcom/google/android/gms/measurement/internal/zzlc;->()V -HSPLcom/google/android/gms/measurement/internal/zzlc;->(ILjava/lang/String;JLjava/lang/Long;Ljava/lang/Float;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;)V -HSPLcom/google/android/gms/measurement/internal/zzlc;->(JLjava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzlc;->writeToParcel(Landroid/os/Parcel;I)V -HSPLcom/google/android/gms/measurement/internal/zzld;->()V -HSPLcom/google/android/gms/measurement/internal/zzld;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzld;->zza(Lcom/google/android/gms/measurement/internal/zzlc;Landroid/os/Parcel;)V -HSPLcom/google/android/gms/measurement/internal/zzlh;->()V -HSPLcom/google/android/gms/measurement/internal/zzlh;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzA(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzC()Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzD(IZLjava/lang/String;)Ljava/lang/String; -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzF()Ljava/security/MessageDigest; -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzG()Ljava/security/SecureRandom; -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzI(Landroid/os/Bundle;J)V -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzK(Lcom/google/android/gms/measurement/internal/zzik;Landroid/os/Bundle;Z)V -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzL(Landroid/os/Bundle;Landroid/os/Bundle;)V -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzO(Landroid/os/Bundle;Ljava/lang/String;Ljava/lang/Object;)V -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzX(Ljava/lang/String;Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzY(ILjava/lang/String;Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzZ(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zza(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Landroid/os/Bundle;Ljava/util/List;ZZ)I -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzaA()V -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzaa(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzab(Ljava/lang/String;Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzad(Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzaf(Ljava/lang/Object;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzag(Landroid/content/Context;Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzah(Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzai(Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzaj(Landroid/content/Context;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzak(Landroid/content/Context;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzam(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzar(ILjava/lang/Object;ZZ)Ljava/lang/Object; -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzas(Ljava/lang/String;[Ljava/lang/String;)Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzf()Z -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzh(Ljava/lang/String;)I -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzi(Ljava/lang/String;)I -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzm()I -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzp([B)J -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzq()J -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzt(Landroid/os/Bundle;)Landroid/os/Bundle; -HSPLcom/google/android/gms/measurement/internal/zzlh;->zzy(Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;Z)Landroid/os/Bundle; -HSPLcom/google/android/gms/measurement/internal/zzp;->(Lcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService;Lcom/google/android/gms/internal/measurement/zzci;)V -HSPLcom/google/android/gms/measurement/internal/zzp;->onEvent(JLandroid/os/Bundle;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzq;->()V -HSPLcom/google/android/gms/measurement/internal/zzq;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;JJLjava/lang/String;ZZLjava/lang/String;JIZZLjava/lang/String;Ljava/lang/Boolean;JLjava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/android/gms/measurement/internal/zzq;->writeToParcel(Landroid/os/Parcel;I)V -HSPLcom/google/android/gms/measurement/internal/zzr;->()V -HSPLcom/google/android/gms/measurement/internal/zzs;->(Lcom/google/android/gms/measurement/internal/zzfy;)V -HSPLcom/google/android/gms/measurement/internal/zzs;->zzd()Z -HSPLcom/google/android/gms/tasks/Task;->()V -HSPLcom/google/android/gms/tasks/TaskCompletionSource;->()V -HSPLcom/google/android/gms/tasks/TaskCompletionSource;->trySetResult(Ljava/lang/Object;)V -HSPLcom/google/android/gms/tasks/TaskExecutors;->()V -HSPLcom/google/android/gms/tasks/Tasks;->await(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; -HSPLcom/google/android/gms/tasks/Tasks;->await(Lcom/google/android/gms/tasks/zzw;Ljava/util/concurrent/TimeUnit;)Ljava/lang/Object; -HSPLcom/google/android/gms/tasks/Tasks;->call(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Callable;)Lcom/google/android/gms/tasks/zzw; -HSPLcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/zzw; -HSPLcom/google/android/gms/tasks/Tasks;->zza(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; -HSPLcom/google/android/gms/tasks/zzad;->()V -HSPLcom/google/android/gms/tasks/zzad;->onSuccess(Ljava/lang/Object;)V -HSPLcom/google/android/gms/tasks/zzc;->(Lcom/google/android/gms/tasks/zzd;Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzc;->run()V -HSPLcom/google/android/gms/tasks/zzd;->(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;Lcom/google/android/gms/tasks/zzw;)V -HSPLcom/google/android/gms/tasks/zzd;->zzd(Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzh;->(Lcom/google/android/gms/tasks/zzt;Lcom/google/android/gms/tasks/OnCanceledListener;)V -HSPLcom/google/android/gms/tasks/zzh;->zzd(Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzl;->(Lcom/google/android/gms/tasks/zzt;Lcom/google/android/gms/tasks/OnFailureListener;)V -HSPLcom/google/android/gms/tasks/zzl;->zzd(Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzm;->(Lcom/google/android/gms/tasks/zzn;Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzm;->run()V -HSPLcom/google/android/gms/tasks/zzn;->(Lcom/google/android/gms/tasks/zzt;Lcom/google/android/gms/tasks/OnSuccessListener;)V -HSPLcom/google/android/gms/tasks/zzn;->zzd(Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzo;->(Lcom/google/android/gms/tasks/zzp;Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzo;->run()V -HSPLcom/google/android/gms/tasks/zzp;->(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/SuccessContinuation;Lcom/google/android/gms/tasks/zzw;)V -HSPLcom/google/android/gms/tasks/zzp;->zzd(Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzr;->()V -HSPLcom/google/android/gms/tasks/zzr;->zza(Lcom/google/android/gms/tasks/zzq;)V -HSPLcom/google/android/gms/tasks/zzr;->zzb(Lcom/google/android/gms/tasks/Task;)V -HSPLcom/google/android/gms/tasks/zzt;->()V -HSPLcom/google/android/gms/tasks/zzt;->execute(Ljava/lang/Runnable;)V -HSPLcom/google/android/gms/tasks/zzu;->()V -HSPLcom/google/android/gms/tasks/zzw;->()V -HSPLcom/google/android/gms/tasks/zzw;->addOnCanceledListener(Lcom/google/android/gms/tasks/zzt;Lcom/google/android/gms/tasks/OnCanceledListener;)V -HSPLcom/google/android/gms/tasks/zzw;->addOnFailureListener(Lcom/google/android/gms/tasks/zzt;Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/zzw; -HSPLcom/google/android/gms/tasks/zzw;->addOnSuccessListener(Lcom/google/android/gms/tasks/zzt;Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/zzw; -HSPLcom/google/android/gms/tasks/zzw;->continueWith(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task; -HSPLcom/google/android/gms/tasks/zzw;->getResult()Ljava/lang/Object; -HSPLcom/google/android/gms/tasks/zzw;->isCanceled()Z -HSPLcom/google/android/gms/tasks/zzw;->isComplete()Z -HSPLcom/google/android/gms/tasks/zzw;->isSuccessful()Z -HSPLcom/google/android/gms/tasks/zzw;->onSuccessTask(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/SuccessContinuation;)Lcom/google/android/gms/tasks/Task; -HSPLcom/google/android/gms/tasks/zzw;->zzb(Ljava/lang/Object;)V -HSPLcom/google/android/gms/tasks/zzw;->zzh()V -HSPLcom/google/android/gms/tasks/zzw;->zzi()V -HSPLcom/google/android/gms/tasks/zzz;->(Lcom/google/android/gms/tasks/zzw;Ljava/util/concurrent/Callable;)V -HSPLcom/google/android/gms/tasks/zzz;->run()V -HSPLcom/google/android/material/color/DynamicColors$1;->()V -HSPLcom/google/android/material/color/DynamicColors$2;->()V -HSPLcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks;->(Lcom/google/android/material/color/DynamicColorsOptions;)V -HSPLcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks;->onActivityDestroyed(Landroid/app/Activity;)V -HSPLcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks;->onActivityPaused(Landroid/app/Activity;)V -HSPLcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks;->onActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -HSPLcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks;->onActivityResumed(Landroid/app/Activity;)V -HSPLcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V -HSPLcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks;->onActivityStopped(Landroid/app/Activity;)V -HSPLcom/google/android/material/color/DynamicColors;->()V -HSPLcom/google/android/material/color/DynamicColors;->applyToActivityIfAvailable(Landroid/app/Activity;Lcom/google/android/material/color/DynamicColorsOptions$1;Lcom/google/android/material/color/DynamicColorsOptions$2;)V -HSPLcom/google/android/material/color/DynamicColorsOptions$1;->()V -HSPLcom/google/android/material/color/DynamicColorsOptions$2;->()V -HSPLcom/google/android/material/color/DynamicColorsOptions$Builder;->()V -HSPLcom/google/android/material/color/DynamicColorsOptions;->()V -HSPLcom/google/android/material/color/DynamicColorsOptions;->(Lcom/google/android/material/color/DynamicColorsOptions$Builder;)V -HSPLcom/google/android/material/composethemeadapter3/FontFamilyWithWeight;->(Landroidx/compose/ui/text/font/FontFamily;)V -HSPLcom/google/android/material/composethemeadapter3/FontFamilyWithWeight;->(Landroidx/compose/ui/text/font/FontFamily;Landroidx/compose/ui/text/font/FontWeight;)V -HSPLcom/google/android/material/composethemeadapter3/Mdc3Theme$Mdc3Theme$1;->(ILkotlin/jvm/functions/Function2;)V -HSPLcom/google/android/material/composethemeadapter3/Mdc3Theme$Mdc3Theme$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/material/composethemeadapter3/Mdc3Theme$Mdc3Theme$2;->(Landroid/content/Context;ZZZZZLkotlin/jvm/functions/Function2;II)V -HSPLcom/google/android/material/composethemeadapter3/Mdc3Theme;->()V -HSPLcom/google/android/material/composethemeadapter3/Mdc3Theme;->Mdc3Theme(Landroid/content/Context;ZZZZZLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V -HSPLcom/google/android/material/composethemeadapter3/R$styleable;->()V -HSPLcom/google/android/material/composethemeadapter3/Theme3Parameters;->(Landroidx/compose/material3/ColorScheme;Landroidx/compose/material3/Typography;Landroidx/compose/material3/Shapes;)V -HSPLcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt$$ExternalSyntheticApiModelOutline0;->m(Landroid/util/TypedValue;)I -HSPLcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt;->()V -HSPLcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt;->getComposeColor-mxwnekA$default(Landroid/content/res/TypedArray;I)J -HSPLcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt;->getCornerSizeOrNull(Landroid/content/res/TypedArray;I)Landroidx/compose/foundation/shape/CornerSize; -HSPLcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt;->getFontFamilyOrNull(Landroid/content/res/TypedArray;I)Lcom/google/android/material/composethemeadapter3/FontFamilyWithWeight; -HSPLcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt;->getTextUnitOrNull(Landroid/content/res/TypedArray;ILandroidx/compose/ui/unit/Density;)Landroidx/compose/ui/unit/TextUnit; -HSPLcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt;->parseShapeAppearance(Landroid/content/Context;ILandroidx/compose/foundation/shape/CornerBasedShape;Landroidx/compose/ui/unit/LayoutDirection;)Landroidx/compose/foundation/shape/CornerBasedShape; -HSPLcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt;->textStyleFromTextAppearance(Landroid/content/Context;Landroidx/compose/ui/unit/Density;IZLandroidx/compose/ui/text/font/FontFamily;)Landroidx/compose/ui/text/TextStyle; -HSPLcom/google/android/material/theme/MaterialComponentsViewInflater;->()V -HSPLcom/google/android/play/core/appupdate/a;->(Landroid/content/Context;)V -HSPLcom/google/android/play/core/appupdate/b;->(Lcom/google/android/play/core/internal/cn;)V -HSPLcom/google/android/play/core/appupdate/b;->a()Ljava/lang/Object; -HSPLcom/google/android/play/core/appupdate/e;->(Lcom/google/android/play/core/appupdate/p;Lcom/google/android/play/core/appupdate/a;Landroid/content/Context;)V -HSPLcom/google/android/play/core/appupdate/e;->getAppUpdateInfo()Lcom/google/android/play/core/tasks/m; -HSPLcom/google/android/play/core/appupdate/e;->unregisterListener(Lcom/google/android/play/core/ktx/AppUpdatePassthroughListener;)V -HSPLcom/google/android/play/core/appupdate/f;->(Lcom/google/android/play/core/internal/cn;Lcom/google/android/play/core/internal/cn;Lcom/google/android/play/core/internal/cn;)V -HSPLcom/google/android/play/core/appupdate/f;->a()Ljava/lang/Object; -HSPLcom/google/android/play/core/appupdate/g;->(Landroid/content/Context;)V -HSPLcom/google/android/play/core/appupdate/h;->(Lcom/google/android/play/core/internal/cn;)V -HSPLcom/google/android/play/core/appupdate/h;->a()Ljava/lang/Object; -HSPLcom/google/android/play/core/appupdate/i;->(Lcom/google/android/play/core/appupdate/g;)V -HSPLcom/google/android/play/core/appupdate/j;->()V -HSPLcom/google/android/play/core/appupdate/j;->()V -HSPLcom/google/android/play/core/appupdate/k;->(Lcom/google/android/play/core/appupdate/p;Lcom/google/android/play/core/tasks/i;Lcom/google/android/play/core/tasks/i;Ljava/lang/String;)V -HSPLcom/google/android/play/core/appupdate/p;->()V -HSPLcom/google/android/play/core/appupdate/p;->(Landroid/content/Context;Lcom/google/android/play/core/appupdate/r;)V -HSPLcom/google/android/play/core/appupdate/q;->(Lcom/google/android/play/core/internal/cn;Lcom/google/android/play/core/internal/cn;)V -HSPLcom/google/android/play/core/appupdate/q;->a()Ljava/lang/Object; -HSPLcom/google/android/play/core/appupdate/r;->(Landroid/content/Context;)V -HSPLcom/google/android/play/core/appupdate/s;->(Lcom/google/android/play/core/appupdate/i;)V -HSPLcom/google/android/play/core/appupdate/s;->a()Ljava/lang/Object; -HSPLcom/google/android/play/core/appupdate/y;->(Lcom/google/android/play/core/appupdate/g;)V -HSPLcom/google/android/play/core/internal/af;->(Ljava/lang/String;)V -HSPLcom/google/android/play/core/internal/af;->a(ILjava/lang/String;[Ljava/lang/Object;)V -HSPLcom/google/android/play/core/internal/af;->a(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; -HSPLcom/google/android/play/core/internal/ag;->(Lcom/google/android/play/core/tasks/i;)V -HSPLcom/google/android/play/core/internal/ag;->run()V -HSPLcom/google/android/play/core/internal/ah;->(Lcom/google/android/play/core/internal/ap;)V -HSPLcom/google/android/play/core/internal/ai;->(Lcom/google/android/play/core/internal/ap;Lcom/google/android/play/core/tasks/i;Lcom/google/android/play/core/internal/ag;)V -HSPLcom/google/android/play/core/internal/ai;->a()V -HSPLcom/google/android/play/core/internal/ao;->(Lcom/google/android/play/core/internal/ap;)V -HSPLcom/google/android/play/core/internal/ap;->()V -HSPLcom/google/android/play/core/internal/ap;->(Landroid/content/Context;Lcom/google/android/play/core/internal/af;Ljava/lang/String;Landroid/content/Intent;Lcom/google/android/play/core/internal/al;)V -HSPLcom/google/android/play/core/internal/ap;->a(Lcom/google/android/play/core/internal/ag;)V -HSPLcom/google/android/play/core/internal/ap;->b(Lcom/google/android/play/core/internal/ag;)V -HSPLcom/google/android/play/core/internal/aq;->()V -HSPLcom/google/android/play/core/internal/bq;->b(Ljava/lang/Object;)V -HSPLcom/google/android/play/core/internal/by;->()V -HSPLcom/google/android/play/core/internal/by;->a(Landroid/content/Context;)Z -HSPLcom/google/android/play/core/internal/cl;->()V -HSPLcom/google/android/play/core/internal/cl;->(Lcom/google/android/play/core/internal/cn;)V -HSPLcom/google/android/play/core/internal/cl;->a()Ljava/lang/Object; -HSPLcom/google/android/play/core/internal/cl;->a(Lcom/google/android/play/core/internal/cn;)Lcom/google/android/play/core/internal/cn; -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$1;->(Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1;Lkotlinx/coroutines/channels/ProducerScope;Lcom/google/android/play/core/ktx/AppUpdatePassthroughListener;)V -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$2;->(Lkotlinx/coroutines/channels/ProducerScope;)V -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$2;->onFailure(Ljava/lang/Exception;)V -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$3;->(Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1;Lcom/google/android/play/core/ktx/AppUpdatePassthroughListener;)V -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$3;->invoke()Ljava/lang/Object; -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$globalUpdateListener$1;->(Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1;Lkotlinx/coroutines/channels/ProducerScope;)V -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$globalUpdateListener$2;->(Lkotlinx/coroutines/channels/ProducerScope;)V -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1;->(Lcom/google/android/play/core/appupdate/AppUpdateManager;Lkotlin/coroutines/Continuation;)V -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/android/play/core/ktx/AppUpdatePassthroughListener;->(Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$globalUpdateListener$1;Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$globalUpdateListener$2;)V -HSPLcom/google/android/play/core/ktx/AppUpdateResult$NotAvailable;->()V -HSPLcom/google/android/play/core/ktx/AppUpdateResult$NotAvailable;->()V -HSPLcom/google/android/play/core/ktx/AppUpdateResult;->()V -HSPLcom/google/android/play/core/listener/b;->(Lcom/google/android/play/core/internal/af;Landroid/content/IntentFilter;Landroid/content/Context;)V -HSPLcom/google/android/play/core/listener/b;->c()V -HSPLcom/google/android/play/core/tasks/TaskExecutors;->()V -HSPLcom/google/android/play/core/tasks/c;->(Lcom/google/android/play/core/tasks/d;Lcom/google/android/play/core/tasks/m;)V -HSPLcom/google/android/play/core/tasks/c;->run()V -HSPLcom/google/android/play/core/tasks/d;->(Ljava/util/concurrent/Executor;Lcom/google/android/play/core/tasks/OnFailureListener;)V -HSPLcom/google/android/play/core/tasks/d;->a(Lcom/google/android/play/core/tasks/m;)V -HSPLcom/google/android/play/core/tasks/f;->(Ljava/util/concurrent/Executor;Lcom/google/android/play/core/tasks/OnSuccessListener;)V -HSPLcom/google/android/play/core/tasks/f;->a(Lcom/google/android/play/core/tasks/m;)V -HSPLcom/google/android/play/core/tasks/h;->()V -HSPLcom/google/android/play/core/tasks/h;->a(Lcom/google/android/play/core/tasks/m;)V -HSPLcom/google/android/play/core/tasks/i;->()V -HSPLcom/google/android/play/core/tasks/i;->b(Ljava/lang/Exception;)V -HSPLcom/google/android/play/core/tasks/k;->()V -HSPLcom/google/android/play/core/tasks/l;->()V -HSPLcom/google/android/play/core/tasks/l;->execute(Ljava/lang/Runnable;)V -HSPLcom/google/android/play/core/tasks/m;->()V -HSPLcom/google/android/play/core/tasks/m;->addOnFailureListener(Ljava/util/concurrent/Executor;Lcom/google/android/play/core/tasks/OnFailureListener;)V -HSPLcom/google/android/play/core/tasks/m;->addOnSuccessListener(Ljava/util/concurrent/Executor;Lcom/google/android/play/core/tasks/OnSuccessListener;)V -HSPLcom/google/android/play/core/tasks/m;->isSuccessful()Z -HSPLcom/google/firebase/FirebaseApp$$ExternalSyntheticLambda0;->(Lcom/google/firebase/FirebaseApp;Landroid/content/Context;)V -HSPLcom/google/firebase/FirebaseApp$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; -HSPLcom/google/firebase/FirebaseApp$$ExternalSyntheticLambda1;->(Lcom/google/firebase/FirebaseApp;)V -HSPLcom/google/firebase/FirebaseApp$GlobalBackgroundStateListener;->()V -HSPLcom/google/firebase/FirebaseApp$GlobalBackgroundStateListener;->()V -HSPLcom/google/firebase/FirebaseApp$UiExecutor;->()V -HSPLcom/google/firebase/FirebaseApp$UiExecutor;->()V -HSPLcom/google/firebase/FirebaseApp;->()V -HSPLcom/google/firebase/FirebaseApp;->(Landroid/content/Context;Lcom/google/firebase/FirebaseOptions;Ljava/lang/String;)V -HSPLcom/google/firebase/FirebaseApp;->checkNotDeleted()V -HSPLcom/google/firebase/FirebaseApp;->getInstance()Lcom/google/firebase/FirebaseApp; -HSPLcom/google/firebase/FirebaseApp;->getPersistenceKey()Ljava/lang/String; -HSPLcom/google/firebase/FirebaseApp;->initializeAllApis()V -HSPLcom/google/firebase/FirebaseApp;->initializeApp(Landroid/content/Context;Lcom/google/firebase/FirebaseOptions;)Lcom/google/firebase/FirebaseApp; -HSPLcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda0;->extract(Landroid/content/Context;)Ljava/lang/String; -HSPLcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda1;->()V -HSPLcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda1;->extract(Landroid/content/Context;)Ljava/lang/String; -HSPLcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda2;->()V -HSPLcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda2;->extract(Landroid/content/Context;)Ljava/lang/String; -HSPLcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda3;->()V -HSPLcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda3;->extract(Landroid/content/Context;)Ljava/lang/String; -HSPLcom/google/firebase/FirebaseCommonRegistrar;->$r8$lambda$lmqwsm474glUdjxQuX0286DJQr0(Landroid/content/Context;)Ljava/lang/String; -HSPLcom/google/firebase/FirebaseCommonRegistrar;->()V -HSPLcom/google/firebase/FirebaseCommonRegistrar;->getComponents()Ljava/util/List; -HSPLcom/google/firebase/FirebaseCommonRegistrar;->safeValue(Ljava/lang/String;)Ljava/lang/String; -HSPLcom/google/firebase/FirebaseOptions;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/FirebaseOptions;->fromResource(Landroid/content/Context;)Lcom/google/firebase/FirebaseOptions; -HSPLcom/google/firebase/analytics/FirebaseAnalytics;->(Lcom/google/android/gms/internal/measurement/zzee;)V -HSPLcom/google/firebase/analytics/FirebaseAnalytics;->getFirebaseInstanceId()Ljava/lang/String; -HSPLcom/google/firebase/analytics/FirebaseAnalytics;->getInstance(Landroid/content/Context;)Lcom/google/firebase/analytics/FirebaseAnalytics; -HSPLcom/google/firebase/analytics/connector/AnalyticsConnectorImpl$1;->()V -HSPLcom/google/firebase/analytics/connector/AnalyticsConnectorImpl;->(Lcom/google/android/gms/measurement/api/AppMeasurementSdk;)V -HSPLcom/google/firebase/analytics/connector/AnalyticsConnectorImpl;->registerAnalyticsConnectorListener(Ljava/lang/String;Lcom/google/firebase/crashlytics/CrashlyticsAnalyticsListener;)Lcom/google/firebase/analytics/connector/AnalyticsConnectorImpl$1; -HSPLcom/google/firebase/analytics/connector/internal/AnalyticsConnectorRegistrar;->()V -HSPLcom/google/firebase/analytics/connector/internal/AnalyticsConnectorRegistrar;->getComponents()Ljava/util/List; -HSPLcom/google/firebase/analytics/connector/internal/AnalyticsConnectorRegistrar;->lambda$getComponents$0(Lcom/google/firebase/components/ComponentContainer;)Lcom/google/firebase/analytics/connector/AnalyticsConnector; -HSPLcom/google/firebase/analytics/connector/internal/zzb;->()V -HSPLcom/google/firebase/analytics/connector/internal/zzb;->()V -HSPLcom/google/firebase/analytics/connector/internal/zzb;->create(Lcom/google/firebase/components/RestrictedComponentContainer;)Ljava/lang/Object; -HSPLcom/google/firebase/analytics/connector/internal/zzc;->()V -HSPLcom/google/firebase/analytics/connector/internal/zzf;->(Lcom/google/firebase/analytics/connector/internal/zzg;)V -HSPLcom/google/firebase/analytics/connector/internal/zzf;->onEvent(JLandroid/os/Bundle;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/analytics/connector/internal/zzg;->(Lcom/google/android/gms/measurement/api/AppMeasurementSdk;Lcom/google/firebase/crashlytics/CrashlyticsAnalyticsListener;)V -HSPLcom/google/firebase/analytics/connector/zza;->()V -HSPLcom/google/firebase/analytics/connector/zza;->()V -HSPLcom/google/firebase/analytics/connector/zzb;->()V -HSPLcom/google/firebase/analytics/connector/zzb;->()V -HSPLcom/google/firebase/analytics/ktx/FirebaseAnalyticsKtxRegistrar;->()V -HSPLcom/google/firebase/analytics/ktx/FirebaseAnalyticsKtxRegistrar;->getComponents()Ljava/util/List; -HSPLcom/google/firebase/components/Component$$ExternalSyntheticLambda0;->(Ljava/lang/Object;)V -HSPLcom/google/firebase/components/Component$$ExternalSyntheticLambda0;->create(Lcom/google/firebase/components/RestrictedComponentContainer;)Ljava/lang/Object; -HSPLcom/google/firebase/components/Component$Builder;->(Ljava/lang/Class;[Ljava/lang/Class;)V -HSPLcom/google/firebase/components/Component$Builder;->add(Lcom/google/firebase/components/Dependency;)V -HSPLcom/google/firebase/components/Component$Builder;->build()Lcom/google/firebase/components/Component; -HSPLcom/google/firebase/components/Component;->(Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;IILcom/google/firebase/components/ComponentFactory;Ljava/util/Set;)V -HSPLcom/google/firebase/components/Component;->of(Ljava/lang/Object;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/google/firebase/components/Component; -HSPLcom/google/firebase/components/ComponentDiscovery$$ExternalSyntheticLambda0;->(Ljava/lang/String;)V -HSPLcom/google/firebase/components/ComponentDiscovery$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; -HSPLcom/google/firebase/components/ComponentRuntime$$ExternalSyntheticLambda0;->(Lcom/google/firebase/components/ComponentRuntime;Lcom/google/firebase/components/Component;)V -HSPLcom/google/firebase/components/ComponentRuntime$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; -HSPLcom/google/firebase/components/ComponentRuntime$$ExternalSyntheticLambda1;->()V -HSPLcom/google/firebase/components/ComponentRuntime$Builder$$ExternalSyntheticLambda0;->(Lcom/google/firebase/FirebaseCommonRegistrar;)V -HSPLcom/google/firebase/components/ComponentRuntime$Builder$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; -HSPLcom/google/firebase/components/ComponentRuntime;->()V -HSPLcom/google/firebase/components/ComponentRuntime;->(Ljava/util/ArrayList;Ljava/util/ArrayList;Lcom/google/firebase/components/ComponentRegistrarProcessor;)V -HSPLcom/google/firebase/components/ComponentRuntime;->doInitializeEagerComponents(Ljava/util/Map;Z)V -HSPLcom/google/firebase/components/ComponentRuntime;->getDeferred(Ljava/lang/Class;)Lcom/google/firebase/inject/Deferred; -HSPLcom/google/firebase/components/ComponentRuntime;->getProvider(Ljava/lang/Class;)Lcom/google/firebase/inject/Provider; -HSPLcom/google/firebase/components/ComponentRuntime;->processDependencies()V -HSPLcom/google/firebase/components/ComponentRuntime;->processInstanceComponents(Ljava/util/ArrayList;)Ljava/util/ArrayList; -HSPLcom/google/firebase/components/ComponentRuntime;->processSetComponents()Ljava/util/ArrayList; -HSPLcom/google/firebase/components/ComponentRuntime;->setOfProvider(Ljava/lang/Class;)Lcom/google/firebase/inject/Provider; -HSPLcom/google/firebase/components/CycleDetector$ComponentNode;->(Lcom/google/firebase/components/Component;)V -HSPLcom/google/firebase/components/CycleDetector$Dep;->(Ljava/lang/Class;Z)V -HSPLcom/google/firebase/components/CycleDetector$Dep;->equals(Ljava/lang/Object;)Z -HSPLcom/google/firebase/components/CycleDetector$Dep;->hashCode()I -HSPLcom/google/firebase/components/CycleDetector;->detect(Ljava/util/ArrayList;)V -HSPLcom/google/firebase/components/Dependency;->(IILjava/lang/Class;)V -HSPLcom/google/firebase/components/Dependency;->hashCode()I -HSPLcom/google/firebase/components/EventBus;->()V -HSPLcom/google/firebase/components/EventBus;->subscribe()V -HSPLcom/google/firebase/components/Lazy;->()V -HSPLcom/google/firebase/components/Lazy;->(Lcom/google/firebase/inject/Provider;)V -HSPLcom/google/firebase/components/Lazy;->get()Ljava/lang/Object; -HSPLcom/google/firebase/components/LazySet;->(Ljava/util/Collection;)V -HSPLcom/google/firebase/components/LazySet;->get()Ljava/lang/Object; -HSPLcom/google/firebase/components/OptionalProvider$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/components/OptionalProvider$$ExternalSyntheticLambda1;->()V -HSPLcom/google/firebase/components/OptionalProvider$$ExternalSyntheticLambda2;->(Lcom/google/firebase/inject/Deferred$DeferredHandler;Lcom/google/firebase/inject/Deferred$DeferredHandler;)V -HSPLcom/google/firebase/components/OptionalProvider;->()V -HSPLcom/google/firebase/components/OptionalProvider;->(Lcom/google/firebase/components/OptionalProvider$$ExternalSyntheticLambda0;Lcom/google/firebase/inject/Provider;)V -HSPLcom/google/firebase/components/OptionalProvider;->whenAvailable(Lcom/google/firebase/inject/Deferred$DeferredHandler;)V -HSPLcom/google/firebase/components/RestrictedComponentContainer;->(Lcom/google/firebase/components/Component;Lcom/google/firebase/components/ComponentRuntime;)V -HSPLcom/google/firebase/components/RestrictedComponentContainer;->get(Ljava/lang/Class;)Ljava/lang/Object; -HSPLcom/google/firebase/components/RestrictedComponentContainer;->getDeferred(Ljava/lang/Class;)Lcom/google/firebase/inject/Deferred; -HSPLcom/google/firebase/components/RestrictedComponentContainer;->getProvider(Ljava/lang/Class;)Lcom/google/firebase/inject/Provider; -HSPLcom/google/firebase/components/RestrictedComponentContainer;->setOf(Ljava/lang/Class;)Ljava/util/Set; -HSPLcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda0;->(Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy;)V -HSPLcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda1;->(Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy;)V -HSPLcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda2;->(Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy;)V -HSPLcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda2;->handle(Lcom/google/firebase/inject/Provider;)V -HSPLcom/google/firebase/crashlytics/AnalyticsDeferredProxy;->(Lcom/google/firebase/inject/Deferred;)V -HSPLcom/google/firebase/crashlytics/CrashlyticsAnalyticsListener;->()V -HSPLcom/google/firebase/crashlytics/CrashlyticsAnalyticsListener;->onMessageTriggered(ILandroid/os/Bundle;)V -HSPLcom/google/firebase/crashlytics/CrashlyticsRegistrar$$ExternalSyntheticLambda0;->(Lcom/google/firebase/crashlytics/CrashlyticsRegistrar;)V -HSPLcom/google/firebase/crashlytics/CrashlyticsRegistrar$$ExternalSyntheticLambda0;->create(Lcom/google/firebase/components/RestrictedComponentContainer;)Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/CrashlyticsRegistrar;->()V -HSPLcom/google/firebase/crashlytics/CrashlyticsRegistrar;->getComponents()Ljava/util/List; -HSPLcom/google/firebase/crashlytics/FirebaseCrashlytics$1;->()V -HSPLcom/google/firebase/crashlytics/FirebaseCrashlytics$2;->(ZLcom/google/firebase/crashlytics/internal/common/CrashlyticsCore;Lcom/google/firebase/crashlytics/internal/settings/SettingsController;)V -HSPLcom/google/firebase/crashlytics/FirebaseCrashlytics;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsCore;)V -HSPLcom/google/firebase/crashlytics/FirebaseCrashlytics;->getInstance()Lcom/google/firebase/crashlytics/FirebaseCrashlytics; -HSPLcom/google/firebase/crashlytics/FirebaseCrashlytics;->log(Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/FirebaseCrashlytics;->recordException(Ljava/lang/Throwable;)V -HSPLcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy$$ExternalSyntheticLambda0;->(Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy;)V -HSPLcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy$$ExternalSyntheticLambda1;->(Ljava/lang/String;Ljava/lang/String;JLcom/google/firebase/crashlytics/internal/model/StaticSessionData;)V -HSPLcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy$MissingNativeSessionFileProvider;->()V -HSPLcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy;->()V -HSPLcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy;->(Lcom/google/firebase/inject/Deferred;)V -HSPLcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy;->prepareNativeSession(Ljava/lang/String;Ljava/lang/String;JLcom/google/firebase/crashlytics/internal/model/StaticSessionData;)V -HSPLcom/google/firebase/crashlytics/internal/DevelopmentPlatformProvider$DevelopmentPlatform;->(Lcom/google/firebase/crashlytics/internal/DevelopmentPlatformProvider;)V -HSPLcom/google/firebase/crashlytics/internal/DevelopmentPlatformProvider;->(Landroid/content/Context;)V -HSPLcom/google/firebase/crashlytics/internal/Logger;->()V -HSPLcom/google/firebase/crashlytics/internal/Logger;->()V -HSPLcom/google/firebase/crashlytics/internal/Logger;->canLog(I)Z -HSPLcom/google/firebase/crashlytics/internal/Logger;->d(Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/Logger;->v(Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/analytics/BlockingAnalyticsEventLogger;->(Lcom/google/firebase/crashlytics/internal/analytics/CrashlyticsOriginAnalyticsEventLogger;Ljava/util/concurrent/TimeUnit;)V -HSPLcom/google/firebase/crashlytics/internal/analytics/BreadcrumbAnalyticsEventReceiver;->()V -HSPLcom/google/firebase/crashlytics/internal/analytics/BreadcrumbAnalyticsEventReceiver;->onEvent(Ljava/lang/String;Landroid/os/Bundle;)V -HSPLcom/google/firebase/crashlytics/internal/analytics/CrashlyticsOriginAnalyticsEventLogger;->(Lcom/google/firebase/analytics/connector/AnalyticsConnector;)V -HSPLcom/google/firebase/crashlytics/internal/analytics/UnavailableAnalyticsEventLogger;->()V -HSPLcom/google/firebase/crashlytics/internal/breadcrumbs/DisabledBreadcrumbSource;->()V -HSPLcom/google/firebase/crashlytics/internal/common/AppData;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/firebase/crashlytics/internal/DevelopmentPlatformProvider;)V -HSPLcom/google/firebase/crashlytics/internal/common/BackgroundPriorityRunnable;->()V -HSPLcom/google/firebase/crashlytics/internal/common/BackgroundPriorityRunnable;->run()V -HSPLcom/google/firebase/crashlytics/internal/common/CLSUUID;->()V -HSPLcom/google/firebase/crashlytics/internal/common/CLSUUID;->(Lcom/google/firebase/crashlytics/internal/common/IdManager;)V -HSPLcom/google/firebase/crashlytics/internal/common/CLSUUID;->convertLongToTwoByteBuffer(J)[B -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils$Architecture;->()V -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils$Architecture;->(ILjava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->()V -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->closeOrLog(Ljava/io/Closeable;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->convertMemInfoToBytes(ILjava/lang/String;Ljava/lang/String;)J -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->extractFieldFromSystemFile(Ljava/io/File;)Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->getDeviceState()I -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->getMappingFileId(Landroid/content/Context;)Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->getResourcesIdentifier(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->getTotalRamInBytes()J -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->hexify([B)Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->isEmulator()Z -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->isRooted()Z -HSPLcom/google/firebase/crashlytics/internal/common/CommonUtils;->sha1(Ljava/lang/String;)Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$1;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$1;->run()V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$2;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController$6;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$2;->call()Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$3;->(Ljava/util/concurrent/Callable;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$3;->then(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$4;->()V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$4;->then(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker;->(Ljava/util/concurrent/Executor;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker;->submit(Ljava/util/concurrent/Callable;)Lcom/google/android/gms/tasks/Task; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController$$ExternalSyntheticLambda1;->()V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController$1;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController$5;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController;JLjava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController$5;->call()Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController$6;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController;JLjava/lang/Throwable;Ljava/lang/Thread;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController$6;->run()V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController$7;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController$7;->call()Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController;->()V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController;->(Landroid/content/Context;Lcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker;Lcom/google/firebase/crashlytics/internal/common/IdManager;Lcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter;Lcom/google/firebase/crashlytics/internal/persistence/FileStore;Lcom/google/firebase/crashlytics/internal/common/CrashlyticsFileMarker;Lcom/google/firebase/crashlytics/internal/common/AppData;Lcom/google/firebase/crashlytics/internal/metadata/LogFileManager;Lcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator;Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponent;Lcom/google/firebase/crashlytics/internal/analytics/AnalyticsEventLogger;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController;->access$600(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsController;->getCurrentSessionId()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsCore$4;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsCore;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsCore$4;->call()Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsCore;->(Lcom/google/firebase/FirebaseApp;Lcom/google/firebase/crashlytics/internal/common/IdManager;Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy;Lcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter;Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda0;Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda1;Lcom/google/firebase/crashlytics/internal/persistence/FileStore;Ljava/util/concurrent/ExecutorService;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsFileMarker;->(Lcom/google/firebase/crashlytics/internal/persistence/FileStore;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture;->()V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture;->(Landroid/content/Context;Lcom/google/firebase/crashlytics/internal/common/IdManager;Lcom/google/firebase/crashlytics/internal/common/AppData;Lcom/google/firebase/crashlytics/internal/stacktrace/MiddleOutFallbackStrategy;)V -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture;->populateBinaryImagesList()Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture;->populateEventDeviceData(I)Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture;->populateFramesList([Ljava/lang/StackTraceElement;I)Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture;->populateThreadData(Ljava/lang/Thread;[Ljava/lang/StackTraceElement;I)Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread; -HSPLcom/google/firebase/crashlytics/internal/common/CrashlyticsUncaughtExceptionHandler;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController$1;Lcom/google/firebase/crashlytics/internal/settings/SettingsController;Ljava/lang/Thread$UncaughtExceptionHandler;Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponent;)V -HSPLcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter;->(Lcom/google/firebase/FirebaseApp;)V -HSPLcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter;->isAutomaticDataCollectionEnabled()Z -HSPLcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter;->logDataCollectionState(Z)V -HSPLcom/google/firebase/crashlytics/internal/common/DeliveryMechanism$EnumUnboxingLocalUtility;->getId(I)I -HSPLcom/google/firebase/crashlytics/internal/common/ExecutorUtils$1$1;->(Ljava/lang/Runnable;)V -HSPLcom/google/firebase/crashlytics/internal/common/ExecutorUtils$1$1;->onRun()V -HSPLcom/google/firebase/crashlytics/internal/common/ExecutorUtils$1;->(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;)V -HSPLcom/google/firebase/crashlytics/internal/common/ExecutorUtils$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread; -HSPLcom/google/firebase/crashlytics/internal/common/ExecutorUtils$2;->(Ljava/lang/String;Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/TimeUnit;)V -HSPLcom/google/firebase/crashlytics/internal/common/ExecutorUtils;->buildSingleThreadExecutorService(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService; -HSPLcom/google/firebase/crashlytics/internal/common/IdManager;->()V -HSPLcom/google/firebase/crashlytics/internal/common/IdManager;->(Landroid/content/Context;Ljava/lang/String;Lcom/google/firebase/installations/FirebaseInstallationsApi;Lcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter;)V -HSPLcom/google/firebase/crashlytics/internal/common/IdManager;->createAndCacheCrashlyticsInstallId(Ljava/lang/String;Landroid/content/SharedPreferences;)Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/common/IdManager;->getCrashlyticsInstallId()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/common/IdManager;->getInstallerPackageName()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/common/InstallerPackageNameProvider;->()V -HSPLcom/google/firebase/crashlytics/internal/common/OnDemandCounter;->()V -HSPLcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator;->(Lcom/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture;Lcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence;Lcom/google/firebase/crashlytics/internal/send/DataTransportCrashlyticsReportSender;Lcom/google/firebase/crashlytics/internal/metadata/LogFileManager;Lcom/google/firebase/crashlytics/internal/metadata/UserMetadata;)V -HSPLcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator;->addLogsAndCustomKeysToEvent(Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event;Lcom/google/firebase/crashlytics/internal/metadata/LogFileManager;Lcom/google/firebase/crashlytics/internal/metadata/UserMetadata;)Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event; -HSPLcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator;->create(Landroid/content/Context;Lcom/google/firebase/crashlytics/internal/common/IdManager;Lcom/google/firebase/crashlytics/internal/persistence/FileStore;Lcom/google/firebase/crashlytics/internal/common/AppData;Lcom/google/firebase/crashlytics/internal/metadata/LogFileManager;Lcom/google/firebase/crashlytics/internal/metadata/UserMetadata;Lcom/google/firebase/crashlytics/internal/stacktrace/MiddleOutFallbackStrategy;Lcom/google/firebase/crashlytics/internal/settings/SettingsController;Lcom/google/firebase/crashlytics/internal/common/OnDemandCounter;)Lcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator; -HSPLcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator;->getSortedCustomAttributes(Ljava/util/Map;)Ljava/util/ArrayList; -HSPLcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator;->persistEvent(Ljava/lang/Throwable;Ljava/lang/Thread;Ljava/lang/String;Ljava/lang/String;JZ)V -HSPLcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda0;->(Ljava/util/concurrent/CountDownLatch;)V -HSPLcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda0;->then(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda1;->(Lcom/google/android/gms/tasks/TaskCompletionSource;)V -HSPLcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda1;->then(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/common/Utils;->()V -HSPLcom/google/firebase/crashlytics/internal/common/Utils;->awaitEvenIfOnMainThread(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object; -HSPLcom/google/firebase/crashlytics/internal/metadata/KeysMap;->(I)V -HSPLcom/google/firebase/crashlytics/internal/metadata/LogFileManager$NoopLogStore;->()V -HSPLcom/google/firebase/crashlytics/internal/metadata/LogFileManager$NoopLogStore;->closeLogFile()V -HSPLcom/google/firebase/crashlytics/internal/metadata/LogFileManager;->()V -HSPLcom/google/firebase/crashlytics/internal/metadata/LogFileManager;->(Lcom/google/firebase/crashlytics/internal/persistence/FileStore;)V -HSPLcom/google/firebase/crashlytics/internal/metadata/LogFileManager;->setCurrentSession(Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/metadata/MetaDataStore;->()V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile$Element;->()V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile$Element;->(II)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile$ElementInputStream;->(Lcom/google/firebase/crashlytics/internal/metadata/QueueFile;Lcom/google/firebase/crashlytics/internal/metadata/QueueFile$Element;)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile$ElementInputStream;->read([BII)I -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->()V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->(Ljava/io/File;)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->add([B)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->expandIfNecessary(I)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->readElement(I)Lcom/google/firebase/crashlytics/internal/metadata/QueueFile$Element; -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->readInt(I[B)I -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->ringRead(III[B)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->ringWrite(II[B)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->usedBytes()I -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->wrapPosition(I)I -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFile;->writeHeader(IIII)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFileLogStore$LogBytes;->(I[B)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFileLogStore;->()V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFileLogStore;->(Ljava/io/File;)V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFileLogStore;->getLogAsString()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFileLogStore;->openLogFile()V -HSPLcom/google/firebase/crashlytics/internal/metadata/QueueFileLogStore;->writeToLog(Ljava/lang/String;J)V -HSPLcom/google/firebase/crashlytics/internal/metadata/UserMetadata$SerializeableKeysMap;->(Z)V -HSPLcom/google/firebase/crashlytics/internal/metadata/UserMetadata;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportApplicationExitInfoEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportApplicationExitInfoEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportCustomAttributeEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportCustomAttributeEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportFilesPayloadEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportFilesPayloadEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportFilesPayloadFileEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportFilesPayloadFileEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionApplicationEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionApplicationEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionApplicationEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionApplicationOrganizationEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionApplicationOrganizationEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionDeviceEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionDeviceEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionDeviceEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionSignalEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionSignalEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionSignalEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionThreadEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionThreadEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionThreadEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventDeviceEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventDeviceEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventDeviceEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventLogEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventLogEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventLogEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionOperatingSystemEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionOperatingSystemEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionOperatingSystemEncoder;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionUserEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionUserEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder;->configure(Lcom/google/firebase/encoders/config/EncoderConfig;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$FilesPayload;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->getBuildVersion()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->getDisplayVersion()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->getGmpAppId()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->getInstallationUuid()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->getNdkPayload()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$FilesPayload; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->getPlatform()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->getSdkVersion()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport;->getSession()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->(Ljava/lang/String;Ljava/lang/String;JLjava/lang/Long;ZLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Application;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$User;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$OperatingSystem;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Device;Lcom/google/firebase/crashlytics/internal/model/ImmutableList;I)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getApp()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Application; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getDevice()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Device; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getEndedAt()Ljava/lang/Long; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getEvents()Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getGenerator()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getGeneratorType()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getIdentifier()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getOs()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$OperatingSystem; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getStartedAt()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->getUser()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$User; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session;->isCrashed()Z -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application;->getDevelopmentPlatform()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application;->getDevelopmentPlatformVersion()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application;->getDisplayVersion()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application;->getIdentifier()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application;->getInstallationUuid()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application;->getOrganization()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Application$Organization; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application;->getVersion()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->(ILjava/lang/String;IJJZILjava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->getArch()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->getCores()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->getDiskSpace()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->getManufacturer()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->getModel()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->getModelClass()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->getRam()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->getState()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device;->isSimulator()Z -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event$Builder;->(Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event;->(JLjava/lang/String;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Device;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Log;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event;->getApp()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event;->getDevice()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Device; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event;->getLog()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Log; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event;->getTimestamp()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event;->getType()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application;->(Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution;Lcom/google/firebase/crashlytics/internal/model/ImmutableList;Lcom/google/firebase/crashlytics/internal/model/ImmutableList;Ljava/lang/Boolean;I)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application;->getBackground()Ljava/lang/Boolean; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application;->getCustomAttributes()Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application;->getExecution()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application;->getInternalKeys()Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application;->getUiOrientation()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution;->(Lcom/google/firebase/crashlytics/internal/model/ImmutableList;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Exception;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$ApplicationExitInfo;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Signal;Lcom/google/firebase/crashlytics/internal/model/ImmutableList;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution;->getAppExitInfo()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$ApplicationExitInfo; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution;->getBinaries()Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution;->getException()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Exception; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution;->getSignal()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Signal; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution;->getThreads()Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage;->(JJLjava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage;->getBaseAddress()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage;->getName()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage;->getSize()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage;->getUuid()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception;->(Ljava/lang/String;Ljava/lang/String;Lcom/google/firebase/crashlytics/internal/model/ImmutableList;Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Exception;I)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception;->getCausedBy()Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Exception; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception;->getFrames()Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception;->getOverflowCount()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception;->getReason()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception;->getType()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal;->(Ljava/lang/String;Ljava/lang/String;J)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal;->getAddress()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal;->getCode()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal;->getName()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread;->(Ljava/lang/String;ILcom/google/firebase/crashlytics/internal/model/ImmutableList;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread;->getFrames()Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread;->getImportance()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread;->getName()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame;->(JLjava/lang/String;Ljava/lang/String;JI)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame;->getFile()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame;->getImportance()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame;->getOffset()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame;->getPc()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame;->getSymbol()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device;->(Ljava/lang/Double;IZIJJ)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device;->getBatteryLevel()Ljava/lang/Double; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device;->getBatteryVelocity()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device;->getDiskUsed()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device;->getOrientation()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device;->getRamUsed()J -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device;->isProximityOn()Z -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Log;->(Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Log;->getContent()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem$Builder;->build()Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem;->(ILjava/lang/String;Ljava/lang/String;Z)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem;->getBuildVersion()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem;->getPlatform()I -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem;->getVersion()Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem;->isJailbroken()Z -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData;->(Lcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_AppData;Lcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_OsData;Lcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_DeviceData;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_AppData;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILcom/google/firebase/crashlytics/internal/DevelopmentPlatformProvider;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_DeviceData;->(ILjava/lang/String;IJJZILjava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_OsData;->(Ljava/lang/String;Ljava/lang/String;Z)V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Application;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Device$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Device;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$BinaryImage$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$BinaryImage;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Exception$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Exception;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Signal$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Signal;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Thread$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Thread$Frame$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Thread$Frame;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Thread;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Device$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Device;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Log;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$OperatingSystem$Builder;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$OperatingSystem;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport;->()V -HSPLcom/google/firebase/crashlytics/internal/model/CrashlyticsReport;->()V -HSPLcom/google/firebase/crashlytics/internal/model/ImmutableList;->(Ljava/util/List;)V -HSPLcom/google/firebase/crashlytics/internal/model/ImmutableList;->iterator()Ljava/util/Iterator; -HSPLcom/google/firebase/crashlytics/internal/model/StaticSessionData$AppData;->()V -HSPLcom/google/firebase/crashlytics/internal/model/StaticSessionData$DeviceData;->()V -HSPLcom/google/firebase/crashlytics/internal/model/StaticSessionData$OsData;->()V -HSPLcom/google/firebase/crashlytics/internal/model/StaticSessionData;->()V -HSPLcom/google/firebase/crashlytics/internal/model/serialization/CrashlyticsReportJsonTransform;->()V -HSPLcom/google/firebase/crashlytics/internal/model/serialization/CrashlyticsReportJsonTransform;->()V -HSPLcom/google/firebase/crashlytics/internal/network/HttpGetRequest;->(Ljava/lang/String;Ljava/util/HashMap;)V -HSPLcom/google/firebase/crashlytics/internal/network/HttpGetRequest;->createUrlWithParams(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/network/HttpGetRequest;->execute()Lcom/google/firebase/crashlytics/internal/network/HttpResponse; -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda0;->accept(Ljava/io/File;Ljava/lang/String;)Z -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda1;->()V -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda2;->()V -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda3;->()V -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence;->()V -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence;->(Lcom/google/firebase/crashlytics/internal/persistence/FileStore;Lcom/google/firebase/crashlytics/internal/settings/SettingsController;)V -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence;->persistEvent(Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event;Ljava/lang/String;Z)V -HSPLcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence;->writeTextFile(Ljava/io/File;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/persistence/FileStore;->(Landroid/content/Context;)V -HSPLcom/google/firebase/crashlytics/internal/persistence/FileStore;->getSessionFile(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File; -HSPLcom/google/firebase/crashlytics/internal/persistence/FileStore;->prepareBaseDir(Ljava/io/File;)V -HSPLcom/google/firebase/crashlytics/internal/persistence/FileStore;->safeArrayToList([Ljava/lang/Object;)Ljava/util/List; -HSPLcom/google/firebase/crashlytics/internal/send/DataTransportCrashlyticsReportSender$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/crashlytics/internal/send/DataTransportCrashlyticsReportSender;->()V -HSPLcom/google/firebase/crashlytics/internal/send/DataTransportCrashlyticsReportSender;->(Lcom/google/firebase/crashlytics/internal/send/ReportQueue;)V -HSPLcom/google/firebase/crashlytics/internal/send/DataTransportCrashlyticsReportSender;->mergeStrings(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/google/firebase/crashlytics/internal/send/ReportQueue;->(Lcom/google/android/datatransport/runtime/TransportImpl;Lcom/google/firebase/crashlytics/internal/settings/Settings;Lcom/google/firebase/crashlytics/internal/common/OnDemandCounter;)V -HSPLcom/google/firebase/crashlytics/internal/settings/DefaultSettingsJsonTransform;->defaultSettings(Lcom/google/android/gms/internal/measurement/zzic;)Lcom/google/firebase/crashlytics/internal/settings/Settings; -HSPLcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->(Ljava/lang/String;Landroidx/core/view/WindowInsetsControllerCompat$Impl;)V -HSPLcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyHeadersTo(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;)V -HSPLcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->applyNonNullHeader(Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;->getQueryParamsFor(Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;)Ljava/util/HashMap; -HSPLcom/google/firebase/crashlytics/internal/settings/Settings$FeatureFlagData;->(ZZ)V -HSPLcom/google/firebase/crashlytics/internal/settings/Settings$SessionData;->(I)V -HSPLcom/google/firebase/crashlytics/internal/settings/Settings;->(JLcom/google/firebase/crashlytics/internal/settings/Settings$SessionData;Lcom/google/firebase/crashlytics/internal/settings/Settings$FeatureFlagData;DDI)V -HSPLcom/google/firebase/crashlytics/internal/settings/SettingsController$1;->(Lcom/google/firebase/crashlytics/internal/settings/SettingsController;)V -HSPLcom/google/firebase/crashlytics/internal/settings/SettingsController$1;->then(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task; -HSPLcom/google/firebase/crashlytics/internal/settings/SettingsController;->(Landroid/content/Context;Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest;Lcom/google/android/gms/internal/measurement/zzic;Lcom/google/firebase/crashlytics/internal/settings/SettingsJsonParser;Lkotlin/jvm/internal/SpreadBuilder;Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall;Lcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter;)V -HSPLcom/google/firebase/crashlytics/internal/settings/SettingsController;->getCachedSettingsData$enumunboxing$(I)Lcom/google/firebase/crashlytics/internal/settings/Settings; -HSPLcom/google/firebase/crashlytics/internal/settings/SettingsJsonParser;->(Lcom/google/android/gms/internal/measurement/zzic;)V -HSPLcom/google/firebase/crashlytics/internal/settings/SettingsRequest;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/firebase/crashlytics/internal/common/IdManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V -HSPLcom/google/firebase/crashlytics/internal/stacktrace/MiddleOutFallbackStrategy;->([Lcom/google/firebase/crashlytics/internal/stacktrace/StackTraceTrimmingStrategy;)V -HSPLcom/google/firebase/crashlytics/internal/stacktrace/MiddleOutFallbackStrategy;->getTrimmedStackTrace([Ljava/lang/StackTraceElement;)[Ljava/lang/StackTraceElement; -HSPLcom/google/firebase/crashlytics/internal/stacktrace/MiddleOutStrategy;->()V -HSPLcom/google/firebase/crashlytics/ktx/FirebaseCrashlyticsKtxRegistrar;->()V -HSPLcom/google/firebase/crashlytics/ktx/FirebaseCrashlyticsKtxRegistrar;->getComponents()Ljava/util/List; -HSPLcom/google/firebase/encoders/FieldDescriptor;->(Ljava/lang/String;Ljava/util/Map;)V -HSPLcom/google/firebase/encoders/FieldDescriptor;->of(Ljava/lang/String;)Lcom/google/firebase/encoders/FieldDescriptor; -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda1;->()V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda1;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda2;->()V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda2;->encode(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$1;->(Lcom/google/firebase/encoders/json/JsonDataEncoderBuilder;)V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$1;->encode(Ljava/lang/Object;Ljava/io/Writer;)V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$TimestampEncoder;->()V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder$TimestampEncoder;->()V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder;->()V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder;->()V -HSPLcom/google/firebase/encoders/json/JsonDataEncoderBuilder;->registerEncoder(Ljava/lang/Class;Lcom/google/firebase/encoders/ObjectEncoder;)Lcom/google/firebase/encoders/config/EncoderConfig; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->(Ljava/io/Writer;Ljava/util/HashMap;Ljava/util/HashMap;Lcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda0;Z)V -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->add(Lcom/google/firebase/encoders/FieldDescriptor;I)Lcom/google/firebase/encoders/ObjectEncoderContext; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->add(Lcom/google/firebase/encoders/FieldDescriptor;J)Lcom/google/firebase/encoders/ObjectEncoderContext; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->add(Lcom/google/firebase/encoders/FieldDescriptor;Ljava/lang/Object;)Lcom/google/firebase/encoders/ObjectEncoderContext; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->add(Lcom/google/firebase/encoders/FieldDescriptor;Z)Lcom/google/firebase/encoders/ObjectEncoderContext; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->add(Ljava/lang/Object;)Lcom/google/firebase/encoders/json/JsonValueObjectEncoderContext; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->add(Ljava/lang/Object;Ljava/lang/String;)Lcom/google/firebase/encoders/json/JsonValueObjectEncoderContext; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->add(Ljava/lang/String;)Lcom/google/firebase/encoders/ValueEncoderContext; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->add(Z)Lcom/google/firebase/encoders/ValueEncoderContext; -HSPLcom/google/firebase/encoders/json/JsonValueObjectEncoderContext;->maybeUnNest()V -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda0;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread; -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda1;->(Lcom/google/firebase/heartbeatinfo/DefaultHeartBeatController;)V -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda1;->call()Ljava/lang/Object; -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda2;->(Lcom/google/firebase/heartbeatinfo/DefaultHeartBeatController;)V -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda2;->call()Ljava/lang/Object; -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda3;->()V -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda3;->create(Lcom/google/firebase/components/RestrictedComponentContainer;)Ljava/lang/Object; -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda4;->(Landroid/content/Context;Ljava/lang/String;)V -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda4;->get()Ljava/lang/Object; -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController;->()V -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController;->(Landroid/content/Context;Ljava/lang/String;Ljava/util/Set;Lcom/google/firebase/inject/Provider;)V -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController;->getHeartBeatsHeader()Lcom/google/android/gms/tasks/zzw; -HSPLcom/google/firebase/heartbeatinfo/DefaultHeartBeatController;->registerHeartBeat()V -HSPLcom/google/firebase/heartbeatinfo/HeartBeatConsumerComponent$1;->()V -HSPLcom/google/firebase/heartbeatinfo/HeartBeatInfoStorage;->(Landroid/content/Context;Ljava/lang/String;)V -HSPLcom/google/firebase/heartbeatinfo/HeartBeatInfoStorage;->deleteAllHeartBeats()V -HSPLcom/google/firebase/heartbeatinfo/HeartBeatInfoStorage;->getAllHeartBeats()Ljava/util/ArrayList; -HSPLcom/google/firebase/heartbeatinfo/HeartBeatInfoStorage;->getFormattedDate(J)Ljava/lang/String; -HSPLcom/google/firebase/heartbeatinfo/HeartBeatInfoStorage;->storeHeartBeat(Ljava/lang/String;J)V -HSPLcom/google/firebase/installations/CrossProcessLock;->(Ljava/nio/channels/FileChannel;Ljava/nio/channels/FileLock;)V -HSPLcom/google/firebase/installations/CrossProcessLock;->acquire(Landroid/content/Context;)Lcom/google/firebase/installations/CrossProcessLock; -HSPLcom/google/firebase/installations/CrossProcessLock;->releaseAndClose()V -HSPLcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda0;->(Lcom/google/firebase/installations/FirebaseInstallations;)V -HSPLcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda0;->run()V -HSPLcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda1;->(Lcom/google/firebase/FirebaseApp;)V -HSPLcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda1;->get()Ljava/lang/Object; -HSPLcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda2;->(Lcom/google/firebase/installations/FirebaseInstallations;)V -HSPLcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda2;->run()V -HSPLcom/google/firebase/installations/FirebaseInstallations$1;->()V -HSPLcom/google/firebase/installations/FirebaseInstallations$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread; -HSPLcom/google/firebase/installations/FirebaseInstallations;->()V -HSPLcom/google/firebase/installations/FirebaseInstallations;->(Lcom/google/firebase/FirebaseApp;Lcom/google/firebase/inject/Provider;)V -HSPLcom/google/firebase/installations/FirebaseInstallations;->getId()Lcom/google/android/gms/tasks/zzw; -HSPLcom/google/firebase/installations/FirebaseInstallations;->getInstance()Lcom/google/firebase/installations/FirebaseInstallations; -HSPLcom/google/firebase/installations/FirebaseInstallations;->readExistingIidOrCreateFid(Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;)Ljava/lang/String; -HSPLcom/google/firebase/installations/FirebaseInstallations;->registerFidWithServer(Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;)Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry; -HSPLcom/google/firebase/installations/FirebaseInstallations;->triggerOnStateReached(Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;)V -HSPLcom/google/firebase/installations/FirebaseInstallationsRegistrar$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/installations/FirebaseInstallationsRegistrar$$ExternalSyntheticLambda0;->create(Lcom/google/firebase/components/RestrictedComponentContainer;)Ljava/lang/Object; -HSPLcom/google/firebase/installations/FirebaseInstallationsRegistrar;->$r8$lambda$S-TGqLUnPeNlFWH4x9vB3gPxkgs(Lcom/google/firebase/components/RestrictedComponentContainer;)Lcom/google/firebase/installations/FirebaseInstallationsApi; -HSPLcom/google/firebase/installations/FirebaseInstallationsRegistrar;->()V -HSPLcom/google/firebase/installations/FirebaseInstallationsRegistrar;->getComponents()Ljava/util/List; -HSPLcom/google/firebase/installations/FirebaseInstallationsRegistrar;->lambda$getComponents$0(Lcom/google/firebase/components/ComponentContainer;)Lcom/google/firebase/installations/FirebaseInstallationsApi; -HSPLcom/google/firebase/installations/GetIdListener;->(Lcom/google/android/gms/tasks/TaskCompletionSource;)V -HSPLcom/google/firebase/installations/GetIdListener;->onStateReached(Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;)Z -HSPLcom/google/firebase/installations/RandomFidGenerator;->()V -HSPLcom/google/firebase/installations/RandomFidGenerator;->()V -HSPLcom/google/firebase/installations/RandomFidGenerator;->createRandomFid()Ljava/lang/String; -HSPLcom/google/firebase/installations/Utils;->()V -HSPLcom/google/firebase/installations/Utils;->(Lcom/google/android/gms/measurement/internal/zzcl;)V -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry$Builder;->()V -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry$Builder;->(Lcom/google/firebase/installations/local/PersistedInstallationEntry;)V -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry$Builder;->build()Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry; -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry$Builder;->setRegistrationStatus$enumunboxing$(I)Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry$Builder; -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;->(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JJLjava/lang/String;)V -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;->getAuthToken()Ljava/lang/String; -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;->getExpiresInSecs()J -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;->getFirebaseInstallationId()Ljava/lang/String; -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;->getFisError()Ljava/lang/String; -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;->getRefreshToken()Ljava/lang/String; -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;->getRegistrationStatus$enumunboxing$()I -HSPLcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;->getTokenCreationEpochInSecs()J -HSPLcom/google/firebase/installations/local/IidStore;->()V -HSPLcom/google/firebase/installations/local/IidStore;->(Lcom/google/firebase/FirebaseApp;)V -HSPLcom/google/firebase/installations/local/IidStore;->readPublicKeyFromLocalStorageAndCalculateInstanceId()Ljava/lang/String; -HSPLcom/google/firebase/installations/local/PersistedInstallation;->(Lcom/google/firebase/FirebaseApp;)V -HSPLcom/google/firebase/installations/local/PersistedInstallation;->getDataFile()Ljava/io/File; -HSPLcom/google/firebase/installations/local/PersistedInstallation;->insertOrUpdatePersistedInstallationEntry(Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry;)V -HSPLcom/google/firebase/installations/local/PersistedInstallation;->readPersistedInstallationEntryValue()Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry; -HSPLcom/google/firebase/installations/local/PersistedInstallationEntry$Builder;->()V -HSPLcom/google/firebase/installations/local/PersistedInstallationEntry;->()V -HSPLcom/google/firebase/installations/local/PersistedInstallationEntry;->()V -HSPLcom/google/firebase/installations/remote/FirebaseInstallationServiceClient;->()V -HSPLcom/google/firebase/installations/remote/FirebaseInstallationServiceClient;->(Landroid/content/Context;Lcom/google/firebase/inject/Provider;)V -HSPLcom/google/firebase/installations/remote/FirebaseInstallationServiceClient;->getFullyQualifiedRequestUri(Ljava/lang/String;)Ljava/net/URL; -HSPLcom/google/firebase/installations/remote/FirebaseInstallationServiceClient;->openHttpURLConnection(Ljava/net/URL;Ljava/lang/String;)Ljava/net/HttpURLConnection; -HSPLcom/google/firebase/installations/remote/FirebaseInstallationServiceClient;->writeFIDCreateRequestBodyToOutputStream(Ljava/net/HttpURLConnection;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/installations/remote/FirebaseInstallationServiceClient;->writeRequestBodyToOutputStream(Ljava/net/URLConnection;[B)V -HSPLcom/google/firebase/installations/remote/RequestLimiter;->()V -HSPLcom/google/firebase/installations/remote/RequestLimiter;->()V -HSPLcom/google/firebase/internal/DataCollectionConfigStorage;->(Landroid/content/Context;Ljava/lang/String;Lcom/google/firebase/events/Publisher;)V -HSPLcom/google/firebase/ktx/FirebaseCommonKtxRegistrar;->()V -HSPLcom/google/firebase/ktx/FirebaseCommonKtxRegistrar;->getComponents()Ljava/util/List; -HSPLcom/google/firebase/platforminfo/AutoValue_LibraryVersion;->(Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/google/firebase/platforminfo/AutoValue_LibraryVersion;->getLibraryName()Ljava/lang/String; -HSPLcom/google/firebase/platforminfo/AutoValue_LibraryVersion;->getVersion()Ljava/lang/String; -HSPLcom/google/firebase/platforminfo/AutoValue_LibraryVersion;->hashCode()I -HSPLcom/google/firebase/platforminfo/DefaultUserAgentPublisher$$ExternalSyntheticLambda0;->()V -HSPLcom/google/firebase/platforminfo/DefaultUserAgentPublisher$$ExternalSyntheticLambda0;->create(Lcom/google/firebase/components/RestrictedComponentContainer;)Ljava/lang/Object; -HSPLcom/google/firebase/platforminfo/DefaultUserAgentPublisher;->(Ljava/util/Set;Lcom/google/firebase/platforminfo/GlobalLibraryVersionRegistrar;)V -HSPLcom/google/firebase/platforminfo/DefaultUserAgentPublisher;->getUserAgent()Ljava/lang/String; -HSPLcom/google/firebase/platforminfo/DefaultUserAgentPublisher;->toUserAgent(Ljava/util/Set;)Ljava/lang/String; -HSPLcom/google/firebase/platforminfo/GlobalLibraryVersionRegistrar;->()V -HSPLcom/google/firebase/platforminfo/LibraryVersion;->()V -HSPLcom/google/firebase/platforminfo/LibraryVersionComponent$$ExternalSyntheticLambda0;->(Ljava/lang/String;Lcom/google/firebase/platforminfo/LibraryVersionComponent$VersionExtractor;)V -HSPLcom/google/firebase/platforminfo/LibraryVersionComponent$$ExternalSyntheticLambda0;->create(Lcom/google/firebase/components/RestrictedComponentContainer;)Ljava/lang/Object; -HSPLcom/google/firebase/platforminfo/LibraryVersionComponent;->create(Ljava/lang/String;Ljava/lang/String;)Lcom/google/firebase/components/Component; -HSPLcom/google/firebase/platforminfo/LibraryVersionComponent;->fromContext(Ljava/lang/String;Lcom/google/firebase/platforminfo/LibraryVersionComponent$VersionExtractor;)Lcom/google/firebase/components/Component; -HSPLcom/google/firebase/provider/FirebaseInitProvider;->()V -HSPLcom/google/firebase/provider/FirebaseInitProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V -HSPLcom/google/firebase/provider/FirebaseInitProvider;->onCreate()Z -HSPLcom/google/firebase/tracing/ComponentMonitor;->()V -HSPLcom/google/firebase/tracing/ComponentMonitor;->processRegistrar(Lcom/google/firebase/components/ComponentRegistrar;)Ljava/util/List; -HSPLcom/google/protobuf/AbstractMessageLite$Builder;->()V -HSPLcom/google/protobuf/AbstractMessageLite;->()V -HSPLcom/google/protobuf/Android;->()V -HSPLcom/google/protobuf/Android;->isOnAndroidDevice()Z -HSPLcom/google/protobuf/CodedInputStream$ArrayDecoder;->([BIIZ)V -HSPLcom/google/protobuf/CodedInputStream$ArrayDecoder;->pushLimit(I)I -HSPLcom/google/protobuf/CodedInputStream;->()V -HSPLcom/google/protobuf/CodedInputStream;->newInstance([BIIZ)Lcom/google/protobuf/CodedInputStream$ArrayDecoder; -HSPLcom/google/protobuf/GeneratedMessageInfoFactory;->()V -HSPLcom/google/protobuf/GeneratedMessageInfoFactory;->()V -HSPLcom/google/protobuf/GeneratedMessageInfoFactory;->isSupported(Ljava/lang/Class;)Z -HSPLcom/google/protobuf/GeneratedMessageInfoFactory;->messageInfoFor(Ljava/lang/Class;)Lcom/google/protobuf/MessageInfo; -HSPLcom/google/protobuf/GeneratedMessageLite$Builder;->(Lcom/google/protobuf/GeneratedMessageLite;)V -HSPLcom/google/protobuf/GeneratedMessageLite$Builder;->build()Lcom/google/protobuf/GeneratedMessageLite; -HSPLcom/google/protobuf/GeneratedMessageLite$Builder;->buildPartial()Lcom/google/protobuf/GeneratedMessageLite; -HSPLcom/google/protobuf/GeneratedMessageLite$Builder;->copyOnWrite()V -HSPLcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;->()V -HSPLcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;->(ILjava/lang/String;)V -HSPLcom/google/protobuf/GeneratedMessageLite;->()V -HSPLcom/google/protobuf/GeneratedMessageLite;->()V -HSPLcom/google/protobuf/GeneratedMessageLite;->buildMessageInfo()Ljava/lang/Object; -HSPLcom/google/protobuf/GeneratedMessageLite;->createBuilder()Lcom/google/protobuf/GeneratedMessageLite$Builder; -HSPLcom/google/protobuf/GeneratedMessageLite;->dynamicMethod(Lcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;)Ljava/lang/Object; -HSPLcom/google/protobuf/GeneratedMessageLite;->equals(Ljava/lang/Object;)Z -HSPLcom/google/protobuf/GeneratedMessageLite;->getDefaultInstance(Ljava/lang/Class;)Lcom/google/protobuf/GeneratedMessageLite; -HSPLcom/google/protobuf/GeneratedMessageLite;->hashCode()I -HSPLcom/google/protobuf/GeneratedMessageLite;->isInitialized()Z -HSPLcom/google/protobuf/GeneratedMessageLite;->isInitialized(Lcom/google/protobuf/GeneratedMessageLite;Z)Z -HSPLcom/google/protobuf/GeneratedMessageLite;->makeImmutable()V -HSPLcom/google/protobuf/GeneratedMessageLite;->newMessageInfo(Lcom/google/protobuf/MessageLite;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/google/protobuf/GeneratedMessageLite;->registerDefaultInstance(Ljava/lang/Class;Lcom/google/protobuf/GeneratedMessageLite;)V -HSPLcom/google/protobuf/Internal;->()V -HSPLcom/google/protobuf/ListFieldSchema$ListFieldSchemaFull;->()V -HSPLcom/google/protobuf/ListFieldSchema$ListFieldSchemaFull;->()V -HSPLcom/google/protobuf/ListFieldSchema$ListFieldSchemaLite;->()V -HSPLcom/google/protobuf/ListFieldSchema;->()V -HSPLcom/google/protobuf/ListFieldSchema;->()V -HSPLcom/google/protobuf/ManifestSchemaFactory$1;->()V -HSPLcom/google/protobuf/ManifestSchemaFactory$CompositeMessageInfoFactory;->([Lcom/google/protobuf/MessageInfoFactory;)V -HSPLcom/google/protobuf/ManifestSchemaFactory$CompositeMessageInfoFactory;->messageInfoFor(Ljava/lang/Class;)Lcom/google/protobuf/MessageInfo; -HSPLcom/google/protobuf/ManifestSchemaFactory;->()V -HSPLcom/google/protobuf/ManifestSchemaFactory;->()V -HSPLcom/google/protobuf/MapFieldSchemaLite;->()V -HSPLcom/google/protobuf/MapFieldSchemas;->()V -HSPLcom/google/protobuf/MessageSchema;->()V -HSPLcom/google/protobuf/MessageSchema;->([I[Ljava/lang/Object;IILcom/google/protobuf/MessageLite;Z[IIILcom/google/protobuf/NewInstanceSchema;Lcom/google/protobuf/ListFieldSchema;Lcom/google/protobuf/UnknownFieldSchema;Lcom/google/protobuf/ExtensionSchema;Lcom/google/protobuf/MapFieldSchema;)V -HSPLcom/google/protobuf/MessageSchema;->hashCode(Ljava/lang/Object;)I -HSPLcom/google/protobuf/MessageSchema;->makeImmutable(Ljava/lang/Object;)V -HSPLcom/google/protobuf/MessageSchema;->newSchema(Lcom/google/protobuf/MessageInfo;Lcom/google/protobuf/NewInstanceSchema;Lcom/google/protobuf/ListFieldSchema;Lcom/google/protobuf/UnknownFieldSchema;Lcom/google/protobuf/ExtensionSchema;Lcom/google/protobuf/MapFieldSchema;)Lcom/google/protobuf/MessageSchema; -HSPLcom/google/protobuf/MessageSchema;->newSchemaForRawMessageInfo(Lcom/google/protobuf/RawMessageInfo;Lcom/google/protobuf/NewInstanceSchema;Lcom/google/protobuf/ListFieldSchema;Lcom/google/protobuf/UnknownFieldSchema;Lcom/google/protobuf/ExtensionSchema;Lcom/google/protobuf/MapFieldSchema;)Lcom/google/protobuf/MessageSchema; -HSPLcom/google/protobuf/MessageSchema;->reflectField(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field; -HSPLcom/google/protobuf/MessageSchema;->typeAndOffsetAt(I)I -HSPLcom/google/protobuf/NewInstanceSchemaLite;->()V -HSPLcom/google/protobuf/NewInstanceSchemas;->()V -HSPLcom/google/protobuf/Protobuf;->()V -HSPLcom/google/protobuf/Protobuf;->()V -HSPLcom/google/protobuf/Protobuf;->schemaFor(Ljava/lang/Class;)Lcom/google/protobuf/Schema; -HSPLcom/google/protobuf/RawMessageInfo;->(Lcom/google/protobuf/MessageLite;Ljava/lang/String;[Ljava/lang/Object;)V -HSPLcom/google/protobuf/RawMessageInfo;->getDefaultInstance()Lcom/google/protobuf/MessageLite; -HSPLcom/google/protobuf/RawMessageInfo;->getObjects()[Ljava/lang/Object; -HSPLcom/google/protobuf/RawMessageInfo;->getStringInfo()Ljava/lang/String; -HSPLcom/google/protobuf/RawMessageInfo;->getSyntax$enumunboxing$()I -HSPLcom/google/protobuf/RawMessageInfo;->isMessageSetWireFormat()Z -HSPLcom/google/protobuf/SchemaUtil;->()V -HSPLcom/google/protobuf/SchemaUtil;->getUnknownFieldSetSchema(Z)Lcom/google/protobuf/UnknownFieldSchema; -HSPLcom/google/protobuf/TextFormatEscaper;->()V -HSPLcom/google/protobuf/TextFormatEscaper;->()V -HSPLcom/google/protobuf/TextFormatEscaper;->zza()Ljava/lang/Object; -HSPLcom/google/protobuf/UnknownFieldSchema;->()V -HSPLcom/google/protobuf/UnknownFieldSetLite;->()V -HSPLcom/google/protobuf/UnknownFieldSetLite;->(I[I[Ljava/lang/Object;Z)V -HSPLcom/google/protobuf/UnknownFieldSetLite;->hashCode()I -HSPLcom/google/protobuf/UnknownFieldSetLiteSchema;->()V -HSPLcom/google/protobuf/UnknownFieldSetLiteSchema;->getFromMessage(Ljava/lang/Object;)Lcom/google/protobuf/UnknownFieldSetLite; -HSPLcom/google/protobuf/UnknownFieldSetLiteSchema;->makeImmutable(Ljava/lang/Object;)V -HSPLcom/google/protobuf/UnsafeUtil$1;->()V -HSPLcom/google/protobuf/UnsafeUtil$1;->run()Ljava/lang/Object; -HSPLcom/google/protobuf/UnsafeUtil$1;->run()Lsun/misc/Unsafe; -HSPLcom/google/protobuf/UnsafeUtil$Android64MemoryAccessor;->(Lsun/misc/Unsafe;)V -HSPLcom/google/protobuf/UnsafeUtil$Android64MemoryAccessor;->getBoolean(JLjava/lang/Object;)Z -HSPLcom/google/protobuf/UnsafeUtil$Android64MemoryAccessor;->supportsUnsafeByteBufferOperations()Z -HSPLcom/google/protobuf/UnsafeUtil$MemoryAccessor;->(Lsun/misc/Unsafe;)V -HSPLcom/google/protobuf/UnsafeUtil$MemoryAccessor;->arrayBaseOffset(Ljava/lang/Class;)I -HSPLcom/google/protobuf/UnsafeUtil$MemoryAccessor;->arrayIndexScale(Ljava/lang/Class;)I -HSPLcom/google/protobuf/UnsafeUtil$MemoryAccessor;->getInt(JLjava/lang/Object;)I -HSPLcom/google/protobuf/UnsafeUtil$MemoryAccessor;->objectFieldOffset(Ljava/lang/reflect/Field;)J -HSPLcom/google/protobuf/UnsafeUtil$MemoryAccessor;->supportsUnsafeArrayOperations()Z -HSPLcom/google/protobuf/UnsafeUtil;->()V -HSPLcom/google/protobuf/UnsafeUtil;->arrayBaseOffset(Ljava/lang/Class;)I -HSPLcom/google/protobuf/UnsafeUtil;->arrayIndexScale(Ljava/lang/Class;)V -HSPLcom/google/protobuf/UnsafeUtil;->bufferAddressField()Ljava/lang/reflect/Field; -HSPLcom/google/protobuf/UnsafeUtil;->determineAndroidSupportByAddressSize(Ljava/lang/Class;)Z -HSPLcom/google/protobuf/UnsafeUtil;->getBoolean(JLjava/lang/Object;)Z -HSPLcom/google/protobuf/UnsafeUtil;->getByteLittleEndian(JLjava/lang/Object;)B -HSPLcom/google/protobuf/UnsafeUtil;->getInt(JLjava/lang/Object;)I -HSPLcom/google/protobuf/UnsafeUtil;->getUnsafe()Lsun/misc/Unsafe; -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-1$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-1$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-10$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-10$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-11$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-11$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-12$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-12$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-13$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-13$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-14$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-14$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-14$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-2$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-2$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-3$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-3$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-4$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-4$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-5$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-5$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-5$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-6$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-6$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-6$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-7$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-7$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-7$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-8$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-8$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-8$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-9$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-9$1;->()V -HSPLcom/joeloewi/croissant/ComposableSingletons$MainActivityKt;->()V -HSPLcom/joeloewi/croissant/CroissantApplication;->()V -HSPLcom/joeloewi/croissant/CroissantApplication_HiltComponents$ActivityC;->()V -HSPLcom/joeloewi/croissant/CroissantApplication_HiltComponents$ActivityRetainedC;->()V -HSPLcom/joeloewi/croissant/CroissantApplication_HiltComponents$SingletonC;->()V -HSPLcom/joeloewi/croissant/CroissantApplication_HiltComponents$ViewModelC;->()V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCBuilder;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl;)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCImpl;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl;)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCImpl;->getHiltInternalFactoryFactory()Ldagger/hilt/android/internal/lifecycle/DefaultViewModelFactories$InternalFactoryFactory; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCImpl;->getViewModelComponentBuilder()Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCBuilder; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCImpl;->getViewModelKeys()Ljava/util/Set; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCImpl;->injectMainActivity()V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCBuilder;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl$SwitchingProvider;->()V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl$SwitchingProvider;->get()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl;->activityComponentBuilder()Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCBuilder; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl;->getActivityRetainedLifecycle()Ldagger/hilt/android/ActivityRetainedLifecycle; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl$$ExternalSyntheticOutline0;->m(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;I)Ljavax/inject/Provider; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;I)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider;->get()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;->(Ldagger/hilt/android/internal/modules/ApplicationContextModule;)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;->injectCroissantApplication(Lcom/joeloewi/croissant/CroissantApplication;)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;->retainedComponentBuilder()Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCBuilder; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCBuilder;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl;)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCImpl$SwitchingProvider;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCImpl;I)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCImpl$SwitchingProvider;->get()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCImpl;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl;Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl;Landroidx/lifecycle/SavedStateHandle;)V -HSPLcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCImpl;->getHiltViewModelMap()Ljava/util/Map; -HSPLcom/joeloewi/croissant/Hilt_CroissantApplication$1;->(Lcom/joeloewi/croissant/Hilt_CroissantApplication;)V -HSPLcom/joeloewi/croissant/Hilt_CroissantApplication;->()V -HSPLcom/joeloewi/croissant/Hilt_CroissantApplication;->generatedComponent()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/Hilt_CroissantApplication;->onCreate()V -HSPLcom/joeloewi/croissant/Hilt_MainActivity$1;->(Lcom/joeloewi/croissant/Hilt_MainActivity;)V -HSPLcom/joeloewi/croissant/Hilt_MainActivity$1;->onContextAvailable()V -HSPLcom/joeloewi/croissant/Hilt_MainActivity;->()V -HSPLcom/joeloewi/croissant/Hilt_MainActivity;->generatedComponent()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/Hilt_MainActivity;->getDefaultViewModelProviderFactory()Landroidx/lifecycle/ViewModelProvider$Factory; -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1$1$1$1$1;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel;)V -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1$1$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1$1$1$1;->(Lcom/joeloewi/croissant/state/MainState;Lcom/joeloewi/croissant/viewmodel/MainViewModel;)V -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1$1$1;->(Lcom/joeloewi/croissant/MainActivity;)V -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1$1;->(Lcom/joeloewi/croissant/MainActivity;)V -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1;->(Lcom/joeloewi/croissant/MainActivity;)V -HSPLcom/joeloewi/croissant/MainActivity$onCreate$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivity;->()V -HSPLcom/joeloewi/croissant/MainActivity;->onCreate(Landroid/os/Bundle;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$1;->(ZLandroidx/compose/material/ModalBottomSheetState;Landroid/content/Context;Landroidx/compose/runtime/State;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$2;->(Landroid/content/Context;Landroidx/navigation/NavDestination;Landroid/app/Activity;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$3$1;->(Lcom/joeloewi/croissant/state/CroissantAppState;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$3;->(Lcom/google/accompanist/permissions/MutableMultiplePermissionsState;Landroidx/compose/material/ModalBottomSheetState;Landroidx/compose/material3/SnackbarHostState;Lcom/joeloewi/croissant/state/CroissantAppState;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$1;->(Lcom/joeloewi/croissant/state/CroissantAppState;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$1$1;->(Landroid/net/Uri;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$1$1;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$4;->()V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$4;->()V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$5$1;->(Landroid/content/Context;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$5;->(Landroid/content/Context;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$5;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2;->(Landroid/app/Activity;Landroid/content/Context;Landroid/net/Uri;Landroidx/compose/material3/SnackbarHostState;Landroidx/compose/runtime/State;Lcom/joeloewi/croissant/state/CroissantAppState;ZZ)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4;->(Landroid/app/Activity;Landroid/content/Context;Landroid/net/Uri;Landroidx/compose/material3/SnackbarHostState;Landroidx/compose/runtime/MutableState;Lcom/joeloewi/croissant/state/CroissantAppState;ZZ)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$5;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel;I)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$5;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$isAllPermissionsGranted$2$1;->(Lcom/google/accompanist/permissions/MutableMultiplePermissionsState;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$isAllPermissionsGranted$2$1;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$modalBottomSheetState$1;->()V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantApp$modalBottomSheetState$1;->()V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$1;->(Lcom/google/accompanist/permissions/MultiplePermissionsState;Lkotlin/jvm/functions/Function1;Landroidx/compose/material/ModalBottomSheetState;Landroidx/compose/material3/SnackbarHostState;Landroid/content/Context;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$2$1$1;->(Lcom/google/accompanist/permissions/MultiplePermissionsState;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$2;->(Lcom/google/accompanist/permissions/MultiplePermissionsState;I)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$1;->(Lcom/joeloewi/croissant/util/CroissantPermission;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$2;->(Lcom/joeloewi/croissant/util/CroissantPermission;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$3;->(Lcom/joeloewi/croissant/util/CroissantPermission;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$2;->(Ljava/util/List;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$3;->(Ljava/util/List;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$3;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$4;->(Ljava/util/List;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2;->(Ljava/util/List;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3;->(Ljava/util/List;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$4;->(Lcom/google/accompanist/permissions/MultiplePermissionsState;Landroidx/compose/material/ModalBottomSheetState;Landroidx/compose/material3/SnackbarHostState;Lkotlin/jvm/functions/Function1;I)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1$1$1$1;->(Lcom/joeloewi/croissant/state/CroissantAppState;Lcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1$1$2;->(ZLcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1$1$3;->(Lcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1$1$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1;->(Lcom/joeloewi/croissant/state/CroissantAppState;I)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$2;->(Lcom/joeloewi/croissant/state/CroissantAppState;I)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$1;->(Landroidx/navigation/NavHostController;Landroidx/compose/material3/SnackbarHostState;I)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$2;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$3;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$4$1;->(Lkotlin/Pair;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$4$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$6;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$7$1;->(Lkotlin/Pair;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$7$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$8;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1;->(Landroidx/navigation/NavHostController;Landroidx/compose/material3/SnackbarHostState;ILandroidx/compose/runtime/State;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$2$1;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$2;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$3$1;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$3$2;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$3;->(Landroidx/navigation/NavHostController;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$3;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1;->(Landroidx/navigation/NavHostController;Landroidx/compose/material3/SnackbarHostState;ILandroidx/compose/runtime/MutableState;)V -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$2;->(Landroidx/compose/ui/Modifier;Landroidx/navigation/NavHostController;Landroidx/compose/material3/SnackbarHostState;Lkotlin/jvm/functions/Function0;I)V -HSPLcom/joeloewi/croissant/MainActivityKt;->CroissantApp(Lcom/joeloewi/croissant/viewmodel/MainViewModel;Landroidx/compose/runtime/Composer;I)V -HSPLcom/joeloewi/croissant/MainActivityKt;->CroissantAppBottomSheetContent(Lcom/google/accompanist/permissions/MultiplePermissionsState;Landroidx/compose/material/ModalBottomSheetState;Landroidx/compose/material3/SnackbarHostState;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;I)V -HSPLcom/joeloewi/croissant/MainActivityKt;->CroissantNavHost(Landroidx/compose/ui/Modifier;Landroidx/navigation/NavHostController;Landroidx/compose/material3/SnackbarHostState;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V -HSPLcom/joeloewi/croissant/MainActivityKt;->access$CroissantBottomNavigationBar(Lcom/joeloewi/croissant/state/CroissantAppState;Landroidx/compose/runtime/Composer;I)V -HSPLcom/joeloewi/croissant/initializer/CoilInitializer$create$1;->(Landroid/content/Context;)V -HSPLcom/joeloewi/croissant/initializer/CoilInitializer$create$1;->newImageLoader()Lcoil/RealImageLoader; -HSPLcom/joeloewi/croissant/initializer/CoilInitializer;->()V -HSPLcom/joeloewi/croissant/initializer/CoilInitializer;->create(Landroid/content/Context;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/initializer/CoilInitializer;->dependencies()Ljava/util/List; -HSPLcom/joeloewi/croissant/initializer/DynamicColorInitializer;->()V -HSPLcom/joeloewi/croissant/initializer/DynamicColorInitializer;->create(Landroid/content/Context;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/initializer/DynamicColorInitializer;->dependencies()Ljava/util/List; -HSPLcom/joeloewi/croissant/receiver/TimeChangedReceiver;->(Lcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1$timeChangedReceiver$1;)V -HSPLcom/joeloewi/croissant/state/CroissantAppState;->(Landroidx/navigation/NavHostController;Lkotlinx/collections/immutable/ImmutableList;Lkotlinx/collections/immutable/ImmutableList;Lcom/joeloewi/croissant/viewmodel/MainViewModel;Landroidx/compose/material3/windowsizeclass/WindowSizeClass;)V -HSPLcom/joeloewi/croissant/state/CroissantAppState;->getCurrentDestination(Landroidx/compose/runtime/Composer;)Landroidx/navigation/NavDestination; -HSPLcom/joeloewi/croissant/state/CroissantAppState;->isFullScreenDestination(Landroidx/compose/runtime/Composer;I)Z -HSPLcom/joeloewi/croissant/state/CroissantAppState;->isSelected(ILandroidx/compose/runtime/Composer;Ljava/lang/String;)Z -HSPLcom/joeloewi/croissant/state/MainState;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel;)V -HSPLcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$Attendances;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$Attendances;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$RedemptionCodes;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$RedemptionCodes;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$Settings;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$Settings;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation;->(Ljava/lang/String;Landroidx/compose/ui/graphics/vector/ImageVector;Landroidx/compose/ui/graphics/vector/ImageVector;I)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendanceDetailScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendanceDetailScreen;->getArguments()Ljava/util/List; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendanceDetailScreen;->getPlainRoute()Ljava/lang/String; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendanceLogsScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendanceLogsScreen;->getArguments()Ljava/util/List; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendanceLogsScreen;->getPlainRoute()Ljava/lang/String; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendancesScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendancesScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendancesScreen;->getArguments()Ljava/util/List; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendancesScreen;->getPlainRoute()Ljava/lang/String; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$CreateAttendanceScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$CreateAttendanceScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$CreateAttendanceScreen;->getArguments()Ljava/util/List; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$CreateAttendanceScreen;->getPlainRoute()Ljava/lang/String; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$LoginHoYoLabScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$LoginHoYoLabScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$LoginHoYoLabScreen;->getArguments()Ljava/util/List; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$LoginHoYoLabScreen;->getPlainRoute()Ljava/lang/String; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$route$2$2;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$route$2$2;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$route$2$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$route$2;->(Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination;)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$route$2;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination;->getRoute()Ljava/lang/String; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$1;->(Landroidx/compose/material3/SnackbarHostState;I)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$2;->(Lkotlin/jvm/functions/Function0;I)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3$2$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3$2$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3$2$2;->(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;I)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3$2;->(Landroidx/paging/compose/LazyPagingItems;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;I)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3$2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3;->(Landroidx/paging/compose/LazyPagingItems;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;I)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$4;->(Landroidx/compose/material3/SnackbarHostState;Landroidx/paging/compose/LazyPagingItems;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;I)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesScreen$1;->(Landroidx/navigation/NavController;)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesScreen$2;->(Lcom/joeloewi/croissant/viewmodel/AttendancesViewModel;)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesScreen$3;->(Landroidx/navigation/NavController;)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesScreen$4;->(Landroidx/navigation/NavController;Landroidx/compose/material3/SnackbarHostState;Lcom/joeloewi/croissant/viewmodel/AttendancesViewModel;II)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt;->AttendancesContent(Landroidx/compose/material3/SnackbarHostState;Landroidx/paging/compose/LazyPagingItems;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;I)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt;->AttendancesScreen(Landroidx/navigation/NavController;Landroidx/compose/material3/SnackbarHostState;Lcom/joeloewi/croissant/viewmodel/AttendancesViewModel;Landroidx/compose/runtime/Composer;II)V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-1$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-1$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-2$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-2$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-2$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-3$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-3$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-3$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-4$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-4$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-5$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-5$1;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$RedemptionCodesScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$RedemptionCodesScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$route$2$2;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$route$2$2;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$route$2;->(Lcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination;)V -HSPLcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$route$2;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$DeveloperInfoScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$DeveloperInfoScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$DeveloperInfoScreen;->getArguments()Lkotlin/collections/EmptyList; -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$DeveloperInfoScreen;->getPlainRoute()Ljava/lang/String; -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$SettingsScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$SettingsScreen;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$SettingsScreen;->getArguments()Lkotlin/collections/EmptyList; -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$SettingsScreen;->getPlainRoute()Ljava/lang/String; -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$route$2$2;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$route$2$2;->()V -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$route$2;->(Lcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination;)V -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$route$2;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination;->()V -HSPLcom/joeloewi/croissant/ui/theme/DpKt;->()V -HSPLcom/joeloewi/croissant/ui/theme/ThemeKt$CroissantTheme$1;->(Landroid/view/Window;Landroid/view/View;Z)V -HSPLcom/joeloewi/croissant/ui/theme/ThemeKt$CroissantTheme$1;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/theme/ThemeKt$CroissantTheme$2;->(Landroid/view/Window;Lkotlin/jvm/functions/Function2;I)V -HSPLcom/joeloewi/croissant/ui/theme/ThemeKt$CroissantTheme$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/ui/theme/ThemeKt;->CroissantTheme(Landroid/view/Window;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLcom/joeloewi/croissant/util/CompositionLocalsKt$LocalActivity$1;->()V -HSPLcom/joeloewi/croissant/util/CompositionLocalsKt$LocalActivity$1;->()V -HSPLcom/joeloewi/croissant/util/CompositionLocalsKt$LocalHourFormat$1;->()V -HSPLcom/joeloewi/croissant/util/CompositionLocalsKt$LocalHourFormat$1;->()V -HSPLcom/joeloewi/croissant/util/CompositionLocalsKt;->()V -HSPLcom/joeloewi/croissant/util/CroissantPermission$AccessHoYoLABSession;->()V -HSPLcom/joeloewi/croissant/util/CroissantPermission$AccessHoYoLABSession;->()V -HSPLcom/joeloewi/croissant/util/CroissantPermission$PostNotifications;->()V -HSPLcom/joeloewi/croissant/util/CroissantPermission$PostNotifications;->()V -HSPLcom/joeloewi/croissant/util/CroissantPermission;->()V -HSPLcom/joeloewi/croissant/util/CroissantPermission;->(Ljava/lang/String;Landroidx/compose/ui/graphics/vector/ImageVector;II)V -HSPLcom/joeloewi/croissant/util/HoYoLABGameNamesKt;->()V -HSPLcom/joeloewi/croissant/util/HoYoLABGameNamesKt;->()V -HSPLcom/joeloewi/croissant/util/HoYoLABGameNamesKt;->zza()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/util/HourFormat;->()V -HSPLcom/joeloewi/croissant/util/HourFormat;->(ILjava/lang/String;)V -HSPLcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1$$ExternalSyntheticLambda0;->(Landroidx/compose/runtime/MutableState;)V -HSPLcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1$$ExternalSyntheticLambda0;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V -HSPLcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1$invoke$$inlined$onDispose$1;->(Landroidx/lifecycle/Lifecycle;Lcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1$$ExternalSyntheticLambda0;)V -HSPLcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1$invoke$$inlined$onDispose$1;->dispose()V -HSPLcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1;->(Landroidx/lifecycle/Lifecycle;Landroidx/compose/runtime/MutableState;)V -HSPLcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/util/PowerManagerExtensionsKt$$ExternalSyntheticApiModelOutline0;->m(Landroid/os/PowerManager;Ljava/lang/String;)Z -HSPLcom/joeloewi/croissant/util/RequireAppUpdateKt$RequireAppUpdate$1;->(Lcom/google/android/play/core/ktx/AppUpdateResult;Landroid/app/Activity;ILkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/util/RequireAppUpdateKt$RequireAppUpdate$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/joeloewi/croissant/util/RequireAppUpdateKt$RequireAppUpdate$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/util/RequireAppUpdateKt$RequireAppUpdate$2;->(Lcom/google/android/play/core/ktx/AppUpdateResult;Lkotlin/jvm/functions/Function2;I)V -HSPLcom/joeloewi/croissant/util/RequireAppUpdateKt;->RequireAppUpdate(Lcom/google/android/play/core/ktx/AppUpdateResult;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V -HSPLcom/joeloewi/croissant/util/RootChecker$runtime$2;->()V -HSPLcom/joeloewi/croissant/util/RootChecker$runtime$2;->()V -HSPLcom/joeloewi/croissant/util/RootChecker$runtime$2;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/util/RootChecker;->(Landroid/app/Application;)V -HSPLcom/joeloewi/croissant/util/RootChecker;->isDeviceRooted()Z -HSPLcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1$1;->(Landroid/content/Context;Lcom/joeloewi/croissant/receiver/TimeChangedReceiver;)V -HSPLcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1$1;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1$timeChangedReceiver$1;->(Lkotlinx/coroutines/channels/ProducerScope;Landroid/content/Context;)V -HSPLcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1;->(Landroid/content/Context;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/AttendancesViewModel;->(Landroid/app/Application;Landroid/app/AlarmManager;Lcom/joeloewi/domain/usecase/AttendanceUseCase$GetAllPaged;Lcom/joeloewi/domain/usecase/AttendanceUseCase$Delete;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$$ExternalSyntheticApiModelOutline0;->m(Landroid/app/AlarmManager;)Z -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$2;->(Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$1;->(Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$4;->(Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$4;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$4;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$4;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$5;->(Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$5;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$5;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1$2$1;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1$2;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1;->(Lkotlinx/coroutines/flow/SafeFlow;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1$2$1;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1;->(Lkotlinx/coroutines/flow/Flow;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2$2$1;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2$2;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2$2;->(Lkotlinx/coroutines/flow/FlowCollector;Lcom/joeloewi/croissant/viewmodel/MainViewModel;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1;Lcom/joeloewi/croissant/viewmodel/MainViewModel;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3$2$1;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3$2;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3;->(Lkotlinx/coroutines/flow/Flow;)V -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/croissant/viewmodel/MainViewModel;->(Landroid/app/Application;Lcom/joeloewi/domain/usecase/SettingsUseCase$GetSettings;Lcom/joeloewi/domain/usecase/SettingsUseCase$SetIsFirstLaunch;Landroid/os/PowerManager;Landroid/app/AlarmManager;Lcom/joeloewi/croissant/util/RootChecker;)V -HSPLcom/joeloewi/data/Settings$Builder;->()V -HSPLcom/joeloewi/data/Settings;->-$$Nest$msetDarkThemeEnabled(Lcom/joeloewi/data/Settings;Z)V -HSPLcom/joeloewi/data/Settings;->-$$Nest$msetIsFirstLaunch(Lcom/joeloewi/data/Settings;Z)V -HSPLcom/joeloewi/data/Settings;->-$$Nest$msetNotifyMigrateToAlarmManager(Lcom/joeloewi/data/Settings;)V -HSPLcom/joeloewi/data/Settings;->-$$Nest$sfgetDEFAULT_INSTANCE()Lcom/joeloewi/data/Settings; -HSPLcom/joeloewi/data/Settings;->()V -HSPLcom/joeloewi/data/Settings;->()V -HSPLcom/joeloewi/data/Settings;->dynamicMethod(Lcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/joeloewi/data/Settings;->getDarkThemeEnabled()Z -HSPLcom/joeloewi/data/Settings;->getIsFirstLaunch()Z -HSPLcom/joeloewi/data/Settings;->getNotifyMigrateToAlarmManager()Z -HSPLcom/joeloewi/data/Settings;->newBuilder()Lcom/joeloewi/data/Settings$Builder; -HSPLcom/joeloewi/data/Settings;->setDarkThemeEnabled(Z)V -HSPLcom/joeloewi/data/Settings;->setIsFirstLaunch(Z)V -HSPLcom/joeloewi/data/Settings;->setNotifyMigrateToAlarmManager(Z)V -HSPLcom/joeloewi/data/datastore/DataStoresKt;->()V -HSPLcom/joeloewi/data/datastore/DataStoresKt;->getSettingsDataStore(Landroid/app/Application;)Landroidx/datastore/core/SingleProcessDataStore; -HSPLcom/joeloewi/data/datastore/SettingsSerializer;->()V -HSPLcom/joeloewi/data/datastore/SettingsSerializer;->()V -HSPLcom/joeloewi/data/datastore/SettingsSerializer;->getDefaultValue()Lcom/joeloewi/data/Settings; -HSPLcom/joeloewi/data/db/CroissantDatabase;->()V -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl$1;->(Lcom/joeloewi/data/db/CroissantDatabase_Impl;)V -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl$1;->createAllTables(Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase;)V -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl$1;->onCreate()V -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl$1;->onOpen(Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase;)V -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl;->()V -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl;->attendanceDao()Lcom/joeloewi/data/db/dao/AttendanceDao; -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl;->createInvalidationTracker()Landroidx/room/InvalidationTracker; -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl;->createOpenHelper(Landroidx/room/DatabaseConfiguration;)Landroidx/sqlite/db/SupportSQLiteOpenHelper; -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl;->getAutoMigrations()Ljava/util/List; -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl;->getRequiredAutoMigrationSpecs()Ljava/util/Set; -HSPLcom/joeloewi/data/db/CroissantDatabase_Impl;->getRequiredTypeConverters()Ljava/util/Map; -HSPLcom/joeloewi/data/db/dao/AttendanceDao_Impl$10;->(Lcom/joeloewi/data/db/dao/AttendanceDao_Impl;Landroidx/room/RoomSQLiteQuery;Landroidx/room/RoomDatabase;[Ljava/lang/String;)V -HSPLcom/joeloewi/data/db/dao/AttendanceDao_Impl$10;->convertRows(Landroid/database/Cursor;)Ljava/util/ArrayList; -HSPLcom/joeloewi/data/db/dao/AttendanceDao_Impl$1;->(Landroidx/room/RoomDatabase;)V -HSPLcom/joeloewi/data/db/dao/AttendanceDao_Impl$2;->(Landroidx/room/RoomDatabase;)V -HSPLcom/joeloewi/data/db/dao/AttendanceDao_Impl$3;->(Landroidx/room/RoomDatabase;)V -HSPLcom/joeloewi/data/db/dao/AttendanceDao_Impl;->(Landroidx/room/RoomDatabase;)V -HSPLcom/joeloewi/data/db/dao/AttendanceDao_Impl;->__fetchRelationshipGameEntityAscomJoeloewiDataEntityLocalGameEntity(Landroidx/collection/LongSparseArray;)V -HSPLcom/joeloewi/data/db/dao/AttendanceDao_Impl;->getAllPaged()Lcom/joeloewi/data/db/dao/AttendanceDao_Impl$10; -HSPLcom/joeloewi/data/mapper/AttendanceMapper;->()V -HSPLcom/joeloewi/data/mapper/AttendanceWithGamesMapper;->(Lcom/joeloewi/data/mapper/AttendanceMapper;Lcom/joeloewi/data/mapper/GameMapper;)V -HSPLcom/joeloewi/data/mapper/GameMapper;->()V -HSPLcom/joeloewi/data/mapper/SettingsMapper;->()V -HSPLcom/joeloewi/data/mapper/SettingsMapper;->toDomain(Lcom/joeloewi/data/Settings;)Lcom/joeloewi/domain/entity/Settings; -HSPLcom/joeloewi/data/repository/AttendanceRepositoryImpl;->(Lcom/joeloewi/data/repository/local/AttendanceDataSource;)V -HSPLcom/joeloewi/data/repository/AttendanceRepositoryImpl;->getAllPaged()Lkotlinx/coroutines/flow/Flow; -HSPLcom/joeloewi/data/repository/SettingsRepositoryImpl;->(Lcom/joeloewi/data/repository/local/SettingsDataSource;)V -HSPLcom/joeloewi/data/repository/SettingsRepositoryImpl;->getSettings()Lkotlinx/coroutines/flow/Flow; -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1$2$1;->(Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl;)V -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1;->(Lkotlinx/coroutines/flow/Flow;Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl;)V -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$1;->(Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl;)V -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$1;->invoke()Ljava/lang/Object; -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$2$1;->(Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl;->(Lcom/joeloewi/data/db/dao/AttendanceDao;Lkotlinx/coroutines/CoroutineDispatcher;Lcom/joeloewi/data/mapper/AttendanceMapper;Lcom/joeloewi/data/mapper/AttendanceWithGamesMapper;)V -HSPLcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl;->getAllPaged()Lkotlinx/coroutines/flow/Flow; -HSPLcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1$2$1;->(Lcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V -HSPLcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;Lcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl;)V -HSPLcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1;->(Lkotlinx/coroutines/flow/SafeFlow;Lcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl;)V -HSPLcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl;->(Landroid/app/Application;Lkotlinx/coroutines/CoroutineDispatcher;Lcom/joeloewi/data/mapper/SettingsMapper;)V -HSPLcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl;->getSettings()Lkotlinx/coroutines/flow/Flow; -HSPLcom/joeloewi/domain/entity/Settings;->(ZZZ)V -HSPLcom/joeloewi/domain/usecase/AttendanceUseCase$Delete;->(Lcom/joeloewi/domain/repository/AttendanceRepository;)V -HSPLcom/joeloewi/domain/usecase/AttendanceUseCase$GetAllPaged;->(Lcom/joeloewi/domain/repository/AttendanceRepository;)V -HSPLcom/joeloewi/domain/usecase/AttendanceUseCase;->()V -HSPLcom/joeloewi/domain/usecase/SettingsUseCase$GetSettings;->(Lcom/joeloewi/domain/repository/SettingsRepository;)V -HSPLcom/joeloewi/domain/usecase/SettingsUseCase$SetIsFirstLaunch;->(Lcom/joeloewi/domain/repository/SettingsRepository;)V -HSPLcom/joeloewi/domain/usecase/SettingsUseCase;->()V -HSPLcom/squareup/moshi/JsonScope;->getResourceIdOrThrow(Landroid/content/res/TypedArray;I)I -HSPLdagger/hilt/EntryPoints;->get(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object; -HSPLdagger/hilt/android/internal/Contexts;->getApplication(Landroid/content/Context;)Landroid/app/Application; -HSPLdagger/hilt/android/internal/ThreadUtil;->checkElementIndex$runtime_release(II)V -HSPLdagger/hilt/android/internal/ThreadUtil;->checkPositionIndex$runtime_release(II)V -HSPLdagger/hilt/android/internal/lifecycle/DefaultViewModelFactories$InternalFactoryFactory;->(Ljava/util/Set;Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCBuilder;)V -HSPLdagger/hilt/android/internal/lifecycle/DefaultViewModelFactories;->getActivityFactory(Landroidx/activity/ComponentActivity;Landroidx/lifecycle/ViewModelProvider$Factory;)Ldagger/hilt/android/internal/lifecycle/HiltViewModelFactory; -HSPLdagger/hilt/android/internal/lifecycle/HiltViewModelFactory$1;->(Ldagger/hilt/android/internal/builders/ViewModelComponentBuilder;)V -HSPLdagger/hilt/android/internal/lifecycle/HiltViewModelFactory$1;->create(Ljava/lang/String;Ljava/lang/Class;Landroidx/lifecycle/SavedStateHandle;)Landroidx/lifecycle/ViewModel; -HSPLdagger/hilt/android/internal/lifecycle/HiltViewModelFactory;->(Ljava/util/Set;Landroidx/lifecycle/ViewModelProvider$Factory;Ldagger/hilt/android/internal/builders/ViewModelComponentBuilder;)V -HSPLdagger/hilt/android/internal/lifecycle/HiltViewModelFactory;->create(Ljava/lang/Class;Landroidx/lifecycle/viewmodel/MutableCreationExtras;)Landroidx/lifecycle/ViewModel; -HSPLdagger/hilt/android/internal/lifecycle/HiltViewModelFactory;->createInternal(Landroid/app/Activity;Landroidx/lifecycle/SavedStateViewModelFactory;)Ldagger/hilt/android/internal/lifecycle/HiltViewModelFactory; -HSPLdagger/hilt/android/internal/managers/ActivityComponentManager;->(Landroid/app/Activity;)V -HSPLdagger/hilt/android/internal/managers/ActivityComponentManager;->createComponent()Ljava/lang/Object; -HSPLdagger/hilt/android/internal/managers/ActivityComponentManager;->generatedComponent()Ljava/lang/Object; -HSPLdagger/hilt/android/internal/managers/ActivityRetainedComponentManager$1;->(Landroid/content/Context;)V -HSPLdagger/hilt/android/internal/managers/ActivityRetainedComponentManager$1;->create(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel; -HSPLdagger/hilt/android/internal/managers/ActivityRetainedComponentManager$1;->create(Ljava/lang/Class;Landroidx/lifecycle/viewmodel/MutableCreationExtras;)Landroidx/lifecycle/ViewModel; -HSPLdagger/hilt/android/internal/managers/ActivityRetainedComponentManager$ActivityRetainedComponentViewModel;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl;)V -HSPLdagger/hilt/android/internal/managers/ActivityRetainedComponentManager$ActivityRetainedComponentViewModel;->onCleared()V -HSPLdagger/hilt/android/internal/managers/ActivityRetainedComponentManager$Lifecycle;->()V -HSPLdagger/hilt/android/internal/managers/ActivityRetainedComponentManager;->(Landroidx/activity/ComponentActivity;)V -HSPLdagger/hilt/android/internal/managers/ActivityRetainedComponentManager;->generatedComponent()Ljava/lang/Object; -HSPLdagger/hilt/android/internal/managers/ApplicationComponentManager;->(Lcom/joeloewi/croissant/Hilt_CroissantApplication$1;)V -HSPLdagger/hilt/android/internal/managers/ApplicationComponentManager;->generatedComponent()Ljava/lang/Object; -HSPLdagger/hilt/android/internal/modules/ApplicationContextModule;->(Lcom/joeloewi/croissant/Hilt_CroissantApplication;)V -HSPLdagger/hilt/android/internal/modules/ApplicationContextModule_ProvideApplicationFactory;->provideApplication(Ldagger/hilt/android/internal/modules/ApplicationContextModule;)Landroid/app/Application; -HSPLdagger/internal/DaggerCollections;->hasFontAttributes(Landroidx/compose/ui/text/SpanStyle;)Z -HSPLdagger/internal/DoubleCheck;->()V -HSPLdagger/internal/DoubleCheck;->(Ljavax/inject/Provider;)V -HSPLdagger/internal/DoubleCheck;->get()Ljava/lang/Object; -HSPLdagger/internal/DoubleCheck;->provider(Ljavax/inject/Provider;)Ljavax/inject/Provider; -HSPLdagger/internal/DoubleCheck;->reentrantCheck(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLdagger/internal/MapBuilder;->(I)V -HSPLdagger/internal/SingleCheck;->()V -HSPLdagger/internal/SingleCheck;->(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider;)V -HSPLdagger/internal/SingleCheck;->provider(Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider;)Ljavax/inject/Provider; -HSPLj$/lang/a;->f(JJ)J -HSPLj$/lang/a;->i(JJ)J -HSPLj$/lang/a;->j(JJ)J -HSPLj$/sun/misc/a;->a(Lsun/misc/Unsafe;Ljava/lang/Object;JLjava/lang/Object;)Z -HSPLj$/sun/misc/b;->()V -HSPLj$/sun/misc/b;->(Lsun/misc/Unsafe;)V -HSPLj$/sun/misc/b;->a(Ljava/lang/Class;)I -HSPLj$/sun/misc/b;->b(Ljava/lang/Class;)I -HSPLj$/sun/misc/b;->c(Ljava/lang/Object;JII)Z -HSPLj$/sun/misc/b;->d(Ljava/lang/Object;JJJ)Z -HSPLj$/sun/misc/b;->e(Ljava/lang/Object;JLjava/lang/Object;)Z -HSPLj$/sun/misc/b;->g(Ljava/lang/Object;J)Ljava/lang/Object; -HSPLj$/sun/misc/b;->h()Lj$/sun/misc/b; -HSPLj$/sun/misc/b;->i()Ljava/lang/reflect/Field; -HSPLj$/sun/misc/b;->j(Ljava/lang/Class;Ljava/lang/String;)J -HSPLj$/sun/misc/b;->k(Ljava/lang/reflect/Field;)J -HSPLj$/sun/misc/b;->l(Ljava/lang/Object;JLjava/lang/Object;)V -HSPLj$/time/Instant;->()V -HSPLj$/time/Instant;->(JI)V -HSPLj$/time/Instant;->G(JI)Lj$/time/Instant; -HSPLj$/time/Instant;->I()J -HSPLj$/time/Instant;->J()I -HSPLj$/time/Instant;->K(JJ)Lj$/time/Instant; -HSPLj$/time/Instant;->atOffset(Lj$/time/ZoneOffset;)Lj$/time/OffsetDateTime; -HSPLj$/time/Instant;->ofEpochMilli(J)Lj$/time/Instant; -HSPLj$/time/LocalDateTime;->()V -HSPLj$/time/LocalDateTime;->(Lj$/time/i;Lj$/time/l;)V -HSPLj$/time/LocalDateTime;->Q(Lj$/time/i;Lj$/time/l;)Lj$/time/LocalDateTime; -HSPLj$/time/LocalDateTime;->R(JILj$/time/ZoneOffset;)Lj$/time/LocalDateTime; -HSPLj$/time/LocalDateTime;->a()Lj$/time/chrono/m; -HSPLj$/time/LocalDateTime;->f()Lj$/time/chrono/c; -HSPLj$/time/LocalDateTime;->format(Lj$/time/format/DateTimeFormatter;)Ljava/lang/String; -HSPLj$/time/LocalDateTime;->w(Lj$/time/temporal/TemporalField;)J -HSPLj$/time/LocalDateTime;->z(Lj$/time/temporal/q;)Ljava/lang/Object; -HSPLj$/time/OffsetDateTime;->()V -HSPLj$/time/OffsetDateTime;->(Lj$/time/LocalDateTime;Lj$/time/ZoneOffset;)V -HSPLj$/time/OffsetDateTime;->G(Lj$/time/LocalDateTime;Lj$/time/ZoneOffset;)Lj$/time/OffsetDateTime; -HSPLj$/time/OffsetDateTime;->H(Lj$/time/Instant;Lj$/time/ZoneId;)Lj$/time/OffsetDateTime; -HSPLj$/time/OffsetDateTime;->toLocalDateTime()Lj$/time/LocalDateTime; -HSPLj$/time/ZoneId;->()V -HSPLj$/time/ZoneId;->()V -HSPLj$/time/ZoneOffset;->()V -HSPLj$/time/ZoneOffset;->(I)V -HSPLj$/time/ZoneOffset;->G()Lj$/time/zone/e; -HSPLj$/time/ZoneOffset;->M()I -HSPLj$/time/ZoneOffset;->P(I)Lj$/time/ZoneOffset; -HSPLj$/time/chrono/a;->()V -HSPLj$/time/chrono/a;->()V -HSPLj$/time/chrono/b;->m(Lj$/time/chrono/f;Lj$/time/temporal/q;)Ljava/lang/Object; -HSPLj$/time/chrono/t;->()V -HSPLj$/time/chrono/t;->()V -HSPLj$/time/f;->()V -HSPLj$/time/f;->(JI)V -HSPLj$/time/f;->i(JI)Lj$/time/f; -HSPLj$/time/f;->k(J)Lj$/time/f; -HSPLj$/time/f;->w(JJ)Lj$/time/f; -HSPLj$/time/format/A;->()V -HSPLj$/time/format/A;->(Ljava/lang/String;II)V -HSPLj$/time/format/DateTimeFormatter;->()V -HSPLj$/time/format/DateTimeFormatter;->(Lj$/time/format/f;Ljava/util/Locale;Lj$/time/format/y;ILjava/util/Set;Lj$/time/chrono/m;Lj$/time/ZoneId;)V -HSPLj$/time/format/DateTimeFormatter;->a()Lj$/time/chrono/m; -HSPLj$/time/format/DateTimeFormatter;->b()Lj$/time/format/y; -HSPLj$/time/format/DateTimeFormatter;->d()Lj$/time/ZoneId; -HSPLj$/time/format/DateTimeFormatter;->e()Lj$/time/format/f; -HSPLj$/time/format/DateTimeFormatter;->format(Lj$/time/temporal/TemporalAccessor;)Ljava/lang/String; -HSPLj$/time/format/DateTimeFormatterBuilder;->()V -HSPLj$/time/format/DateTimeFormatterBuilder;->()V -HSPLj$/time/format/DateTimeFormatterBuilder;->(Lj$/time/format/DateTimeFormatterBuilder;)V -HSPLj$/time/format/DateTimeFormatterBuilder;->a(Lj$/time/format/DateTimeFormatter;)V -HSPLj$/time/format/DateTimeFormatterBuilder;->appendLiteral(C)Lj$/time/format/DateTimeFormatterBuilder; -HSPLj$/time/format/DateTimeFormatterBuilder;->appendValue(Lj$/time/temporal/TemporalField;I)Lj$/time/format/DateTimeFormatterBuilder; -HSPLj$/time/format/DateTimeFormatterBuilder;->appendValue(Lj$/time/temporal/TemporalField;IILj$/time/format/SignStyle;)Lj$/time/format/DateTimeFormatterBuilder; -HSPLj$/time/format/DateTimeFormatterBuilder;->b(Lj$/time/temporal/ChronoField;IIZ)V -HSPLj$/time/format/DateTimeFormatterBuilder;->c()V -HSPLj$/time/format/DateTimeFormatterBuilder;->d(Lj$/time/format/g;)I -HSPLj$/time/format/DateTimeFormatterBuilder;->e(Ljava/lang/String;)V -HSPLj$/time/format/DateTimeFormatterBuilder;->g(Ljava/lang/String;Ljava/lang/String;)V -HSPLj$/time/format/DateTimeFormatterBuilder;->h()V -HSPLj$/time/format/DateTimeFormatterBuilder;->j(Lj$/time/temporal/ChronoField;Ljava/util/HashMap;)V -HSPLj$/time/format/DateTimeFormatterBuilder;->k(Lj$/time/format/l;)V -HSPLj$/time/format/DateTimeFormatterBuilder;->l()V -HSPLj$/time/format/DateTimeFormatterBuilder;->m()V -HSPLj$/time/format/DateTimeFormatterBuilder;->n()V -HSPLj$/time/format/DateTimeFormatterBuilder;->o()V -HSPLj$/time/format/DateTimeFormatterBuilder;->p()V -HSPLj$/time/format/DateTimeFormatterBuilder;->q()V -HSPLj$/time/format/DateTimeFormatterBuilder;->r()V -HSPLj$/time/format/DateTimeFormatterBuilder;->s(Ljava/util/Locale;ILj$/time/chrono/t;)Lj$/time/format/DateTimeFormatter; -HSPLj$/time/format/DateTimeFormatterBuilder;->t(ILj$/time/chrono/t;)Lj$/time/format/DateTimeFormatter; -HSPLj$/time/format/SignStyle;->()V -HSPLj$/time/format/SignStyle;->(Ljava/lang/String;I)V -HSPLj$/time/format/SignStyle;->values()[Lj$/time/format/SignStyle; -HSPLj$/time/format/a;->()V -HSPLj$/time/format/b;->(Lj$/time/format/w;)V -HSPLj$/time/format/c;->()V -HSPLj$/time/format/c;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HSPLj$/time/format/d;->()V -HSPLj$/time/format/e;->(C)V -HSPLj$/time/format/e;->i(Lj$/time/format/v;Ljava/lang/StringBuilder;)Z -HSPLj$/time/format/f;->(Ljava/util/ArrayList;Z)V -HSPLj$/time/format/f;->([Lj$/time/format/g;Z)V -HSPLj$/time/format/f;->a()Lj$/time/format/f; -HSPLj$/time/format/f;->i(Lj$/time/format/v;Ljava/lang/StringBuilder;)Z -HSPLj$/time/format/h;->(Lj$/time/temporal/ChronoField;IIZ)V -HSPLj$/time/format/h;->(Lj$/time/temporal/TemporalField;IIZI)V -HSPLj$/time/format/i;->()V -HSPLj$/time/format/j;->(ILjava/lang/Object;)V -HSPLj$/time/format/l;->()V -HSPLj$/time/format/l;->(Lj$/time/temporal/TemporalField;IILj$/time/format/SignStyle;)V -HSPLj$/time/format/l;->(Lj$/time/temporal/TemporalField;IILj$/time/format/SignStyle;I)V -HSPLj$/time/format/l;->a(Lj$/time/format/l;)Lj$/time/format/SignStyle; -HSPLj$/time/format/l;->b(Lj$/time/format/v;J)J -HSPLj$/time/format/l;->c()Lj$/time/format/l; -HSPLj$/time/format/l;->d(I)Lj$/time/format/l; -HSPLj$/time/format/l;->i(Lj$/time/format/v;Ljava/lang/StringBuilder;)Z -HSPLj$/time/format/m;->()V -HSPLj$/time/format/m;->(Ljava/lang/String;Ljava/lang/String;)V -HSPLj$/time/format/p;->()V -HSPLj$/time/format/p;->(Ljava/lang/String;I)V -HSPLj$/time/format/q;->(Lj$/time/temporal/TemporalField;Lj$/time/format/A;Lj$/time/format/x;)V -HSPLj$/time/format/s;->(Lj$/time/temporal/q;Ljava/lang/String;)V -HSPLj$/time/format/v;->(Lj$/time/temporal/TemporalAccessor;Lj$/time/format/DateTimeFormatter;)V -HSPLj$/time/format/v;->b()Lj$/time/format/y; -HSPLj$/time/format/v;->e(Lj$/time/temporal/TemporalField;)Ljava/lang/Long; -HSPLj$/time/format/w;->(Ljava/util/Map;)V -HSPLj$/time/format/x;->()V -HSPLj$/time/format/x;->()V -HSPLj$/time/format/x;->a()Ljava/util/Comparator; -HSPLj$/time/format/y;->()V -HSPLj$/time/format/y;->()V -HSPLj$/time/h;->()V -HSPLj$/time/i;->()V -HSPLj$/time/i;->(III)V -HSPLj$/time/i;->H(III)Lj$/time/i; -HSPLj$/time/i;->J(Lj$/time/temporal/TemporalField;)I -HSPLj$/time/i;->R(III)Lj$/time/i; -HSPLj$/time/i;->T(J)Lj$/time/i; -HSPLj$/time/i;->a()Lj$/time/chrono/m; -HSPLj$/time/i;->w(Lj$/time/temporal/TemporalField;)J -HSPLj$/time/l;->()V -HSPLj$/time/l;->(IIII)V -HSPLj$/time/l;->H(IIII)Lj$/time/l; -HSPLj$/time/l;->P(J)Lj$/time/l; -HSPLj$/time/temporal/ChronoField;->()V -HSPLj$/time/temporal/ChronoField;->(Ljava/lang/String;ILjava/lang/String;Lj$/time/temporal/t;)V -HSPLj$/time/temporal/ChronoField;->(Ljava/lang/String;ILjava/lang/String;Lj$/time/temporal/t;I)V -HSPLj$/time/temporal/ChronoField;->G(J)V -HSPLj$/time/temporal/ChronoField;->isTimeBased()Z -HSPLj$/time/temporal/ChronoField;->k()Lj$/time/temporal/t; -HSPLj$/time/temporal/ChronoField;->values()[Lj$/time/temporal/ChronoField; -HSPLj$/time/temporal/ChronoField;->z(J)I -HSPLj$/time/temporal/a;->()V -HSPLj$/time/temporal/a;->(Ljava/lang/String;ILjava/lang/String;)V -HSPLj$/time/temporal/a;->values()[Lj$/time/temporal/a; -HSPLj$/time/temporal/c;->()V -HSPLj$/time/temporal/d;->()V -HSPLj$/time/temporal/e;->()V -HSPLj$/time/temporal/f;->()V -HSPLj$/time/temporal/g;->()V -HSPLj$/time/temporal/g;->(Ljava/lang/String;I)V -HSPLj$/time/temporal/h;->()V -HSPLj$/time/temporal/h;->(Ljava/lang/String;ILjava/lang/String;)V -HSPLj$/time/temporal/i;->()V -HSPLj$/time/temporal/j;->()V -HSPLj$/time/temporal/j;->(Ljava/lang/String;ILjava/lang/String;J)V -HSPLj$/time/temporal/k;->()V -HSPLj$/time/temporal/o;->()V -HSPLj$/time/temporal/o;->e()Lj$/time/temporal/q; -HSPLj$/time/temporal/o;->f()Lj$/time/temporal/q; -HSPLj$/time/temporal/o;->g()Lj$/time/temporal/q; -HSPLj$/time/temporal/o;->h()Lj$/time/temporal/q; -HSPLj$/time/temporal/o;->j()Lj$/time/temporal/q; -HSPLj$/time/temporal/o;->k()Lj$/time/temporal/q; -HSPLj$/time/temporal/p;->(I)V -HSPLj$/time/temporal/t;->(JJJJ)V -HSPLj$/time/temporal/t;->a(JLj$/time/temporal/TemporalField;)I -HSPLj$/time/temporal/t;->b(JLj$/time/temporal/TemporalField;)V -HSPLj$/time/temporal/t;->g()Z -HSPLj$/time/temporal/t;->h()Z -HSPLj$/time/temporal/t;->i(J)Z -HSPLj$/time/temporal/t;->j(JJ)Lj$/time/temporal/t; -HSPLj$/time/temporal/t;->k(JJJ)Lj$/time/temporal/t; -HSPLj$/time/temporal/t;->l(JJ)Lj$/time/temporal/t; -HSPLj$/time/zone/e;->()V -HSPLj$/time/zone/e;->(Lj$/time/ZoneOffset;)V -HSPLj$/time/zone/e;->d(Lj$/time/Instant;)Lj$/time/ZoneOffset; -HSPLj$/time/zone/e;->j(Lj$/time/ZoneOffset;)Lj$/time/zone/e; -HSPLj$/util/DateRetargetClass;->toInstant(Ljava/util/Date;)Lj$/time/Instant; -HSPLj$/util/DesugarCollections;->()V -HSPLj$/util/DesugarCollections;->a()Ljava/lang/reflect/Constructor; -HSPLj$/util/DesugarCollections;->synchronizedMap(Ljava/util/Map;)Ljava/util/Map; -HSPLj$/util/DesugarTimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone; -HSPLj$/util/concurrent/ConcurrentHashMap;->()V -HSPLj$/util/concurrent/ConcurrentHashMap;->()V -HSPLj$/util/concurrent/ConcurrentHashMap;->(IFI)V -HSPLj$/util/concurrent/ConcurrentHashMap;->a(JI)V -HSPLj$/util/concurrent/ConcurrentHashMap;->b([Lj$/util/concurrent/l;ILj$/util/concurrent/l;)Z -HSPLj$/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z -HSPLj$/util/concurrent/ConcurrentHashMap;->f()[Lj$/util/concurrent/l; -HSPLj$/util/concurrent/ConcurrentHashMap;->g(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object; -HSPLj$/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLj$/util/concurrent/ConcurrentHashMap;->h(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLj$/util/concurrent/ConcurrentHashMap;->i([Lj$/util/concurrent/l;ILj$/util/concurrent/l;)V -HSPLj$/util/concurrent/ConcurrentHashMap;->isEmpty()Z -HSPLj$/util/concurrent/ConcurrentHashMap;->j(I)I -HSPLj$/util/concurrent/ConcurrentHashMap;->k()J -HSPLj$/util/concurrent/ConcurrentHashMap;->keySet()Ljava/util/Set; -HSPLj$/util/concurrent/ConcurrentHashMap;->l([Lj$/util/concurrent/l;I)Lj$/util/concurrent/l; -HSPLj$/util/concurrent/ConcurrentHashMap;->m(I)I -HSPLj$/util/concurrent/ConcurrentHashMap;->n([Lj$/util/concurrent/l;[Lj$/util/concurrent/l;)V -HSPLj$/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLj$/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLj$/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; -HSPLj$/util/concurrent/ConcurrentHashMap;->size()I -HSPLj$/util/concurrent/ThreadLocalRandom;->()V -HSPLj$/util/concurrent/ThreadLocalRandom;->()V -HSPLj$/util/concurrent/ThreadLocalRandom;->(I)V -HSPLj$/util/concurrent/ThreadLocalRandom;->current()Lj$/util/concurrent/ThreadLocalRandom; -HSPLj$/util/concurrent/ThreadLocalRandom;->f()V -HSPLj$/util/concurrent/ThreadLocalRandom;->g(J)I -HSPLj$/util/concurrent/ThreadLocalRandom;->h(J)J -HSPLj$/util/concurrent/ThreadLocalRandom;->i()J -HSPLj$/util/concurrent/ThreadLocalRandom;->nextInt()I -HSPLj$/util/concurrent/ThreadLocalRandom;->setSeed(J)V -HSPLj$/util/concurrent/a;->([Lj$/util/concurrent/l;IILj$/util/concurrent/ConcurrentHashMap;)V -HSPLj$/util/concurrent/a;->hasNext()Z -HSPLj$/util/concurrent/b;->(Lj$/util/concurrent/ConcurrentHashMap;)V -HSPLj$/util/concurrent/g;->([Lj$/util/concurrent/l;)V -HSPLj$/util/concurrent/h;->([Lj$/util/concurrent/l;IILj$/util/concurrent/ConcurrentHashMap;I)V -HSPLj$/util/concurrent/h;->next()Ljava/lang/Object; -HSPLj$/util/concurrent/i;->(Lj$/util/concurrent/ConcurrentHashMap;)V -HSPLj$/util/concurrent/i;->iterator()Ljava/util/Iterator; -HSPLj$/util/concurrent/l;->(ILjava/lang/Object;Ljava/lang/Object;)V -HSPLj$/util/concurrent/l;->(ILjava/lang/Object;Ljava/lang/Object;Lj$/util/concurrent/l;)V -HSPLj$/util/concurrent/q;->([Lj$/util/concurrent/l;III)V -HSPLj$/util/concurrent/q;->e()Lj$/util/concurrent/l; -HSPLj$/util/concurrent/w;->()V -HSPLj$/util/concurrent/w;->initialValue()Ljava/lang/Object; -HSPLj$/util/concurrent/x;->()V -HSPLj$/util/concurrent/x;->run()Ljava/lang/Object; -HSPLj$/util/f;->(Ljava/util/Map;)V -HSPLj$/util/f;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLj$/util/f;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLj$/util/f;->values()Ljava/util/Collection; -HSPLkotlin/ExceptionsKt;->Density(Landroid/content/Context;)Landroidx/compose/ui/unit/DensityImpl; -HSPLkotlin/KotlinVersion;->()V -HSPLkotlin/KotlinVersion;->()V -HSPLkotlin/KotlinVersion;->toString()Ljava/lang/String; -HSPLkotlin/LazyKt__LazyJVMKt;->getDiagonalSize-impl([I)I -HSPLkotlin/LazyKt__LazyJVMKt;->isInstantApp(Landroid/content/Context;)Z -HSPLkotlin/LazyKt__LazyJVMKt;->lazy(Lkotlin/jvm/functions/Function0;)Lkotlin/Lazy; -HSPLkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLkotlin/Result$Failure;->(Ljava/lang/Throwable;)V -HSPLkotlin/Result;->exceptionOrNull-impl(Ljava/lang/Object;)Ljava/lang/Throwable; -HSPLkotlin/Result;->isSuccess-impl(Ljava/lang/Object;)Z -HSPLkotlin/ResultKt;->createFailure(Ljava/lang/Throwable;)Lkotlin/Result$Failure; -HSPLkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V -HSPLkotlin/SynchronizedLazyImpl;->(Lkotlin/jvm/functions/Function0;)V -HSPLkotlin/SynchronizedLazyImpl;->getValue()Ljava/lang/Object; -HSPLkotlin/TuplesKt;->access$lowestBitOf(J)I -HSPLkotlin/TuplesKt;->binarySearch([II)I -HSPLkotlin/UNINITIALIZED_VALUE;->()V -HSPLkotlin/UNINITIALIZED_VALUE;->()V -HSPLkotlin/Unit;->()V -HSPLkotlin/Unit;->()V -HSPLkotlin/UnsafeLazyImpl;->(Lkotlin/jvm/functions/Function0;)V -HSPLkotlin/UnsafeLazyImpl;->getValue()Ljava/lang/Object; -HSPLkotlin/UnsignedKt;->ulongToDouble(J)D -HSPLkotlin/collections/AbstractCollection;->()V -HSPLkotlin/collections/AbstractCollection;->isEmpty()Z -HSPLkotlin/collections/AbstractCollection;->size()I -HSPLkotlin/collections/AbstractList$IteratorImpl;->(Lkotlin/collections/AbstractList;)V -HSPLkotlin/collections/AbstractList$IteratorImpl;->hasNext()Z -HSPLkotlin/collections/AbstractList;->()V -HSPLkotlin/collections/AbstractList;->equals(Ljava/lang/Object;)Z -HSPLkotlin/collections/AbstractList;->iterator()Ljava/util/Iterator; -HSPLkotlin/collections/AbstractMap;->()V -HSPLkotlin/collections/AbstractMap;->entrySet()Ljava/util/Set; -HSPLkotlin/collections/AbstractMap;->equals(Ljava/lang/Object;)Z -HSPLkotlin/collections/AbstractMap;->size()I -HSPLkotlin/collections/AbstractMutableList;->()V -HSPLkotlin/collections/AbstractMutableList;->size()I -HSPLkotlin/collections/AbstractMutableMap;->()V -HSPLkotlin/collections/AbstractSet;->()V -HSPLkotlin/collections/AbstractSet;->equals(Ljava/lang/Object;)Z -HSPLkotlin/collections/ArrayDeque;->()V -HSPLkotlin/collections/ArrayDeque;->()V -HSPLkotlin/collections/ArrayDeque;->addAll(Ljava/util/Collection;)Z -HSPLkotlin/collections/ArrayDeque;->addFirst(Ljava/lang/Object;)V -HSPLkotlin/collections/ArrayDeque;->addLast(Ljava/lang/Object;)V -HSPLkotlin/collections/ArrayDeque;->clear()V -HSPLkotlin/collections/ArrayDeque;->contains(Ljava/lang/Object;)Z -HSPLkotlin/collections/ArrayDeque;->copyCollectionElements(ILjava/util/Collection;)V -HSPLkotlin/collections/ArrayDeque;->ensureCapacity(I)V -HSPLkotlin/collections/ArrayDeque;->first()Ljava/lang/Object; -HSPLkotlin/collections/ArrayDeque;->get(I)Ljava/lang/Object; -HSPLkotlin/collections/ArrayDeque;->getSize()I -HSPLkotlin/collections/ArrayDeque;->incremented(I)I -HSPLkotlin/collections/ArrayDeque;->indexOf(Ljava/lang/Object;)I -HSPLkotlin/collections/ArrayDeque;->isEmpty()Z -HSPLkotlin/collections/ArrayDeque;->last()Ljava/lang/Object; -HSPLkotlin/collections/ArrayDeque;->lastOrNull()Ljava/lang/Object; -HSPLkotlin/collections/ArrayDeque;->positiveMod(I)I -HSPLkotlin/collections/ArrayDeque;->removeFirst()Ljava/lang/Object; -HSPLkotlin/collections/ArrayDeque;->toArray()[Ljava/lang/Object; -HSPLkotlin/collections/ArrayDeque;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; -HSPLkotlin/collections/ArraysKt___ArraysKt;->asList([Ljava/lang/Object;)Ljava/util/List; -HSPLkotlin/collections/ArraysKt___ArraysKt;->copyInto$default([I[III)V -HSPLkotlin/collections/ArraysKt___ArraysKt;->copyInto$default([Ljava/lang/Object;[Ljava/lang/Object;IIII)V -HSPLkotlin/collections/ArraysKt___ArraysKt;->copyInto(III[I[I)V -HSPLkotlin/collections/ArraysKt___ArraysKt;->copyInto([Ljava/lang/Object;[Ljava/lang/Object;III)V -HSPLkotlin/collections/ArraysKt___ArraysKt;->fill$default([Ljava/lang/Object;Lkotlinx/coroutines/internal/Symbol;)V -HSPLkotlin/collections/ArraysKt___ArraysKt;->fill(II[Ljava/lang/Object;)V -HSPLkotlin/collections/ArraysKt___ArraysKt;->filterNotNull([Ljava/lang/Object;)Ljava/util/ArrayList; -HSPLkotlin/collections/ArraysKt___ArraysKt;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I -HSPLkotlin/collections/ArraysKt___ArraysKt;->toList([Ljava/lang/Object;)Ljava/util/List; -HSPLkotlin/collections/CollectionSystemProperties;->()V -HSPLkotlin/collections/CollectionsKt__CollectionsKt;->getLastIndex(Ljava/util/List;)I -HSPLkotlin/collections/CollectionsKt__CollectionsKt;->listOf(Ljava/lang/Object;)Ljava/util/List; -HSPLkotlin/collections/CollectionsKt__CollectionsKt;->listOf([Ljava/lang/Object;)Ljava/util/List; -HSPLkotlin/collections/CollectionsKt__CollectionsKt;->optimizeReadOnlyList(Ljava/util/List;)Ljava/util/List; -HSPLkotlin/collections/CollectionsKt__IteratorsJVMKt;->collectionSizeOrDefault(Ljava/lang/Iterable;I)I -HSPLkotlin/collections/CollectionsKt__MutableCollectionsJVMKt;->sort(Ljava/util/ArrayList;)V -HSPLkotlin/collections/CollectionsKt__ReversedViewsKt;->addAll(Ljava/lang/Iterable;Ljava/util/Collection;)V -HSPLkotlin/collections/CollectionsKt___CollectionsKt$asSequence$$inlined$Sequence$1;->(Ljava/lang/Iterable;)V -HSPLkotlin/collections/CollectionsKt___CollectionsKt$asSequence$$inlined$Sequence$1;->iterator()Ljava/util/Iterator; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->asSequence(Ljava/lang/Iterable;)Lkotlin/collections/CollectionsKt___CollectionsKt$asSequence$$inlined$Sequence$1; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->contains(Ljava/lang/Iterable;Ljava/io/Serializable;)Z -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->filterNotNull(Ljava/util/List;)Ljava/util/ArrayList; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->first(Ljava/util/List;)Ljava/lang/Object; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->firstOrNull(Ljava/util/Collection;)Ljava/lang/Object; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->firstOrNull(Ljava/util/List;)Ljava/lang/Object; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->joinTo(Ljava/lang/Iterable;Ljava/lang/StringBuilder;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILjava/lang/CharSequence;Lkotlin/jvm/functions/Function1;)V -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->joinToString$default(Ljava/lang/Iterable;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;I)Ljava/lang/String; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->last(Ljava/util/List;)Ljava/lang/Object; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->lastOrNull(Ljava/util/List;)Ljava/lang/Object; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->maxOrNull(Ljava/util/ArrayList;)Ljava/lang/Comparable; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->maxOrNull(Ljava/util/Collection;)Ljava/lang/Float; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->minOrNull(Ljava/util/Collection;)Ljava/lang/Float; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->plus(Ljava/util/Collection;Ljava/lang/Object;)Ljava/util/ArrayList; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->plus(Ljava/util/List;Ljava/util/List;)Ljava/util/ArrayList; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->reversed(Ljava/util/AbstractList;)Ljava/util/List; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->sortedWith(Ljava/lang/Iterable;Ljava/util/Comparator;)Ljava/util/List; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->toIntArray(Ljava/util/ArrayList;)[I -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->toMutableList(Ljava/lang/Iterable;)Ljava/util/List; -HSPLkotlin/collections/CollectionsKt___CollectionsKt;->toMutableList(Ljava/util/Collection;)Ljava/util/ArrayList; -HSPLkotlin/collections/EmptyIterator;->()V -HSPLkotlin/collections/EmptyIterator;->()V -HSPLkotlin/collections/EmptyIterator;->hasNext()Z -HSPLkotlin/collections/EmptyIterator;->hasPrevious()Z -HSPLkotlin/collections/EmptyList;->()V -HSPLkotlin/collections/EmptyList;->()V -HSPLkotlin/collections/EmptyList;->contains(Ljava/lang/Object;)Z -HSPLkotlin/collections/EmptyList;->equals(Ljava/lang/Object;)Z -HSPLkotlin/collections/EmptyList;->isEmpty()Z -HSPLkotlin/collections/EmptyList;->iterator()Ljava/util/Iterator; -HSPLkotlin/collections/EmptyList;->listIterator(I)Ljava/util/ListIterator; -HSPLkotlin/collections/EmptyList;->size()I -HSPLkotlin/collections/EmptyList;->toArray()[Ljava/lang/Object; -HSPLkotlin/collections/EmptyMap;->()V -HSPLkotlin/collections/EmptyMap;->()V -HSPLkotlin/collections/EmptyMap;->containsKey(Ljava/lang/Object;)Z -HSPLkotlin/collections/EmptyMap;->entrySet()Ljava/util/Set; -HSPLkotlin/collections/EmptyMap;->equals(Ljava/lang/Object;)Z -HSPLkotlin/collections/EmptyMap;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlin/collections/EmptyMap;->hashCode()I -HSPLkotlin/collections/EmptyMap;->isEmpty()Z -HSPLkotlin/collections/EmptyMap;->keySet()Ljava/util/Set; -HSPLkotlin/collections/EmptyMap;->size()I -HSPLkotlin/collections/EmptyMap;->values()Ljava/util/Collection; -HSPLkotlin/collections/EmptySet;->()V -HSPLkotlin/collections/EmptySet;->()V -HSPLkotlin/collections/EmptySet;->contains(Ljava/lang/Object;)Z -HSPLkotlin/collections/EmptySet;->equals(Ljava/lang/Object;)Z -HSPLkotlin/collections/EmptySet;->iterator()Ljava/util/Iterator; -HSPLkotlin/collections/EmptySet;->size()I -HSPLkotlin/collections/IndexedValue;->(ILjava/lang/Object;)V -HSPLkotlin/collections/IntIterator;->()V -HSPLkotlin/collections/MapsKt__MapsJVMKt;->mapCapacity(I)I -HSPLkotlin/collections/MapsKt__MapsJVMKt;->toSingletonMap(Ljava/util/Map;)Ljava/util/Map; -HSPLkotlin/collections/MapsKt___MapsJvmKt;->mapOf([Lkotlin/Pair;)Ljava/util/Map; -HSPLkotlin/collections/MapsKt___MapsJvmKt;->putAll(Ljava/util/HashMap;[Lkotlin/Pair;)V -HSPLkotlin/collections/MapsKt___MapsJvmKt;->toMap(Ljava/util/ArrayList;)Ljava/util/Map; -HSPLkotlin/collections/MapsKt___MapsJvmKt;->toMap(Ljava/util/ArrayList;Ljava/util/LinkedHashMap;)V -HSPLkotlin/collections/MapsKt___MapsJvmKt;->toMap(Ljava/util/Map;)Ljava/util/Map; -HSPLkotlin/collections/MapsKt___MapsJvmKt;->toMutableMap(Ljava/util/Map;)Ljava/util/LinkedHashMap; -HSPLkotlin/collections/SetsKt;->plus(Ljava/util/Set;Ljava/lang/Object;)Ljava/util/LinkedHashSet; -HSPLkotlin/coroutines/AbstractCoroutineContextElement;->(Lkotlin/coroutines/CoroutineContext$Key;)V -HSPLkotlin/coroutines/AbstractCoroutineContextElement;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlin/coroutines/AbstractCoroutineContextElement;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLkotlin/coroutines/AbstractCoroutineContextElement;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLkotlin/coroutines/AbstractCoroutineContextElement;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/AbstractCoroutineContextElement;->plus(Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/AbstractCoroutineContextKey;->(Lkotlin/coroutines/CoroutineContext$Key;Lkotlin/jvm/functions/Function1;)V -HSPLkotlin/coroutines/CombinedContext;->(Lkotlin/coroutines/CoroutineContext$Element;Lkotlin/coroutines/CoroutineContext;)V -HSPLkotlin/coroutines/CombinedContext;->equals(Ljava/lang/Object;)Z -HSPLkotlin/coroutines/CombinedContext;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlin/coroutines/CombinedContext;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLkotlin/coroutines/CombinedContext;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/CombinedContext;->plus(Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/ContinuationInterceptor$Key;->()V -HSPLkotlin/coroutines/ContinuationInterceptor$Key;->()V -HSPLkotlin/coroutines/CoroutineContext$DefaultImpls;->plus(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/CoroutineContext$Element$DefaultImpls;->get(Lkotlin/coroutines/CoroutineContext$Element;Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLkotlin/coroutines/CoroutineContext$Element$DefaultImpls;->minusKey(Lkotlin/coroutines/CoroutineContext$Element;Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/CoroutineContext$plus$1;->()V -HSPLkotlin/coroutines/CoroutineContext$plus$1;->()V -HSPLkotlin/coroutines/CoroutineContext$plus$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlin/coroutines/EmptyCoroutineContext;->()V -HSPLkotlin/coroutines/EmptyCoroutineContext;->()V -HSPLkotlin/coroutines/EmptyCoroutineContext;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlin/coroutines/EmptyCoroutineContext;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLkotlin/coroutines/EmptyCoroutineContext;->plus(Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/SafeContinuation;->()V -HSPLkotlin/coroutines/SafeContinuation;->(Lkotlin/coroutines/intrinsics/CoroutineSingletons;Lkotlin/coroutines/Continuation;)V -HSPLkotlin/coroutines/SafeContinuation;->resumeWith(Ljava/lang/Object;)V -HSPLkotlin/coroutines/intrinsics/CoroutineSingletons;->()V -HSPLkotlin/coroutines/intrinsics/CoroutineSingletons;->(ILjava/lang/String;)V -HSPLkotlin/coroutines/jvm/internal/BaseContinuationImpl;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlin/coroutines/jvm/internal/BaseContinuationImpl;->releaseIntercepted()V -HSPLkotlin/coroutines/jvm/internal/BaseContinuationImpl;->resumeWith(Ljava/lang/Object;)V -HSPLkotlin/coroutines/jvm/internal/CompletedContinuation;->()V -HSPLkotlin/coroutines/jvm/internal/CompletedContinuation;->()V -HSPLkotlin/coroutines/jvm/internal/ContinuationImpl;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlin/coroutines/jvm/internal/ContinuationImpl;->(Lkotlin/coroutines/Continuation;Lkotlin/coroutines/CoroutineContext;)V -HSPLkotlin/coroutines/jvm/internal/ContinuationImpl;->getContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/jvm/internal/ContinuationImpl;->releaseIntercepted()V -HSPLkotlin/coroutines/jvm/internal/RestrictedContinuationImpl;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlin/coroutines/jvm/internal/RestrictedContinuationImpl;->getContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/coroutines/jvm/internal/RestrictedSuspendLambda;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlin/coroutines/jvm/internal/SuspendLambda;->(ILkotlin/coroutines/Continuation;)V -HSPLkotlin/coroutines/jvm/internal/SuspendLambda;->getArity()I -HSPLkotlin/internal/PlatformImplementations;->()V -HSPLkotlin/internal/PlatformImplementationsKt;->()V -HSPLkotlin/internal/ProgressionUtilKt;->getProgressionLastElement(III)I -HSPLkotlin/internal/jdk7/JDK7PlatformImplementations;->()V -HSPLkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;->()V -HSPLkotlin/internal/jdk8/JDK8PlatformImplementations;->()V -HSPLkotlin/internal/jdk8/JDK8PlatformImplementations;->defaultPlatformRandom()Lkotlin/random/Random; -HSPLkotlin/jvm/JvmClassMappingKt;->Path()Landroidx/compose/ui/graphics/AndroidPath; -HSPLkotlin/jvm/JvmClassMappingKt;->getJavaObjectType(Lkotlin/reflect/KClass;)Ljava/lang/Class; -HSPLkotlin/jvm/internal/CallableReference$NoReceiver;->()V -HSPLkotlin/jvm/internal/CallableReference$NoReceiver;->()V -HSPLkotlin/jvm/internal/CallableReference;->(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Z)V -HSPLkotlin/jvm/internal/CallableReference;->getOwner()Lkotlin/jvm/internal/ClassBasedDeclarationContainer; -HSPLkotlin/jvm/internal/ClassReference;->()V -HSPLkotlin/jvm/internal/ClassReference;->(Ljava/lang/Class;)V -HSPLkotlin/jvm/internal/ClassReference;->equals(Ljava/lang/Object;)Z -HSPLkotlin/jvm/internal/ClassReference;->getJClass()Ljava/lang/Class; -HSPLkotlin/jvm/internal/CollectionToArray;->()V -HSPLkotlin/jvm/internal/CollectionToArray;->toArray(Ljava/util/Collection;)[Ljava/lang/Object; -HSPLkotlin/jvm/internal/FunctionReference;->(ILjava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;I)V -HSPLkotlin/jvm/internal/FunctionReference;->equals(Ljava/lang/Object;)Z -HSPLkotlin/jvm/internal/FunctionReference;->getArity()I -HSPLkotlin/jvm/internal/FunctionReferenceImpl;->(ILjava/lang/Class;Ljava/lang/String;Ljava/lang/String;I)V -HSPLkotlin/jvm/internal/FunctionReferenceImpl;->(ILjava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/Intrinsics$$ExternalSyntheticCheckNotZero0;->m(ILjava/lang/String;)V -HSPLkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V -HSPLkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/Intrinsics;->compare(II)I -HSPLkotlin/jvm/internal/Intrinsics;->stringPlus(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; -HSPLkotlin/jvm/internal/Lambda;->(I)V -HSPLkotlin/jvm/internal/Lambda;->getArity()I -HSPLkotlin/jvm/internal/MutablePropertyReference1;->(Ljava/lang/String;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/MutablePropertyReference1Impl;->(Ljava/lang/String;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/MutablePropertyReference;->(Ljava/lang/String;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/PropertyReference1;->(I)V -HSPLkotlin/jvm/internal/PropertyReference1Impl;->()V -HSPLkotlin/jvm/internal/PropertyReference;->(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V -HSPLkotlin/jvm/internal/Ref$BooleanRef;->()V -HSPLkotlin/jvm/internal/Ref$FloatRef;->()V -HSPLkotlin/jvm/internal/Ref$IntRef;->()V -HSPLkotlin/jvm/internal/Ref$ObjectRef;->()V -HSPLkotlin/jvm/internal/Reflection;->()V -HSPLkotlin/jvm/internal/Reflection;->getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/jvm/internal/ClassReference; -HSPLkotlin/jvm/internal/ReflectionFactory;->()V -HSPLkotlin/jvm/internal/SpreadBuilder;->(Lcom/google/firebase/crashlytics/internal/persistence/FileStore;)V -HSPLkotlin/jvm/internal/SpreadBuilder;->readCachedSettings()Lorg/json/JSONObject; -HSPLkotlin/jvm/internal/TypeIntrinsics;->asMutableCollection(Ljava/util/Collection;)Ljava/util/Collection; -HSPLkotlin/jvm/internal/TypeIntrinsics;->beforeCheckcastToFunctionOfArity(ILjava/lang/Object;)V -HSPLkotlin/math/MathKt__MathJVMKt;->ImageBitmap-x__-hDU$default(IIII)Landroidx/compose/ui/graphics/AndroidImageBitmap; -HSPLkotlin/math/MathKt__MathJVMKt;->roundToInt(F)I -HSPLkotlin/random/AbstractPlatformRandom;->()V -HSPLkotlin/random/AbstractPlatformRandom;->nextInt()I -HSPLkotlin/random/Random$Default;->(I)V -HSPLkotlin/random/Random$Default;->nextInt()I -HSPLkotlin/random/Random;->()V -HSPLkotlin/random/Random;->()V -HSPLkotlin/random/jdk8/PlatformThreadLocalRandom;->()V -HSPLkotlin/random/jdk8/PlatformThreadLocalRandom;->getImpl()Ljava/util/Random; -HSPLkotlin/ranges/IntProgression;->(III)V -HSPLkotlin/ranges/IntProgression;->iterator()Ljava/util/Iterator; -HSPLkotlin/ranges/IntProgression;->iterator()Lkotlin/ranges/IntProgressionIterator; -HSPLkotlin/ranges/IntProgressionIterator;->(III)V -HSPLkotlin/ranges/IntProgressionIterator;->hasNext()Z -HSPLkotlin/ranges/IntProgressionIterator;->nextInt()I -HSPLkotlin/ranges/IntRange;->()V -HSPLkotlin/ranges/IntRange;->(II)V -HSPLkotlin/ranges/IntRange;->contains(I)Z -HSPLkotlin/ranges/IntRange;->equals(Ljava/lang/Object;)Z -HSPLkotlin/ranges/IntRange;->isEmpty()Z -HSPLkotlin/ranges/RangesKt___RangesKt;->coerceIn(DDD)D -HSPLkotlin/ranges/RangesKt___RangesKt;->coerceIn(FFF)F -HSPLkotlin/ranges/RangesKt___RangesKt;->coerceIn(III)I -HSPLkotlin/ranges/RangesKt___RangesKt;->coerceIn(JJJ)J -HSPLkotlin/ranges/RangesKt___RangesKt;->until(II)Lkotlin/ranges/IntRange; -HSPLkotlin/sequences/ConstrainedOnceSequence;->(Lkotlin/sequences/SequencesKt__SequencesKt$asSequence$$inlined$Sequence$1;)V -HSPLkotlin/sequences/ConstrainedOnceSequence;->iterator()Ljava/util/Iterator; -HSPLkotlin/sequences/FilteringSequence$iterator$1;->(Lkotlin/sequences/FilteringSequence;)V -HSPLkotlin/sequences/FilteringSequence$iterator$1;->calcNext()V -HSPLkotlin/sequences/FilteringSequence$iterator$1;->hasNext()Z -HSPLkotlin/sequences/FilteringSequence$iterator$1;->next()Ljava/lang/Object; -HSPLkotlin/sequences/FilteringSequence;->(Lkotlin/sequences/TransformingSequence;)V -HSPLkotlin/sequences/GeneratorSequence$iterator$1;->(Lkotlin/sequences/GeneratorSequence;)V -HSPLkotlin/sequences/GeneratorSequence$iterator$1;->calcNext()V -HSPLkotlin/sequences/GeneratorSequence$iterator$1;->hasNext()Z -HSPLkotlin/sequences/GeneratorSequence$iterator$1;->next()Ljava/lang/Object; -HSPLkotlin/sequences/GeneratorSequence;->(Lkotlin/sequences/SequencesKt__SequencesKt$generateSequence$2;Lkotlin/jvm/functions/Function1;)V -HSPLkotlin/sequences/GeneratorSequence;->iterator()Ljava/util/Iterator; -HSPLkotlin/sequences/SequenceBuilderIterator;->()V -HSPLkotlin/sequences/SequenceBuilderIterator;->getContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlin/sequences/SequenceBuilderIterator;->hasNext()Z -HSPLkotlin/sequences/SequenceBuilderIterator;->next()Ljava/lang/Object; -HSPLkotlin/sequences/SequenceBuilderIterator;->resumeWith(Ljava/lang/Object;)V -HSPLkotlin/sequences/SequenceBuilderIterator;->yield(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V -HSPLkotlin/sequences/SequenceScope;->()V -HSPLkotlin/sequences/SequencesKt__SequencesKt$asSequence$$inlined$Sequence$1;->(Ljava/util/Iterator;)V -HSPLkotlin/sequences/SequencesKt__SequencesKt$asSequence$$inlined$Sequence$1;->iterator()Ljava/util/Iterator; -HSPLkotlin/sequences/SequencesKt__SequencesKt$generateSequence$2;->(Ljava/lang/Object;)V -HSPLkotlin/sequences/SequencesKt__SequencesKt$generateSequence$2;->invoke()Ljava/lang/Object; -HSPLkotlin/sequences/SequencesKt__SequencesKt;->asSequence(Ljava/util/Iterator;)Lkotlin/sequences/Sequence; -HSPLkotlin/sequences/SequencesKt__SequencesKt;->generateSequence(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Lkotlin/sequences/Sequence; -HSPLkotlin/sequences/SequencesKt___SequencesKt$filterNotNull$1;->()V -HSPLkotlin/sequences/SequencesKt___SequencesKt$filterNotNull$1;->()V -HSPLkotlin/sequences/SequencesKt___SequencesKt$filterNotNull$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlin/sequences/SequencesKt___SequencesKt;->toMutableList(Lkotlin/sequences/Sequence;)Ljava/util/ArrayList; -HSPLkotlin/sequences/TransformingSequence$iterator$1;->(Lkotlin/sequences/TransformingSequence;)V -HSPLkotlin/sequences/TransformingSequence$iterator$1;->hasNext()Z -HSPLkotlin/sequences/TransformingSequence$iterator$1;->next()Ljava/lang/Object; -HSPLkotlin/sequences/TransformingSequence;->(Lkotlin/sequences/Sequence;Lkotlin/jvm/functions/Function1;)V -HSPLkotlin/sequences/TransformingSequence;->iterator()Ljava/util/Iterator; -HSPLkotlin/text/CharsKt__CharKt;->checkRadix(I)V -HSPLkotlin/text/CharsKt__CharKt;->isWhitespace(C)Z -HSPLkotlin/text/StringsKt__AppendableKt;->()V -HSPLkotlin/text/StringsKt__AppendableKt;->appendElement(Ljava/lang/StringBuilder;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V -HSPLkotlin/text/StringsKt__StringNumberConversionsKt;->toIntOrNull(Ljava/lang/String;)Ljava/lang/Integer; -HSPLkotlin/text/StringsKt__StringsJVMKt;->isBlank(Ljava/lang/CharSequence;)Z -HSPLkotlin/text/StringsKt__StringsJVMKt;->replace$default(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLkotlin/text/StringsKt__StringsKt;->contains$default(Ljava/lang/CharSequence;Ljava/lang/String;)Z -HSPLkotlin/text/StringsKt__StringsKt;->getLastIndex(Ljava/lang/CharSequence;)I -HSPLkotlin/text/StringsKt__StringsKt;->indexOf$default(Ljava/lang/CharSequence;CIZI)I -HSPLkotlin/text/StringsKt__StringsKt;->indexOf$default(Ljava/lang/CharSequence;Ljava/lang/String;IZI)I -HSPLkotlin/text/StringsKt__StringsKt;->indexOf(ILjava/lang/CharSequence;Ljava/lang/String;Z)I -HSPLkotlin/text/StringsKt__StringsKt;->lastIndexOf$default(Ljava/lang/CharSequence;CII)I -HSPLkotlin/text/StringsKt__StringsKt;->substringAfterLast(Ljava/lang/String;CLjava/lang/String;)Ljava/lang/String; -HSPLkotlin/text/StringsKt__StringsKt;->substringBeforeLast$default(Ljava/lang/String;C)Ljava/lang/String; -HSPLkotlinx/collections/immutable/ExtensionsKt;->toImmutableList(Ljava/lang/Iterable;)Lkotlinx/collections/immutable/ImmutableList; -HSPLkotlinx/collections/immutable/implementations/immutableList/AbstractListIterator;->(III)V -HSPLkotlinx/collections/immutable/implementations/immutableList/AbstractListIterator;->getIndex()I -HSPLkotlinx/collections/immutable/implementations/immutableList/AbstractListIterator;->hasNext()Z -HSPLkotlinx/collections/immutable/implementations/immutableList/AbstractListIterator;->setIndex(I)V -HSPLkotlinx/collections/immutable/implementations/immutableList/AbstractPersistentList;->()V -HSPLkotlinx/collections/immutable/implementations/immutableList/AbstractPersistentList;->contains(Ljava/lang/Object;)Z -HSPLkotlinx/collections/immutable/implementations/immutableList/AbstractPersistentList;->iterator()Ljava/util/Iterator; -HSPLkotlinx/collections/immutable/implementations/immutableList/BufferIterator;->(II[Ljava/lang/Object;)V -HSPLkotlinx/collections/immutable/implementations/immutableList/BufferIterator;->next()Ljava/lang/Object; -HSPLkotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->()V -HSPLkotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->([Ljava/lang/Object;)V -HSPLkotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->addAll(Ljava/util/Collection;)Lkotlinx/collections/immutable/PersistentList; -HSPLkotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->getSize()I -HSPLkotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->indexOf(Ljava/lang/Object;)I -HSPLkotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector;->listIterator(I)Ljava/util/ListIterator; -HSPLkotlinx/collections/immutable/internal/ListImplementation;->checkPositionIndex$kotlinx_collections_immutable(II)V -HSPLkotlinx/coroutines/AbstractCoroutine;->(Lkotlin/coroutines/CoroutineContext;Z)V -HSPLkotlinx/coroutines/AbstractCoroutine;->afterResume(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/AbstractCoroutine;->cancellationExceptionMessage()Ljava/lang/String; -HSPLkotlinx/coroutines/AbstractCoroutine;->getContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/AbstractCoroutine;->getCoroutineContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/AbstractCoroutine;->isActive()Z -HSPLkotlinx/coroutines/AbstractCoroutine;->onCancelled(Ljava/lang/Throwable;Z)V -HSPLkotlinx/coroutines/AbstractCoroutine;->onCompleted(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/AbstractCoroutine;->onCompletionInternal(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/AbstractCoroutine;->resumeWith(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/AbstractCoroutine;->start$enumunboxing$(ILkotlinx/coroutines/AbstractCoroutine;Lkotlin/jvm/functions/Function2;)V -HSPLkotlinx/coroutines/Active;->()V -HSPLkotlinx/coroutines/Active;->()V -HSPLkotlinx/coroutines/BeforeResumeCancelHandler;->()V -HSPLkotlinx/coroutines/BlockingCoroutine;->(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Thread;Lkotlinx/coroutines/EventLoop;)V -HSPLkotlinx/coroutines/BlockingCoroutine;->afterCompletion(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/BlockingEventLoop;->(Ljava/lang/Thread;)V -HSPLkotlinx/coroutines/BlockingEventLoop;->getThread()Ljava/lang/Thread; -HSPLkotlinx/coroutines/BuildersKt;->async$default(Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function2;I)Lkotlinx/coroutines/DeferredCoroutine; -HSPLkotlinx/coroutines/BuildersKt;->launch$default(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext$Element;ILkotlin/jvm/functions/Function2;I)Lkotlinx/coroutines/StandaloneCoroutine; -HSPLkotlinx/coroutines/BuildersKt;->runBlocking(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlinx/coroutines/BuildersKt;->withContext(Lkotlin/coroutines/Continuation;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlinx/coroutines/CancelHandler;->()V -HSPLkotlinx/coroutines/CancelHandlerBase;->()V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->()V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->(ILkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->callCancelHandler(Lkotlinx/coroutines/CancelHandler;Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->cancel(Ljava/lang/Throwable;)Z -HSPLkotlinx/coroutines/CancellableContinuationImpl;->cancelCompletedResult$kotlinx_coroutines_core(Ljava/lang/Object;Ljava/util/concurrent/CancellationException;)V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->completeResume()V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->detachChild$kotlinx_coroutines_core()V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->dispatchResume(I)V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->getContinuationCancellationCause(Lkotlinx/coroutines/JobSupport;)Ljava/lang/Throwable; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->getDelegate$kotlinx_coroutines_core()Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->getExceptionalResult$kotlinx_coroutines_core(Ljava/lang/Object;)Ljava/lang/Throwable; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->getResult()Ljava/lang/Object; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->getSuccessfulResult$kotlinx_coroutines_core(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->initCancellability()V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->installParentHandle()Lkotlinx/coroutines/DisposableHandle; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->invokeOnCancellation(Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->isCompleted()Z -HSPLkotlinx/coroutines/CancellableContinuationImpl;->isReusable()Z -HSPLkotlinx/coroutines/CancellableContinuationImpl;->resetStateReusable()Z -HSPLkotlinx/coroutines/CancellableContinuationImpl;->resumeImpl(Ljava/lang/Object;ILkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->resumeWith(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/CancellableContinuationImpl;->resumedState(Lkotlinx/coroutines/NotCompleted;Ljava/lang/Object;ILkotlin/jvm/functions/Function1;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->takeState$kotlinx_coroutines_core()Ljava/lang/Object; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->tryResume(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/internal/Symbol; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->tryResumeImpl(Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/internal/Symbol; -HSPLkotlinx/coroutines/CancellableContinuationImpl;->tryResumeWithException(Ljava/lang/Throwable;)Lkotlinx/coroutines/internal/Symbol; -HSPLkotlinx/coroutines/CancellableContinuationImplKt;->()V -HSPLkotlinx/coroutines/CancellableContinuationKt;->getOrCreateCancellableContinuation(Lkotlin/coroutines/Continuation;)Lkotlinx/coroutines/CancellableContinuationImpl; -HSPLkotlinx/coroutines/CancelledContinuation;->()V -HSPLkotlinx/coroutines/CancelledContinuation;->(Lkotlin/coroutines/Continuation;Ljava/lang/Throwable;Z)V -HSPLkotlinx/coroutines/ChildContinuation;->(Lkotlinx/coroutines/CancellableContinuationImpl;)V -HSPLkotlinx/coroutines/ChildContinuation;->invoke(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/ChildHandleNode;->(Lkotlinx/coroutines/JobSupport;)V -HSPLkotlinx/coroutines/ChildHandleNode;->childCancelled(Ljava/lang/Throwable;)Z -HSPLkotlinx/coroutines/ChildHandleNode;->getParent()Lkotlinx/coroutines/Job; -HSPLkotlinx/coroutines/ChildHandleNode;->invoke(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/CompletedContinuation;->(Ljava/lang/Object;Lkotlinx/coroutines/CancelHandler;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/CompletedContinuation;->(Ljava/lang/Object;Lkotlinx/coroutines/CancelHandler;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;Ljava/util/concurrent/CancellationException;I)V -HSPLkotlinx/coroutines/CompletedContinuation;->copy$default(Lkotlinx/coroutines/CompletedContinuation;Lkotlinx/coroutines/CancelHandler;Ljava/util/concurrent/CancellationException;I)Lkotlinx/coroutines/CompletedContinuation; -HSPLkotlinx/coroutines/CompletedExceptionally;->()V -HSPLkotlinx/coroutines/CompletedExceptionally;->(Ljava/lang/Throwable;Z)V -HSPLkotlinx/coroutines/CompletedExceptionally;->getHandled()Z -HSPLkotlinx/coroutines/CompletionHandlerBase;->()V -HSPLkotlinx/coroutines/CompletionStateKt;->()V -HSPLkotlinx/coroutines/CompletionStateKt;->recoverResult(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/CoroutineContextKt$hasCopyableElements$1;->()V -HSPLkotlinx/coroutines/CoroutineContextKt$hasCopyableElements$1;->()V -HSPLkotlinx/coroutines/CoroutineContextKt$hasCopyableElements$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/CoroutineContextKt;->foldCopies(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext;Z)Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/CoroutineContextKt;->newCoroutineContext(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/CoroutineContextKt;->updateUndispatchedCompletion(Lkotlin/coroutines/Continuation;Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)Lkotlinx/coroutines/UndispatchedCoroutine; -HSPLkotlinx/coroutines/CoroutineDispatcher$Key$1;->()V -HSPLkotlinx/coroutines/CoroutineDispatcher$Key$1;->()V -HSPLkotlinx/coroutines/CoroutineDispatcher$Key;->()V -HSPLkotlinx/coroutines/CoroutineDispatcher;->()V -HSPLkotlinx/coroutines/CoroutineDispatcher;->()V -HSPLkotlinx/coroutines/CoroutineDispatcher;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLkotlinx/coroutines/CoroutineDispatcher;->interceptContinuation(Lkotlin/coroutines/jvm/internal/ContinuationImpl;)Lkotlinx/coroutines/internal/DispatchedContinuation; -HSPLkotlinx/coroutines/CoroutineDispatcher;->isDispatchNeeded()Z -HSPLkotlinx/coroutines/CoroutineDispatcher;->limitedParallelism(I)Lkotlinx/coroutines/CoroutineDispatcher; -HSPLkotlinx/coroutines/CoroutineDispatcher;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/CoroutineDispatcher;->releaseInterceptedContinuation(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/CoroutineExceptionHandler$Key;->()V -HSPLkotlinx/coroutines/CoroutineExceptionHandler$Key;->()V -HSPLkotlinx/coroutines/CoroutineScopeKt;->CoroutineScope(Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/internal/ContextScope; -HSPLkotlinx/coroutines/CoroutineScopeKt;->cancel$default(Lkotlinx/coroutines/CoroutineScope;)V -HSPLkotlinx/coroutines/CoroutineScopeKt;->coroutineScope(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/CoroutineScopeKt;->isActive(Lkotlinx/coroutines/CoroutineScope;)Z -HSPLkotlinx/coroutines/DefaultExecutor;->()V -HSPLkotlinx/coroutines/DefaultExecutor;->()V -HSPLkotlinx/coroutines/DefaultExecutorKt;->()V -HSPLkotlinx/coroutines/DeferredCoroutine;->(Lkotlin/coroutines/CoroutineContext;Z)V -HSPLkotlinx/coroutines/DelayKt;->delay(JLkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/DispatchedCoroutine;->()V -HSPLkotlinx/coroutines/DispatchedCoroutine;->(Lkotlin/coroutines/Continuation;Lkotlin/coroutines/CoroutineContext;)V -HSPLkotlinx/coroutines/DispatchedCoroutine;->afterResume(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/DispatchedCoroutine;->getResult()Ljava/lang/Object; -HSPLkotlinx/coroutines/DispatchedTask;->(I)V -HSPLkotlinx/coroutines/DispatchedTask;->getExceptionalResult$kotlinx_coroutines_core(Ljava/lang/Object;)Ljava/lang/Throwable; -HSPLkotlinx/coroutines/DispatchedTask;->getSuccessfulResult$kotlinx_coroutines_core(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/DispatchedTask;->handleFatalException(Ljava/lang/Throwable;Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/DispatchedTask;->run()V -HSPLkotlinx/coroutines/DispatchedTaskKt;->resume(Lkotlinx/coroutines/DispatchedTask;Lkotlin/coroutines/Continuation;Z)V -HSPLkotlinx/coroutines/Dispatchers;->()V -HSPLkotlinx/coroutines/DisposeOnCancel;->(Lkotlinx/coroutines/DisposableHandle;)V -HSPLkotlinx/coroutines/Empty;->(Z)V -HSPLkotlinx/coroutines/Empty;->getList()Lkotlinx/coroutines/NodeList; -HSPLkotlinx/coroutines/Empty;->isActive()Z -HSPLkotlinx/coroutines/EventLoop;->()V -HSPLkotlinx/coroutines/EventLoop;->decrementUseCount(Z)V -HSPLkotlinx/coroutines/EventLoop;->dispatchUnconfined(Lkotlinx/coroutines/DispatchedTask;)V -HSPLkotlinx/coroutines/EventLoop;->incrementUseCount(Z)V -HSPLkotlinx/coroutines/EventLoop;->isUnconfinedLoopActive()Z -HSPLkotlinx/coroutines/EventLoop;->processUnconfinedEvent()Z -HSPLkotlinx/coroutines/EventLoopImplBase;->()V -HSPLkotlinx/coroutines/EventLoopImplBase;->()V -HSPLkotlinx/coroutines/EventLoopImplBase;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V -HSPLkotlinx/coroutines/EventLoopImplBase;->enqueue(Ljava/lang/Runnable;)V -HSPLkotlinx/coroutines/EventLoopImplBase;->enqueueImpl(Ljava/lang/Runnable;)Z -HSPLkotlinx/coroutines/EventLoopImplBase;->processNextEvent()J -HSPLkotlinx/coroutines/EventLoopImplBase;->shutdown()V -HSPLkotlinx/coroutines/EventLoopImplPlatform;->()V -HSPLkotlinx/coroutines/ExecutorCoroutineDispatcher;->()V -HSPLkotlinx/coroutines/ExecutorCoroutineDispatcher;->()V -HSPLkotlinx/coroutines/ExecutorCoroutineDispatcherImpl;->(Ljava/util/concurrent/Executor;)V -HSPLkotlinx/coroutines/ExecutorCoroutineDispatcherImpl;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V -HSPLkotlinx/coroutines/ExecutorCoroutineDispatcherImpl;->equals(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/GlobalScope;->()V -HSPLkotlinx/coroutines/GlobalScope;->()V -HSPLkotlinx/coroutines/GlobalScope;->getCoroutineContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/InactiveNodeList;->(Lkotlinx/coroutines/NodeList;)V -HSPLkotlinx/coroutines/InactiveNodeList;->getList()Lkotlinx/coroutines/NodeList; -HSPLkotlinx/coroutines/InvokeOnCancel;->(Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/InvokeOnCancel;->invoke(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/InvokeOnCompletion;->(Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/InvokeOnCompletion;->invoke(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/Job$DefaultImpls;->invokeOnCompletion$default(Lkotlinx/coroutines/Job;ZLkotlinx/coroutines/JobNode;I)Lkotlinx/coroutines/DisposableHandle; -HSPLkotlinx/coroutines/Job$Key;->()V -HSPLkotlinx/coroutines/Job$Key;->()V -HSPLkotlinx/coroutines/JobCancellationException;->(Ljava/lang/String;Ljava/lang/Throwable;Lkotlinx/coroutines/Job;)V -HSPLkotlinx/coroutines/JobCancellationException;->equals(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/JobCancellationException;->fillInStackTrace()Ljava/lang/Throwable; -HSPLkotlinx/coroutines/JobCancellingNode;->()V -HSPLkotlinx/coroutines/JobImpl;->(Lkotlinx/coroutines/Job;)V -HSPLkotlinx/coroutines/JobImpl;->getHandlesException$kotlinx_coroutines_core()Z -HSPLkotlinx/coroutines/JobImpl;->getOnCancelComplete$kotlinx_coroutines_core()Z -HSPLkotlinx/coroutines/JobKt;->Job$default()Lkotlinx/coroutines/JobImpl; -HSPLkotlinx/coroutines/JobKt;->copy(Landroidx/compose/animation/core/AnimationVector;)Landroidx/compose/animation/core/AnimationVector; -HSPLkotlinx/coroutines/JobKt;->ensureActive(Lkotlin/coroutines/CoroutineContext;)V -HSPLkotlinx/coroutines/JobKt;->getJob(Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/Job; -HSPLkotlinx/coroutines/JobKt;->isActive(Lkotlin/coroutines/CoroutineContext;)Z -HSPLkotlinx/coroutines/JobNode;->()V -HSPLkotlinx/coroutines/JobNode;->dispose()V -HSPLkotlinx/coroutines/JobNode;->getJob()Lkotlinx/coroutines/JobSupport; -HSPLkotlinx/coroutines/JobNode;->getList()Lkotlinx/coroutines/NodeList; -HSPLkotlinx/coroutines/JobNode;->isActive()Z -HSPLkotlinx/coroutines/JobSupport$AwaitContinuation;->(Lkotlin/coroutines/Continuation;Lkotlinx/coroutines/JobSupport;)V -HSPLkotlinx/coroutines/JobSupport$ChildCompletion;->(Lkotlinx/coroutines/JobSupport;Lkotlinx/coroutines/JobSupport$Finishing;Lkotlinx/coroutines/ChildHandleNode;Ljava/lang/Object;)V -HSPLkotlinx/coroutines/JobSupport$ChildCompletion;->invoke(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/JobSupport$Finishing;->(Lkotlinx/coroutines/NodeList;Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/JobSupport$Finishing;->addExceptionLocked(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/JobSupport$Finishing;->getList()Lkotlinx/coroutines/NodeList; -HSPLkotlinx/coroutines/JobSupport$Finishing;->getRootCause()Ljava/lang/Throwable; -HSPLkotlinx/coroutines/JobSupport$Finishing;->isActive()Z -HSPLkotlinx/coroutines/JobSupport$Finishing;->isCancelling()Z -HSPLkotlinx/coroutines/JobSupport$Finishing;->isCompleting()Z -HSPLkotlinx/coroutines/JobSupport$Finishing;->isSealed()Z -HSPLkotlinx/coroutines/JobSupport$Finishing;->sealLocked(Ljava/lang/Throwable;)Ljava/util/ArrayList; -HSPLkotlinx/coroutines/JobSupport$Finishing;->setCompleting()V -HSPLkotlinx/coroutines/JobSupport$addLastAtomic$$inlined$addLastIf$1;->(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;Lkotlinx/coroutines/JobSupport;Ljava/lang/Object;)V -HSPLkotlinx/coroutines/JobSupport$addLastAtomic$$inlined$addLastIf$1;->prepare(Ljava/lang/Object;)Lkotlinx/coroutines/internal/Symbol; -HSPLkotlinx/coroutines/JobSupport;->()V -HSPLkotlinx/coroutines/JobSupport;->(Z)V -HSPLkotlinx/coroutines/JobSupport;->afterCompletion(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/JobSupport;->attachChild(Lkotlinx/coroutines/JobSupport;)Lkotlinx/coroutines/ChildHandle; -HSPLkotlinx/coroutines/JobSupport;->awaitInternal$kotlinx_coroutines_core(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/JobSupport;->cancel(Ljava/util/concurrent/CancellationException;)V -HSPLkotlinx/coroutines/JobSupport;->cancelImpl$kotlinx_coroutines_core(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/JobSupport;->cancelInternal(Ljava/util/concurrent/CancellationException;)V -HSPLkotlinx/coroutines/JobSupport;->cancelParent(Ljava/lang/Throwable;)Z -HSPLkotlinx/coroutines/JobSupport;->cancellationExceptionMessage()Ljava/lang/String; -HSPLkotlinx/coroutines/JobSupport;->childCancelled(Ljava/lang/Throwable;)Z -HSPLkotlinx/coroutines/JobSupport;->completeStateFinalization(Lkotlinx/coroutines/Incomplete;Ljava/lang/Object;)V -HSPLkotlinx/coroutines/JobSupport;->createCauseException(Ljava/lang/Object;)Ljava/lang/Throwable; -HSPLkotlinx/coroutines/JobSupport;->finalizeFinishingState(Lkotlinx/coroutines/JobSupport$Finishing;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/JobSupport;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlinx/coroutines/JobSupport;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLkotlinx/coroutines/JobSupport;->getCancellationException()Ljava/util/concurrent/CancellationException; -HSPLkotlinx/coroutines/JobSupport;->getChildJobCancellationCause()Ljava/util/concurrent/CancellationException; -HSPLkotlinx/coroutines/JobSupport;->getFinalRootCause(Lkotlinx/coroutines/JobSupport$Finishing;Ljava/util/ArrayList;)Ljava/lang/Throwable; -HSPLkotlinx/coroutines/JobSupport;->getHandlesException$kotlinx_coroutines_core()Z -HSPLkotlinx/coroutines/JobSupport;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLkotlinx/coroutines/JobSupport;->getOnCancelComplete$kotlinx_coroutines_core()Z -HSPLkotlinx/coroutines/JobSupport;->getOrPromoteCancellingList(Lkotlinx/coroutines/Incomplete;)Lkotlinx/coroutines/NodeList; -HSPLkotlinx/coroutines/JobSupport;->getParentHandle$kotlinx_coroutines_core()Lkotlinx/coroutines/ChildHandle; -HSPLkotlinx/coroutines/JobSupport;->getState$kotlinx_coroutines_core()Ljava/lang/Object; -HSPLkotlinx/coroutines/JobSupport;->initParentJob(Lkotlinx/coroutines/Job;)V -HSPLkotlinx/coroutines/JobSupport;->invokeOnCompletion(Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/DisposableHandle; -HSPLkotlinx/coroutines/JobSupport;->invokeOnCompletion(ZZLkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/DisposableHandle; -HSPLkotlinx/coroutines/JobSupport;->isActive()Z -HSPLkotlinx/coroutines/JobSupport;->isCancelled()Z -HSPLkotlinx/coroutines/JobSupport;->isCompleted()Z -HSPLkotlinx/coroutines/JobSupport;->isScopedCoroutine()Z -HSPLkotlinx/coroutines/JobSupport;->join(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/JobSupport;->makeCompletingOnce$kotlinx_coroutines_core(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/JobSupport;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/JobSupport;->nextChild(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;)Lkotlinx/coroutines/ChildHandleNode; -HSPLkotlinx/coroutines/JobSupport;->notifyCancelling(Lkotlinx/coroutines/NodeList;Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/JobSupport;->onCompletionInternal(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/JobSupport;->parentCancelled(Lkotlinx/coroutines/JobSupport;)V -HSPLkotlinx/coroutines/JobSupport;->plus(Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/JobSupport;->promoteSingleToNodeList(Lkotlinx/coroutines/JobNode;)V -HSPLkotlinx/coroutines/JobSupport;->start()Z -HSPLkotlinx/coroutines/JobSupport;->startInternal(Ljava/lang/Object;)I -HSPLkotlinx/coroutines/JobSupport;->stateString(Ljava/lang/Object;)Ljava/lang/String; -HSPLkotlinx/coroutines/JobSupport;->tryMakeCompleting(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/JobSupport;->tryWaitForChild(Lkotlinx/coroutines/JobSupport$Finishing;Lkotlinx/coroutines/ChildHandleNode;Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/JobSupportKt;->()V -HSPLkotlinx/coroutines/JobSupportKt;->unboxState(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/LazyStandaloneCoroutine;->(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)V -HSPLkotlinx/coroutines/LazyStandaloneCoroutine;->onStart$1()V -HSPLkotlinx/coroutines/MainCoroutineDispatcher;->()V -HSPLkotlinx/coroutines/NodeList;->()V -HSPLkotlinx/coroutines/NodeList;->getList()Lkotlinx/coroutines/NodeList; -HSPLkotlinx/coroutines/NodeList;->isActive()Z -HSPLkotlinx/coroutines/NonDisposableHandle;->()V -HSPLkotlinx/coroutines/NonDisposableHandle;->()V -HSPLkotlinx/coroutines/NonDisposableHandle;->dispose()V -HSPLkotlinx/coroutines/ResumeAwaitOnCompletion;->(Lkotlinx/coroutines/JobSupport$AwaitContinuation;)V -HSPLkotlinx/coroutines/ResumeAwaitOnCompletion;->invoke(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/ResumeOnCompletion;->(Lkotlinx/coroutines/CancellableContinuationImpl;)V -HSPLkotlinx/coroutines/ResumeOnCompletion;->invoke(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/StandaloneCoroutine;->(Lkotlin/coroutines/CoroutineContext;Z)V -HSPLkotlinx/coroutines/SupervisorJobImpl;->(Lkotlinx/coroutines/Job;)V -HSPLkotlinx/coroutines/SupervisorJobImpl;->childCancelled(Ljava/lang/Throwable;)Z -HSPLkotlinx/coroutines/SupervisorKt;->SupervisorJob$default()Lkotlinx/coroutines/SupervisorJobImpl; -HSPLkotlinx/coroutines/ThreadLocalEventLoop;->()V -HSPLkotlinx/coroutines/ThreadLocalEventLoop;->getEventLoop$kotlinx_coroutines_core()Lkotlinx/coroutines/EventLoop; -HSPLkotlinx/coroutines/Unconfined;->()V -HSPLkotlinx/coroutines/Unconfined;->()V -HSPLkotlinx/coroutines/UndispatchedCoroutine;->(Lkotlin/coroutines/Continuation;Lkotlin/coroutines/CoroutineContext;)V -HSPLkotlinx/coroutines/UndispatchedCoroutine;->afterResume(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/UndispatchedMarker;->()V -HSPLkotlinx/coroutines/UndispatchedMarker;->()V -HSPLkotlinx/coroutines/UndispatchedMarker;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlinx/coroutines/UndispatchedMarker;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLkotlinx/coroutines/UndispatchedMarker;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLkotlinx/coroutines/android/AndroidDispatcherFactory;->()V -HSPLkotlinx/coroutines/android/AndroidDispatcherFactory;->createDispatcher(Ljava/util/List;)Lkotlinx/coroutines/MainCoroutineDispatcher; -HSPLkotlinx/coroutines/android/HandlerContext;->(Landroid/os/Handler;)V -HSPLkotlinx/coroutines/android/HandlerContext;->(Landroid/os/Handler;Ljava/lang/String;Z)V -HSPLkotlinx/coroutines/android/HandlerContext;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V -HSPLkotlinx/coroutines/android/HandlerContext;->equals(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/android/HandlerContext;->getImmediate()Lkotlinx/coroutines/MainCoroutineDispatcher; -HSPLkotlinx/coroutines/android/HandlerContext;->isDispatchNeeded()Z -HSPLkotlinx/coroutines/android/HandlerDispatcher;->()V -HSPLkotlinx/coroutines/android/HandlerDispatcherKt;->()V -HSPLkotlinx/coroutines/android/HandlerDispatcherKt;->asHandler(Landroid/os/Looper;)Landroid/os/Handler; -HSPLkotlinx/coroutines/channels/AbstractChannel$Itr;->(Lkotlinx/coroutines/channels/AbstractChannel;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$Itr;->hasNext(Lkotlin/coroutines/jvm/internal/ContinuationImpl;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractChannel$Itr;->next()Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveElement;->(Lkotlinx/coroutines/CancellableContinuationImpl;I)V -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveElement;->completeResumeReceive(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveElement;->resumeReceiveClosed(Lkotlinx/coroutines/channels/Closed;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveElement;->tryResumeReceive(Ljava/lang/Object;)Lkotlinx/coroutines/internal/Symbol; -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveHasNext;->(Lkotlinx/coroutines/channels/AbstractChannel$Itr;Lkotlinx/coroutines/CancellableContinuationImpl;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveHasNext;->completeResumeReceive(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveHasNext;->resumeOnCancellationFun(Ljava/lang/Object;)Lkotlin/jvm/functions/Function1; -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveHasNext;->resumeReceiveClosed(Lkotlinx/coroutines/channels/Closed;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$ReceiveHasNext;->tryResumeReceive(Ljava/lang/Object;)Lkotlinx/coroutines/internal/Symbol; -HSPLkotlinx/coroutines/channels/AbstractChannel$RemoveReceiveOnCancel;->(Lkotlinx/coroutines/channels/AbstractChannel;Lkotlinx/coroutines/channels/Receive;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$RemoveReceiveOnCancel;->invoke(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$enqueueReceiveInternal$$inlined$addLastIfPrevAndIf$1;->(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;Lkotlinx/coroutines/channels/AbstractChannel;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$enqueueReceiveInternal$$inlined$addLastIfPrevAndIf$1;->prepare(Ljava/lang/Object;)Lkotlinx/coroutines/internal/Symbol; -HSPLkotlinx/coroutines/channels/AbstractChannel$receiveCatching$1;->(Lkotlinx/coroutines/channels/AbstractChannel;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/channels/AbstractChannel$receiveCatching$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractChannel;->(Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/channels/AbstractChannel;->cancel(Ljava/util/concurrent/CancellationException;)V -HSPLkotlinx/coroutines/channels/AbstractChannel;->enqueueReceiveInternal(Lkotlinx/coroutines/channels/Receive;)Z -HSPLkotlinx/coroutines/channels/AbstractChannel;->isClosedForReceive()Z -HSPLkotlinx/coroutines/channels/AbstractChannel;->iterator()Lkotlinx/coroutines/channels/ChannelIterator; -HSPLkotlinx/coroutines/channels/AbstractChannel;->onCancelIdempotent(Z)V -HSPLkotlinx/coroutines/channels/AbstractChannel;->onCancelIdempotentList-w-w6eGU(Ljava/lang/Object;Lkotlinx/coroutines/channels/Closed;)V -HSPLkotlinx/coroutines/channels/AbstractChannel;->pollInternal()Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractChannel;->receive(Lkotlin/coroutines/jvm/internal/SuspendLambda;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractChannel;->receiveCatching-JP2dKIU(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractChannel;->receiveSuspend(ILkotlin/coroutines/jvm/internal/ContinuationImpl;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractChannel;->takeFirstReceiveOrPeekClosed()Lkotlinx/coroutines/channels/ReceiveOrClosed; -HSPLkotlinx/coroutines/channels/AbstractChannel;->tryReceive-PtdJZtk()Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractChannelKt;->()V -HSPLkotlinx/coroutines/channels/AbstractSendChannel$SendBuffered;->(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/channels/AbstractSendChannel$SendBuffered;->completeResumeSend()V -HSPLkotlinx/coroutines/channels/AbstractSendChannel$SendBuffered;->getPollResult()Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractSendChannel$SendBuffered;->tryResumeSend()Lkotlinx/coroutines/internal/Symbol; -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->()V -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->(Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->close(Ljava/lang/Throwable;)Z -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->getClosedForSend()Lkotlinx/coroutines/channels/Closed; -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->helpClose(Lkotlinx/coroutines/channels/Closed;)V -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->invokeOnClose(Lkotlinx/coroutines/channels/ProduceKt$awaitClose$4$1;)V -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->offerInternal(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->send(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->takeFirstReceiveOrPeekClosed()Lkotlinx/coroutines/channels/ReceiveOrClosed; -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->takeFirstSendOrPeekClosed()Lkotlinx/coroutines/channels/Send; -HSPLkotlinx/coroutines/channels/AbstractSendChannel;->trySend-JP2dKIU(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ArrayChannel;->(ILkotlinx/coroutines/channels/BufferOverflow;Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/channels/ArrayChannel;->enqueueElement(ILjava/lang/Object;)V -HSPLkotlinx/coroutines/channels/ArrayChannel;->enqueueReceiveInternal(Lkotlinx/coroutines/channels/Receive;)Z -HSPLkotlinx/coroutines/channels/ArrayChannel;->isBufferAlwaysEmpty()Z -HSPLkotlinx/coroutines/channels/ArrayChannel;->isBufferEmpty()Z -HSPLkotlinx/coroutines/channels/ArrayChannel;->isClosedForReceive()Z -HSPLkotlinx/coroutines/channels/ArrayChannel;->offerInternal(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ArrayChannel;->onCancelIdempotent(Z)V -HSPLkotlinx/coroutines/channels/ArrayChannel;->pollInternal()Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/BufferOverflow;->()V -HSPLkotlinx/coroutines/channels/BufferOverflow;->(ILjava/lang/String;)V -HSPLkotlinx/coroutines/channels/Channel$Factory;->()V -HSPLkotlinx/coroutines/channels/Channel$Factory;->()V -HSPLkotlinx/coroutines/channels/Channel;->()V -HSPLkotlinx/coroutines/channels/ChannelCoroutine;->(Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/channels/AbstractChannel;)V -HSPLkotlinx/coroutines/channels/ChannelCoroutine;->cancel(Ljava/util/concurrent/CancellationException;)V -HSPLkotlinx/coroutines/channels/ChannelCoroutine;->cancelInternal(Ljava/util/concurrent/CancellationException;)V -HSPLkotlinx/coroutines/channels/ChannelCoroutine;->close(Ljava/lang/Throwable;)Z -HSPLkotlinx/coroutines/channels/ChannelCoroutine;->invokeOnClose(Lkotlinx/coroutines/channels/ProduceKt$awaitClose$4$1;)V -HSPLkotlinx/coroutines/channels/ChannelCoroutine;->receiveCatching-JP2dKIU(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ChannelCoroutine;->send(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ChannelKt;->Channel$default(ILkotlinx/coroutines/channels/BufferOverflow;I)Lkotlinx/coroutines/channels/AbstractChannel; -HSPLkotlinx/coroutines/channels/ChannelResult$Closed;->(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/channels/ChannelResult$Failed;->()V -HSPLkotlinx/coroutines/channels/ChannelResult;->()V -HSPLkotlinx/coroutines/channels/ChannelResult;->(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/channels/ChannelResult;->getOrNull-impl(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ChannelResult;->getOrThrow-impl(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/channels/ChannelsKt;->cancelConsumed(Lkotlinx/coroutines/channels/ReceiveChannel;Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/channels/ChannelsKt;->spring$default(FLjava/lang/Object;I)Landroidx/compose/animation/core/SpringSpec; -HSPLkotlinx/coroutines/channels/ChannelsKt;->tween$default(IILandroidx/compose/animation/core/Easing;I)Landroidx/compose/animation/core/TweenSpec; -HSPLkotlinx/coroutines/channels/Closed;->(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/channels/Closed;->getReceiveException()Ljava/lang/Throwable; -HSPLkotlinx/coroutines/channels/ConflatedChannel;->(Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/channels/ConflatedChannel;->enqueueReceiveInternal(Lkotlinx/coroutines/channels/Receive;)Z -HSPLkotlinx/coroutines/channels/ConflatedChannel;->isBufferAlwaysEmpty()Z -HSPLkotlinx/coroutines/channels/ConflatedChannel;->isBufferEmpty()Z -HSPLkotlinx/coroutines/channels/ConflatedChannel;->offerInternal(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ConflatedChannel;->onCancelIdempotent(Z)V -HSPLkotlinx/coroutines/channels/ConflatedChannel;->pollInternal()Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/LinkedListChannel;->(Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/channels/LinkedListChannel;->isBufferAlwaysEmpty()Z -HSPLkotlinx/coroutines/channels/LinkedListChannel;->offerInternal(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ProduceKt$awaitClose$1;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/channels/ProduceKt$awaitClose$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ProduceKt$awaitClose$4$1;->(Lkotlinx/coroutines/CancellableContinuationImpl;)V -HSPLkotlinx/coroutines/channels/ProduceKt$awaitClose$4$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ProduceKt;->awaitClose(Lkotlinx/coroutines/channels/ProducerScope;Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/ProducerCoroutine;->(Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/channels/AbstractChannel;)V -HSPLkotlinx/coroutines/channels/ProducerCoroutine;->isActive()Z -HSPLkotlinx/coroutines/channels/ProducerCoroutine;->onCancelled(Ljava/lang/Throwable;Z)V -HSPLkotlinx/coroutines/channels/Receive;->()V -HSPLkotlinx/coroutines/channels/Receive;->getOfferResult()Ljava/lang/Object; -HSPLkotlinx/coroutines/channels/Receive;->resumeOnCancellationFun(Ljava/lang/Object;)Lkotlin/jvm/functions/Function1; -HSPLkotlinx/coroutines/channels/RendezvousChannel;->(Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/channels/RendezvousChannel;->isBufferAlwaysEmpty()Z -HSPLkotlinx/coroutines/channels/Send;->()V -HSPLkotlinx/coroutines/flow/AbstractFlow$collect$1;->(Lkotlinx/coroutines/flow/AbstractFlow;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/AbstractFlow$collect$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/AbstractFlow;->()V -HSPLkotlinx/coroutines/flow/AbstractFlow;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/CallbackFlowBuilder$collectTo$1;->(Lkotlinx/coroutines/flow/CallbackFlowBuilder;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/CallbackFlowBuilder$collectTo$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/CallbackFlowBuilder;->(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)V -HSPLkotlinx/coroutines/flow/CallbackFlowBuilder;->collectTo(Lkotlinx/coroutines/channels/ProducerScope;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/CallbackFlowBuilder;->create(Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)Lkotlinx/coroutines/flow/internal/ChannelFlow; -HSPLkotlinx/coroutines/flow/ChannelAsFlow;->()V -HSPLkotlinx/coroutines/flow/ChannelAsFlow;->(Lkotlinx/coroutines/channels/ReceiveChannel;Z)V -HSPLkotlinx/coroutines/flow/ChannelAsFlow;->(Lkotlinx/coroutines/channels/ReceiveChannel;ZLkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)V -HSPLkotlinx/coroutines/flow/ChannelAsFlow;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/ChannelAsFlow;->markConsumed()V -HSPLkotlinx/coroutines/flow/ChannelFlowBuilder;->(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)V -HSPLkotlinx/coroutines/flow/DistinctFlowImpl$collect$2$emit$1;->(Lkotlinx/coroutines/flow/DistinctFlowImpl$collect$2;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/DistinctFlowImpl$collect$2;->(Lkotlinx/coroutines/flow/DistinctFlowImpl;Lkotlin/jvm/internal/Ref$ObjectRef;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/DistinctFlowImpl$collect$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/DistinctFlowImpl;->(Lkotlinx/coroutines/flow/Flow;)V -HSPLkotlinx/coroutines/flow/DistinctFlowImpl;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt;->()V -HSPLkotlinx/coroutines/flow/FlowKt;->MutableSharedFlow$default(IILkotlinx/coroutines/channels/BufferOverflow;I)Lkotlinx/coroutines/flow/SharedFlowImpl; -HSPLkotlinx/coroutines/flow/FlowKt;->MutableSharedFlow(IILkotlinx/coroutines/channels/BufferOverflow;)Lkotlinx/coroutines/flow/SharedFlowImpl; -HSPLkotlinx/coroutines/flow/FlowKt;->asStateFlow(Lkotlinx/coroutines/flow/MutableStateFlow;)Lkotlinx/coroutines/flow/ReadonlyStateFlow; -HSPLkotlinx/coroutines/flow/FlowKt;->buffer$default(Lkotlinx/coroutines/flow/Flow;I)Lkotlinx/coroutines/flow/Flow; -HSPLkotlinx/coroutines/flow/FlowKt;->calculateNodeKindSetFrom(Landroidx/compose/ui/Modifier$Element;)I -HSPLkotlinx/coroutines/flow/FlowKt;->catchImpl(Lkotlin/coroutines/Continuation;Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/flow/FlowCollector;)Ljava/io/Serializable; -HSPLkotlinx/coroutines/flow/FlowKt;->collectLatest(Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt;->consumeAsFlow(Lkotlinx/coroutines/channels/Channel;)Lkotlinx/coroutines/flow/ChannelAsFlow; -HSPLkotlinx/coroutines/flow/FlowKt;->distinctUntilChanged(Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; -HSPLkotlinx/coroutines/flow/FlowKt;->first(Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt;->first(Lkotlinx/coroutines/flow/StateFlow;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt;->flowOn(Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineDispatcher;)Lkotlinx/coroutines/flow/Flow; -HSPLkotlinx/coroutines/flow/FlowKt;->getIncludeSelfInTraversal-H91voCI(I)Z -HSPLkotlinx/coroutines/flow/FlowKt;->stateIn(Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/flow/SharingStarted;Ljava/lang/Object;)Lkotlinx/coroutines/flow/ReadonlyStateFlow; -HSPLkotlinx/coroutines/flow/FlowKt__BuildersKt$flowOf$$inlined$unsafeFlow$1$1;->(Lkotlinx/coroutines/flow/FlowKt__BuildersKt$flowOf$$inlined$unsafeFlow$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__BuildersKt$flowOf$$inlined$unsafeFlow$1;->([Ljava/lang/Object;)V -HSPLkotlinx/coroutines/flow/FlowKt__BuildersKt$flowOf$$inlined$unsafeFlow$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ChannelsKt$emitAllImpl$1;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ChannelsKt$emitAllImpl$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ChannelsKt;->emitAllImpl$FlowKt__ChannelsKt(Lkotlinx/coroutines/flow/FlowCollector;Lkotlinx/coroutines/channels/ReceiveChannel;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__CollectKt$launchIn$1;->(Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__CollectKt$launchIn$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/FlowKt__CollectKt$launchIn$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__DistinctKt$defaultAreEquivalent$1;->()V -HSPLkotlinx/coroutines/flow/FlowKt__DistinctKt$defaultAreEquivalent$1;->()V -HSPLkotlinx/coroutines/flow/FlowKt__DistinctKt$defaultAreEquivalent$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__DistinctKt$defaultKeySelector$1;->()V -HSPLkotlinx/coroutines/flow/FlowKt__DistinctKt$defaultKeySelector$1;->()V -HSPLkotlinx/coroutines/flow/FlowKt__DistinctKt$defaultKeySelector$1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$invokeSafely$1;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$onCompletion$$inlined$unsafeFlow$1$1;->(Lkotlinx/coroutines/flow/FlowKt__EmittersKt$onCompletion$$inlined$unsafeFlow$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$onCompletion$$inlined$unsafeFlow$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$onCompletion$$inlined$unsafeFlow$1;->(Lkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1;Lkotlin/jvm/functions/Function3;)V -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$onCompletion$$inlined$unsafeFlow$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1$1;->(Lkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1;->(Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/flow/Flow;)V -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__EmittersKt;->access$invokeSafely$FlowKt__EmittersKt(Lkotlinx/coroutines/flow/ThrowingCollector;Lkotlin/jvm/functions/Function3;Ljava/lang/Throwable;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1$1;->(Lkotlinx/coroutines/flow/FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1;->(Lkotlinx/coroutines/flow/Flow;Lcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$5;)V -HSPLkotlinx/coroutines/flow/FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ErrorsKt$catchImpl$1;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ErrorsKt$catchImpl$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ErrorsKt$catchImpl$2;->(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/jvm/internal/Ref$ObjectRef;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$$inlined$unsafeFlow$1;->(Lkotlinx/coroutines/flow/StartedWhileSubscribed$command$2;Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$$inlined$unsafeFlow$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$1$1$emit$1;->(Lkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$1$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$1$1;->(Lkotlin/jvm/internal/Ref$BooleanRef;Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/jvm/functions/Function2;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$emitAbort$1;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$emitAbort$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$take$$inlined$unsafeFlow$1$1;->(Lkotlinx/coroutines/flow/FlowKt__LimitKt$take$$inlined$unsafeFlow$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$take$$inlined$unsafeFlow$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$take$$inlined$unsafeFlow$1;->(Landroidx/compose/material/SwipeableState$special$$inlined$filter$1;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$take$$inlined$unsafeFlow$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$take$2$1$emit$1;->(Lkotlinx/coroutines/flow/FlowKt__LimitKt$take$2$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$take$2$1$emit$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$take$2$1;->(Lkotlin/jvm/internal/Ref$IntRef;ILkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$take$2$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$$inlined$unsafeFlow$1$1;->(Lkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$$inlined$unsafeFlow$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$$inlined$unsafeFlow$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$$inlined$unsafeFlow$1;->(Landroidx/paging/CachedPageEventFlow$downstreamFlow$1$1;Lkotlinx/coroutines/flow/SubscribedSharedFlow;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$$inlined$unsafeFlow$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$lambda-6$$inlined$collectWhile$1$1;->(Lkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$lambda-6$$inlined$collectWhile$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$lambda-6$$inlined$collectWhile$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$lambda-6$$inlined$collectWhile$1;->(Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$lambda-6$$inlined$collectWhile$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__LimitKt;->access$emitAbort$FlowKt__LimitKt(Lkotlinx/coroutines/flow/FlowCollector;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2$1;->(Lkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2;->(Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1;->(Lcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$4;Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2;)V -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$$inlined$unsafeFlow$1;->(Lkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1;)V -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$$inlined$unsafeFlow$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1$emit$1;->(Lkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1$emit$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1;->emit(Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$mapLatest$1;->(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$mapLatest$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt$mapLatest$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__MergeKt;->()V -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$1;->(Lkotlin/jvm/internal/Ref$ObjectRef;)V -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$2$1;->(Lkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$2;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$2;->(Lkotlin/jvm/functions/Function2;Lkotlin/jvm/internal/Ref$ObjectRef;)V -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$1;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$3;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ReduceKt$first$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$1;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$2;->(Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/flow/MutableSharedFlow;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1;->(Lkotlinx/coroutines/flow/SharingStarted;Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/flow/MutableSharedFlow;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt;->configureSharing$FlowKt__ShareKt(Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/SharingConfig; -HSPLkotlinx/coroutines/flow/FlowKt__ShareKt;->launchSharing$FlowKt__ShareKt(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/flow/MutableSharedFlow;Lkotlinx/coroutines/flow/SharingStarted;Ljava/lang/Object;)Lkotlinx/coroutines/StandaloneCoroutine; -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1$2$1;->(Lkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1$2;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1$2;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1;->(Lkotlinx/coroutines/flow/Flow;)V -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2$1;->(Lkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2;->(Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1;->(Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/flow/Flow;)V -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$withIndex$1$1$emit$1;->(Lkotlinx/coroutines/flow/FlowKt__TransformKt$withIndex$1$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$withIndex$1$1;->(Lkotlin/jvm/internal/Ref$IntRef;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/FlowKt__TransformKt$withIndex$1$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/ReadonlySharedFlow;->(Lkotlinx/coroutines/flow/SharedFlowImpl;Lkotlinx/coroutines/StandaloneCoroutine;)V -HSPLkotlinx/coroutines/flow/ReadonlySharedFlow;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/ReadonlyStateFlow;->(Lkotlinx/coroutines/flow/StateFlow;Lkotlinx/coroutines/StandaloneCoroutine;)V -HSPLkotlinx/coroutines/flow/ReadonlyStateFlow;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/ReadonlyStateFlow;->getValue()Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SafeFlow;->(Lkotlin/jvm/functions/Function2;)V -HSPLkotlinx/coroutines/flow/SharedFlowImpl$collect$1;->(Lkotlinx/coroutines/flow/SharedFlowImpl;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/SharedFlowImpl$collect$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->(IILkotlinx/coroutines/channels/BufferOverflow;)V -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->awaitValue(Lkotlinx/coroutines/flow/SharedFlowSlot;Lkotlinx/coroutines/flow/SharedFlowImpl$collect$1;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->cleanupTailLocked()V -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->collect$suspendImpl(Lkotlinx/coroutines/flow/SharedFlowImpl;Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/intrinsics/CoroutineSingletons; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->createSlot()Lkotlinx/coroutines/flow/internal/AbstractSharedFlowSlot; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->createSlotArray()[Lkotlinx/coroutines/flow/internal/AbstractSharedFlowSlot; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->dropOldestLocked()V -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->enqueueLocked(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->findSlotsToResumeLocked([Lkotlin/coroutines/Continuation;)[Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->getHead()J -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->growBuffer(II[Ljava/lang/Object;)[Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->tryEmit(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->tryEmitLocked(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->tryPeekLocked(Lkotlinx/coroutines/flow/SharedFlowSlot;)J -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->tryTakeValue(Lkotlinx/coroutines/flow/SharedFlowSlot;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->updateBufferLocked(JJJJ)V -HSPLkotlinx/coroutines/flow/SharedFlowImpl;->updateCollectorIndexLocked$kotlinx_coroutines_core(J)[Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/SharedFlowSlot;->()V -HSPLkotlinx/coroutines/flow/SharedFlowSlot;->allocateLocked(Lkotlinx/coroutines/flow/internal/AbstractSharedFlow;)Z -HSPLkotlinx/coroutines/flow/SharedFlowSlot;->freeLocked(Lkotlinx/coroutines/flow/internal/AbstractSharedFlow;)[Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/SharingCommand;->()V -HSPLkotlinx/coroutines/flow/SharingCommand;->(ILjava/lang/String;)V -HSPLkotlinx/coroutines/flow/SharingConfig;->(ILkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/channels/BufferOverflow;Lkotlinx/coroutines/flow/Flow;)V -HSPLkotlinx/coroutines/flow/SharingStarted$Companion;->()V -HSPLkotlinx/coroutines/flow/SharingStarted$Companion;->WhileSubscribed$default()Lkotlinx/coroutines/flow/StartedWhileSubscribed; -HSPLkotlinx/coroutines/flow/StartedEagerly;->()V -HSPLkotlinx/coroutines/flow/StartedLazily;->()V -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed$command$1;->(Lkotlinx/coroutines/flow/StartedWhileSubscribed;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed$command$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed$command$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed$command$2;->(Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed$command$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed$command$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed$command$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed;->(JJ)V -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed;->command(Lkotlinx/coroutines/flow/StateFlow;)Lkotlinx/coroutines/flow/Flow; -HSPLkotlinx/coroutines/flow/StartedWhileSubscribed;->equals(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/flow/StateFlowImpl$collect$1;->(Lkotlinx/coroutines/flow/StateFlowImpl;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/StateFlowImpl$collect$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/StateFlowImpl;->(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/flow/StateFlowImpl;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/StateFlowImpl;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/flow/StateFlowImpl;->createSlot()Lkotlinx/coroutines/flow/internal/AbstractSharedFlowSlot; -HSPLkotlinx/coroutines/flow/StateFlowImpl;->createSlotArray()[Lkotlinx/coroutines/flow/internal/AbstractSharedFlowSlot; -HSPLkotlinx/coroutines/flow/StateFlowImpl;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/StateFlowImpl;->getValue()Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/StateFlowImpl;->setValue(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/flow/StateFlowImpl;->updateState(Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/flow/StateFlowKt;->()V -HSPLkotlinx/coroutines/flow/StateFlowKt;->MutableStateFlow(Ljava/lang/Object;)Lkotlinx/coroutines/flow/StateFlowImpl; -HSPLkotlinx/coroutines/flow/StateFlowSlot;->()V -HSPLkotlinx/coroutines/flow/StateFlowSlot;->()V -HSPLkotlinx/coroutines/flow/StateFlowSlot;->allocateLocked(Lkotlinx/coroutines/flow/internal/AbstractSharedFlow;)Z -HSPLkotlinx/coroutines/flow/StateFlowSlot;->freeLocked(Lkotlinx/coroutines/flow/internal/AbstractSharedFlow;)[Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/SubscribedFlowCollector$onSubscription$1;->(Lkotlinx/coroutines/flow/SubscribedFlowCollector;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/SubscribedFlowCollector;->(Lkotlin/jvm/functions/Function2;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/SubscribedFlowCollector;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SubscribedFlowCollector;->onSubscription(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SubscribedSharedFlow$collect$1;->(Lkotlinx/coroutines/flow/SubscribedSharedFlow;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/SubscribedSharedFlow$collect$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/SubscribedSharedFlow;->(Lkotlinx/coroutines/flow/SharedFlowImpl;Landroidx/paging/CachedPageEventFlow$sharedForDownstream$1;)V -HSPLkotlinx/coroutines/flow/SubscribedSharedFlow;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/ThrowingCollector;->(Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/flow/internal/AbortFlowException;->(Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/internal/AbortFlowException;->fillInStackTrace()Ljava/lang/Throwable; -HSPLkotlinx/coroutines/flow/internal/AbstractSharedFlow;->()V -HSPLkotlinx/coroutines/flow/internal/AbstractSharedFlow;->allocateSlot()Lkotlinx/coroutines/flow/internal/AbstractSharedFlowSlot; -HSPLkotlinx/coroutines/flow/internal/AbstractSharedFlow;->freeSlot(Lkotlinx/coroutines/flow/internal/AbstractSharedFlowSlot;)V -HSPLkotlinx/coroutines/flow/internal/AbstractSharedFlow;->getSubscriptionCount()Lkotlinx/coroutines/flow/internal/SubscriptionCountStateFlow; -HSPLkotlinx/coroutines/flow/internal/AbstractSharedFlowKt;->()V -HSPLkotlinx/coroutines/flow/internal/AbstractSharedFlowKt;->(Landroid/content/Context;)V -HSPLkotlinx/coroutines/flow/internal/AbstractSharedFlowSlot;->()V -HSPLkotlinx/coroutines/flow/internal/ChannelFlow$collect$2;->(Lkotlin/coroutines/Continuation;Lkotlinx/coroutines/flow/FlowCollector;Lkotlinx/coroutines/flow/internal/ChannelFlow;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlow$collect$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/internal/ChannelFlow$collect$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlow$collect$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlow$collectToFun$1;->(Lkotlinx/coroutines/flow/internal/ChannelFlow;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlow$collectToFun$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/internal/ChannelFlow$collectToFun$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlow;->(Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlow;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlow;->dropChannelOperators()Lkotlinx/coroutines/flow/Flow; -HSPLkotlinx/coroutines/flow/internal/ChannelFlow;->fuse(Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)Lkotlinx/coroutines/flow/Flow; -HSPLkotlinx/coroutines/flow/internal/ChannelFlow;->produceImpl(Lkotlinx/coroutines/CoroutineScope;)Lkotlinx/coroutines/channels/ReceiveChannel; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowOperator;->(ILkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/channels/BufferOverflow;Lkotlinx/coroutines/flow/Flow;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlowOperator;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowOperator;->collectTo(Lkotlinx/coroutines/channels/ProducerScope;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowOperatorImpl;->(Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineDispatcher;ILkotlinx/coroutines/channels/BufferOverflow;I)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlowOperatorImpl;->flowCollect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1$2;->(Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest;Lkotlinx/coroutines/flow/FlowCollector;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1$2;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1$emit$1;->(Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1$emit$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1;->(Lkotlin/jvm/internal/Ref$ObjectRef;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest;Lkotlinx/coroutines/flow/FlowCollector;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3;->(Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest;Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest;->(Lkotlin/jvm/functions/Function3;Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)V -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest;->create(Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)Lkotlinx/coroutines/flow/internal/ChannelFlow; -HSPLkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest;->flowCollect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/ChildCancelledException;->()V -HSPLkotlinx/coroutines/flow/internal/ChildCancelledException;->fillInStackTrace()Ljava/lang/Throwable; -HSPLkotlinx/coroutines/flow/internal/DownstreamExceptionContext;->(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V -HSPLkotlinx/coroutines/flow/internal/FusibleFlow$DefaultImpls;->fuse$default(Lkotlinx/coroutines/flow/internal/FusibleFlow;Lkotlinx/coroutines/CoroutineDispatcher;ILkotlinx/coroutines/channels/BufferOverflow;I)Lkotlinx/coroutines/flow/Flow; -HSPLkotlinx/coroutines/flow/internal/NoOpContinuation;->()V -HSPLkotlinx/coroutines/flow/internal/NoOpContinuation;->()V -HSPLkotlinx/coroutines/flow/internal/NopCollector;->()V -HSPLkotlinx/coroutines/flow/internal/NopCollector;->()V -HSPLkotlinx/coroutines/flow/internal/NopCollector;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/NullSurrogateKt;->()V -HSPLkotlinx/coroutines/flow/internal/SafeCollector$collectContextSize$1;->()V -HSPLkotlinx/coroutines/flow/internal/SafeCollector$collectContextSize$1;->()V -HSPLkotlinx/coroutines/flow/internal/SafeCollector$collectContextSize$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/SafeCollector;->(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/CoroutineContext;)V -HSPLkotlinx/coroutines/flow/internal/SafeCollector;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/SafeCollector;->emit(Lkotlin/coroutines/Continuation;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/SafeCollector;->getContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/flow/internal/SafeCollector;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/SafeCollector;->releaseIntercepted()V -HSPLkotlinx/coroutines/flow/internal/SafeCollectorKt$emitFun$1;->()V -HSPLkotlinx/coroutines/flow/internal/SafeCollectorKt$emitFun$1;->()V -HSPLkotlinx/coroutines/flow/internal/SafeCollectorKt$emitFun$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/SafeCollectorKt;->()V -HSPLkotlinx/coroutines/flow/internal/SafeCollector_commonKt$checkContext$result$1;->(Lkotlinx/coroutines/flow/internal/SafeCollector;)V -HSPLkotlinx/coroutines/flow/internal/SafeCollector_commonKt$checkContext$result$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/SendingCollector;->(Lkotlinx/coroutines/channels/SendChannel;)V -HSPLkotlinx/coroutines/flow/internal/SendingCollector;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/flow/internal/SubscriptionCountStateFlow;->(I)V -HSPLkotlinx/coroutines/internal/ArrayQueue;->()V -HSPLkotlinx/coroutines/internal/AtomicKt;->()V -HSPLkotlinx/coroutines/internal/AtomicOp;->()V -HSPLkotlinx/coroutines/internal/AtomicOp;->()V -HSPLkotlinx/coroutines/internal/AtomicOp;->perform(Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/ConcurrentKt;->()V -HSPLkotlinx/coroutines/internal/ConcurrentLinkedListNode;->()V -HSPLkotlinx/coroutines/internal/ConcurrentLinkedListNode;->(Lkotlinx/coroutines/internal/ConcurrentLinkedListNode;)V -HSPLkotlinx/coroutines/internal/ContextScope;->(Lkotlin/coroutines/CoroutineContext;)V -HSPLkotlinx/coroutines/internal/ContextScope;->getCoroutineContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->()V -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->(Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/coroutines/jvm/internal/ContinuationImpl;)V -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->cancelCompletedResult$kotlinx_coroutines_core(Ljava/lang/Object;Ljava/util/concurrent/CancellationException;)V -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->claimReusableCancellableContinuation()Lkotlinx/coroutines/CancellableContinuationImpl; -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->getContext()Lkotlin/coroutines/CoroutineContext; -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->getDelegate$kotlinx_coroutines_core()Lkotlin/coroutines/Continuation; -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->isReusable()Z -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->postponeCancellation(Ljava/lang/Throwable;)Z -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->release()V -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->resumeWith(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->takeState$kotlinx_coroutines_core()Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/DispatchedContinuation;->tryReleaseClaimedContinuation(Lkotlinx/coroutines/CancellableContinuation;)Ljava/lang/Throwable; -HSPLkotlinx/coroutines/internal/DispatchedContinuationKt;->()V -HSPLkotlinx/coroutines/internal/DispatchedContinuationKt;->resumeCancellableWith(Lkotlin/coroutines/Continuation;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V -HSPLkotlinx/coroutines/internal/InlineList;->plus-FjFbRPM(Ljava/lang/Object;Lkotlinx/coroutines/internal/LockFreeLinkedListNode;)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/LimitedDispatcher;->(Lkotlinx/coroutines/CoroutineDispatcher;I)V -HSPLkotlinx/coroutines/internal/LimitedDispatcher;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V -HSPLkotlinx/coroutines/internal/LimitedDispatcher;->run()V -HSPLkotlinx/coroutines/internal/LimitedDispatcherKt;->checkParallelism(I)V -HSPLkotlinx/coroutines/internal/LockFreeLinkedListHead;->()V -HSPLkotlinx/coroutines/internal/LockFreeLinkedListHead;->isRemoved()Z -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode$CondAddOp;->(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;)V -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode$CondAddOp;->complete(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->()V -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->()V -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->addNext(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;Lkotlinx/coroutines/internal/LockFreeLinkedListHead;)Z -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->correctPrev()Lkotlinx/coroutines/internal/LockFreeLinkedListNode; -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->finishAdd(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;)V -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->getNext()Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->getNextNode()Lkotlinx/coroutines/internal/LockFreeLinkedListNode; -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->getPrevNode()Lkotlinx/coroutines/internal/LockFreeLinkedListNode; -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->isRemoved()Z -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->remove$1()Z -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->removeOrNext()Lkotlinx/coroutines/internal/LockFreeLinkedListNode; -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->tryCondAddNext(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;Lkotlinx/coroutines/internal/LockFreeLinkedListNode;Lkotlinx/coroutines/internal/LockFreeLinkedListNode$CondAddOp;)I -HSPLkotlinx/coroutines/internal/LockFreeTaskQueue;->()V -HSPLkotlinx/coroutines/internal/LockFreeTaskQueue;->()V -HSPLkotlinx/coroutines/internal/LockFreeTaskQueue;->addLast(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/internal/LockFreeTaskQueue;->getSize()I -HSPLkotlinx/coroutines/internal/LockFreeTaskQueue;->removeFirstOrNull()Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/LockFreeTaskQueueCore;->()V -HSPLkotlinx/coroutines/internal/LockFreeTaskQueueCore;->(IZ)V -HSPLkotlinx/coroutines/internal/LockFreeTaskQueueCore;->addLast(Ljava/lang/Object;)I -HSPLkotlinx/coroutines/internal/LockFreeTaskQueueCore;->getSize()I -HSPLkotlinx/coroutines/internal/LockFreeTaskQueueCore;->removeFirstOrNull()Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/MainDispatcherLoader$$ExternalSyntheticServiceLoad0;->m()Ljava/util/Iterator; -HSPLkotlinx/coroutines/internal/MainDispatcherLoader;->()V -HSPLkotlinx/coroutines/internal/OpDescriptor;->()V -HSPLkotlinx/coroutines/internal/Removed;->(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;)V -HSPLkotlinx/coroutines/internal/ResizableAtomicArray;->(I)V -HSPLkotlinx/coroutines/internal/ResizableAtomicArray;->get(I)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/ResizableAtomicArray;->setSynchronized(ILkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;)V -HSPLkotlinx/coroutines/internal/ScopeCoroutine;->(Lkotlin/coroutines/Continuation;Lkotlin/coroutines/CoroutineContext;)V -HSPLkotlinx/coroutines/internal/ScopeCoroutine;->afterCompletion(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/internal/ScopeCoroutine;->afterResume(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/internal/ScopeCoroutine;->isScopedCoroutine()Z -HSPLkotlinx/coroutines/internal/Segment;->()V -HSPLkotlinx/coroutines/internal/Segment;->(JLkotlinx/coroutines/internal/Segment;I)V -HSPLkotlinx/coroutines/internal/Symbol;->(Ljava/lang/String;)V -HSPLkotlinx/coroutines/internal/SystemPropsKt;->stringResource(ILandroidx/compose/runtime/Composer;)Ljava/lang/String; -HSPLkotlinx/coroutines/internal/SystemPropsKt;->systemProp$default(Ljava/lang/String;IIII)I -HSPLkotlinx/coroutines/internal/SystemPropsKt;->systemProp(JJJLjava/lang/String;)J -HSPLkotlinx/coroutines/internal/SystemPropsKt__SystemPropsKt;->()V -HSPLkotlinx/coroutines/internal/ThreadContextKt$countAll$1;->()V -HSPLkotlinx/coroutines/internal/ThreadContextKt$countAll$1;->()V -HSPLkotlinx/coroutines/internal/ThreadContextKt$countAll$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/ThreadContextKt$findOne$1;->()V -HSPLkotlinx/coroutines/internal/ThreadContextKt$findOne$1;->()V -HSPLkotlinx/coroutines/internal/ThreadContextKt$findOne$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/ThreadContextKt;->()V -HSPLkotlinx/coroutines/internal/ThreadContextKt;->restoreThreadContext(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)V -HSPLkotlinx/coroutines/internal/ThreadContextKt;->threadContextElements(Lkotlin/coroutines/CoroutineContext;)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/ThreadContextKt;->updateThreadContext(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/ThreadLocalElement;->(Ljava/lang/Integer;Ljava/lang/ThreadLocal;)V -HSPLkotlinx/coroutines/internal/ThreadLocalElement;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/ThreadLocalElement;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; -HSPLkotlinx/coroutines/internal/ThreadLocalElement;->getKey()Lkotlin/coroutines/CoroutineContext$Key; -HSPLkotlinx/coroutines/internal/ThreadLocalElement;->restoreThreadContext(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/internal/ThreadLocalElement;->updateThreadContext(Lkotlin/coroutines/CoroutineContext;)Ljava/lang/Object; -HSPLkotlinx/coroutines/internal/ThreadLocalKey;->(Ljava/lang/ThreadLocal;)V -HSPLkotlinx/coroutines/internal/ThreadLocalKey;->equals(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/intrinsics/UndispatchedKt;->startUndispatchedOrReturn(Lkotlinx/coroutines/internal/ScopeCoroutine;Lkotlinx/coroutines/internal/ScopeCoroutine;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->()V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->(Lkotlinx/coroutines/scheduling/CoroutineScheduler;I)V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->findTask(Z)Lkotlinx/coroutines/scheduling/Task; -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->getIndexInArray()I -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->getNextParkedWorker()Ljava/lang/Object; -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->nextInt(I)I -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->pollGlobalQueues()Lkotlinx/coroutines/scheduling/Task; -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->run()V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->setIndexInArray(I)V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->setNextParkedWorker(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->tryReleaseCpu$enumunboxing$(I)Z -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;->trySteal(Z)Lkotlinx/coroutines/scheduling/Task; -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler;->()V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler;->(IIJLjava/lang/String;)V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler;->createNewWorker()I -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler;->dispatch(Ljava/lang/Runnable;Lkotlinx/coroutines/scheduling/TaskContext;Z)V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler;->isTerminated()Z -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler;->parkedWorkersStackPush(Lkotlinx/coroutines/scheduling/CoroutineScheduler$Worker;)V -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler;->tryCreateWorker(J)Z -HSPLkotlinx/coroutines/scheduling/CoroutineScheduler;->tryUnpark()Z -HSPLkotlinx/coroutines/scheduling/DefaultIoScheduler;->()V -HSPLkotlinx/coroutines/scheduling/DefaultIoScheduler;->()V -HSPLkotlinx/coroutines/scheduling/DefaultIoScheduler;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V -HSPLkotlinx/coroutines/scheduling/DefaultScheduler;->()V -HSPLkotlinx/coroutines/scheduling/DefaultScheduler;->()V -HSPLkotlinx/coroutines/scheduling/GlobalQueue;->()V -HSPLkotlinx/coroutines/scheduling/NanoTimeSource;->()V -HSPLkotlinx/coroutines/scheduling/NanoTimeSource;->()V -HSPLkotlinx/coroutines/scheduling/SchedulerCoroutineDispatcher;->(IIJ)V -HSPLkotlinx/coroutines/scheduling/SchedulerCoroutineDispatcher;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V -HSPLkotlinx/coroutines/scheduling/Task;->()V -HSPLkotlinx/coroutines/scheduling/Task;->(JLkotlinx/coroutines/scheduling/TaskContext;)V -HSPLkotlinx/coroutines/scheduling/TaskContextImpl;->(I)V -HSPLkotlinx/coroutines/scheduling/TaskContextImpl;->afterTask()V -HSPLkotlinx/coroutines/scheduling/TaskContextImpl;->getTaskMode()I -HSPLkotlinx/coroutines/scheduling/TaskImpl;->(Ljava/lang/Runnable;JLkotlinx/coroutines/scheduling/TaskContext;)V -HSPLkotlinx/coroutines/scheduling/TaskImpl;->run()V -HSPLkotlinx/coroutines/scheduling/TasksKt;->()V -HSPLkotlinx/coroutines/scheduling/UnlimitedIoScheduler;->()V -HSPLkotlinx/coroutines/scheduling/UnlimitedIoScheduler;->()V -HSPLkotlinx/coroutines/scheduling/UnlimitedIoScheduler;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V -HSPLkotlinx/coroutines/scheduling/WorkQueue;->()V -HSPLkotlinx/coroutines/scheduling/WorkQueue;->()V -HSPLkotlinx/coroutines/scheduling/WorkQueue;->add(Lkotlinx/coroutines/scheduling/Task;Z)Lkotlinx/coroutines/scheduling/Task; -HSPLkotlinx/coroutines/scheduling/WorkQueue;->addLast(Lkotlinx/coroutines/scheduling/Task;)Lkotlinx/coroutines/scheduling/Task; -HSPLkotlinx/coroutines/scheduling/WorkQueue;->pollBuffer()Lkotlinx/coroutines/scheduling/Task; -HSPLkotlinx/coroutines/scheduling/WorkQueue;->tryStealLastScheduled(Lkotlinx/coroutines/scheduling/WorkQueue;Z)J -HSPLkotlinx/coroutines/sync/Empty;->(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/sync/MutexImpl;->()V -HSPLkotlinx/coroutines/sync/MutexImpl;->(Z)V -HSPLkotlinx/coroutines/sync/MutexImpl;->lock(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLkotlinx/coroutines/sync/MutexImpl;->tryLock(Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/sync/MutexImpl;->unlock(Ljava/lang/Object;)V -HSPLkotlinx/coroutines/sync/MutexKt;->()V -HSPLkotlinx/coroutines/sync/MutexKt;->Mutex$default()Lkotlinx/coroutines/sync/MutexImpl; -HSPLkotlinx/coroutines/sync/SemaphoreImpl$onCancellationRelease$1;->(Lkotlinx/coroutines/sync/SemaphoreImpl;)V -HSPLkotlinx/coroutines/sync/SemaphoreImpl;->()V -HSPLkotlinx/coroutines/sync/SemaphoreImpl;->(II)V -HSPLkotlinx/coroutines/sync/SemaphoreKt;->()V -HSPLkotlinx/coroutines/sync/SemaphoreSegment;->(JLkotlinx/coroutines/sync/SemaphoreSegment;I)V -HSPLokhttp3/CookieJar$Companion$NoCookies;->getOrNull(Landroidx/compose/ui/semantics/SemanticsConfiguration;Landroidx/compose/ui/semantics/SemanticsPropertyKey;)Ljava/lang/Object; -HSPLokhttp3/Headers$Builder;->()V -HSPLokhttp3/Headers$Builder;->build()Lokhttp3/Headers; -HSPLokhttp3/Headers;->([Ljava/lang/String;)V -HSPLokhttp3/Headers;->equals(Ljava/lang/Object;)Z -HSPLokhttp3/Headers;->newBuilder()Lokhttp3/Headers$Builder; -HSPLokhttp3/internal/_ChallengeCommonKt;->collectAsState(Lkotlinx/coroutines/flow/Flow;Ljava/lang/Object;Lkotlin/coroutines/CoroutineContext;Landroidx/compose/runtime/Composer;I)Landroidx/compose/runtime/MutableState; -HSPLokhttp3/internal/_ChallengeCommonKt;->derivedStateOf(Lkotlin/jvm/functions/Function0;)Landroidx/compose/runtime/DerivedSnapshotState; -HSPLokhttp3/internal/_ChallengeCommonKt;->mutableStateOf$default(Ljava/lang/Object;)Landroidx/compose/runtime/ParcelableSnapshotMutableState; -HSPLokhttp3/internal/_ChallengeCommonKt;->mutableStateOf(Ljava/lang/Object;Landroidx/compose/runtime/SnapshotMutationPolicy;)Landroidx/compose/runtime/ParcelableSnapshotMutableState; -HSPLokhttp3/internal/_ChallengeCommonKt;->observeDerivedStateRecalculations(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)V -HSPLokhttp3/internal/_ChallengeCommonKt;->rememberUpdatedState(Ljava/lang/Object;Landroidx/compose/runtime/Composer;)Landroidx/compose/runtime/MutableState; -HSPLokhttp3/internal/_ChallengeCommonKt;->snapshotFlow(Lkotlin/jvm/functions/Function0;)Lkotlinx/coroutines/flow/SafeFlow; -HSPLorg/jsoup/internal/Normalizer;->Constraints$default(III)J -HSPLorg/jsoup/internal/Normalizer;->Constraints(IIII)J -HSPLorg/jsoup/internal/Normalizer;->constrain-4WqzIAM(JJ)J -HSPLorg/jsoup/internal/Normalizer;->constrainHeight-K40F9xA(JI)I -HSPLorg/jsoup/internal/Normalizer;->constrainWidth-K40F9xA(JI)I -HSPLorg/jsoup/internal/Normalizer;->offset-NN6Ew-U(JII)J -Landroidx/activity/Cancellable; -Landroidx/activity/ComponentActivity$$ExternalSyntheticLambda0; -Landroidx/activity/ComponentActivity$$ExternalSyntheticLambda1; -Landroidx/activity/ComponentActivity$$ExternalSyntheticLambda2; -Landroidx/activity/ComponentActivity$1; -Landroidx/activity/ComponentActivity$2$$ExternalSyntheticOutline0; -Landroidx/activity/ComponentActivity$2$$ExternalSyntheticOutline1; -Landroidx/activity/ComponentActivity$2; -Landroidx/activity/ComponentActivity$3; -Landroidx/activity/ComponentActivity$4; -Landroidx/activity/ComponentActivity$5; -Landroidx/activity/ComponentActivity$Api33Impl; -Landroidx/activity/ComponentActivity$NonConfigurationInstances; -Landroidx/activity/ComponentActivity; -Landroidx/activity/OnBackPressedCallback; -Landroidx/activity/OnBackPressedDispatcher$$ExternalSyntheticLambda0; -Landroidx/activity/OnBackPressedDispatcher$$ExternalSyntheticLambda1; -Landroidx/activity/OnBackPressedDispatcher$Api33Impl$$ExternalSyntheticLambda0; -Landroidx/activity/OnBackPressedDispatcher$Api33Impl; -Landroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable; -Landroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable; -Landroidx/activity/OnBackPressedDispatcher; -Landroidx/activity/OnBackPressedDispatcherOwner; -Landroidx/activity/ViewTreeOnBackPressedDispatcherOwner$findViewTreeOnBackPressedDispatcherOwner$1; -Landroidx/activity/ViewTreeOnBackPressedDispatcherOwner$findViewTreeOnBackPressedDispatcherOwner$2; -Landroidx/activity/ViewTreeOnBackPressedDispatcherOwner; -Landroidx/activity/compose/ActivityResultLauncherHolder; -Landroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$1$$ExternalSyntheticLambda0; -Landroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$1$invoke$$inlined$onDispose$1; -Landroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$1; -Landroidx/activity/compose/ActivityResultRegistryKt$rememberLauncherForActivityResult$key$1; -Landroidx/activity/compose/ActivityResultRegistryKt; -Landroidx/activity/compose/ComponentActivityKt; -Landroidx/activity/compose/LocalActivityResultRegistryOwner$LocalComposition$1; -Landroidx/activity/compose/LocalActivityResultRegistryOwner; -Landroidx/activity/compose/LocalOnBackPressedDispatcherOwner$LocalOnBackPressedDispatcherOwner$1; -Landroidx/activity/compose/LocalOnBackPressedDispatcherOwner; -Landroidx/activity/compose/ManagedActivityResultLauncher; -Landroidx/activity/contextaware/ContextAwareHelper; -Landroidx/activity/contextaware/OnContextAvailableListener; -Landroidx/activity/result/ActivityResult; -Landroidx/activity/result/ActivityResultCallback; -Landroidx/activity/result/ActivityResultLauncher; -Landroidx/activity/result/ActivityResultRegistry$3; -Landroidx/activity/result/ActivityResultRegistry$CallbackAndContract; -Landroidx/activity/result/ActivityResultRegistry$LifecycleContainer; -Landroidx/activity/result/ActivityResultRegistry; -Landroidx/activity/result/ActivityResultRegistryOwner; -Landroidx/activity/result/contract/ActivityResultContract; -Landroidx/activity/result/contract/ActivityResultContracts$RequestMultiplePermissions; -Landroidx/activity/result/contract/ActivityResultContracts$RequestPermission; -Landroidx/activity/result/contract/ActivityResultContracts$StartActivityForResult; -Landroidx/appcompat/R$color; -Landroidx/appcompat/R$dimen; -Landroidx/appcompat/R$layout; -Landroidx/appcompat/R$styleable; -Landroidx/appcompat/app/AppCompatActivity$1; -Landroidx/appcompat/app/AppCompatActivity$2; -Landroidx/appcompat/app/AppCompatActivity; -Landroidx/appcompat/app/AppCompatCallback; -Landroidx/appcompat/app/AppCompatDelegate; -Landroidx/appcompat/app/AppCompatDelegateImpl$2; -Landroidx/appcompat/app/AppCompatDelegateImpl$3; -Landroidx/appcompat/app/AppCompatDelegateImpl$5; -Landroidx/appcompat/app/AppCompatDelegateImpl$Api24Impl; -Landroidx/appcompat/app/AppCompatDelegateImpl$Api33Impl; -Landroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback; -Landroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState; -Landroidx/appcompat/app/AppCompatDelegateImpl; -Landroidx/appcompat/app/AppCompatViewInflater; -Landroidx/appcompat/app/AppLocalesMetadataHolderService$Api24Impl; -Landroidx/appcompat/app/AppLocalesMetadataHolderService; -Landroidx/appcompat/app/AppLocalesStorageHelper$SerialExecutor; -Landroidx/appcompat/app/AppLocalesStorageHelper$ThreadPerTaskExecutor; -Landroidx/appcompat/content/res/AppCompatResources; -Landroidx/appcompat/resources/R$drawable; -Landroidx/appcompat/view/ContextThemeWrapper; -Landroidx/appcompat/view/SupportMenuInflater$$ExternalSyntheticOutline0; -Landroidx/appcompat/view/WindowCallbackWrapper; -Landroidx/appcompat/view/menu/MenuBuilder$Callback; -Landroidx/appcompat/widget/AppCompatDrawableManager$1; -Landroidx/appcompat/widget/AppCompatDrawableManager; -Landroidx/appcompat/widget/AppCompatHintHelper; -Landroidx/appcompat/widget/AppCompatTextHelper$Api28Impl$$ExternalSyntheticApiModelOutline0; -Landroidx/appcompat/widget/ContentFrameLayout$OnAttachListener; -Landroidx/appcompat/widget/ContentFrameLayout; -Landroidx/appcompat/widget/DrawableUtils; -Landroidx/appcompat/widget/FitWindowsLinearLayout; -Landroidx/appcompat/widget/ResourceManagerInternal$ColorFilterLruCache; -Landroidx/appcompat/widget/ResourceManagerInternal$ResourceManagerHooks; -Landroidx/appcompat/widget/ResourceManagerInternal; -Landroidx/appcompat/widget/ResourcesWrapper; -Landroidx/appcompat/widget/VectorEnabledTintResources; -Landroidx/appcompat/widget/ViewStubCompat; -Landroidx/appcompat/widget/ViewUtils; -Landroidx/arch/core/executor/ArchTaskExecutor$2; -Landroidx/arch/core/executor/ArchTaskExecutor; -Landroidx/arch/core/executor/DefaultTaskExecutor$$ExternalSyntheticApiModelOutline0; -Landroidx/arch/core/executor/DefaultTaskExecutor$1; -Landroidx/arch/core/executor/DefaultTaskExecutor; -Landroidx/arch/core/internal/FastSafeIterableMap; -Landroidx/arch/core/internal/SafeIterableMap$AscendingIterator; -Landroidx/arch/core/internal/SafeIterableMap$DescendingIterator; -Landroidx/arch/core/internal/SafeIterableMap$Entry; -Landroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions; -Landroidx/arch/core/internal/SafeIterableMap$ListIterator; -Landroidx/arch/core/internal/SafeIterableMap$SupportRemove; -Landroidx/arch/core/internal/SafeIterableMap; -Landroidx/collection/ArrayMap$KeyIterator; -Landroidx/collection/ArrayMap$KeySet; -Landroidx/collection/ArrayMap$ValueCollection; -Landroidx/collection/ArrayMap$ValueIterator; -Landroidx/collection/ArrayMap; -Landroidx/collection/ArraySet$ElementIterator; -Landroidx/collection/ArraySet; -Landroidx/collection/ContainerHelpers; -Landroidx/collection/IndexBasedArrayIterator; -Landroidx/collection/LongSparseArray; -Landroidx/collection/LruCache; -Landroidx/collection/SimpleArrayMap; -Landroidx/collection/SparseArrayCompat; -Landroidx/collection/SparseArrayKt$valueIterator$1; -Landroidx/collection/SparseArrayKt; -Landroidx/compose/animation/AnimatedVisibilityKt$$ExternalSyntheticOutline0; -Landroidx/compose/animation/AnimationModifierKt$animateContentSize$2; -Landroidx/compose/animation/AnimationModifierKt; -Landroidx/compose/animation/ChangeSize; -Landroidx/compose/animation/ColorVectorConverterKt$ColorToVector$1$1; -Landroidx/compose/animation/ColorVectorConverterKt$ColorToVector$1$2; -Landroidx/compose/animation/ColorVectorConverterKt; -Landroidx/compose/animation/CrossfadeKt$$ExternalSyntheticOutline0; -Landroidx/compose/animation/CrossfadeKt$Crossfade$1; -Landroidx/compose/animation/CrossfadeKt$Crossfade$2; -Landroidx/compose/animation/CrossfadeKt$Crossfade$4$1$$ExternalSyntheticOutline0; -Landroidx/compose/animation/CrossfadeKt$Crossfade$4$1$1$1; -Landroidx/compose/animation/CrossfadeKt$Crossfade$4$1; -Landroidx/compose/animation/CrossfadeKt$Crossfade$6; -Landroidx/compose/animation/CrossfadeKt; -Landroidx/compose/animation/EnterExitTransitionKt$TransformOriginVectorConverter$1; -Landroidx/compose/animation/EnterExitTransitionKt$TransformOriginVectorConverter$2; -Landroidx/compose/animation/EnterExitTransitionKt$expandHorizontally$1; -Landroidx/compose/animation/EnterExitTransitionKt$expandHorizontally$2; -Landroidx/compose/animation/EnterExitTransitionKt$shrinkHorizontally$1; -Landroidx/compose/animation/EnterExitTransitionKt$shrinkHorizontally$2; -Landroidx/compose/animation/EnterExitTransitionKt; -Landroidx/compose/animation/EnterTransition; -Landroidx/compose/animation/EnterTransitionImpl; -Landroidx/compose/animation/ExitTransition; -Landroidx/compose/animation/ExitTransitionImpl; -Landroidx/compose/animation/Fade; -Landroidx/compose/animation/FlingCalculator; -Landroidx/compose/animation/FlingCalculatorKt; -Landroidx/compose/animation/LayoutModifierWithPassThroughIntrinsics; -Landroidx/compose/animation/SingleValueAnimationKt; -Landroidx/compose/animation/SizeAnimationModifier$AnimData; -Landroidx/compose/animation/SizeAnimationModifier$measure$1; -Landroidx/compose/animation/SizeAnimationModifier; -Landroidx/compose/animation/SplineBasedFloatDecayAnimationSpec; -Landroidx/compose/animation/SplineBasedFloatDecayAnimationSpec_androidKt; -Landroidx/compose/animation/TransitionData; -Landroidx/compose/animation/core/Animatable$runAnimation$2$1; -Landroidx/compose/animation/core/Animatable$runAnimation$2; -Landroidx/compose/animation/core/Animatable; -Landroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$2; -Landroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$3$1; -Landroidx/compose/animation/core/AnimateAsStateKt$animateValueAsState$3; -Landroidx/compose/animation/core/AnimateAsStateKt; -Landroidx/compose/animation/core/Animation$DefaultImpls; -Landroidx/compose/animation/core/Animation; -Landroidx/compose/animation/core/AnimationEndReason$EnumUnboxingSharedUtility; -Landroidx/compose/animation/core/AnimationResult; -Landroidx/compose/animation/core/AnimationScope; -Landroidx/compose/animation/core/AnimationSpec; -Landroidx/compose/animation/core/AnimationState; -Landroidx/compose/animation/core/AnimationVector1D; -Landroidx/compose/animation/core/AnimationVector2D; -Landroidx/compose/animation/core/AnimationVector4D; -Landroidx/compose/animation/core/AnimationVector; -Landroidx/compose/animation/core/Animations; -Landroidx/compose/animation/core/ComplexDouble; -Landroidx/compose/animation/core/ComplexDoubleKt; -Landroidx/compose/animation/core/CubicBezierEasing; -Landroidx/compose/animation/core/DecayAnimationSpec; -Landroidx/compose/animation/core/DecayAnimationSpecImpl; -Landroidx/compose/animation/core/DurationBasedAnimationSpec; -Landroidx/compose/animation/core/Easing; -Landroidx/compose/animation/core/EasingKt$LinearEasing$1; -Landroidx/compose/animation/core/EasingKt; -Landroidx/compose/animation/core/FiniteAnimationSpec; -Landroidx/compose/animation/core/FloatAnimationSpec; -Landroidx/compose/animation/core/FloatDecayAnimationSpec; -Landroidx/compose/animation/core/FloatSpringSpec; -Landroidx/compose/animation/core/FloatTweenSpec; -Landroidx/compose/animation/core/InfiniteAnimationPolicyKt; -Landroidx/compose/animation/core/MutableTransitionState; -Landroidx/compose/animation/core/MutatorMutex$Mutator; -Landroidx/compose/animation/core/MutatorMutex$mutate$2; -Landroidx/compose/animation/core/MutatorMutex; -Landroidx/compose/animation/core/SpringSimulation; -Landroidx/compose/animation/core/SpringSpec; -Landroidx/compose/animation/core/SuspendAnimationKt$animate$4; -Landroidx/compose/animation/core/SuspendAnimationKt$animate$6$1; -Landroidx/compose/animation/core/SuspendAnimationKt$animate$6; -Landroidx/compose/animation/core/SuspendAnimationKt$animate$7; -Landroidx/compose/animation/core/SuspendAnimationKt$animate$9; -Landroidx/compose/animation/core/SuspendAnimationKt$callWithFrameNanos$2; -Landroidx/compose/animation/core/SuspendAnimationKt; -Landroidx/compose/animation/core/TargetBasedAnimation; -Landroidx/compose/animation/core/Transition$Segment; -Landroidx/compose/animation/core/Transition$SegmentImpl; -Landroidx/compose/animation/core/Transition$TransitionAnimationState; -Landroidx/compose/animation/core/Transition$animateTo$1$1$1; -Landroidx/compose/animation/core/Transition$animateTo$1$1; -Landroidx/compose/animation/core/Transition$animateTo$2; -Landroidx/compose/animation/core/Transition$totalDurationNanos$2; -Landroidx/compose/animation/core/Transition$updateTarget$2; -Landroidx/compose/animation/core/Transition; -Landroidx/compose/animation/core/TransitionKt$createTransitionAnimation$1$invoke$$inlined$onDispose$1; -Landroidx/compose/animation/core/TransitionKt$createTransitionAnimation$1; -Landroidx/compose/animation/core/TransitionKt$updateTransition$1$invoke$$inlined$onDispose$1; -Landroidx/compose/animation/core/TransitionKt$updateTransition$1; -Landroidx/compose/animation/core/TransitionKt; -Landroidx/compose/animation/core/TweenSpec; -Landroidx/compose/animation/core/TwoWayConverter; -Landroidx/compose/animation/core/TwoWayConverterImpl; -Landroidx/compose/animation/core/VectorConvertersKt$DpOffsetToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$DpOffsetToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt$DpToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$DpToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt$FloatToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$FloatToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt$IntOffsetToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$IntOffsetToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt$IntSizeToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$IntSizeToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt$IntToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$IntToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt$OffsetToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$OffsetToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt$RectToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$RectToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt$SizeToVector$1; -Landroidx/compose/animation/core/VectorConvertersKt$SizeToVector$2; -Landroidx/compose/animation/core/VectorConvertersKt; -Landroidx/compose/animation/core/VectorizedAnimationSpec$DefaultImpls; -Landroidx/compose/animation/core/VectorizedAnimationSpec; -Landroidx/compose/animation/core/VectorizedAnimationSpecKt$createSpringAnimations$2; -Landroidx/compose/animation/core/VectorizedDurationBasedAnimationSpec$DefaultImpls; -Landroidx/compose/animation/core/VectorizedDurationBasedAnimationSpec; -Landroidx/compose/animation/core/VectorizedFloatAnimationSpec$1; -Landroidx/compose/animation/core/VectorizedFloatAnimationSpec; -Landroidx/compose/animation/core/VectorizedSpringSpec; -Landroidx/compose/animation/core/VectorizedTweenSpec; -Landroidx/compose/animation/core/VisibilityThresholdsKt; -Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1$1; -Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1$1; -Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$effectModifier$1; -Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect$onNewSize$1; -Landroidx/compose/foundation/AndroidEdgeEffectOverscrollEffect; -Landroidx/compose/foundation/AndroidOverscrollKt$NoOpOverscrollEffect$1; -Landroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1$1; -Landroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1; -Landroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2$1; -Landroidx/compose/foundation/AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2; -Landroidx/compose/foundation/AndroidOverscrollKt; -Landroidx/compose/foundation/Api31Impl$$ExternalSyntheticApiModelOutline1; -Landroidx/compose/foundation/Api31Impl; -Landroidx/compose/foundation/Background; -Landroidx/compose/foundation/BackgroundKt; -Landroidx/compose/foundation/CanvasKt$Canvas$1; -Landroidx/compose/foundation/CanvasKt; -Landroidx/compose/foundation/ClickableKt$PressedInteractionSourceDisposableEffect$1$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/ClickableKt$PressedInteractionSourceDisposableEffect$1; -Landroidx/compose/foundation/ClickableKt$PressedInteractionSourceDisposableEffect$2; -Landroidx/compose/foundation/ClickableKt$clickable$4$1$1; -Landroidx/compose/foundation/ClickableKt$clickable$4$delayPressInteraction$1$1; -Landroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1$1; -Landroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1$2; -Landroidx/compose/foundation/ClickableKt$clickable$4$gesture$1$1; -Landroidx/compose/foundation/ClickableKt$clickable$4; -Landroidx/compose/foundation/ClickableKt$genericClickableWithoutGesture$clickSemantics$1$1; -Landroidx/compose/foundation/ClickableKt$genericClickableWithoutGesture$clickSemantics$1; -Landroidx/compose/foundation/ClickableKt$genericClickableWithoutGesture$detectPressAndClickFromKey$1; -Landroidx/compose/foundation/ClickableKt; -Landroidx/compose/foundation/Clickable_androidKt$isComposeRootInScrollableContainer$1; -Landroidx/compose/foundation/Clickable_androidKt; -Landroidx/compose/foundation/ClipScrollableContainerKt$HorizontalScrollableClipModifier$1; -Landroidx/compose/foundation/ClipScrollableContainerKt$VerticalScrollableClipModifier$1; -Landroidx/compose/foundation/ClipScrollableContainerKt; -Landroidx/compose/foundation/DrawOverscrollModifier; -Landroidx/compose/foundation/EdgeEffectCompat; -Landroidx/compose/foundation/FocusableKt$focusGroup$1; -Landroidx/compose/foundation/FocusableKt$focusable$2$1$1$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/FocusableKt$focusable$2$1$1; -Landroidx/compose/foundation/FocusableKt$focusable$2$2$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/FocusableKt$focusable$2$2; -Landroidx/compose/foundation/FocusableKt$focusable$2$3$1; -Landroidx/compose/foundation/FocusableKt$focusable$2$3; -Landroidx/compose/foundation/FocusableKt$focusable$2$4$1; -Landroidx/compose/foundation/FocusableKt$focusable$2$5$3; -Landroidx/compose/foundation/FocusableKt$focusable$2$5; -Landroidx/compose/foundation/FocusableKt$focusable$2; -Landroidx/compose/foundation/FocusableKt$focusableInNonTouchMode$2$1; -Landroidx/compose/foundation/FocusableKt$focusableInNonTouchMode$2; -Landroidx/compose/foundation/FocusableKt; -Landroidx/compose/foundation/FocusedBoundsKt$ModifierLocalFocusedBoundsObserver$1; -Landroidx/compose/foundation/FocusedBoundsKt$onFocusedBoundsChanged$2; -Landroidx/compose/foundation/FocusedBoundsKt; -Landroidx/compose/foundation/FocusedBoundsModifier; -Landroidx/compose/foundation/FocusedBoundsObserverModifier; -Landroidx/compose/foundation/HoverableKt$hoverable$2$1$1$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/HoverableKt$hoverable$2$1$1; -Landroidx/compose/foundation/HoverableKt$hoverable$2$2$1; -Landroidx/compose/foundation/HoverableKt$hoverable$2$3$1; -Landroidx/compose/foundation/HoverableKt$hoverable$2$3; -Landroidx/compose/foundation/HoverableKt$hoverable$2; -Landroidx/compose/foundation/ImageKt$$ExternalSyntheticOutline0; -Landroidx/compose/foundation/Indication; -Landroidx/compose/foundation/IndicationInstance; -Landroidx/compose/foundation/IndicationKt$LocalIndication$1; -Landroidx/compose/foundation/IndicationKt$indication$2; -Landroidx/compose/foundation/IndicationKt; -Landroidx/compose/foundation/IndicationModifier; -Landroidx/compose/foundation/MutatePriority; -Landroidx/compose/foundation/MutatorMutex$Mutator; -Landroidx/compose/foundation/MutatorMutex$mutateWith$2; -Landroidx/compose/foundation/MutatorMutex; -Landroidx/compose/foundation/NoIndication$NoIndicationInstance; -Landroidx/compose/foundation/NoIndication; -Landroidx/compose/foundation/OverscrollConfiguration; -Landroidx/compose/foundation/OverscrollConfigurationKt$LocalOverscrollConfiguration$1; -Landroidx/compose/foundation/OverscrollConfigurationKt; -Landroidx/compose/foundation/OverscrollEffect; -Landroidx/compose/foundation/PinnableParentConsumer; -Landroidx/compose/foundation/gestures/AndroidConfig; -Landroidx/compose/foundation/gestures/ContentInViewModifier$modifier$1; -Landroidx/compose/foundation/gestures/ContentInViewModifier; -Landroidx/compose/foundation/gestures/DefaultDraggableState$drag$2; -Landroidx/compose/foundation/gestures/DefaultDraggableState$dragScope$1; -Landroidx/compose/foundation/gestures/DefaultDraggableState; -Landroidx/compose/foundation/gestures/DefaultFlingBehavior; -Landroidx/compose/foundation/gestures/DefaultScrollableState$scrollScope$1; -Landroidx/compose/foundation/gestures/DefaultScrollableState; -Landroidx/compose/foundation/gestures/DragLogic; -Landroidx/compose/foundation/gestures/DragScope; -Landroidx/compose/foundation/gestures/DraggableKt$awaitDownAndSlop$1; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$1; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$3; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$4; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$5; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$6; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$9$1$1$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$9$1$1; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$9$2; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1$1; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$9$3$1; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$9$3; -Landroidx/compose/foundation/gestures/DraggableKt$draggable$9; -Landroidx/compose/foundation/gestures/DraggableKt; -Landroidx/compose/foundation/gestures/DraggableState; -Landroidx/compose/foundation/gestures/FlingBehavior; -Landroidx/compose/foundation/gestures/ForEachGestureKt$forEachGesture$1; -Landroidx/compose/foundation/gestures/ForEachGestureKt; -Landroidx/compose/foundation/gestures/ModifierLocalScrollableContainerProvider; -Landroidx/compose/foundation/gestures/Orientation; -Landroidx/compose/foundation/gestures/PressGestureScope; -Landroidx/compose/foundation/gestures/PressGestureScopeImpl; -Landroidx/compose/foundation/gestures/ScrollConfig; -Landroidx/compose/foundation/gestures/ScrollDraggableState; -Landroidx/compose/foundation/gestures/ScrollScope; -Landroidx/compose/foundation/gestures/ScrollableDefaults; -Landroidx/compose/foundation/gestures/ScrollableKt$ModifierLocalScrollableContainer$1; -Landroidx/compose/foundation/gestures/ScrollableKt$NoOpScrollScope$1; -Landroidx/compose/foundation/gestures/ScrollableKt$awaitScrollEvent$1; -Landroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1$1; -Landroidx/compose/foundation/gestures/ScrollableKt$mouseWheelScroll$1; -Landroidx/compose/foundation/gestures/ScrollableKt$pointerScrollable$1; -Landroidx/compose/foundation/gestures/ScrollableKt$pointerScrollable$2$1; -Landroidx/compose/foundation/gestures/ScrollableKt$pointerScrollable$3$1; -Landroidx/compose/foundation/gestures/ScrollableKt$scrollable$2; -Landroidx/compose/foundation/gestures/ScrollableKt$scrollableNestedScrollConnection$1; -Landroidx/compose/foundation/gestures/ScrollableKt; -Landroidx/compose/foundation/gestures/ScrollableState; -Landroidx/compose/foundation/gestures/ScrollingLogic; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt$NoPressGesture$1; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt$awaitFirstDownOnPass$1; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1$1; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2$1; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapAndPress$2; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1$1; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2$1; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt$detectTapGestures$2; -Landroidx/compose/foundation/gestures/TapGestureDetectorKt; -Landroidx/compose/foundation/interaction/DragInteraction$Start; -Landroidx/compose/foundation/interaction/FocusInteraction$Focus; -Landroidx/compose/foundation/interaction/HoverInteraction$Enter; -Landroidx/compose/foundation/interaction/Interaction; -Landroidx/compose/foundation/interaction/InteractionSource; -Landroidx/compose/foundation/interaction/MutableInteractionSource; -Landroidx/compose/foundation/interaction/MutableInteractionSourceImpl; -Landroidx/compose/foundation/interaction/PressInteraction$Press; -Landroidx/compose/foundation/layout/AddedInsets; -Landroidx/compose/foundation/layout/AndroidWindowInsets; -Landroidx/compose/foundation/layout/Arrangement$Bottom$1; -Landroidx/compose/foundation/layout/Arrangement$Center$1; -Landroidx/compose/foundation/layout/Arrangement$End$1; -Landroidx/compose/foundation/layout/Arrangement$Horizontal; -Landroidx/compose/foundation/layout/Arrangement$SpaceAround$1; -Landroidx/compose/foundation/layout/Arrangement$SpaceBetween$1; -Landroidx/compose/foundation/layout/Arrangement$SpaceEvenly$1; -Landroidx/compose/foundation/layout/Arrangement$SpacedAligned; -Landroidx/compose/foundation/layout/Arrangement$Start$1; -Landroidx/compose/foundation/layout/Arrangement$Top$1; -Landroidx/compose/foundation/layout/Arrangement$Vertical; -Landroidx/compose/foundation/layout/Arrangement$spacedBy$1; -Landroidx/compose/foundation/layout/Arrangement$spacedBy$2; -Landroidx/compose/foundation/layout/Arrangement; -Landroidx/compose/foundation/layout/BoxChildData; -Landroidx/compose/foundation/layout/BoxKt$Box$3; -Landroidx/compose/foundation/layout/BoxKt$EmptyBoxMeasurePolicy$1$measure$1; -Landroidx/compose/foundation/layout/BoxKt$EmptyBoxMeasurePolicy$1; -Landroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$1; -Landroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$2; -Landroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1$measure$5; -Landroidx/compose/foundation/layout/BoxKt$boxMeasurePolicy$1; -Landroidx/compose/foundation/layout/BoxKt; -Landroidx/compose/foundation/layout/BoxScope; -Landroidx/compose/foundation/layout/BoxScopeInstance; -Landroidx/compose/foundation/layout/BoxWithConstraintsKt$BoxWithConstraints$1$1$measurables$1; -Landroidx/compose/foundation/layout/BoxWithConstraintsKt$BoxWithConstraints$1$1; -Landroidx/compose/foundation/layout/BoxWithConstraintsKt$BoxWithConstraints$2; -Landroidx/compose/foundation/layout/BoxWithConstraintsKt; -Landroidx/compose/foundation/layout/BoxWithConstraintsScope; -Landroidx/compose/foundation/layout/BoxWithConstraintsScopeImpl; -Landroidx/compose/foundation/layout/ColumnKt$DefaultColumnMeasurePolicy$1; -Landroidx/compose/foundation/layout/ColumnKt$columnMeasurePolicy$1$1; -Landroidx/compose/foundation/layout/ColumnKt; -Landroidx/compose/foundation/layout/ColumnScope; -Landroidx/compose/foundation/layout/ColumnScopeInstance; -Landroidx/compose/foundation/layout/CrossAxisAlignment$CenterCrossAxisAlignment; -Landroidx/compose/foundation/layout/CrossAxisAlignment$EndCrossAxisAlignment; -Landroidx/compose/foundation/layout/CrossAxisAlignment$HorizontalCrossAxisAlignment; -Landroidx/compose/foundation/layout/CrossAxisAlignment$StartCrossAxisAlignment; -Landroidx/compose/foundation/layout/CrossAxisAlignment$VerticalCrossAxisAlignment; -Landroidx/compose/foundation/layout/CrossAxisAlignment; -Landroidx/compose/foundation/layout/ExcludeInsets; -Landroidx/compose/foundation/layout/FillModifier$measure$1; -Landroidx/compose/foundation/layout/FillModifier; -Landroidx/compose/foundation/layout/FixedIntInsets; -Landroidx/compose/foundation/layout/HorizontalAlignModifier; -Landroidx/compose/foundation/layout/InsetsConsumingModifier; -Landroidx/compose/foundation/layout/InsetsListener; -Landroidx/compose/foundation/layout/InsetsPaddingModifier$measure$1; -Landroidx/compose/foundation/layout/InsetsPaddingModifier; -Landroidx/compose/foundation/layout/InsetsPaddingValues; -Landroidx/compose/foundation/layout/InsetsValues; -Landroidx/compose/foundation/layout/LayoutWeightImpl; -Landroidx/compose/foundation/layout/LimitInsets; -Landroidx/compose/foundation/layout/OffsetKt; -Landroidx/compose/foundation/layout/OffsetPxModifier$measure$1; -Landroidx/compose/foundation/layout/OffsetPxModifier; -Landroidx/compose/foundation/layout/PaddingKt; -Landroidx/compose/foundation/layout/PaddingModifier$measure$1; -Landroidx/compose/foundation/layout/PaddingModifier; -Landroidx/compose/foundation/layout/PaddingValues; -Landroidx/compose/foundation/layout/PaddingValuesConsumingModifier; -Landroidx/compose/foundation/layout/PaddingValuesImpl; -Landroidx/compose/foundation/layout/PaddingValuesInsets; -Landroidx/compose/foundation/layout/PaddingValuesModifier$measure$2; -Landroidx/compose/foundation/layout/PaddingValuesModifier; -Landroidx/compose/foundation/layout/RowColumnImplKt$rowColumnMeasurePolicy$1$measure$4; -Landroidx/compose/foundation/layout/RowColumnImplKt$rowColumnMeasurePolicy$1; -Landroidx/compose/foundation/layout/RowColumnImplKt; -Landroidx/compose/foundation/layout/RowColumnParentData; -Landroidx/compose/foundation/layout/RowKt$DefaultRowMeasurePolicy$1; -Landroidx/compose/foundation/layout/RowKt$rowMeasurePolicy$1$1; -Landroidx/compose/foundation/layout/RowKt; -Landroidx/compose/foundation/layout/RowScope; -Landroidx/compose/foundation/layout/RowScopeInstance; -Landroidx/compose/foundation/layout/SizeKt$createFillHeightModifier$1; -Landroidx/compose/foundation/layout/SizeKt$createFillSizeModifier$1; -Landroidx/compose/foundation/layout/SizeKt$createFillWidthModifier$1; -Landroidx/compose/foundation/layout/SizeKt$createWrapContentSizeModifier$1; -Landroidx/compose/foundation/layout/SizeKt$createWrapContentSizeModifier$2; -Landroidx/compose/foundation/layout/SizeKt; -Landroidx/compose/foundation/layout/SizeModifier$measure$1; -Landroidx/compose/foundation/layout/SizeModifier; -Landroidx/compose/foundation/layout/SpacerKt$$ExternalSyntheticOutline0; -Landroidx/compose/foundation/layout/SpacerKt$$ExternalSyntheticOutline1; -Landroidx/compose/foundation/layout/SpacerKt; -Landroidx/compose/foundation/layout/SpacerMeasurePolicy$measure$1$1; -Landroidx/compose/foundation/layout/SpacerMeasurePolicy; -Landroidx/compose/foundation/layout/UnionInsets; -Landroidx/compose/foundation/layout/UnspecifiedConstraintsModifier$measure$1; -Landroidx/compose/foundation/layout/UnspecifiedConstraintsModifier; -Landroidx/compose/foundation/layout/ValueInsets; -Landroidx/compose/foundation/layout/VerticalAlignModifier; -Landroidx/compose/foundation/layout/WindowInsets; -Landroidx/compose/foundation/layout/WindowInsetsHolder$Companion$current$1$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/layout/WindowInsetsHolder$Companion$current$1; -Landroidx/compose/foundation/layout/WindowInsetsHolder$Companion; -Landroidx/compose/foundation/layout/WindowInsetsHolder; -Landroidx/compose/foundation/layout/WindowInsetsKt; -Landroidx/compose/foundation/layout/WindowInsetsPaddingKt$ModifierLocalConsumedWindowInsets$1; -Landroidx/compose/foundation/layout/WindowInsetsPaddingKt; -Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt$navigationBarsPadding$$inlined$windowInsetsPadding$1; -Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt; -Landroidx/compose/foundation/layout/WrapContentModifier; -Landroidx/compose/foundation/lazy/AwaitFirstLayoutModifier; -Landroidx/compose/foundation/lazy/DataIndex; -Landroidx/compose/foundation/lazy/EmptyLazyListLayoutInfo; -Landroidx/compose/foundation/lazy/LazyDslKt$LazyColumn$1; -Landroidx/compose/foundation/lazy/LazyDslKt; -Landroidx/compose/foundation/lazy/LazyItemScope; -Landroidx/compose/foundation/lazy/LazyItemScopeImpl; -Landroidx/compose/foundation/lazy/LazyListBeyondBoundsInfo$Interval; -Landroidx/compose/foundation/lazy/LazyListBeyondBoundsInfo; -Landroidx/compose/foundation/lazy/LazyListBeyondBoundsModifierLocal; -Landroidx/compose/foundation/lazy/LazyListIntervalContent; -Landroidx/compose/foundation/lazy/LazyListItemInfo; -Landroidx/compose/foundation/lazy/LazyListItemPlacementAnimator; -Landroidx/compose/foundation/lazy/LazyListItemProvider; -Landroidx/compose/foundation/lazy/LazyListItemProviderImpl$1; -Landroidx/compose/foundation/lazy/LazyListItemProviderImpl$Item$1; -Landroidx/compose/foundation/lazy/LazyListItemProviderImpl; -Landroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$1; -Landroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$1$itemProviderState$1; -Landroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$1$1; -Landroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$2; -Landroidx/compose/foundation/lazy/LazyListItemProviderKt$rememberLazyListItemProvider$nearestItemsRangeState$3; -Landroidx/compose/foundation/lazy/LazyListKt$LazyList$1; -Landroidx/compose/foundation/lazy/LazyListKt$ScrollPositionUpdater$1; -Landroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1$2; -Landroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1$measuredItemProvider$1; -Landroidx/compose/foundation/lazy/LazyListKt$rememberLazyListMeasurePolicy$1$1; -Landroidx/compose/foundation/lazy/LazyListKt; -Landroidx/compose/foundation/lazy/LazyListLayoutInfo; -Landroidx/compose/foundation/lazy/LazyListMeasureKt$measureLazyList$1; -Landroidx/compose/foundation/lazy/LazyListMeasureKt$measureLazyList$3; -Landroidx/compose/foundation/lazy/LazyListMeasureResult; -Landroidx/compose/foundation/lazy/LazyListPinningModifier$Companion$EmptyPinnedItemsHandle$1; -Landroidx/compose/foundation/lazy/LazyListPinningModifier; -Landroidx/compose/foundation/lazy/LazyListPlaceableWrapper; -Landroidx/compose/foundation/lazy/LazyListPositionedItem; -Landroidx/compose/foundation/lazy/LazyListScope$items$2; -Landroidx/compose/foundation/lazy/LazyListScope; -Landroidx/compose/foundation/lazy/LazyListScopeImpl; -Landroidx/compose/foundation/lazy/LazyListScrollPosition; -Landroidx/compose/foundation/lazy/LazyListState$Companion$Saver$1; -Landroidx/compose/foundation/lazy/LazyListState$Companion$Saver$2; -Landroidx/compose/foundation/lazy/LazyListState$remeasurementModifier$1; -Landroidx/compose/foundation/lazy/LazyListState$scrollableState$1; -Landroidx/compose/foundation/lazy/LazyListState; -Landroidx/compose/foundation/lazy/LazyListStateKt$rememberLazyListState$1$1; -Landroidx/compose/foundation/lazy/LazyListStateKt; -Landroidx/compose/foundation/lazy/LazyMeasuredItem; -Landroidx/compose/foundation/lazy/LazyMeasuredItemProvider; -Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$1; -Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$accessibilityScrollState$1; -Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$accessibilityScrollState$2; -Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$indexForKeyMapping$1; -Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$scrollByAction$1; -Landroidx/compose/foundation/lazy/LazySemanticsKt$lazyListSemantics$1$scrollToIndexAction$1; -Landroidx/compose/foundation/lazy/MeasuredItemFactory; -Landroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider$Item$1; -Landroidx/compose/foundation/lazy/layout/DefaultDelegatingLazyLayoutItemProvider; -Landroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider$Item$2; -Landroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider$generateKeyToIndexMap$1$1; -Landroidx/compose/foundation/lazy/layout/DefaultLazyLayoutItemsProvider; -Landroidx/compose/foundation/lazy/layout/IntervalList$Interval; -Landroidx/compose/foundation/lazy/layout/IntervalList; -Landroidx/compose/foundation/lazy/layout/IntervalListKt; -Landroidx/compose/foundation/lazy/layout/LazyLayoutIntervalContent; -Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$1; -Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$2$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$2; -Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1; -Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory$CachedItemContent; -Landroidx/compose/foundation/lazy/layout/LazyLayoutItemContentFactory; -Landroidx/compose/foundation/lazy/layout/LazyLayoutItemProvider; -Landroidx/compose/foundation/lazy/layout/LazyLayoutItemReusePolicy; -Landroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1$2$1; -Landroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1$itemContentFactory$1$1; -Landroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$1; -Landroidx/compose/foundation/lazy/layout/LazyLayoutKt$LazyLayout$2; -Landroidx/compose/foundation/lazy/layout/LazyLayoutKt; -Landroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScope; -Landroidx/compose/foundation/lazy/layout/LazyLayoutMeasureScopeImpl; -Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState$PrefetchHandle; -Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState$Prefetcher; -Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetchState; -Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher$PrefetchRequest; -Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher; -Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher_androidKt$LazyLayoutPrefetcher$2; -Landroidx/compose/foundation/lazy/layout/LazyLayoutPrefetcher_androidKt; -Landroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1$1; -Landroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1$2; -Landroidx/compose/foundation/lazy/layout/LazyNearestItemsRangeKt$rememberLazyNearestItemsRangeState$1$1; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$1; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$Companion$saver$1; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$Companion$saver$2; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$SaveableStateProvider$1$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$SaveableStateProvider$1; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder$SaveableStateProvider$2; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolder; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt$LazySaveableStateHolderProvider$1; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt$LazySaveableStateHolderProvider$2; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt$LazySaveableStateHolderProvider$holder$1; -Landroidx/compose/foundation/lazy/layout/LazySaveableStateHolderKt; -Landroidx/compose/foundation/lazy/layout/MutableIntervalList; -Landroidx/compose/foundation/lazy/layout/PinnableParent$PinnedItemsHandle; -Landroidx/compose/foundation/lazy/layout/PinnableParent; -Landroidx/compose/foundation/lazy/layout/PinnableParentKt$ModifierLocalPinnableParent$1; -Landroidx/compose/foundation/lazy/layout/PinnableParentKt; -Landroidx/compose/foundation/relocation/AndroidBringIntoViewParent; -Landroidx/compose/foundation/relocation/BringIntoViewChildModifier; -Landroidx/compose/foundation/relocation/BringIntoViewKt$ModifierLocalBringIntoViewParent$1; -Landroidx/compose/foundation/relocation/BringIntoViewKt; -Landroidx/compose/foundation/relocation/BringIntoViewParent; -Landroidx/compose/foundation/relocation/BringIntoViewRequester; -Landroidx/compose/foundation/relocation/BringIntoViewRequesterImpl; -Landroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2$1$invoke$$inlined$onDispose$1; -Landroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2$1; -Landroidx/compose/foundation/relocation/BringIntoViewRequesterKt$bringIntoViewRequester$2; -Landroidx/compose/foundation/relocation/BringIntoViewRequesterModifier; -Landroidx/compose/foundation/relocation/BringIntoViewResponder; -Landroidx/compose/foundation/relocation/BringIntoViewResponderKt$bringIntoViewResponder$2; -Landroidx/compose/foundation/relocation/BringIntoViewResponderModifier; -Landroidx/compose/foundation/relocation/BringIntoViewResponder_androidKt; -Landroidx/compose/foundation/selection/SelectableGroupKt$selectableGroup$1; -Landroidx/compose/foundation/selection/SelectableKt$selectable$4$1; -Landroidx/compose/foundation/selection/SelectableKt; -Landroidx/compose/foundation/shape/CornerBasedShape; -Landroidx/compose/foundation/shape/CornerSize; -Landroidx/compose/foundation/shape/DpCornerSize; -Landroidx/compose/foundation/shape/PercentCornerSize; -Landroidx/compose/foundation/shape/RoundedCornerShape; -Landroidx/compose/foundation/shape/RoundedCornerShapeKt; -Landroidx/compose/foundation/text/BasicTextKt$BasicText$1; -Landroidx/compose/foundation/text/BasicTextKt$BasicText$3; -Landroidx/compose/foundation/text/BasicTextKt$BasicText$selectableId$1; -Landroidx/compose/foundation/text/BasicTextKt$BasicText-BpD7jsM$$inlined$Layout$1; -Landroidx/compose/foundation/text/BasicTextKt$selectionIdSaver$1; -Landroidx/compose/foundation/text/BasicTextKt$selectionIdSaver$2; -Landroidx/compose/foundation/text/BasicTextKt; -Landroidx/compose/foundation/text/CoreTextKt; -Landroidx/compose/foundation/text/TextController$coreModifiers$1; -Landroidx/compose/foundation/text/TextController$createSemanticsModifierFor$1$1; -Landroidx/compose/foundation/text/TextController$createSemanticsModifierFor$1; -Landroidx/compose/foundation/text/TextController$drawTextAndSelectionBehind$1; -Landroidx/compose/foundation/text/TextController$measurePolicy$1$measure$2; -Landroidx/compose/foundation/text/TextController$measurePolicy$1; -Landroidx/compose/foundation/text/TextController; -Landroidx/compose/foundation/text/TextDelegate; -Landroidx/compose/foundation/text/TextDelegateKt; -Landroidx/compose/foundation/text/TextState$onTextLayout$1; -Landroidx/compose/foundation/text/TextState; -Landroidx/compose/foundation/text/selection/SelectionRegistrar; -Landroidx/compose/foundation/text/selection/SelectionRegistrarKt$LocalSelectionRegistrar$1; -Landroidx/compose/foundation/text/selection/SelectionRegistrarKt; -Landroidx/compose/foundation/text/selection/TextSelectionColors; -Landroidx/compose/foundation/text/selection/TextSelectionColorsKt$LocalTextSelectionColors$1; -Landroidx/compose/foundation/text/selection/TextSelectionColorsKt; -Landroidx/compose/material/Colors$$ExternalSyntheticOutline0; -Landroidx/compose/material/Colors; -Landroidx/compose/material/ColorsKt$LocalColors$1; -Landroidx/compose/material/ColorsKt; -Landroidx/compose/material/ContentColorKt$LocalContentColor$1; -Landroidx/compose/material/ContentColorKt; -Landroidx/compose/material/DefaultElevationOverlay; -Landroidx/compose/material/ElevationOverlay; -Landroidx/compose/material/ElevationOverlayKt$LocalAbsoluteElevation$1; -Landroidx/compose/material/ElevationOverlayKt$LocalElevationOverlay$1; -Landroidx/compose/material/ElevationOverlayKt; -Landroidx/compose/material/ModalBottomSheetDefaults; -Landroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$1$1; -Landroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$2$1; -Landroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$3$1; -Landroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$4$1; -Landroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$4; -Landroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1$5; -Landroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$1; -Landroidx/compose/material/ModalBottomSheetKt$ModalBottomSheetLayout$2; -Landroidx/compose/material/ModalBottomSheetKt$Scrim$1$1; -Landroidx/compose/material/ModalBottomSheetKt$Scrim$2; -Landroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$1$1$1; -Landroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$1$1; -Landroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$2$1$1; -Landroidx/compose/material/ModalBottomSheetKt$Scrim$dismissModifier$2$1; -Landroidx/compose/material/ModalBottomSheetKt$rememberModalBottomSheetState$2; -Landroidx/compose/material/ModalBottomSheetKt; -Landroidx/compose/material/ModalBottomSheetState$Companion$Saver$1; -Landroidx/compose/material/ModalBottomSheetState$Companion$Saver$2; -Landroidx/compose/material/ModalBottomSheetState; -Landroidx/compose/material/ModalBottomSheetValue; -Landroidx/compose/material/ResistanceConfig; -Landroidx/compose/material/Shapes; -Landroidx/compose/material/ShapesKt$LocalShapes$1; -Landroidx/compose/material/ShapesKt; -Landroidx/compose/material/SurfaceKt$$ExternalSyntheticOutline0; -Landroidx/compose/material/SurfaceKt$Surface$1$1; -Landroidx/compose/material/SurfaceKt$Surface$1$2; -Landroidx/compose/material/SurfaceKt$Surface$1; -Landroidx/compose/material/SurfaceKt$Surface$2; -Landroidx/compose/material/SurfaceKt; -Landroidx/compose/material/SwipeToDismissKt$SwipeToDismiss$2$$ExternalSyntheticOutline0; -Landroidx/compose/material/SwipeableDefaults; -Landroidx/compose/material/SwipeableKt$PreUpPostDownNestedScrollConnection$1; -Landroidx/compose/material/SwipeableKt$swipeable$1; -Landroidx/compose/material/SwipeableKt$swipeable$3$3$1; -Landroidx/compose/material/SwipeableKt$swipeable$3$3; -Landroidx/compose/material/SwipeableKt$swipeable$3$4$1; -Landroidx/compose/material/SwipeableKt$swipeable$3; -Landroidx/compose/material/SwipeableKt; -Landroidx/compose/material/SwipeableState$animateInternalToOffset$2$1; -Landroidx/compose/material/SwipeableState$animateInternalToOffset$2; -Landroidx/compose/material/SwipeableState$animateTo$2$emit$1; -Landroidx/compose/material/SwipeableState$animateTo$2; -Landroidx/compose/material/SwipeableState$draggableState$1; -Landroidx/compose/material/SwipeableState$latestNonEmptyAnchorsFlow$1; -Landroidx/compose/material/SwipeableState$processNewAnchors$1; -Landroidx/compose/material/SwipeableState$snapInternalToOffset$2; -Landroidx/compose/material/SwipeableState$special$$inlined$filter$1$2$1; -Landroidx/compose/material/SwipeableState$special$$inlined$filter$1$2; -Landroidx/compose/material/SwipeableState$special$$inlined$filter$1; -Landroidx/compose/material/SwipeableState$thresholds$2; -Landroidx/compose/material/SwipeableState; -Landroidx/compose/material/icons/filled/AddKt; -Landroidx/compose/material/icons/filled/ChecklistKt; -Landroidx/compose/material/icons/filled/CookieKt; -Landroidx/compose/material/icons/filled/ErrorKt; -Landroidx/compose/material/icons/filled/NotificationsKt; -Landroidx/compose/material/icons/filled/RedeemKt; -Landroidx/compose/material/icons/filled/SettingsKt; -Landroidx/compose/material/icons/filled/TaskAltKt; -Landroidx/compose/material/icons/filled/WarningKt; -Landroidx/compose/material/icons/outlined/RedeemKt; -Landroidx/compose/material/icons/outlined/SettingsKt; -Landroidx/compose/material/icons/outlined/TaskAltKt; -Landroidx/compose/material/ripple/AndroidRippleIndicationInstance$onInvalidateRipple$1; -Landroidx/compose/material/ripple/AndroidRippleIndicationInstance; -Landroidx/compose/material/ripple/PlatformRipple; -Landroidx/compose/material/ripple/Ripple$rememberUpdatedInstance$1$invokeSuspend$$inlined$collect$1; -Landroidx/compose/material/ripple/Ripple$rememberUpdatedInstance$1; -Landroidx/compose/material/ripple/Ripple; -Landroidx/compose/material/ripple/RippleAlpha; -Landroidx/compose/material/ripple/RippleAnimationKt; -Landroidx/compose/material/ripple/RippleContainer; -Landroidx/compose/material/ripple/RippleHostMap; -Landroidx/compose/material/ripple/RippleHostView; -Landroidx/compose/material/ripple/RippleIndicationInstance; -Landroidx/compose/material/ripple/RippleKt; -Landroidx/compose/material/ripple/RippleTheme; -Landroidx/compose/material/ripple/RippleThemeKt$LocalRippleTheme$1; -Landroidx/compose/material/ripple/RippleThemeKt; -Landroidx/compose/material/ripple/StateLayer; -Landroidx/compose/material3/AlertDialogDefaults; -Landroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$1$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$2$1$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$2$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$3$1$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$3$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogContent$1$1$4$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogContent$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogContent$2; -Landroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$1$measure$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$1; -Landroidx/compose/material3/AlertDialogKt$AlertDialogFlowRow$2; -Landroidx/compose/material3/AlertDialogKt; -Landroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$1$1; -Landroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$1; -Landroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1$2$1; -Landroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$1; -Landroidx/compose/material3/AndroidAlertDialog_androidKt$AlertDialog$2; -Landroidx/compose/material3/AndroidAlertDialog_androidKt; -Landroidx/compose/material3/AppBarKt$$ExternalSyntheticOutline0; -Landroidx/compose/material3/AppBarKt$SingleRowTopAppBar$1$1; -Landroidx/compose/material3/AppBarKt$SingleRowTopAppBar$2; -Landroidx/compose/material3/AppBarKt$SingleRowTopAppBar$3; -Landroidx/compose/material3/AppBarKt$SingleRowTopAppBar$actionsRow$1; -Landroidx/compose/material3/AppBarKt$TopAppBar$1; -Landroidx/compose/material3/AppBarKt$TopAppBarLayout$1$3$1; -Landroidx/compose/material3/AppBarKt$TopAppBarLayout$2$measure$1; -Landroidx/compose/material3/AppBarKt$TopAppBarLayout$2; -Landroidx/compose/material3/AppBarKt$TopAppBarLayout$3; -Landroidx/compose/material3/AppBarKt; -Landroidx/compose/material3/ButtonColors; -Landroidx/compose/material3/ButtonDefaults; -Landroidx/compose/material3/ButtonElevation$animateElevation$1$1$1; -Landroidx/compose/material3/ButtonElevation$animateElevation$1$1; -Landroidx/compose/material3/ButtonElevation$animateElevation$3; -Landroidx/compose/material3/ButtonElevation; -Landroidx/compose/material3/ButtonKt$Button$2$1$1; -Landroidx/compose/material3/ButtonKt$Button$2$1; -Landroidx/compose/material3/ButtonKt$Button$2; -Landroidx/compose/material3/ButtonKt$Button$3; -Landroidx/compose/material3/ButtonKt$FilledTonalButton$2; -Landroidx/compose/material3/ButtonKt$TextButton$2; -Landroidx/compose/material3/ButtonKt; -Landroidx/compose/material3/CheckboxDefaults; -Landroidx/compose/material3/ColorScheme; -Landroidx/compose/material3/ColorSchemeKt$LocalColorScheme$1; -Landroidx/compose/material3/ColorSchemeKt; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-1$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-10$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-11$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-12$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-2$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-3$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-4$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-5$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-6$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-7$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-8$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt$lambda-9$1; -Landroidx/compose/material3/ComposableSingletons$AppBarKt; -Landroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-1$1; -Landroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-2$1; -Landroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-3$1; -Landroidx/compose/material3/ComposableSingletons$ScaffoldKt$lambda-4$1; -Landroidx/compose/material3/ComposableSingletons$ScaffoldKt; -Landroidx/compose/material3/ComposableSingletons$SnackbarHostKt$lambda-1$1; -Landroidx/compose/material3/ComposableSingletons$SnackbarHostKt; -Landroidx/compose/material3/ContentColorKt$LocalContentColor$1; -Landroidx/compose/material3/ContentColorKt; -Landroidx/compose/material3/ElevationKt; -Landroidx/compose/material3/FabPlacement; -Landroidx/compose/material3/FabPosition; -Landroidx/compose/material3/FadeInFadeOutState; -Landroidx/compose/material3/FloatingActionButtonDefaults; -Landroidx/compose/material3/FloatingActionButtonElevation$animateElevation$1$1$1; -Landroidx/compose/material3/FloatingActionButtonElevation$animateElevation$1$1; -Landroidx/compose/material3/FloatingActionButtonElevation$animateElevation$2; -Landroidx/compose/material3/FloatingActionButtonElevation; -Landroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2$1$1; -Landroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2$1; -Landroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$2; -Landroidx/compose/material3/FloatingActionButtonKt$FloatingActionButton$3; -Landroidx/compose/material3/FloatingActionButtonKt; -Landroidx/compose/material3/IconKt$Icon$1; -Landroidx/compose/material3/IconKt$Icon$3; -Landroidx/compose/material3/IconKt$Icon$semantics$1$1; -Landroidx/compose/material3/IconKt; -Landroidx/compose/material3/ListItemColors; -Landroidx/compose/material3/ListItemDefaults; -Landroidx/compose/material3/ListItemKt$ListItem$2; -Landroidx/compose/material3/ListItemKt$ListItem$5; -Landroidx/compose/material3/ListItemKt$ListItem$6; -Landroidx/compose/material3/ListItemKt$ListItem$7; -Landroidx/compose/material3/ListItemKt$ProvideTextStyleFromToken$1; -Landroidx/compose/material3/ListItemKt$ProvideTextStyleFromToken$2; -Landroidx/compose/material3/ListItemKt$leadingContent$1$1; -Landroidx/compose/material3/ListItemKt$leadingContent$1; -Landroidx/compose/material3/ListItemKt; -Landroidx/compose/material3/MappedInteractionSource$special$$inlined$map$1$2; -Landroidx/compose/material3/MappedInteractionSource$special$$inlined$map$1; -Landroidx/compose/material3/MappedInteractionSource; -Landroidx/compose/material3/MaterialRippleTheme; -Landroidx/compose/material3/MaterialThemeKt$MaterialTheme$1; -Landroidx/compose/material3/MaterialThemeKt$MaterialTheme$2; -Landroidx/compose/material3/MaterialThemeKt; -Landroidx/compose/material3/MinimumTouchTargetModifier$measure$1; -Landroidx/compose/material3/MinimumTouchTargetModifier; -Landroidx/compose/material3/NavigationBarDefaults; -Landroidx/compose/material3/NavigationBarItemColors; -Landroidx/compose/material3/NavigationBarKt$NavigationBar$1; -Landroidx/compose/material3/NavigationBarKt$NavigationBar$2; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItem$2$1; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItem$3$indicator$1; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItem$3$indicatorRipple$1; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItem$4; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledIcon$1$1; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledIcon$1; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledLabel$1$1$1; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItem$styledLabel$1$1; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItemBaselineLayout$2; -Landroidx/compose/material3/NavigationBarKt$NavigationBarItemBaselineLayout$3; -Landroidx/compose/material3/NavigationBarKt$placeLabelAndIcon$1; -Landroidx/compose/material3/NavigationBarKt; -Landroidx/compose/material3/ScaffoldKt$LocalFabPlacement$1; -Landroidx/compose/material3/ScaffoldKt$Scaffold$1; -Landroidx/compose/material3/ScaffoldKt$Scaffold$2; -Landroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1$bodyContentPlaceables$1; -Landroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1$bottomBarPlaceables$1; -Landroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1$1; -Landroidx/compose/material3/ScaffoldKt$ScaffoldLayout$1$1; -Landroidx/compose/material3/ScaffoldKt$ScaffoldLayout$2; -Landroidx/compose/material3/ScaffoldKt; -Landroidx/compose/material3/ScaffoldLayoutContent; -Landroidx/compose/material3/ShapeDefaults; -Landroidx/compose/material3/Shapes; -Landroidx/compose/material3/ShapesKt$LocalShapes$1; -Landroidx/compose/material3/ShapesKt; -Landroidx/compose/material3/SnackbarData; -Landroidx/compose/material3/SnackbarHostKt$FadeInFadeOutWithScale$3; -Landroidx/compose/material3/SnackbarHostKt$SnackbarHost$1; -Landroidx/compose/material3/SnackbarHostKt$SnackbarHost$2; -Landroidx/compose/material3/SnackbarHostKt; -Landroidx/compose/material3/SnackbarHostState; -Landroidx/compose/material3/SurfaceKt$LocalAbsoluteTonalElevation$1; -Landroidx/compose/material3/SurfaceKt$Surface$1$1; -Landroidx/compose/material3/SurfaceKt$Surface$1$2; -Landroidx/compose/material3/SurfaceKt$Surface$1; -Landroidx/compose/material3/SurfaceKt$Surface$3; -Landroidx/compose/material3/SurfaceKt; -Landroidx/compose/material3/TextKt$LocalTextStyle$1; -Landroidx/compose/material3/TextKt$ProvideTextStyle$1; -Landroidx/compose/material3/TextKt$Text$1; -Landroidx/compose/material3/TextKt$Text$2; -Landroidx/compose/material3/TextKt; -Landroidx/compose/material3/TopAppBarColors; -Landroidx/compose/material3/TouchTargetKt$LocalMinimumTouchTargetEnforcement$1; -Landroidx/compose/material3/TouchTargetKt$minimumTouchTargetSize$2; -Landroidx/compose/material3/TouchTargetKt; -Landroidx/compose/material3/Typography; -Landroidx/compose/material3/TypographyKt$LocalTypography$1; -Landroidx/compose/material3/TypographyKt; -Landroidx/compose/material3/tokens/ColorLightTokens; -Landroidx/compose/material3/tokens/DialogTokens; -Landroidx/compose/material3/tokens/ElevationTokens; -Landroidx/compose/material3/tokens/ExtendedFabPrimaryTokens; -Landroidx/compose/material3/tokens/FabPrimaryLargeTokens; -Landroidx/compose/material3/tokens/FabPrimaryTokens; -Landroidx/compose/material3/tokens/FilledButtonTokens; -Landroidx/compose/material3/tokens/FilledTonalButtonTokens; -Landroidx/compose/material3/tokens/IconButtonTokens; -Landroidx/compose/material3/tokens/ListTokens; -Landroidx/compose/material3/tokens/MotionTokens; -Landroidx/compose/material3/tokens/NavigationBarTokens; -Landroidx/compose/material3/tokens/PaletteTokens; -Landroidx/compose/material3/tokens/ShapeTokens; -Landroidx/compose/material3/tokens/TopAppBarSmallTokens; -Landroidx/compose/material3/tokens/TypographyKeyTokens; -Landroidx/compose/material3/windowsizeclass/WindowSizeClass; -Landroidx/compose/runtime/AbstractApplier; -Landroidx/compose/runtime/ActualAndroid_androidKt$DefaultMonotonicFrameClock$2; -Landroidx/compose/runtime/ActualAndroid_androidKt; -Landroidx/compose/runtime/Anchor; -Landroidx/compose/runtime/Applier; -Landroidx/compose/runtime/BroadcastFrameClock$FrameAwaiter; -Landroidx/compose/runtime/BroadcastFrameClock$withFrameNanos$2$1; -Landroidx/compose/runtime/BroadcastFrameClock; -Landroidx/compose/runtime/ComposableSingletons$CompositionKt$lambda-1$1; -Landroidx/compose/runtime/ComposableSingletons$CompositionKt$lambda-2$1; -Landroidx/compose/runtime/ComposableSingletons$CompositionKt; -Landroidx/compose/runtime/ComposablesKt; -Landroidx/compose/runtime/Composer$Companion$Empty$1; -Landroidx/compose/runtime/Composer$Companion; -Landroidx/compose/runtime/Composer; -Landroidx/compose/runtime/ComposerImpl$CompositionContextHolder; -Landroidx/compose/runtime/ComposerImpl$CompositionContextImpl; -Landroidx/compose/runtime/ComposerImpl$apply$operation$1$$ExternalSyntheticOutline0; -Landroidx/compose/runtime/ComposerImpl$apply$operation$1; -Landroidx/compose/runtime/ComposerImpl$createNode$2; -Landroidx/compose/runtime/ComposerImpl$createNode$3; -Landroidx/compose/runtime/ComposerImpl$doCompose$2$3; -Landroidx/compose/runtime/ComposerImpl$doCompose$2$4; -Landroidx/compose/runtime/ComposerImpl$doCompose$2$5; -Landroidx/compose/runtime/ComposerImpl$doCompose$lambda-37$$inlined$sortBy$1; -Landroidx/compose/runtime/ComposerImpl$endRestartGroup$1$1; -Landroidx/compose/runtime/ComposerImpl$realizeDowns$1; -Landroidx/compose/runtime/ComposerImpl$realizeMovement$1; -Landroidx/compose/runtime/ComposerImpl$realizeOperationLocation$2; -Landroidx/compose/runtime/ComposerImpl$realizeUps$1; -Landroidx/compose/runtime/ComposerImpl$recordInsert$1; -Landroidx/compose/runtime/ComposerImpl$recordInsert$2; -Landroidx/compose/runtime/ComposerImpl$recordSideEffect$1; -Landroidx/compose/runtime/ComposerImpl$recordSlotEditing$1; -Landroidx/compose/runtime/ComposerImpl$start$2; -Landroidx/compose/runtime/ComposerImpl$startProviders$currentProviders$1; -Landroidx/compose/runtime/ComposerImpl$startReaderGroup$1; -Landroidx/compose/runtime/ComposerImpl$updateValue$1; -Landroidx/compose/runtime/ComposerImpl$updateValue$2; -Landroidx/compose/runtime/ComposerImpl; -Landroidx/compose/runtime/ComposerKt$endGroupInstance$1; -Landroidx/compose/runtime/ComposerKt$removeCurrentGroupInstance$1; -Landroidx/compose/runtime/ComposerKt$startRootGroup$1; -Landroidx/compose/runtime/ComposerKt; -Landroidx/compose/runtime/Composition; -Landroidx/compose/runtime/CompositionContext; -Landroidx/compose/runtime/CompositionContextKt; -Landroidx/compose/runtime/CompositionImpl$RememberEventDispatcher; -Landroidx/compose/runtime/CompositionImpl; -Landroidx/compose/runtime/CompositionKt; -Landroidx/compose/runtime/CompositionLocal; -Landroidx/compose/runtime/CompositionLocalKt$CompositionLocalProvider$1; -Landroidx/compose/runtime/CompositionLocalKt; -Landroidx/compose/runtime/CompositionScopedCoroutineScopeCanceller; -Landroidx/compose/runtime/ControlledComposition; -Landroidx/compose/runtime/DerivedSnapshotState$ResultRecord; -Landroidx/compose/runtime/DerivedSnapshotState$currentRecord$result$1$result$1; -Landroidx/compose/runtime/DerivedSnapshotState; -Landroidx/compose/runtime/DerivedState; -Landroidx/compose/runtime/DisposableEffectImpl; -Landroidx/compose/runtime/DisposableEffectResult; -Landroidx/compose/runtime/DisposableEffectScope; -Landroidx/compose/runtime/DynamicProvidableCompositionLocal; -Landroidx/compose/runtime/EffectsKt; -Landroidx/compose/runtime/GroupInfo; -Landroidx/compose/runtime/IntStack; -Landroidx/compose/runtime/Invalidation; -Landroidx/compose/runtime/JoinedKey; -Landroidx/compose/runtime/KeyInfo; -Landroidx/compose/runtime/Latch; -Landroidx/compose/runtime/LaunchedEffectImpl; -Landroidx/compose/runtime/LazyValueHolder; -Landroidx/compose/runtime/MonotonicFrameClock$Key; -Landroidx/compose/runtime/MonotonicFrameClock; -Landroidx/compose/runtime/MonotonicFrameClockKt; -Landroidx/compose/runtime/MovableContent; -Landroidx/compose/runtime/MutableState; -Landroidx/compose/runtime/NeverEqualPolicy; -Landroidx/compose/runtime/OpaqueKey; -Landroidx/compose/runtime/ParcelableSnapshotMutableState$Companion$CREATOR$1$$ExternalSyntheticOutline0; -Landroidx/compose/runtime/ParcelableSnapshotMutableState$Companion$CREATOR$1; -Landroidx/compose/runtime/ParcelableSnapshotMutableState; -Landroidx/compose/runtime/PausableMonotonicFrameClock$withFrameNanos$1; -Landroidx/compose/runtime/PausableMonotonicFrameClock; -Landroidx/compose/runtime/Pending$keyMap$2; -Landroidx/compose/runtime/Pending; -Landroidx/compose/runtime/ProduceStateScope; -Landroidx/compose/runtime/ProduceStateScopeImpl; -Landroidx/compose/runtime/ProvidableCompositionLocal; -Landroidx/compose/runtime/ProvidedValue; -Landroidx/compose/runtime/RecomposeScope; -Landroidx/compose/runtime/RecomposeScopeImpl$end$1$2; -Landroidx/compose/runtime/RecomposeScopeImpl; -Landroidx/compose/runtime/Recomposer$Companion; -Landroidx/compose/runtime/Recomposer$RecomposerErrorState; -Landroidx/compose/runtime/Recomposer$RecomposerInfoImpl; -Landroidx/compose/runtime/Recomposer$State; -Landroidx/compose/runtime/Recomposer$broadcastFrameClock$1; -Landroidx/compose/runtime/Recomposer$effectJob$1$1$1$1; -Landroidx/compose/runtime/Recomposer$effectJob$1$1; -Landroidx/compose/runtime/Recomposer$join$2; -Landroidx/compose/runtime/Recomposer$performRecompose$1$1; -Landroidx/compose/runtime/Recomposer$readObserverOf$1; -Landroidx/compose/runtime/Recomposer$recompositionRunner$2$2; -Landroidx/compose/runtime/Recomposer$recompositionRunner$2$unregisterApplyObserver$1; -Landroidx/compose/runtime/Recomposer$recompositionRunner$2; -Landroidx/compose/runtime/Recomposer$runRecomposeAndApplyChanges$2$2; -Landroidx/compose/runtime/Recomposer$runRecomposeAndApplyChanges$2; -Landroidx/compose/runtime/Recomposer$writeObserverOf$1; -Landroidx/compose/runtime/Recomposer; -Landroidx/compose/runtime/ReferentialEqualityPolicy; -Landroidx/compose/runtime/RememberManager; -Landroidx/compose/runtime/RememberObserver; -Landroidx/compose/runtime/SkippableUpdater; -Landroidx/compose/runtime/SlotReader; -Landroidx/compose/runtime/SlotTable; -Landroidx/compose/runtime/SlotTableKt; -Landroidx/compose/runtime/SlotWriter$Companion; -Landroidx/compose/runtime/SlotWriter$groupSlots$1; -Landroidx/compose/runtime/SlotWriter; -Landroidx/compose/runtime/SnapshotMutableStateImpl$StateStateRecord; -Landroidx/compose/runtime/SnapshotMutableStateImpl; -Landroidx/compose/runtime/SnapshotMutationPolicy; -Landroidx/compose/runtime/SnapshotStateKt__DerivedStateKt; -Landroidx/compose/runtime/SnapshotStateKt__ProduceStateKt$produceState$3; -Landroidx/compose/runtime/SnapshotStateKt__ProduceStateKt$produceState$5; -Landroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$collectAsState$1$1; -Landroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$collectAsState$1; -Landroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1$readObserver$1; -Landroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1$unregisterApplyObserver$1; -Landroidx/compose/runtime/SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1; -Landroidx/compose/runtime/SnapshotThreadLocal; -Landroidx/compose/runtime/Stack; -Landroidx/compose/runtime/State; -Landroidx/compose/runtime/StaticProvidableCompositionLocal; -Landroidx/compose/runtime/StaticValueHolder; -Landroidx/compose/runtime/StructuralEqualityPolicy; -Landroidx/compose/runtime/Updater; -Landroidx/compose/runtime/collection/IdentityArrayIntMap; -Landroidx/compose/runtime/collection/IdentityArrayMap; -Landroidx/compose/runtime/collection/IdentityArraySet; -Landroidx/compose/runtime/collection/IdentityScopeMap; -Landroidx/compose/runtime/collection/MutableVector$MutableVectorList; -Landroidx/compose/runtime/collection/MutableVector$VectorListIterator; -Landroidx/compose/runtime/collection/MutableVector; -Landroidx/compose/runtime/collection/MutableVectorKt; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/ExtensionsKt; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/ImmutableList; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/ImmutableSet; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentList; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentMap; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/PersistentSet; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/AbstractPersistentList; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/BufferIterator; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/MapEntry; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBaseIterator; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBuilder; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapEntries; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapEntriesIterator; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode$ModificationResult; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNode; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNodeBaseIterator; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/immutableMap/TrieNodeEntriesIterator; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/Links; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/implementations/persistentOrderedSet/PersistentOrderedSet; -Landroidx/compose/runtime/external/kotlinx/collections/immutable/internal/DeltaCounter; -Landroidx/compose/runtime/internal/ComposableLambdaImpl$invoke$1; -Landroidx/compose/runtime/internal/ComposableLambdaImpl$invoke$2; -Landroidx/compose/runtime/internal/ComposableLambdaImpl; -Landroidx/compose/runtime/internal/ComposableLambdaKt; -Landroidx/compose/runtime/internal/ThreadMap; -Landroidx/compose/runtime/internal/ThreadMapKt; -Landroidx/compose/runtime/saveable/ListSaverKt$listSaver$1; -Landroidx/compose/runtime/saveable/ListSaverKt; -Landroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$invoke$$inlined$onDispose$1; -Landroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$valueProvider$1$1$1; -Landroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1$valueProvider$1; -Landroidx/compose/runtime/saveable/RememberSaveableKt$rememberSaveable$1; -Landroidx/compose/runtime/saveable/RememberSaveableKt; -Landroidx/compose/runtime/saveable/SaveableStateHolder; -Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$Companion$Saver$1; -Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$Companion$Saver$2; -Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$RegistryHolder$registry$1; -Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$RegistryHolder; -Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$SaveableStateProvider$1$1$invoke$$inlined$onDispose$1; -Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$SaveableStateProvider$1$1; -Landroidx/compose/runtime/saveable/SaveableStateHolderImpl$SaveableStateProvider$2; -Landroidx/compose/runtime/saveable/SaveableStateHolderImpl; -Landroidx/compose/runtime/saveable/SaveableStateHolderKt$rememberSaveableStateHolder$1; -Landroidx/compose/runtime/saveable/SaveableStateHolderKt; -Landroidx/compose/runtime/saveable/SaveableStateRegistry$Entry; -Landroidx/compose/runtime/saveable/SaveableStateRegistry; -Landroidx/compose/runtime/saveable/SaveableStateRegistryImpl$registerProvider$3; -Landroidx/compose/runtime/saveable/SaveableStateRegistryImpl; -Landroidx/compose/runtime/saveable/SaveableStateRegistryKt$LocalSaveableStateRegistry$1; -Landroidx/compose/runtime/saveable/SaveableStateRegistryKt; -Landroidx/compose/runtime/saveable/Saver; -Landroidx/compose/runtime/saveable/SaverKt$AutoSaver$1; -Landroidx/compose/runtime/saveable/SaverKt$AutoSaver$2; -Landroidx/compose/runtime/saveable/SaverKt$Saver$1; -Landroidx/compose/runtime/saveable/SaverKt; -Landroidx/compose/runtime/saveable/SaverScope; -Landroidx/compose/runtime/snapshots/GlobalSnapshot$1$1$1; -Landroidx/compose/runtime/snapshots/GlobalSnapshot$takeNestedMutableSnapshot$1; -Landroidx/compose/runtime/snapshots/GlobalSnapshot$takeNestedSnapshot$1; -Landroidx/compose/runtime/snapshots/GlobalSnapshot; -Landroidx/compose/runtime/snapshots/MutableSnapshot; -Landroidx/compose/runtime/snapshots/NestedMutableSnapshot; -Landroidx/compose/runtime/snapshots/NestedReadonlySnapshot; -Landroidx/compose/runtime/snapshots/ObserverHandle; -Landroidx/compose/runtime/snapshots/ReadonlySnapshot; -Landroidx/compose/runtime/snapshots/Snapshot$Companion$registerApplyObserver$2; -Landroidx/compose/runtime/snapshots/Snapshot$Companion; -Landroidx/compose/runtime/snapshots/Snapshot; -Landroidx/compose/runtime/snapshots/SnapshotApplyResult$Failure; -Landroidx/compose/runtime/snapshots/SnapshotApplyResult$Success; -Landroidx/compose/runtime/snapshots/SnapshotApplyResult; -Landroidx/compose/runtime/snapshots/SnapshotDoubleIndexHeap; -Landroidx/compose/runtime/snapshots/SnapshotIdSet$iterator$1; -Landroidx/compose/runtime/snapshots/SnapshotIdSet; -Landroidx/compose/runtime/snapshots/SnapshotKt$advanceGlobalSnapshot$2; -Landroidx/compose/runtime/snapshots/SnapshotKt$emptyLambda$1; -Landroidx/compose/runtime/snapshots/SnapshotKt$mergedReadObserver$1; -Landroidx/compose/runtime/snapshots/SnapshotKt$mergedWriteObserver$1; -Landroidx/compose/runtime/snapshots/SnapshotKt$takeNewSnapshot$1; -Landroidx/compose/runtime/snapshots/SnapshotKt; -Landroidx/compose/runtime/snapshots/SnapshotMutableState; -Landroidx/compose/runtime/snapshots/SnapshotStateList$StateListStateRecord; -Landroidx/compose/runtime/snapshots/SnapshotStateList; -Landroidx/compose/runtime/snapshots/SnapshotStateListKt; -Landroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap$derivedStateEnterObserver$1; -Landroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap$derivedStateExitObserver$1; -Landroidx/compose/runtime/snapshots/SnapshotStateObserver$ObservedScopeMap; -Landroidx/compose/runtime/snapshots/SnapshotStateObserver$applyObserver$1$2; -Landroidx/compose/runtime/snapshots/SnapshotStateObserver$applyObserver$1; -Landroidx/compose/runtime/snapshots/SnapshotStateObserver$observeReads$1$1; -Landroidx/compose/runtime/snapshots/SnapshotStateObserver$readObserver$1; -Landroidx/compose/runtime/snapshots/SnapshotStateObserver; -Landroidx/compose/runtime/snapshots/StateListIterator; -Landroidx/compose/runtime/snapshots/StateObject; -Landroidx/compose/runtime/snapshots/StateRecord; -Landroidx/compose/runtime/snapshots/TransparentObserverMutableSnapshot; -Landroidx/compose/runtime/snapshots/TransparentObserverSnapshot; -Landroidx/compose/runtime/tooling/InspectionTablesKt$LocalInspectionTables$1; -Landroidx/compose/runtime/tooling/InspectionTablesKt; -Landroidx/compose/ui/Alignment$Companion; -Landroidx/compose/ui/Alignment$Horizontal; -Landroidx/compose/ui/Alignment$Vertical; -Landroidx/compose/ui/Alignment; -Landroidx/compose/ui/BiasAlignment$Horizontal; -Landroidx/compose/ui/BiasAlignment$Vertical; -Landroidx/compose/ui/BiasAlignment; -Landroidx/compose/ui/CombinedModifier; -Landroidx/compose/ui/ComposedModifier; -Landroidx/compose/ui/ComposedModifierKt$WrapFocusEventModifier$1; -Landroidx/compose/ui/ComposedModifierKt$WrapFocusRequesterModifier$1; -Landroidx/compose/ui/ComposedModifierKt$materialize$1; -Landroidx/compose/ui/ComposedModifierKt$materialize$result$1; -Landroidx/compose/ui/ComposedModifierKt; -Landroidx/compose/ui/Modifier$-CC; -Landroidx/compose/ui/Modifier$Companion; -Landroidx/compose/ui/Modifier$Element$-CC; -Landroidx/compose/ui/Modifier$Element; -Landroidx/compose/ui/Modifier$Node; -Landroidx/compose/ui/Modifier; -Landroidx/compose/ui/MotionDurationScale$Key; -Landroidx/compose/ui/MotionDurationScale; -Landroidx/compose/ui/R$style; -Landroidx/compose/ui/TempListUtilsKt; -Landroidx/compose/ui/autofill/AndroidAutofill$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/autofill/AndroidAutofill$$ExternalSyntheticApiModelOutline1; -Landroidx/compose/ui/autofill/AndroidAutofill; -Landroidx/compose/ui/autofill/Autofill; -Landroidx/compose/ui/autofill/AutofillCallback; -Landroidx/compose/ui/autofill/AutofillTree; -Landroidx/compose/ui/draw/BuildDrawCacheParams; -Landroidx/compose/ui/draw/DrawBackgroundModifier; -Landroidx/compose/ui/draw/DrawCacheModifier; -Landroidx/compose/ui/draw/DrawModifier; -Landroidx/compose/ui/draw/DrawModifierKt; -Landroidx/compose/ui/draw/PainterModifier$measure$1; -Landroidx/compose/ui/draw/PainterModifier; -Landroidx/compose/ui/draw/PainterModifierKt; -Landroidx/compose/ui/draw/ShadowKt$shadow$2$1; -Landroidx/compose/ui/draw/ShadowKt; -Landroidx/compose/ui/focus/FocusChangedModifierKt$onFocusChanged$2$1$1; -Landroidx/compose/ui/focus/FocusChangedModifierKt$onFocusChanged$2; -Landroidx/compose/ui/focus/FocusEventModifier; -Landroidx/compose/ui/focus/FocusEventModifierKt$ModifierLocalFocusEvent$1; -Landroidx/compose/ui/focus/FocusEventModifierKt$onFocusEvent$2$1$1; -Landroidx/compose/ui/focus/FocusEventModifierKt$onFocusEvent$2; -Landroidx/compose/ui/focus/FocusEventModifierKt; -Landroidx/compose/ui/focus/FocusEventModifierLocal; -Landroidx/compose/ui/focus/FocusManager; -Landroidx/compose/ui/focus/FocusManagerImpl; -Landroidx/compose/ui/focus/FocusManagerKt; -Landroidx/compose/ui/focus/FocusModifier$Companion$RefreshFocusProperties$1; -Landroidx/compose/ui/focus/FocusModifier; -Landroidx/compose/ui/focus/FocusModifierKt$ModifierLocalParentFocusModifier$1; -Landroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$1; -Landroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$2; -Landroidx/compose/ui/focus/FocusModifierKt$ResetFocusModifierLocals$3; -Landroidx/compose/ui/focus/FocusModifierKt$focusTarget$2$1$1; -Landroidx/compose/ui/focus/FocusModifierKt$focusTarget$2; -Landroidx/compose/ui/focus/FocusModifierKt; -Landroidx/compose/ui/focus/FocusOrderModifier; -Landroidx/compose/ui/focus/FocusOrderModifierToProperties; -Landroidx/compose/ui/focus/FocusProperties; -Landroidx/compose/ui/focus/FocusPropertiesImpl$enter$1; -Landroidx/compose/ui/focus/FocusPropertiesImpl$exit$1; -Landroidx/compose/ui/focus/FocusPropertiesImpl; -Landroidx/compose/ui/focus/FocusPropertiesKt$ModifierLocalFocusProperties$1; -Landroidx/compose/ui/focus/FocusPropertiesKt$clear$1; -Landroidx/compose/ui/focus/FocusPropertiesKt$clear$2; -Landroidx/compose/ui/focus/FocusPropertiesKt$refreshFocusProperties$1; -Landroidx/compose/ui/focus/FocusPropertiesKt; -Landroidx/compose/ui/focus/FocusPropertiesModifier; -Landroidx/compose/ui/focus/FocusRequester; -Landroidx/compose/ui/focus/FocusRequesterModifier; -Landroidx/compose/ui/focus/FocusRequesterModifierKt$ModifierLocalFocusRequester$1; -Landroidx/compose/ui/focus/FocusRequesterModifierKt$focusRequester$2; -Landroidx/compose/ui/focus/FocusRequesterModifierKt; -Landroidx/compose/ui/focus/FocusRequesterModifierLocal; -Landroidx/compose/ui/focus/FocusState; -Landroidx/compose/ui/focus/FocusStateImpl; -Landroidx/compose/ui/focus/FocusTransactionsKt; -Landroidx/compose/ui/geometry/CornerRadius; -Landroidx/compose/ui/geometry/CornerRadiusKt; -Landroidx/compose/ui/geometry/MutableRect; -Landroidx/compose/ui/geometry/Offset; -Landroidx/compose/ui/geometry/OffsetKt; -Landroidx/compose/ui/geometry/Rect; -Landroidx/compose/ui/geometry/RoundRect; -Landroidx/compose/ui/geometry/Size; -Landroidx/compose/ui/geometry/SizeKt; -Landroidx/compose/ui/graphics/AndroidBlendMode_androidKt; -Landroidx/compose/ui/graphics/AndroidCanvas; -Landroidx/compose/ui/graphics/AndroidCanvas_androidKt; -Landroidx/compose/ui/graphics/AndroidImageBitmap; -Landroidx/compose/ui/graphics/AndroidImageBitmap_androidKt; -Landroidx/compose/ui/graphics/AndroidMatrixConversions_androidKt; -Landroidx/compose/ui/graphics/AndroidPaint; -Landroidx/compose/ui/graphics/AndroidPath; -Landroidx/compose/ui/graphics/Api26Bitmap$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/graphics/Api26Bitmap; -Landroidx/compose/ui/graphics/BlendMode; -Landroidx/compose/ui/graphics/BlendModeColorFilterHelper; -Landroidx/compose/ui/graphics/BlockGraphicsLayerModifier$measure$1; -Landroidx/compose/ui/graphics/BlockGraphicsLayerModifier; -Landroidx/compose/ui/graphics/Brush; -Landroidx/compose/ui/graphics/Canvas; -Landroidx/compose/ui/graphics/CanvasHolder; -Landroidx/compose/ui/graphics/CanvasUtils; -Landroidx/compose/ui/graphics/CanvasZHelper$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/graphics/CanvasZHelper$$ExternalSyntheticApiModelOutline1; -Landroidx/compose/ui/graphics/CanvasZHelper; -Landroidx/compose/ui/graphics/Color; -Landroidx/compose/ui/graphics/ColorFilter; -Landroidx/compose/ui/graphics/ColorKt; -Landroidx/compose/ui/graphics/Float16$Companion; -Landroidx/compose/ui/graphics/Float16; -Landroidx/compose/ui/graphics/GraphicsLayerModifierKt; -Landroidx/compose/ui/graphics/GraphicsLayerScope; -Landroidx/compose/ui/graphics/GraphicsLayerScopeKt; -Landroidx/compose/ui/graphics/ImageBitmap; -Landroidx/compose/ui/graphics/Matrix; -Landroidx/compose/ui/graphics/Outline$Rectangle; -Landroidx/compose/ui/graphics/Outline$Rounded; -Landroidx/compose/ui/graphics/Outline; -Landroidx/compose/ui/graphics/OutlineKt; -Landroidx/compose/ui/graphics/Paint; -Landroidx/compose/ui/graphics/Path; -Landroidx/compose/ui/graphics/PathFillType; -Landroidx/compose/ui/graphics/RectangleShapeKt$RectangleShape$1; -Landroidx/compose/ui/graphics/RectangleShapeKt; -Landroidx/compose/ui/graphics/ReusableGraphicsLayerScope; -Landroidx/compose/ui/graphics/ShaderBrush; -Landroidx/compose/ui/graphics/Shadow; -Landroidx/compose/ui/graphics/Shape; -Landroidx/compose/ui/graphics/SimpleGraphicsLayerModifier$layerBlock$1; -Landroidx/compose/ui/graphics/SimpleGraphicsLayerModifier$measure$1; -Landroidx/compose/ui/graphics/SimpleGraphicsLayerModifier; -Landroidx/compose/ui/graphics/SolidColor; -Landroidx/compose/ui/graphics/StrokeCap; -Landroidx/compose/ui/graphics/StrokeJoin; -Landroidx/compose/ui/graphics/TransformOrigin; -Landroidx/compose/ui/graphics/WrapperVerificationHelperMethods$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/graphics/WrapperVerificationHelperMethods; -Landroidx/compose/ui/graphics/colorspace/Adaptation$Companion$Bradford$1; -Landroidx/compose/ui/graphics/colorspace/Adaptation; -Landroidx/compose/ui/graphics/colorspace/ColorModel; -Landroidx/compose/ui/graphics/colorspace/ColorSpace; -Landroidx/compose/ui/graphics/colorspace/ColorSpaces$ExtendedSrgb$1; -Landroidx/compose/ui/graphics/colorspace/ColorSpaces$ExtendedSrgb$2; -Landroidx/compose/ui/graphics/colorspace/ColorSpaces; -Landroidx/compose/ui/graphics/colorspace/Connector; -Landroidx/compose/ui/graphics/colorspace/Illuminant; -Landroidx/compose/ui/graphics/colorspace/Lab; -Landroidx/compose/ui/graphics/colorspace/Oklab; -Landroidx/compose/ui/graphics/colorspace/Rgb$1; -Landroidx/compose/ui/graphics/colorspace/Rgb$3; -Landroidx/compose/ui/graphics/colorspace/Rgb$5; -Landroidx/compose/ui/graphics/colorspace/Rgb$6; -Landroidx/compose/ui/graphics/colorspace/Rgb$Companion$DoubleIdentity$1; -Landroidx/compose/ui/graphics/colorspace/Rgb$Companion; -Landroidx/compose/ui/graphics/colorspace/Rgb$eotf$1; -Landroidx/compose/ui/graphics/colorspace/Rgb$oetf$1; -Landroidx/compose/ui/graphics/colorspace/Rgb; -Landroidx/compose/ui/graphics/colorspace/TransferParameters; -Landroidx/compose/ui/graphics/colorspace/WhitePoint; -Landroidx/compose/ui/graphics/colorspace/Xyz; -Landroidx/compose/ui/graphics/drawscope/CanvasDrawScope$DrawParams; -Landroidx/compose/ui/graphics/drawscope/CanvasDrawScope$drawContext$1; -Landroidx/compose/ui/graphics/drawscope/CanvasDrawScope; -Landroidx/compose/ui/graphics/drawscope/CanvasDrawScopeKt$asDrawTransform$1; -Landroidx/compose/ui/graphics/drawscope/CanvasDrawScopeKt; -Landroidx/compose/ui/graphics/drawscope/ContentDrawScope; -Landroidx/compose/ui/graphics/drawscope/DrawContext; -Landroidx/compose/ui/graphics/drawscope/DrawScope$-CC; -Landroidx/compose/ui/graphics/drawscope/DrawScope; -Landroidx/compose/ui/graphics/drawscope/EmptyCanvas; -Landroidx/compose/ui/graphics/drawscope/Fill; -Landroidx/compose/ui/graphics/painter/Painter; -Landroidx/compose/ui/graphics/vector/DrawCache; -Landroidx/compose/ui/graphics/vector/GroupComponent; -Landroidx/compose/ui/graphics/vector/ImageVector$Builder$GroupParams; -Landroidx/compose/ui/graphics/vector/ImageVector$Builder; -Landroidx/compose/ui/graphics/vector/ImageVector; -Landroidx/compose/ui/graphics/vector/PathBuilder; -Landroidx/compose/ui/graphics/vector/PathComponent$pathMeasure$2; -Landroidx/compose/ui/graphics/vector/PathComponent; -Landroidx/compose/ui/graphics/vector/PathNode$ArcTo; -Landroidx/compose/ui/graphics/vector/PathNode$Close; -Landroidx/compose/ui/graphics/vector/PathNode$CurveTo; -Landroidx/compose/ui/graphics/vector/PathNode$HorizontalTo; -Landroidx/compose/ui/graphics/vector/PathNode$LineTo; -Landroidx/compose/ui/graphics/vector/PathNode$MoveTo; -Landroidx/compose/ui/graphics/vector/PathNode$QuadTo; -Landroidx/compose/ui/graphics/vector/PathNode$ReflectiveCurveTo; -Landroidx/compose/ui/graphics/vector/PathNode$ReflectiveQuadTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeArcTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeCurveTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeHorizontalTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeLineTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeMoveTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeQuadTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeReflectiveCurveTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeReflectiveQuadTo; -Landroidx/compose/ui/graphics/vector/PathNode$RelativeVerticalTo; -Landroidx/compose/ui/graphics/vector/PathNode$VerticalTo; -Landroidx/compose/ui/graphics/vector/PathNode; -Landroidx/compose/ui/graphics/vector/PathParser$PathPoint; -Landroidx/compose/ui/graphics/vector/PathParser; -Landroidx/compose/ui/graphics/vector/VNode; -Landroidx/compose/ui/graphics/vector/VectorApplier; -Landroidx/compose/ui/graphics/vector/VectorComponent$drawVectorBlock$1; -Landroidx/compose/ui/graphics/vector/VectorComponent$invalidateCallback$1; -Landroidx/compose/ui/graphics/vector/VectorComponent$root$1$1; -Landroidx/compose/ui/graphics/vector/VectorComponent; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$10; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$11; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$12; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$13; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$14; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$1; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$2; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$3; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$4; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$5; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$6; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$7; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$8; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$2$9; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path$3; -Landroidx/compose/ui/graphics/vector/VectorComposeKt$Path-9cdaXJ4$$inlined$ComposeNode$1; -Landroidx/compose/ui/graphics/vector/VectorComposeKt; -Landroidx/compose/ui/graphics/vector/VectorConfig; -Landroidx/compose/ui/graphics/vector/VectorGroup; -Landroidx/compose/ui/graphics/vector/VectorKt; -Landroidx/compose/ui/graphics/vector/VectorNode; -Landroidx/compose/ui/graphics/vector/VectorPainter$RenderVector$2$invoke$$inlined$onDispose$1; -Landroidx/compose/ui/graphics/vector/VectorPainter$RenderVector$2; -Landroidx/compose/ui/graphics/vector/VectorPainter$RenderVector$3; -Landroidx/compose/ui/graphics/vector/VectorPainter$composeVector$1; -Landroidx/compose/ui/graphics/vector/VectorPainter$vector$1$1; -Landroidx/compose/ui/graphics/vector/VectorPainter; -Landroidx/compose/ui/graphics/vector/VectorPainterKt$RenderVectorGroup$2; -Landroidx/compose/ui/graphics/vector/VectorPainterKt$RenderVectorGroup$config$1; -Landroidx/compose/ui/graphics/vector/VectorPainterKt$rememberVectorPainter$3; -Landroidx/compose/ui/graphics/vector/VectorPainterKt; -Landroidx/compose/ui/graphics/vector/VectorPath; -Landroidx/compose/ui/graphics/vector/VectorProperty$Fill; -Landroidx/compose/ui/graphics/vector/VectorProperty$FillAlpha; -Landroidx/compose/ui/graphics/vector/VectorProperty$PathData; -Landroidx/compose/ui/graphics/vector/VectorProperty$Stroke; -Landroidx/compose/ui/graphics/vector/VectorProperty$StrokeAlpha; -Landroidx/compose/ui/graphics/vector/VectorProperty$StrokeLineWidth; -Landroidx/compose/ui/graphics/vector/VectorProperty$TrimPathEnd; -Landroidx/compose/ui/graphics/vector/VectorProperty$TrimPathOffset; -Landroidx/compose/ui/graphics/vector/VectorProperty$TrimPathStart; -Landroidx/compose/ui/graphics/vector/VectorProperty; -Landroidx/compose/ui/hapticfeedback/HapticFeedback; -Landroidx/compose/ui/hapticfeedback/PlatformHapticFeedback; -Landroidx/compose/ui/input/InputMode; -Landroidx/compose/ui/input/InputModeManager; -Landroidx/compose/ui/input/InputModeManagerImpl; -Landroidx/compose/ui/input/focus/FocusAwareInputModifier; -Landroidx/compose/ui/input/key/KeyInputModifier; -Landroidx/compose/ui/input/key/KeyInputModifierKt$ModifierLocalKeyInput$1; -Landroidx/compose/ui/input/key/KeyInputModifierKt; -Landroidx/compose/ui/input/nestedscroll/NestedScrollConnection; -Landroidx/compose/ui/input/nestedscroll/NestedScrollDispatcher$calculateNestedScrollScope$1; -Landroidx/compose/ui/input/nestedscroll/NestedScrollDispatcher; -Landroidx/compose/ui/input/nestedscroll/NestedScrollModifierKt$nestedScroll$2; -Landroidx/compose/ui/input/nestedscroll/NestedScrollModifierKt; -Landroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal$1; -Landroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocal; -Landroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocalKt$ModifierLocalNestedScroll$1; -Landroidx/compose/ui/input/nestedscroll/NestedScrollModifierLocalKt; -Landroidx/compose/ui/input/pointer/AwaitPointerEventScope$-CC; -Landroidx/compose/ui/input/pointer/AwaitPointerEventScope; -Landroidx/compose/ui/input/pointer/HitPathTracker; -Landroidx/compose/ui/input/pointer/MotionEventAdapter; -Landroidx/compose/ui/input/pointer/Node; -Landroidx/compose/ui/input/pointer/NodeParent; -Landroidx/compose/ui/input/pointer/PointerEvent; -Landroidx/compose/ui/input/pointer/PointerEventPass; -Landroidx/compose/ui/input/pointer/PointerEventTimeoutCancellationException; -Landroidx/compose/ui/input/pointer/PointerIconService; -Landroidx/compose/ui/input/pointer/PointerInputChangeEventProducer; -Landroidx/compose/ui/input/pointer/PointerInputEventProcessor; -Landroidx/compose/ui/input/pointer/PointerInputFilter; -Landroidx/compose/ui/input/pointer/PointerInputModifier; -Landroidx/compose/ui/input/pointer/PointerInputScope; -Landroidx/compose/ui/input/pointer/PointerKeyboardModifiers; -Landroidx/compose/ui/input/pointer/PositionCalculator; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$PointerEventHandlerCoroutine; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilter$awaitPointerEventScope$2$2; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilter; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$2$2$1; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$2; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$4$2$1; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$4; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$6$2$1; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt$pointerInput$6; -Landroidx/compose/ui/input/pointer/SuspendingPointerInputFilterKt; -Landroidx/compose/ui/input/pointer/util/PointAtTime; -Landroidx/compose/ui/input/pointer/util/VelocityTracker; -Landroidx/compose/ui/input/rotary/RotaryInputModifierKt$ModifierLocalRotaryScrollParent$1; -Landroidx/compose/ui/input/rotary/RotaryInputModifierKt$focusAwareCallback$1; -Landroidx/compose/ui/input/rotary/RotaryInputModifierKt; -Landroidx/compose/ui/layout/AlignmentLine; -Landroidx/compose/ui/layout/AlignmentLineKt$FirstBaseline$1; -Landroidx/compose/ui/layout/AlignmentLineKt$LastBaseline$1; -Landroidx/compose/ui/layout/AlignmentLineKt; -Landroidx/compose/ui/layout/BeyondBoundsLayout; -Landroidx/compose/ui/layout/BeyondBoundsLayoutKt$ModifierLocalBeyondBoundsLayout$1; -Landroidx/compose/ui/layout/BeyondBoundsLayoutKt; -Landroidx/compose/ui/layout/ComposableSingletons$SubcomposeLayoutKt$lambda-1$1; -Landroidx/compose/ui/layout/ComposableSingletons$SubcomposeLayoutKt; -Landroidx/compose/ui/layout/ContentScale$Companion$Crop$1; -Landroidx/compose/ui/layout/ContentScale$Companion$Fit$1; -Landroidx/compose/ui/layout/ContentScale$Companion$Inside$1; -Landroidx/compose/ui/layout/ContentScale$Companion; -Landroidx/compose/ui/layout/ContentScale; -Landroidx/compose/ui/layout/FixedScale; -Landroidx/compose/ui/layout/HorizontalAlignmentLine; -Landroidx/compose/ui/layout/IntermediateLayoutModifier; -Landroidx/compose/ui/layout/IntrinsicMeasurable; -Landroidx/compose/ui/layout/IntrinsicMeasureScope; -Landroidx/compose/ui/layout/LayoutCoordinates; -Landroidx/compose/ui/layout/LayoutId; -Landroidx/compose/ui/layout/LayoutIdKt; -Landroidx/compose/ui/layout/LayoutIdParentData; -Landroidx/compose/ui/layout/LayoutKt$materializerOf$1; -Landroidx/compose/ui/layout/LayoutKt; -Landroidx/compose/ui/layout/LayoutModifier; -Landroidx/compose/ui/layout/LayoutModifierImpl; -Landroidx/compose/ui/layout/LayoutModifierKt; -Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState$NodeState; -Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState$Scope; -Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1$measure$1; -Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState$createMeasurePolicy$1; -Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState$subcompose$2$1$1; -Landroidx/compose/ui/layout/LayoutNodeSubcompositionsState; -Landroidx/compose/ui/layout/LookaheadLayoutCoordinatesImpl; -Landroidx/compose/ui/layout/LookaheadOnPlacedModifier; -Landroidx/compose/ui/layout/Measurable; -Landroidx/compose/ui/layout/MeasurePolicy; -Landroidx/compose/ui/layout/MeasureResult; -Landroidx/compose/ui/layout/MeasureScope$layout$1; -Landroidx/compose/ui/layout/MeasureScope; -Landroidx/compose/ui/layout/Measured; -Landroidx/compose/ui/layout/NoOpSubcomposeSlotReusePolicy; -Landroidx/compose/ui/layout/OnGloballyPositionedModifier; -Landroidx/compose/ui/layout/OnGloballyPositionedModifierImpl; -Landroidx/compose/ui/layout/OnGloballyPositionedModifierKt; -Landroidx/compose/ui/layout/OnPlacedModifier; -Landroidx/compose/ui/layout/OnRemeasuredModifier; -Landroidx/compose/ui/layout/OnSizeChangedModifier; -Landroidx/compose/ui/layout/ParentDataModifier; -Landroidx/compose/ui/layout/Placeable$PlacementScope$Companion; -Landroidx/compose/ui/layout/Placeable$PlacementScope; -Landroidx/compose/ui/layout/Placeable; -Landroidx/compose/ui/layout/PlaceableKt$DefaultLayerBlock$1; -Landroidx/compose/ui/layout/PlaceableKt; -Landroidx/compose/ui/layout/Remeasurement; -Landroidx/compose/ui/layout/RemeasurementModifier; -Landroidx/compose/ui/layout/RootMeasurePolicy$measure$2; -Landroidx/compose/ui/layout/RootMeasurePolicy; -Landroidx/compose/ui/layout/ScaleFactor; -Landroidx/compose/ui/layout/ScaleFactorKt; -Landroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$$inlined$ComposeNode$1; -Landroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$2; -Landroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$4; -Landroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$5$1$invoke$$inlined$onDispose$1; -Landroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$5$1; -Landroidx/compose/ui/layout/SubcomposeLayoutKt$SubcomposeLayout$6; -Landroidx/compose/ui/layout/SubcomposeLayoutKt; -Landroidx/compose/ui/layout/SubcomposeLayoutState$setCompositionContext$1; -Landroidx/compose/ui/layout/SubcomposeLayoutState$setMeasurePolicy$1; -Landroidx/compose/ui/layout/SubcomposeLayoutState$setRoot$1; -Landroidx/compose/ui/layout/SubcomposeLayoutState; -Landroidx/compose/ui/layout/SubcomposeMeasureScope; -Landroidx/compose/ui/layout/SubcomposeSlotReusePolicy$SlotIdsSet; -Landroidx/compose/ui/layout/SubcomposeSlotReusePolicy; -Landroidx/compose/ui/modifier/BackwardsCompatLocalMap; -Landroidx/compose/ui/modifier/EmptyMap; -Landroidx/compose/ui/modifier/ModifierLocal; -Landroidx/compose/ui/modifier/ModifierLocalConsumer; -Landroidx/compose/ui/modifier/ModifierLocalManager$invalidate$1; -Landroidx/compose/ui/modifier/ModifierLocalManager; -Landroidx/compose/ui/modifier/ModifierLocalMap; -Landroidx/compose/ui/modifier/ModifierLocalNode; -Landroidx/compose/ui/modifier/ModifierLocalProvider; -Landroidx/compose/ui/modifier/ModifierLocalReadScope; -Landroidx/compose/ui/modifier/ProvidableModifierLocal; -Landroidx/compose/ui/node/AlignmentLines$recalculate$1; -Landroidx/compose/ui/node/AlignmentLines; -Landroidx/compose/ui/node/AlignmentLinesOwner; -Landroidx/compose/ui/node/BackwardsCompatNode$onModifierUpdated$1; -Landroidx/compose/ui/node/BackwardsCompatNode$onModifierUpdated$3; -Landroidx/compose/ui/node/BackwardsCompatNode$onModifierUpdated$4; -Landroidx/compose/ui/node/BackwardsCompatNode$updateModifierLocalConsumer$1; -Landroidx/compose/ui/node/BackwardsCompatNode; -Landroidx/compose/ui/node/BackwardsCompatNodeKt$DetachedModifierLocalReadScope$1; -Landroidx/compose/ui/node/BackwardsCompatNodeKt$updateModifierLocalConsumer$1; -Landroidx/compose/ui/node/BackwardsCompatNodeKt; -Landroidx/compose/ui/node/ComposeUiNode$Companion$SetDensity$1; -Landroidx/compose/ui/node/ComposeUiNode$Companion$SetLayoutDirection$1; -Landroidx/compose/ui/node/ComposeUiNode$Companion$SetMeasurePolicy$1; -Landroidx/compose/ui/node/ComposeUiNode$Companion$SetModifier$1; -Landroidx/compose/ui/node/ComposeUiNode$Companion$SetViewConfiguration$1; -Landroidx/compose/ui/node/ComposeUiNode$Companion; -Landroidx/compose/ui/node/ComposeUiNode; -Landroidx/compose/ui/node/DelegatableNode; -Landroidx/compose/ui/node/DelegatableNodeKt; -Landroidx/compose/ui/node/DepthSortedSet$DepthComparator$1; -Landroidx/compose/ui/node/DepthSortedSet$mapOfOriginalDepth$2; -Landroidx/compose/ui/node/DepthSortedSet; -Landroidx/compose/ui/node/DrawModifierNode; -Landroidx/compose/ui/node/DrawModifierNodeKt; -Landroidx/compose/ui/node/GlobalPositionAwareModifierNode; -Landroidx/compose/ui/node/HitTestResult; -Landroidx/compose/ui/node/InnerNodeCoordinator$tail$1; -Landroidx/compose/ui/node/InnerNodeCoordinator; -Landroidx/compose/ui/node/IntStack; -Landroidx/compose/ui/node/IntermediateLayoutModifierNode; -Landroidx/compose/ui/node/IntrinsicsPolicy; -Landroidx/compose/ui/node/LayerPositionalProperties; -Landroidx/compose/ui/node/LayoutAwareModifierNode; -Landroidx/compose/ui/node/LayoutModifierNode; -Landroidx/compose/ui/node/LayoutModifierNodeCoordinator; -Landroidx/compose/ui/node/LayoutNode$$ExternalSyntheticLambda0; -Landroidx/compose/ui/node/LayoutNode$Companion$Constructor$1; -Landroidx/compose/ui/node/LayoutNode$Companion$DummyViewConfiguration$1; -Landroidx/compose/ui/node/LayoutNode$Companion$ErrorMeasurePolicy$1; -Landroidx/compose/ui/node/LayoutNode$LayoutState$EnumUnboxingLocalUtility; -Landroidx/compose/ui/node/LayoutNode$NoIntrinsicsMeasurePolicy; -Landroidx/compose/ui/node/LayoutNode$UsageByParent$EnumUnboxingLocalUtility; -Landroidx/compose/ui/node/LayoutNode$WhenMappings; -Landroidx/compose/ui/node/LayoutNode$_foldedChildren$1; -Landroidx/compose/ui/node/LayoutNode; -Landroidx/compose/ui/node/LayoutNodeAlignmentLines; -Landroidx/compose/ui/node/LayoutNodeDrawScope; -Landroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$childMeasurables$1; -Landroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$layoutChildren$1$1; -Landroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate$placeOuterCoordinator$1; -Landroidx/compose/ui/node/LayoutNodeLayoutDelegate$MeasurePassDelegate; -Landroidx/compose/ui/node/LayoutNodeLayoutDelegate$performMeasure$2; -Landroidx/compose/ui/node/LayoutNodeLayoutDelegate; -Landroidx/compose/ui/node/LayoutNodeLayoutDelegateKt; -Landroidx/compose/ui/node/LookaheadCapablePlaceable; -Landroidx/compose/ui/node/LookaheadDelegate; -Landroidx/compose/ui/node/MeasureAndLayoutDelegate; -Landroidx/compose/ui/node/ModifierNodeElement; -Landroidx/compose/ui/node/MutableVectorWithMutationTracking; -Landroidx/compose/ui/node/NodeChain$Differ; -Landroidx/compose/ui/node/NodeChain; -Landroidx/compose/ui/node/NodeChainKt$SentinelHead$1; -Landroidx/compose/ui/node/NodeChainKt$fillVector$1; -Landroidx/compose/ui/node/NodeChainKt; -Landroidx/compose/ui/node/NodeCoordinator$Companion$PointerInputSource$1; -Landroidx/compose/ui/node/NodeCoordinator$Companion$SemanticsSource$1; -Landroidx/compose/ui/node/NodeCoordinator$Companion$onCommitAffectingLayer$1; -Landroidx/compose/ui/node/NodeCoordinator$Companion$onCommitAffectingLayerParams$1; -Landroidx/compose/ui/node/NodeCoordinator$HitTestSource; -Landroidx/compose/ui/node/NodeCoordinator$invalidateParentLayer$1; -Landroidx/compose/ui/node/NodeCoordinator$invoke$1; -Landroidx/compose/ui/node/NodeCoordinator$updateLayerParameters$1; -Landroidx/compose/ui/node/NodeCoordinator; -Landroidx/compose/ui/node/OnPositionedDispatcher$Companion$DepthComparator; -Landroidx/compose/ui/node/OnPositionedDispatcher; -Landroidx/compose/ui/node/OwnedLayer; -Landroidx/compose/ui/node/Owner$-CC; -Landroidx/compose/ui/node/Owner$OnLayoutCompletedListener; -Landroidx/compose/ui/node/Owner; -Landroidx/compose/ui/node/OwnerScope; -Landroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingLayout$1; -Landroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingLayoutModifier$1; -Landroidx/compose/ui/node/OwnerSnapshotObserver$onCommitAffectingMeasure$1; -Landroidx/compose/ui/node/OwnerSnapshotObserver; -Landroidx/compose/ui/node/ParentDataModifierNode; -Landroidx/compose/ui/node/PointerInputModifierNode; -Landroidx/compose/ui/node/RootForTest; -Landroidx/compose/ui/node/SemanticsModifierNode; -Landroidx/compose/ui/node/TreeSet; -Landroidx/compose/ui/node/UiApplier; -Landroidx/compose/ui/platform/AbstractComposeView$ensureCompositionCreated$1; -Landroidx/compose/ui/platform/AbstractComposeView; -Landroidx/compose/ui/platform/AccessibilityManager; -Landroidx/compose/ui/platform/AccessibilityNodeInfoVerificationHelperMethods$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/platform/AccessibilityNodeInfoVerificationHelperMethods; -Landroidx/compose/ui/platform/AndroidAccessibilityManager; -Landroidx/compose/ui/platform/AndroidClipboardManager; -Landroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda0; -Landroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda1; -Landroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda2; -Landroidx/compose/ui/platform/AndroidComposeView$$ExternalSyntheticLambda3; -Landroidx/compose/ui/platform/AndroidComposeView$Companion; -Landroidx/compose/ui/platform/AndroidComposeView$ViewTreeOwners; -Landroidx/compose/ui/platform/AndroidComposeView$_inputModeManager$1; -Landroidx/compose/ui/platform/AndroidComposeView$configurationChangeObserver$1; -Landroidx/compose/ui/platform/AndroidComposeView$keyInputModifier$1; -Landroidx/compose/ui/platform/AndroidComposeView$pointerIconService$1; -Landroidx/compose/ui/platform/AndroidComposeView$resendMotionEventOnLayout$1; -Landroidx/compose/ui/platform/AndroidComposeView$resendMotionEventRunnable$1; -Landroidx/compose/ui/platform/AndroidComposeView$rotaryInputModifier$1; -Landroidx/compose/ui/platform/AndroidComposeView$semanticsModifier$1; -Landroidx/compose/ui/platform/AndroidComposeView$snapshotObserver$1; -Landroidx/compose/ui/platform/AndroidComposeView; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$$ExternalSyntheticLambda0; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$1; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$Api24Impl; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$MyNodeProvider; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$SemanticsNodeCopy; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$boundsUpdatesEventLoop$1; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat$sendScrollEventIfNeededLambda$1; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat; -Landroidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat_androidKt; -Landroidx/compose/ui/platform/AndroidComposeViewForceDarkModeQ$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/platform/AndroidComposeViewForceDarkModeQ; -Landroidx/compose/ui/platform/AndroidComposeViewVerificationHelperMethodsO$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/platform/AndroidComposeViewVerificationHelperMethodsO$$ExternalSyntheticApiModelOutline1; -Landroidx/compose/ui/platform/AndroidComposeViewVerificationHelperMethodsO; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalConfiguration$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalContext$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalImageVectorCache$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalLifecycleOwner$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalSavedStateRegistryOwner$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$LocalView$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$1$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$2$invoke$$inlined$onDispose$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$2; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$4; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$1$invoke$$inlined$onDispose$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt$obtainImageVectorCache$callbacks$1$1; -Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt; -Landroidx/compose/ui/platform/AndroidTextToolbar; -Landroidx/compose/ui/platform/AndroidUiDispatcher$Companion$Main$2; -Landroidx/compose/ui/platform/AndroidUiDispatcher$Companion$currentThread$1; -Landroidx/compose/ui/platform/AndroidUiDispatcher$dispatchCallback$1; -Landroidx/compose/ui/platform/AndroidUiDispatcher; -Landroidx/compose/ui/platform/AndroidUiFrameClock$withFrameNanos$2$1; -Landroidx/compose/ui/platform/AndroidUiFrameClock$withFrameNanos$2$callback$1; -Landroidx/compose/ui/platform/AndroidUiFrameClock; -Landroidx/compose/ui/platform/AndroidUriHandler; -Landroidx/compose/ui/platform/AndroidViewConfiguration; -Landroidx/compose/ui/platform/AndroidViewsHandler; -Landroidx/compose/ui/platform/CalculateMatrixToWindow; -Landroidx/compose/ui/platform/CalculateMatrixToWindowApi29$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/platform/CalculateMatrixToWindowApi29; -Landroidx/compose/ui/platform/ClipboardManager; -Landroidx/compose/ui/platform/ComposableSingletons$Wrapper_androidKt$lambda-1$1; -Landroidx/compose/ui/platform/ComposableSingletons$Wrapper_androidKt; -Landroidx/compose/ui/platform/ComposeView$Content$1; -Landroidx/compose/ui/platform/ComposeView; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalAccessibilityManager$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalAutofill$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalAutofillTree$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalClipboardManager$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalDensity$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalFocusManager$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalFontFamilyResolver$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalFontLoader$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalHapticFeedback$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalInputModeManager$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalLayoutDirection$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalPointerIconService$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalTextInputService$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalTextToolbar$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalUriHandler$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalViewConfiguration$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$LocalWindowInfo$1; -Landroidx/compose/ui/platform/CompositionLocalsKt$ProvideCommonCompositionLocals$1; -Landroidx/compose/ui/platform/CompositionLocalsKt; -Landroidx/compose/ui/platform/DeviceRenderNode; -Landroidx/compose/ui/platform/DisposableSaveableStateRegistry; -Landroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$1; -Landroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$registered$1; -Landroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt$DisposableSaveableStateRegistry$saveableStateRegistry$1; -Landroidx/compose/ui/platform/DisposableSaveableStateRegistry_androidKt; -Landroidx/compose/ui/platform/GlobalSnapshotManager$ensureStarted$1; -Landroidx/compose/ui/platform/GlobalSnapshotManager$ensureStarted$2; -Landroidx/compose/ui/platform/GlobalSnapshotManager; -Landroidx/compose/ui/platform/InspectableModifier$End; -Landroidx/compose/ui/platform/InspectableModifier; -Landroidx/compose/ui/platform/InspectableValueKt$NoInspectorInfo$1; -Landroidx/compose/ui/platform/InspectableValueKt; -Landroidx/compose/ui/platform/InspectionModeKt$LocalInspectionMode$1; -Landroidx/compose/ui/platform/InspectionModeKt; -Landroidx/compose/ui/platform/InspectorValueInfo; -Landroidx/compose/ui/platform/InvertMatrixKt; -Landroidx/compose/ui/platform/LayerMatrixCache; -Landroidx/compose/ui/platform/MotionDurationScaleImpl; -Landroidx/compose/ui/platform/OutlineResolver; -Landroidx/compose/ui/platform/RenderNodeApi29$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/platform/RenderNodeApi29; -Landroidx/compose/ui/platform/RenderNodeApi29VerificationHelper$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/platform/RenderNodeApi29VerificationHelper; -Landroidx/compose/ui/platform/RenderNodeLayer$Companion$getMatrix$1; -Landroidx/compose/ui/platform/RenderNodeLayer; -Landroidx/compose/ui/platform/SemanticsNodeWithAdjustedBounds; -Landroidx/compose/ui/platform/TextToolbar; -Landroidx/compose/ui/platform/UriHandler; -Landroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$1; -Landroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$listener$1; -Landroidx/compose/ui/platform/ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$poolingContainerListener$1; -Landroidx/compose/ui/platform/ViewConfiguration; -Landroidx/compose/ui/platform/ViewLayer$Companion$OutlineProvider$1; -Landroidx/compose/ui/platform/ViewLayer; -Landroidx/compose/ui/platform/WeakCache; -Landroidx/compose/ui/platform/WindowInfo; -Landroidx/compose/ui/platform/WindowInfoImpl; -Landroidx/compose/ui/platform/WindowRecomposerFactory$Companion$LifecycleAware$1; -Landroidx/compose/ui/platform/WindowRecomposerFactory$Companion; -Landroidx/compose/ui/platform/WindowRecomposerFactory; -Landroidx/compose/ui/platform/WindowRecomposerPolicy$createAndInstallWindowRecomposer$1; -Landroidx/compose/ui/platform/WindowRecomposerPolicy$createAndInstallWindowRecomposer$unsetJob$1; -Landroidx/compose/ui/platform/WindowRecomposerPolicy; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$1; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$WhenMappings; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1$1$1$1; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1$1$1; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2$onStateChanged$1; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt$createLifecycleAwareWindowRecomposer$2; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt$getAnimationScaleFlowFor$1$1$1; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt$getAnimationScaleFlowFor$1$1$contentObserver$1; -Landroidx/compose/ui/platform/WindowRecomposer_androidKt; -Landroidx/compose/ui/platform/WrappedComposition$setContent$1$1$1; -Landroidx/compose/ui/platform/WrappedComposition$setContent$1$1$2; -Landroidx/compose/ui/platform/WrappedComposition$setContent$1$1$3; -Landroidx/compose/ui/platform/WrappedComposition$setContent$1$1; -Landroidx/compose/ui/platform/WrappedComposition$setContent$1; -Landroidx/compose/ui/platform/WrappedComposition; -Landroidx/compose/ui/platform/WrapperRenderNodeLayerHelperMethods$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/platform/WrapperRenderNodeLayerHelperMethods; -Landroidx/compose/ui/platform/WrapperVerificationHelperMethods$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/platform/WrapperVerificationHelperMethods; -Landroidx/compose/ui/platform/Wrapper_androidKt; -Landroidx/compose/ui/platform/accessibility/CollectionInfoKt; -Landroidx/compose/ui/res/ImageVectorCache; -Landroidx/compose/ui/res/Resources_androidKt; -Landroidx/compose/ui/semantics/AccessibilityAction; -Landroidx/compose/ui/semantics/CollectionInfo; -Landroidx/compose/ui/semantics/CollectionItemInfo; -Landroidx/compose/ui/semantics/CustomAccessibilityAction; -Landroidx/compose/ui/semantics/LiveRegionMode; -Landroidx/compose/ui/semantics/NodeLocationHolder$compareTo$child1$1; -Landroidx/compose/ui/semantics/NodeLocationHolder$compareTo$child2$1; -Landroidx/compose/ui/semantics/NodeLocationHolder; -Landroidx/compose/ui/semantics/ProgressBarRangeInfo; -Landroidx/compose/ui/semantics/Role; -Landroidx/compose/ui/semantics/ScrollAxisRange; -Landroidx/compose/ui/semantics/SemanticsActions; -Landroidx/compose/ui/semantics/SemanticsConfiguration; -Landroidx/compose/ui/semantics/SemanticsModifier; -Landroidx/compose/ui/semantics/SemanticsModifierCore; -Landroidx/compose/ui/semantics/SemanticsModifierKt; -Landroidx/compose/ui/semantics/SemanticsNode$emitFakeNodes$fakeNode$1; -Landroidx/compose/ui/semantics/SemanticsNode$fakeSemanticsNode$fakeNode$1; -Landroidx/compose/ui/semantics/SemanticsNode; -Landroidx/compose/ui/semantics/SemanticsNodeKt; -Landroidx/compose/ui/semantics/SemanticsOwner; -Landroidx/compose/ui/semantics/SemanticsProperties$ContentDescription$1; -Landroidx/compose/ui/semantics/SemanticsProperties$InvisibleToUser$1; -Landroidx/compose/ui/semantics/SemanticsProperties$IsDialog$1; -Landroidx/compose/ui/semantics/SemanticsProperties$PaneTitle$1; -Landroidx/compose/ui/semantics/SemanticsProperties$Role$1; -Landroidx/compose/ui/semantics/SemanticsProperties$TestTag$1; -Landroidx/compose/ui/semantics/SemanticsProperties$Text$1; -Landroidx/compose/ui/semantics/SemanticsProperties; -Landroidx/compose/ui/semantics/SemanticsPropertiesAndroid; -Landroidx/compose/ui/semantics/SemanticsPropertiesKt$ActionPropertyKey$1; -Landroidx/compose/ui/semantics/SemanticsPropertiesKt; -Landroidx/compose/ui/semantics/SemanticsPropertyKey$1; -Landroidx/compose/ui/semantics/SemanticsPropertyKey; -Landroidx/compose/ui/semantics/SemanticsPropertyReceiver; -Landroidx/compose/ui/semantics/SemanticsSortKt; -Landroidx/compose/ui/state/ToggleableState; -Landroidx/compose/ui/text/AndroidParagraph$wordBoundary$2; -Landroidx/compose/ui/text/AndroidParagraph; -Landroidx/compose/ui/text/AnnotatedString$Range; -Landroidx/compose/ui/text/AnnotatedString$special$$inlined$sortedBy$1; -Landroidx/compose/ui/text/AnnotatedString; -Landroidx/compose/ui/text/AnnotatedStringKt; -Landroidx/compose/ui/text/MultiParagraph; -Landroidx/compose/ui/text/MultiParagraphIntrinsics$maxIntrinsicWidth$2; -Landroidx/compose/ui/text/MultiParagraphIntrinsics$minIntrinsicWidth$2; -Landroidx/compose/ui/text/MultiParagraphIntrinsics; -Landroidx/compose/ui/text/Paragraph; -Landroidx/compose/ui/text/ParagraphInfo; -Landroidx/compose/ui/text/ParagraphIntrinsicInfo; -Landroidx/compose/ui/text/ParagraphIntrinsics; -Landroidx/compose/ui/text/ParagraphStyle; -Landroidx/compose/ui/text/ParagraphStyleKt; -Landroidx/compose/ui/text/Placeholder; -Landroidx/compose/ui/text/SpanStyle; -Landroidx/compose/ui/text/SpanStyleKt$resolveSpanStyleDefaults$1; -Landroidx/compose/ui/text/SpanStyleKt; -Landroidx/compose/ui/text/TextLayoutInput; -Landroidx/compose/ui/text/TextLayoutResult; -Landroidx/compose/ui/text/TextRange; -Landroidx/compose/ui/text/TextRangeKt; -Landroidx/compose/ui/text/TextStyle; -Landroidx/compose/ui/text/android/BoringLayoutFactory33; -Landroidx/compose/ui/text/android/BoringLayoutFactory; -Landroidx/compose/ui/text/android/LayoutCompat; -Landroidx/compose/ui/text/android/LayoutIntrinsics$boringMetrics$2; -Landroidx/compose/ui/text/android/LayoutIntrinsics$maxIntrinsicWidth$2; -Landroidx/compose/ui/text/android/LayoutIntrinsics$minIntrinsicWidth$2; -Landroidx/compose/ui/text/android/LayoutIntrinsics; -Landroidx/compose/ui/text/android/SpannedExtensionsKt; -Landroidx/compose/ui/text/android/StaticLayoutFactory23; -Landroidx/compose/ui/text/android/StaticLayoutFactory26$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/text/android/StaticLayoutFactory26; -Landroidx/compose/ui/text/android/StaticLayoutFactory28$$ExternalSyntheticApiModelOutline0; -Landroidx/compose/ui/text/android/StaticLayoutFactory28; -Landroidx/compose/ui/text/android/StaticLayoutFactory; -Landroidx/compose/ui/text/android/StaticLayoutFactoryImpl; -Landroidx/compose/ui/text/android/StaticLayoutParams; -Landroidx/compose/ui/text/android/TextAlignmentAdapter; -Landroidx/compose/ui/text/android/TextLayout$layoutHelper$2; -Landroidx/compose/ui/text/android/TextLayout; -Landroidx/compose/ui/text/android/TextLayoutKt; -Landroidx/compose/ui/text/android/style/BaselineShiftSpan; -Landroidx/compose/ui/text/android/style/FontFeatureSpan; -Landroidx/compose/ui/text/android/style/IndentationFixSpanKt; -Landroidx/compose/ui/text/android/style/LetterSpacingSpanEm; -Landroidx/compose/ui/text/android/style/LetterSpacingSpanPx; -Landroidx/compose/ui/text/android/style/LineHeightSpan; -Landroidx/compose/ui/text/android/style/LineHeightStyleSpan; -Landroidx/compose/ui/text/android/style/PlaceholderSpan; -Landroidx/compose/ui/text/android/style/ShadowSpan; -Landroidx/compose/ui/text/android/style/SkewXSpan; -Landroidx/compose/ui/text/android/style/TextDecorationSpan; -Landroidx/compose/ui/text/caches/ContainerHelpersKt; -Landroidx/compose/ui/text/caches/LruCache; -Landroidx/compose/ui/text/caches/SimpleArrayMap; -Landroidx/compose/ui/text/font/AndroidFontLoader; -Landroidx/compose/ui/text/font/AndroidFontResolveInterceptor; -Landroidx/compose/ui/text/font/AndroidFontResolveInterceptor_androidKt; -Landroidx/compose/ui/text/font/AsyncTypefaceCache; -Landroidx/compose/ui/text/font/DefaultFontFamily; -Landroidx/compose/ui/text/font/FileBasedFontFamily; -Landroidx/compose/ui/text/font/Font$ResourceLoader; -Landroidx/compose/ui/text/font/FontFamily$Resolver; -Landroidx/compose/ui/text/font/FontFamily; -Landroidx/compose/ui/text/font/FontFamilyResolverImpl$createDefaultTypeface$1; -Landroidx/compose/ui/text/font/FontFamilyResolverImpl$resolve$result$1; -Landroidx/compose/ui/text/font/FontFamilyResolverImpl; -Landroidx/compose/ui/text/font/FontFamilyResolverKt; -Landroidx/compose/ui/text/font/FontListFontFamily; -Landroidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter$special$$inlined$CoroutineExceptionHandler$1; -Landroidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter; -Landroidx/compose/ui/text/font/FontStyle; -Landroidx/compose/ui/text/font/FontSynthesis; -Landroidx/compose/ui/text/font/FontWeight; -Landroidx/compose/ui/text/font/GenericFontFamily; -Landroidx/compose/ui/text/font/PlatformFontLoader; -Landroidx/compose/ui/text/font/PlatformResolveInterceptor; -Landroidx/compose/ui/text/font/PlatformTypefaces; -Landroidx/compose/ui/text/font/PlatformTypefacesApi28; -Landroidx/compose/ui/text/font/SystemFontFamily; -Landroidx/compose/ui/text/font/TypefaceRequest; -Landroidx/compose/ui/text/font/TypefaceRequestCache$runCached$currentTypefaceResult$1; -Landroidx/compose/ui/text/font/TypefaceRequestCache; -Landroidx/compose/ui/text/font/TypefaceResult$Immutable; -Landroidx/compose/ui/text/font/TypefaceResult; -Landroidx/compose/ui/text/input/InputMethodManager; -Landroidx/compose/ui/text/input/InputMethodManagerImpl$imm$2; -Landroidx/compose/ui/text/input/InputMethodManagerImpl; -Landroidx/compose/ui/text/input/PlatformTextInputService; -Landroidx/compose/ui/text/input/TextFieldValue$Companion$Saver$1; -Landroidx/compose/ui/text/input/TextFieldValue$Companion$Saver$2; -Landroidx/compose/ui/text/input/TextFieldValue; -Landroidx/compose/ui/text/input/TextInputService; -Landroidx/compose/ui/text/input/TextInputServiceAndroid$baseInputConnection$2; -Landroidx/compose/ui/text/input/TextInputServiceAndroid$textInputCommandEventLoop$1; -Landroidx/compose/ui/text/input/TextInputServiceAndroid; -Landroidx/compose/ui/text/intl/AndroidLocale; -Landroidx/compose/ui/text/intl/AndroidLocaleDelegateAPI24; -Landroidx/compose/ui/text/intl/Locale; -Landroidx/compose/ui/text/intl/LocaleList; -Landroidx/compose/ui/text/intl/PlatformLocale; -Landroidx/compose/ui/text/intl/PlatformLocaleDelegate; -Landroidx/compose/ui/text/intl/PlatformLocaleKt; -Landroidx/compose/ui/text/platform/AndroidAccessibilitySpannableString_androidKt; -Landroidx/compose/ui/text/platform/AndroidParagraphIntrinsics$resolveTypeface$1; -Landroidx/compose/ui/text/platform/AndroidParagraphIntrinsics; -Landroidx/compose/ui/text/platform/AndroidTextPaint; -Landroidx/compose/ui/text/platform/TypefaceDirtyTracker; -Landroidx/compose/ui/text/platform/extensions/LocaleListHelperMethods; -Landroidx/compose/ui/text/platform/extensions/PlaceholderExtensions_androidKt; -Landroidx/compose/ui/text/platform/extensions/SpanRange; -Landroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt$setFontAttributes$1; -Landroidx/compose/ui/text/platform/extensions/SpannableExtensions_androidKt; -Landroidx/compose/ui/text/platform/style/ShaderBrushSpan; -Landroidx/compose/ui/text/style/BaselineShift; -Landroidx/compose/ui/text/style/BrushStyle; -Landroidx/compose/ui/text/style/ColorStyle; -Landroidx/compose/ui/text/style/TextAlign; -Landroidx/compose/ui/text/style/TextDecoration; -Landroidx/compose/ui/text/style/TextDirection; -Landroidx/compose/ui/text/style/TextDrawStyle$-CC; -Landroidx/compose/ui/text/style/TextDrawStyle$Unspecified; -Landroidx/compose/ui/text/style/TextDrawStyle$merge$2; -Landroidx/compose/ui/text/style/TextDrawStyle; -Landroidx/compose/ui/text/style/TextGeometricTransform; -Landroidx/compose/ui/text/style/TextIndent; -Landroidx/compose/ui/unit/Constraints$Companion; -Landroidx/compose/ui/unit/Constraints; -Landroidx/compose/ui/unit/Density$-CC; -Landroidx/compose/ui/unit/Density; -Landroidx/compose/ui/unit/DensityImpl; -Landroidx/compose/ui/unit/Dp; -Landroidx/compose/ui/unit/DpKt; -Landroidx/compose/ui/unit/DpOffset; -Landroidx/compose/ui/unit/DpSize; -Landroidx/compose/ui/unit/IntOffset$Companion; -Landroidx/compose/ui/unit/IntOffset; -Landroidx/compose/ui/unit/IntOffsetKt; -Landroidx/compose/ui/unit/IntSize$Companion; -Landroidx/compose/ui/unit/IntSize; -Landroidx/compose/ui/unit/IntSizeKt; -Landroidx/compose/ui/unit/LayoutDirection; -Landroidx/compose/ui/unit/TextUnit; -Landroidx/compose/ui/unit/TextUnitKt; -Landroidx/compose/ui/unit/TextUnitType; -Landroidx/compose/ui/util/MathHelpersKt; -Landroidx/compose/ui/viewinterop/AndroidViewHolder$onCommitAffectingUpdate$1$$ExternalSyntheticLambda0; -Landroidx/compose/ui/viewinterop/AndroidViewHolder; -Landroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$1$invoke$$inlined$onDispose$1; -Landroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$1; -Landroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$2; -Landroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$3; -Landroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1$1; -Landroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1$2; -Landroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialog$1$1$1; -Landroidx/compose/ui/window/AndroidDialog_androidKt$Dialog$dialogId$1; -Landroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$1$measure$1; -Landroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$1; -Landroidx/compose/ui/window/AndroidDialog_androidKt$DialogLayout$2; -Landroidx/compose/ui/window/AndroidDialog_androidKt; -Landroidx/compose/ui/window/AndroidPopup_androidKt$LocalPopupTestTag$1; -Landroidx/compose/ui/window/AndroidPopup_androidKt; -Landroidx/compose/ui/window/ComposableSingletons$AndroidDialog_androidKt$lambda-1$1; -Landroidx/compose/ui/window/ComposableSingletons$AndroidDialog_androidKt; -Landroidx/compose/ui/window/DialogLayout$Content$4; -Landroidx/compose/ui/window/DialogLayout; -Landroidx/compose/ui/window/DialogProperties; -Landroidx/compose/ui/window/DialogWrapper$1$2; -Landroidx/compose/ui/window/DialogWrapper; -Landroidx/compose/ui/window/SecureFlagPolicy; -Landroidx/core/R$dimen; -Landroidx/core/app/ActivityCompat$Api23Impl$$ExternalSyntheticApiModelOutline1; -Landroidx/core/app/ActivityCompat$Api23Impl; -Landroidx/core/app/ActivityCompat$OnRequestPermissionsResultCallback; -Landroidx/core/app/ActivityCompat$RequestPermissionsRequestCodeValidator; -Landroidx/core/app/ActivityCompat; -Landroidx/core/app/ComponentActivity; -Landroidx/core/app/CoreComponentFactory$CompatWrapped; -Landroidx/core/app/CoreComponentFactory; -Landroidx/core/app/NavUtils; -Landroidx/core/app/OnMultiWindowModeChangedProvider; -Landroidx/core/app/OnPictureInPictureModeChangedProvider; -Landroidx/core/content/ContextCompat$Api21Impl; -Landroidx/core/content/ContextCompat$Api23Impl; -Landroidx/core/content/ContextCompat$Api24Impl$$ExternalSyntheticApiModelOutline0; -Landroidx/core/content/ContextCompat$Api24Impl$$ExternalSyntheticApiModelOutline1; -Landroidx/core/content/ContextCompat$Api24Impl; -Landroidx/core/content/ContextCompat; -Landroidx/core/content/OnConfigurationChangedProvider; -Landroidx/core/content/OnTrimMemoryProvider; -Landroidx/core/content/PermissionChecker; -Landroidx/core/graphics/Insets; -Landroidx/core/graphics/TypefaceCompat; -Landroidx/core/graphics/TypefaceCompatApi29Impl; -Landroidx/core/graphics/TypefaceCompatBaseImpl; -Landroidx/core/graphics/TypefaceCompatUtil$Api19Impl; -Landroidx/core/graphics/TypefaceCompatUtil; -Landroidx/core/graphics/drawable/TintAwareDrawable; -Landroidx/core/os/BuildCompat; -Landroidx/core/os/BundleKt; -Landroidx/core/os/HandlerCompat; -Landroidx/core/os/LocaleListCompat$Api21Impl; -Landroidx/core/os/LocaleListCompat$Api24Impl; -Landroidx/core/os/LocaleListCompat; -Landroidx/core/os/LocaleListInterface; -Landroidx/core/os/LocaleListPlatformWrapper; -Landroidx/core/os/TraceCompat$Api18Impl; -Landroidx/core/os/TraceCompat; -Landroidx/core/os/UserManagerCompat$Api24Impl$$ExternalSyntheticApiModelOutline0; -Landroidx/core/os/UserManagerCompat$Api24Impl; -Landroidx/core/provider/FontProvider$$ExternalSyntheticLambda0; -Landroidx/core/provider/FontProvider$Api16Impl; -Landroidx/core/provider/FontProvider; -Landroidx/core/provider/FontRequest; -Landroidx/core/provider/FontsContractCompat$FontFamilyResult; -Landroidx/core/provider/FontsContractCompat$FontInfo; -Landroidx/core/splashscreen/R$dimen; -Landroidx/core/splashscreen/SplashScreen$Impl31$hierarchyListener$1; -Landroidx/core/splashscreen/SplashScreen$Impl31; -Landroidx/core/splashscreen/SplashScreen$Impl; -Landroidx/core/text/TextUtilsCompat$Api17Impl; -Landroidx/core/text/TextUtilsCompat; -Landroidx/core/util/Consumer; -Landroidx/core/view/AccessibilityDelegateCompat$AccessibilityDelegateAdapter; -Landroidx/core/view/AccessibilityDelegateCompat; -Landroidx/core/view/DisplayCutoutCompat$Api30Impl$$ExternalSyntheticApiModelOutline0; -Landroidx/core/view/DisplayCutoutCompat$Api30Impl; -Landroidx/core/view/DisplayCutoutCompat; -Landroidx/core/view/KeyEventDispatcher$Component; -Landroidx/core/view/MenuHost; -Landroidx/core/view/MenuHostHelper$LifecycleContainer; -Landroidx/core/view/MenuHostHelper; -Landroidx/core/view/MenuProvider; -Landroidx/core/view/NestedScrollingParent2; -Landroidx/core/view/NestedScrollingParent3; -Landroidx/core/view/OnApplyWindowInsetsListener; -Landroidx/core/view/OnReceiveContentViewBehavior; -Landroidx/core/view/ViewCompat$$ExternalSyntheticLambda0; -Landroidx/core/view/ViewCompat$AccessibilityPaneVisibilityManager; -Landroidx/core/view/ViewCompat$Api16Impl; -Landroidx/core/view/ViewCompat$Api19Impl; -Landroidx/core/view/ViewCompat$Api20Impl; -Landroidx/core/view/ViewCompat$Api21Impl$1; -Landroidx/core/view/ViewCompat$Api21Impl; -Landroidx/core/view/ViewCompat$Api23Impl$$ExternalSyntheticApiModelOutline1; -Landroidx/core/view/ViewCompat$Api23Impl; -Landroidx/core/view/ViewCompat; -Landroidx/core/view/ViewKt$ancestors$1; -Landroidx/core/view/WindowCompat$Api30Impl$$ExternalSyntheticApiModelOutline0; -Landroidx/core/view/WindowCompat$Api30Impl; -Landroidx/core/view/WindowInsetsAnimationCompat$Callback; -Landroidx/core/view/WindowInsetsAnimationCompat$Impl30$$ExternalSyntheticApiModelOutline0; -Landroidx/core/view/WindowInsetsAnimationCompat$Impl30$ProxyCallback; -Landroidx/core/view/WindowInsetsCompat$BuilderImpl29; -Landroidx/core/view/WindowInsetsCompat$BuilderImpl30; -Landroidx/core/view/WindowInsetsCompat$BuilderImpl; -Landroidx/core/view/WindowInsetsCompat$Impl20; -Landroidx/core/view/WindowInsetsCompat$Impl21; -Landroidx/core/view/WindowInsetsCompat$Impl28$$ExternalSyntheticApiModelOutline0; -Landroidx/core/view/WindowInsetsCompat$Impl28$$ExternalSyntheticApiModelOutline1; -Landroidx/core/view/WindowInsetsCompat$Impl28; -Landroidx/core/view/WindowInsetsCompat$Impl29; -Landroidx/core/view/WindowInsetsCompat$Impl30$$ExternalSyntheticApiModelOutline0; -Landroidx/core/view/WindowInsetsCompat$Impl30$$ExternalSyntheticApiModelOutline1; -Landroidx/core/view/WindowInsetsCompat$Impl30$$ExternalSyntheticApiModelOutline2; -Landroidx/core/view/WindowInsetsCompat$Impl30; -Landroidx/core/view/WindowInsetsCompat$Impl; -Landroidx/core/view/WindowInsetsCompat$TypeImpl30; -Landroidx/core/view/WindowInsetsCompat; -Landroidx/core/view/WindowInsetsControllerCompat$Impl30$$ExternalSyntheticApiModelOutline0; -Landroidx/core/view/WindowInsetsControllerCompat$Impl30; -Landroidx/core/view/WindowInsetsControllerCompat$Impl; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline10; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline1; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline3; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline4; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline6; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline8; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$$ExternalSyntheticApiModelOutline9; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat; -Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; -Landroidx/core/view/accessibility/AccessibilityNodeProviderCompat; -Landroidx/core/view/accessibility/AccessibilityViewCommand$CommandArguments; -Landroidx/core/view/accessibility/AccessibilityViewCommand$MoveAtGranularityArguments; -Landroidx/core/view/accessibility/AccessibilityViewCommand$MoveHtmlArguments; -Landroidx/core/view/accessibility/AccessibilityViewCommand$MoveWindowArguments; -Landroidx/core/view/accessibility/AccessibilityViewCommand$ScrollToPositionArguments; -Landroidx/core/view/accessibility/AccessibilityViewCommand$SetProgressArguments; -Landroidx/core/view/accessibility/AccessibilityViewCommand$SetSelectionArguments; -Landroidx/core/view/accessibility/AccessibilityViewCommand$SetTextArguments; -Landroidx/customview/poolingcontainer/PoolingContainer; -Landroidx/customview/poolingcontainer/PoolingContainerListener; -Landroidx/customview/poolingcontainer/PoolingContainerListenerHolder; -Landroidx/datastore/DataStoreDelegateKt$dataStore$1; -Landroidx/datastore/DataStoreSingletonDelegate$getValue$1$1; -Landroidx/datastore/DataStoreSingletonDelegate; -Landroidx/datastore/core/CorruptionException; -Landroidx/datastore/core/CorruptionHandler; -Landroidx/datastore/core/Data; -Landroidx/datastore/core/DataMigrationInitializer$Companion$getInitializer$1; -Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1; -Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$2; -Landroidx/datastore/core/DataMigrationInitializer$Companion; -Landroidx/datastore/core/DataMigrationInitializer; -Landroidx/datastore/core/Final; -Landroidx/datastore/core/InitializerApi; -Landroidx/datastore/core/ReadException; -Landroidx/datastore/core/Serializer; -Landroidx/datastore/core/SimpleActor$1; -Landroidx/datastore/core/SimpleActor$offer$2; -Landroidx/datastore/core/SimpleActor; -Landroidx/datastore/core/SingleProcessDataStore$Message$Read; -Landroidx/datastore/core/SingleProcessDataStore$Message; -Landroidx/datastore/core/SingleProcessDataStore$actor$1; -Landroidx/datastore/core/SingleProcessDataStore$actor$2; -Landroidx/datastore/core/SingleProcessDataStore$actor$3; -Landroidx/datastore/core/SingleProcessDataStore$data$1$1; -Landroidx/datastore/core/SingleProcessDataStore$data$1$invokeSuspend$$inlined$map$1$2$1; -Landroidx/datastore/core/SingleProcessDataStore$data$1$invokeSuspend$$inlined$map$1$2; -Landroidx/datastore/core/SingleProcessDataStore$data$1; -Landroidx/datastore/core/SingleProcessDataStore$file$2; -Landroidx/datastore/core/SingleProcessDataStore$readAndInit$1; -Landroidx/datastore/core/SingleProcessDataStore$readAndInit$api$1$updateData$1; -Landroidx/datastore/core/SingleProcessDataStore$readAndInit$api$1; -Landroidx/datastore/core/SingleProcessDataStore$readAndInitOrPropagateFailure$1; -Landroidx/datastore/core/SingleProcessDataStore$readData$1; -Landroidx/datastore/core/SingleProcessDataStore$readDataOrHandleCorruption$1; -Landroidx/datastore/core/SingleProcessDataStore; -Landroidx/datastore/core/State; -Landroidx/datastore/core/UnInitialized; -Landroidx/datastore/core/handlers/NoOpCorruptionHandler; -Landroidx/emoji2/text/ConcurrencyHelpers$$ExternalSyntheticLambda0; -Landroidx/emoji2/text/ConcurrencyHelpers$Handler28Impl; -Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper; -Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API19; -Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper_API28; -Landroidx/emoji2/text/DefaultEmojiCompatConfig; -Landroidx/emoji2/text/DefaultGlyphChecker; -Landroidx/emoji2/text/EmojiCompat$CompatInternal19$1; -Landroidx/emoji2/text/EmojiCompat$CompatInternal19; -Landroidx/emoji2/text/EmojiCompat$CompatInternal; -Landroidx/emoji2/text/EmojiCompat$Config; -Landroidx/emoji2/text/EmojiCompat$GlyphChecker; -Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher; -Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader; -Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback; -Landroidx/emoji2/text/EmojiCompat$SpanFactory; -Landroidx/emoji2/text/EmojiCompat; -Landroidx/emoji2/text/EmojiCompatInitializer$1; -Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultConfig; -Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$$ExternalSyntheticLambda0; -Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader$1; -Landroidx/emoji2/text/EmojiCompatInitializer$BackgroundDefaultLoader; -Landroidx/emoji2/text/EmojiCompatInitializer$LoadEmojiCompatRunnable; -Landroidx/emoji2/text/EmojiCompatInitializer; -Landroidx/emoji2/text/EmojiMetadata; -Landroidx/emoji2/text/EmojiProcessor; -Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontProviderHelper; -Landroidx/emoji2/text/FontRequestEmojiCompatConfig$FontRequestMetadataLoader; -Landroidx/emoji2/text/FontRequestEmojiCompatConfig; -Landroidx/emoji2/text/MetadataListReader$ByteBufferReader; -Landroidx/emoji2/text/MetadataListReader; -Landroidx/emoji2/text/MetadataRepo$Node; -Landroidx/emoji2/text/MetadataRepo; -Landroidx/emoji2/text/flatbuffer/MetadataItem; -Landroidx/emoji2/text/flatbuffer/MetadataList; -Landroidx/emoji2/text/flatbuffer/Table; -Landroidx/emoji2/text/flatbuffer/Utf8Safe; -Landroidx/fragment/R$animator; -Landroidx/fragment/R$id; -Landroidx/fragment/R$styleable; -Landroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda0; -Landroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda1; -Landroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda2; -Landroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda3; -Landroidx/fragment/app/FragmentActivity$HostCallbacks; -Landroidx/fragment/app/FragmentActivity; -Landroidx/fragment/app/FragmentContainerView; -Landroidx/fragment/app/FragmentController; -Landroidx/fragment/app/FragmentFactory; -Landroidx/fragment/app/FragmentHostCallback; -Landroidx/fragment/app/FragmentLayoutInflaterFactory; -Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; -Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda0; -Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda1; -Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda2; -Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda3; -Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda4; -Landroidx/fragment/app/FragmentManager$10; -Landroidx/fragment/app/FragmentManager$1; -Landroidx/fragment/app/FragmentManager$2; -Landroidx/fragment/app/FragmentManager$3; -Landroidx/fragment/app/FragmentManager$4; -Landroidx/fragment/app/FragmentManager$5; -Landroidx/fragment/app/FragmentManager$8; -Landroidx/fragment/app/FragmentManager$9; -Landroidx/fragment/app/FragmentManager$FragmentIntentSenderContract; -Landroidx/fragment/app/FragmentManager; -Landroidx/fragment/app/FragmentManagerImpl; -Landroidx/fragment/app/FragmentManagerViewModel$1; -Landroidx/fragment/app/FragmentManagerViewModel; -Landroidx/fragment/app/FragmentOnAttachListener; -Landroidx/fragment/app/FragmentStore; -Landroidx/fragment/app/SpecialEffectsControllerFactory; -Landroidx/hilt/navigation/compose/HiltViewModelKt; -Landroidx/hilt/work/HiltWorkerFactory; -Landroidx/lifecycle/AbstractSavedStateViewModelFactory; -Landroidx/lifecycle/AndroidViewModel; -Landroidx/lifecycle/CloseableCoroutineScope; -Landroidx/lifecycle/DefaultLifecycleObserver; -Landroidx/lifecycle/EmptyActivityLifecycleCallbacks; -Landroidx/lifecycle/FullLifecycleObserver; -Landroidx/lifecycle/FullLifecycleObserverAdapter$1; -Landroidx/lifecycle/FullLifecycleObserverAdapter; -Landroidx/lifecycle/HasDefaultViewModelProviderFactory; -Landroidx/lifecycle/LegacySavedStateHandleController; -Landroidx/lifecycle/Lifecycle$1; -Landroidx/lifecycle/Lifecycle$Event; -Landroidx/lifecycle/Lifecycle$State; -Landroidx/lifecycle/Lifecycle; -Landroidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback; -Landroidx/lifecycle/LifecycleDispatcher; -Landroidx/lifecycle/LifecycleEventObserver; -Landroidx/lifecycle/LifecycleObserver; -Landroidx/lifecycle/LifecycleOwner; -Landroidx/lifecycle/LifecycleRegistry$ObserverWithState; -Landroidx/lifecycle/LifecycleRegistry; -Landroidx/lifecycle/LifecycleRegistryOwner; -Landroidx/lifecycle/Lifecycling; -Landroidx/lifecycle/LiveData; -Landroidx/lifecycle/MutableLiveData; -Landroidx/lifecycle/ProcessLifecycleInitializer; -Landroidx/lifecycle/ProcessLifecycleOwner$1; -Landroidx/lifecycle/ProcessLifecycleOwner$2; -Landroidx/lifecycle/ProcessLifecycleOwner$3$$ExternalSyntheticApiModelOutline0; -Landroidx/lifecycle/ProcessLifecycleOwner$3$1; -Landroidx/lifecycle/ProcessLifecycleOwner$3; -Landroidx/lifecycle/ProcessLifecycleOwner; -Landroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1$1$1; -Landroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1; -Landroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1; -Landroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1; -Landroidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3; -Landroidx/lifecycle/ReportFragment$ActivityInitializationListener; -Landroidx/lifecycle/ReportFragment$LifecycleCallbacks$$ExternalSyntheticApiModelOutline0; -Landroidx/lifecycle/ReportFragment$LifecycleCallbacks; -Landroidx/lifecycle/ReportFragment; -Landroidx/lifecycle/SavedStateHandle$$ExternalSyntheticLambda0; -Landroidx/lifecycle/SavedStateHandle$Companion; -Landroidx/lifecycle/SavedStateHandle; -Landroidx/lifecycle/SavedStateHandleAttacher; -Landroidx/lifecycle/SavedStateHandleController; -Landroidx/lifecycle/SavedStateHandleSupport$DEFAULT_ARGS_KEY$1; -Landroidx/lifecycle/SavedStateHandleSupport$SAVED_STATE_REGISTRY_OWNER_KEY$1; -Landroidx/lifecycle/SavedStateHandleSupport$VIEW_MODEL_STORE_OWNER_KEY$1; -Landroidx/lifecycle/SavedStateHandleSupport$savedStateHandlesVM$1$1; -Landroidx/lifecycle/SavedStateHandleSupport; -Landroidx/lifecycle/SavedStateHandlesProvider$viewModel$2; -Landroidx/lifecycle/SavedStateHandlesProvider; -Landroidx/lifecycle/SavedStateHandlesVM; -Landroidx/lifecycle/SavedStateViewModelFactory; -Landroidx/lifecycle/SavedStateViewModelFactoryKt; -Landroidx/lifecycle/ViewModel; -Landroidx/lifecycle/ViewModelKt; -Landroidx/lifecycle/ViewModelProvider$AndroidViewModelFactory$Companion$ApplicationKeyImpl; -Landroidx/lifecycle/ViewModelProvider$AndroidViewModelFactory; -Landroidx/lifecycle/ViewModelProvider$Factory; -Landroidx/lifecycle/ViewModelProvider$NewInstanceFactory$Companion$ViewModelKeyImpl; -Landroidx/lifecycle/ViewModelProvider$NewInstanceFactory; -Landroidx/lifecycle/ViewModelProvider$OnRequeryFactory; -Landroidx/lifecycle/ViewModelProvider; -Landroidx/lifecycle/ViewModelProviderGetKt; -Landroidx/lifecycle/ViewModelStore; -Landroidx/lifecycle/ViewModelStoreOwner; -Landroidx/lifecycle/ViewTreeLifecycleOwner; -Landroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1$1$1; -Landroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1$1; -Landroidx/lifecycle/compose/FlowExtKt$collectAsStateWithLifecycle$1; -Landroidx/lifecycle/compose/FlowExtKt; -Landroidx/lifecycle/viewmodel/CreationExtras$Empty; -Landroidx/lifecycle/viewmodel/CreationExtras; -Landroidx/lifecycle/viewmodel/InitializerViewModelFactory; -Landroidx/lifecycle/viewmodel/MutableCreationExtras; -Landroidx/lifecycle/viewmodel/ViewModelInitializer; -Landroidx/lifecycle/viewmodel/compose/LocalViewModelStoreOwner$LocalViewModelStoreOwner$1; -Landroidx/lifecycle/viewmodel/compose/LocalViewModelStoreOwner; -Landroidx/lifecycle/viewmodel/compose/ViewModelKt; -Landroidx/loader/app/LoaderManager; -Landroidx/navigation/ActivityNavigator$hostActivity$1; -Landroidx/navigation/ActivityNavigator; -Landroidx/navigation/FloatingWindow; -Landroidx/navigation/NamedNavArgument; -Landroidx/navigation/NamedNavArgumentKt; -Landroidx/navigation/NavAction; -Landroidx/navigation/NavArgument$Builder; -Landroidx/navigation/NavArgument; -Landroidx/navigation/NavArgumentBuilder; -Landroidx/navigation/NavBackStackEntry$Companion; -Landroidx/navigation/NavBackStackEntry$defaultFactory$2; -Landroidx/navigation/NavBackStackEntry$savedStateHandle$2; -Landroidx/navigation/NavBackStackEntry; -Landroidx/navigation/NavController$$ExternalSyntheticLambda0; -Landroidx/navigation/NavController$NavControllerNavigatorState; -Landroidx/navigation/NavController$activity$1; -Landroidx/navigation/NavController$navInflater$2; -Landroidx/navigation/NavController$navigate$4; -Landroidx/navigation/NavController$onBackPressedCallback$1; -Landroidx/navigation/NavController; -Landroidx/navigation/NavControllerViewModel$Companion$FACTORY$1; -Landroidx/navigation/NavControllerViewModel; -Landroidx/navigation/NavDeepLink$Builder; -Landroidx/navigation/NavDeepLink$ParamQuery; -Landroidx/navigation/NavDeepLink$mimeTypePattern$2; -Landroidx/navigation/NavDeepLink$pattern$2; -Landroidx/navigation/NavDeepLink; -Landroidx/navigation/NavDeepLinkDslBuilder; -Landroidx/navigation/NavDeepLinkRequest; -Landroidx/navigation/NavDestination$$ExternalSyntheticOutline0; -Landroidx/navigation/NavDestination$Companion$hierarchy$1; -Landroidx/navigation/NavDestination$Companion; -Landroidx/navigation/NavDestination$DeepLinkMatch; -Landroidx/navigation/NavDestination; -Landroidx/navigation/NavGraph$iterator$1; -Landroidx/navigation/NavGraph; -Landroidx/navigation/NavGraphBuilder; -Landroidx/navigation/NavGraphNavigator; -Landroidx/navigation/NavHostController; -Landroidx/navigation/NavType$Companion$BoolArrayType$1; -Landroidx/navigation/NavType$Companion$BoolType$1; -Landroidx/navigation/NavType$Companion$FloatArrayType$1; -Landroidx/navigation/NavType$Companion$FloatType$1; -Landroidx/navigation/NavType$Companion$IntArrayType$1; -Landroidx/navigation/NavType$Companion$IntType$1; -Landroidx/navigation/NavType$Companion$LongArrayType$1; -Landroidx/navigation/NavType$Companion$LongType$1; -Landroidx/navigation/NavType$Companion$StringArrayType$1; -Landroidx/navigation/NavType$Companion$StringType$1; -Landroidx/navigation/NavType$EnumType; -Landroidx/navigation/NavType$SerializableType; -Landroidx/navigation/NavType; -Landroidx/navigation/NavViewModelStoreProvider; -Landroidx/navigation/Navigator$Name; -Landroidx/navigation/Navigator; -Landroidx/navigation/NavigatorProvider$Companion; -Landroidx/navigation/NavigatorProvider; -Landroidx/navigation/NavigatorState; -Landroidx/navigation/compose/BackStackEntryIdViewModel; -Landroidx/navigation/compose/ComposeNavigator$Destination; -Landroidx/navigation/compose/ComposeNavigator; -Landroidx/navigation/compose/DialogHostKt$DialogHost$2; -Landroidx/navigation/compose/DialogHostKt$PopulateVisibleList$2; -Landroidx/navigation/compose/DialogHostKt; -Landroidx/navigation/compose/DialogNavigator; -Landroidx/navigation/compose/NavBackStackEntryProviderKt$LocalOwnersProvider$1; -Landroidx/navigation/compose/NavBackStackEntryProviderKt$LocalOwnersProvider$2; -Landroidx/navigation/compose/NavBackStackEntryProviderKt$SaveableStateProvider$1$invoke$$inlined$onDispose$1; -Landroidx/navigation/compose/NavBackStackEntryProviderKt$SaveableStateProvider$1; -Landroidx/navigation/compose/NavBackStackEntryProviderKt$SaveableStateProvider$2; -Landroidx/navigation/compose/NavBackStackEntryProviderKt; -Landroidx/navigation/compose/NavGraphBuilderKt; -Landroidx/navigation/compose/NavHostControllerKt$NavControllerSaver$1; -Landroidx/navigation/compose/NavHostControllerKt$NavControllerSaver$2; -Landroidx/navigation/compose/NavHostControllerKt$rememberNavController$1; -Landroidx/navigation/compose/NavHostControllerKt; -Landroidx/navigation/compose/NavHostKt$NavHost$2; -Landroidx/navigation/compose/NavHostKt$NavHost$3$invoke$$inlined$onDispose$1; -Landroidx/navigation/compose/NavHostKt$NavHost$3; -Landroidx/navigation/compose/NavHostKt$NavHost$4$1$1$invoke$$inlined$onDispose$1; -Landroidx/navigation/compose/NavHostKt$NavHost$4$1$1; -Landroidx/navigation/compose/NavHostKt$NavHost$4$2; -Landroidx/navigation/compose/NavHostKt$NavHost$4; -Landroidx/navigation/compose/NavHostKt$NavHost$5; -Landroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1$2$1; -Landroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1$2; -Landroidx/navigation/compose/NavHostKt$NavHost$lambda-4$$inlined$map$1; -Landroidx/navigation/compose/NavHostKt; -Landroidx/paging/CachedPageEventFlow$downstreamFlow$1$1; -Landroidx/paging/CachedPageEventFlow$downstreamFlow$1$2$emit$1; -Landroidx/paging/CachedPageEventFlow$downstreamFlow$1$2; -Landroidx/paging/CachedPageEventFlow$downstreamFlow$1; -Landroidx/paging/CachedPageEventFlow$job$1$1$emit$1; -Landroidx/paging/CachedPageEventFlow$job$1$1; -Landroidx/paging/CachedPageEventFlow$job$1; -Landroidx/paging/CachedPageEventFlow$job$2$1; -Landroidx/paging/CachedPageEventFlow$sharedForDownstream$1; -Landroidx/paging/CachedPageEventFlow; -Landroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1$2$1; -Landroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1$2; -Landroidx/paging/CachedPagingDataKt$cachedIn$$inlined$map$1; -Landroidx/paging/CachedPagingDataKt$cachedIn$$inlined$simpleMapLatest$1; -Landroidx/paging/CachedPagingDataKt$cachedIn$2; -Landroidx/paging/CachedPagingDataKt$cachedIn$4; -Landroidx/paging/CachedPagingDataKt$cachedIn$5; -Landroidx/paging/CachedPagingDataKt; -Landroidx/paging/CancelableChannelFlowKt$cancelableChannelFlow$1$1; -Landroidx/paging/CancelableChannelFlowKt$cancelableChannelFlow$1; -Landroidx/paging/ChannelFlowCollector; -Landroidx/paging/CombinedLoadStates; -Landroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1$2$1; -Landroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1$2; -Landroidx/paging/ConflatedEventBus$special$$inlined$mapNotNull$1; -Landroidx/paging/ConflatedEventBus; -Landroidx/paging/DifferCallback; -Landroidx/paging/FlattenedPageController$getStateAsEvents$1; -Landroidx/paging/FlattenedPageController$record$1; -Landroidx/paging/FlattenedPageController; -Landroidx/paging/FlattenedPageEventStorage; -Landroidx/paging/FlowExtKt$simpleRunningReduce$1$1$emit$1; -Landroidx/paging/FlowExtKt$simpleRunningReduce$1$1; -Landroidx/paging/FlowExtKt$simpleRunningReduce$1; -Landroidx/paging/FlowExtKt$simpleScan$1$1$emit$1; -Landroidx/paging/FlowExtKt$simpleScan$1$1; -Landroidx/paging/FlowExtKt$simpleScan$1; -Landroidx/paging/FlowExtKt$simpleTransformLatest$1$1; -Landroidx/paging/FlowExtKt$simpleTransformLatest$1; -Landroidx/paging/FlowExtKt; -Landroidx/paging/GenerationalViewportHint; -Landroidx/paging/HintHandler$HintFlow; -Landroidx/paging/HintHandler$State; -Landroidx/paging/HintHandler$processHint$1; -Landroidx/paging/HintHandler; -Landroidx/paging/HintHandlerKt; -Landroidx/paging/HintReceiver; -Landroidx/paging/InvalidateCallbackTracker; -Landroidx/paging/ItemSnapshotList; -Landroidx/paging/LegacyPagingSource; -Landroidx/paging/LoadState$Error; -Landroidx/paging/LoadState$Loading; -Landroidx/paging/LoadState$NotLoading; -Landroidx/paging/LoadState; -Landroidx/paging/LoadStates; -Landroidx/paging/LoadType; -Landroidx/paging/Logger; -Landroidx/paging/LoggerKt; -Landroidx/paging/MulticastedPagingData$asPagingData$1; -Landroidx/paging/MulticastedPagingData$asPagingData$2; -Landroidx/paging/MulticastedPagingData; -Landroidx/paging/MutableCombinedLoadStateCollection; -Landroidx/paging/MutableLoadStateCollection; -Landroidx/paging/PageEvent$Drop; -Landroidx/paging/PageEvent$Insert$Companion; -Landroidx/paging/PageEvent$Insert$map$1; -Landroidx/paging/PageEvent$Insert; -Landroidx/paging/PageEvent$LoadStateUpdate; -Landroidx/paging/PageEvent$StaticList; -Landroidx/paging/PageEvent; -Landroidx/paging/PageFetcher$GenerationInfo; -Landroidx/paging/PageFetcher$PagerHintReceiver; -Landroidx/paging/PageFetcher$PagerUiReceiver; -Landroidx/paging/PageFetcher$flow$1$1; -Landroidx/paging/PageFetcher$flow$1$2$1; -Landroidx/paging/PageFetcher$flow$1$2; -Landroidx/paging/PageFetcher$flow$1$3$downstreamFlow$1; -Landroidx/paging/PageFetcher$flow$1$4; -Landroidx/paging/PageFetcher$flow$1$invokeSuspend$$inlined$simpleMapLatest$1; -Landroidx/paging/PageFetcher$flow$1; -Landroidx/paging/PageFetcher$generateNewPagingSource$1; -Landroidx/paging/PageFetcher$generateNewPagingSource$3; -Landroidx/paging/PageFetcher; -Landroidx/paging/PageFetcherSnapshot$collectAsGenerationalViewportHints$$inlined$simpleFlatMapLatest$1; -Landroidx/paging/PageFetcherSnapshot$collectAsGenerationalViewportHints$3; -Landroidx/paging/PageFetcherSnapshot$collectAsGenerationalViewportHints$4; -Landroidx/paging/PageFetcherSnapshot$doInitialLoad$1; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2$1$emit$1; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2$1; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1$2; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1$3$1; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1$3; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1$4$1; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1$4; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$1; -Landroidx/paging/PageFetcherSnapshot$pageEventFlow$2; -Landroidx/paging/PageFetcherSnapshot$startConsumingHints$2; -Landroidx/paging/PageFetcherSnapshot$startConsumingHints$3; -Landroidx/paging/PageFetcherSnapshot; -Landroidx/paging/PageFetcherSnapshotState$Holder; -Landroidx/paging/PageFetcherSnapshotState$consumeAppendGenerationIdAsFlow$1; -Landroidx/paging/PageFetcherSnapshotState$consumePrependGenerationIdAsFlow$1; -Landroidx/paging/PageFetcherSnapshotState; -Landroidx/paging/PagePresenter; -Landroidx/paging/Pager$flow$2; -Landroidx/paging/PagingConfig; -Landroidx/paging/PagingData; -Landroidx/paging/PagingDataDiffer$1; -Landroidx/paging/PagingDataDiffer$collectFrom$2$1$2; -Landroidx/paging/PagingDataDiffer$collectFrom$2$1; -Landroidx/paging/PagingDataDiffer$collectFrom$2; -Landroidx/paging/PagingDataDiffer$presentNewList$1; -Landroidx/paging/PagingDataDiffer$presentNewList$transformedLastAccessedIndex$1; -Landroidx/paging/PagingDataDiffer$processPageEventCallback$1; -Landroidx/paging/PagingDataDiffer; -Landroidx/paging/PagingDataTransforms$map$$inlined$transform$1$2$1; -Landroidx/paging/PagingDataTransforms$map$$inlined$transform$1$2; -Landroidx/paging/PagingDataTransforms$map$$inlined$transform$1; -Landroidx/paging/PagingDataTransforms; -Landroidx/paging/PagingSource$LoadParams$Append; -Landroidx/paging/PagingSource$LoadParams$Prepend; -Landroidx/paging/PagingSource$LoadParams$Refresh; -Landroidx/paging/PagingSource$LoadParams; -Landroidx/paging/PagingSource$LoadResult$Page; -Landroidx/paging/PagingSource$LoadResult; -Landroidx/paging/PagingSource$invalidateCallbackTracker$1; -Landroidx/paging/PagingSource; -Landroidx/paging/RemoteMediator$InitializeAction; -Landroidx/paging/RemoteMediatorAccessorKt; -Landroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1$1; -Landroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1$producer$1; -Landroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1$1; -Landroidx/paging/SimpleChannelFlowKt$simpleChannelFlow$1; -Landroidx/paging/SimpleChannelFlowKt; -Landroidx/paging/SimpleProducerScope; -Landroidx/paging/SimpleProducerScopeImpl; -Landroidx/paging/SingleRunner$CancelIsolatedRunnerException; -Landroidx/paging/SingleRunner$Holder$onFinish$1; -Landroidx/paging/SingleRunner$Holder$tryEnqueue$1; -Landroidx/paging/SingleRunner$Holder; -Landroidx/paging/SingleRunner$runInIsolation$1; -Landroidx/paging/SingleRunner$runInIsolation$2; -Landroidx/paging/SingleRunner; -Landroidx/paging/SuspendingPagingSourceFactory; -Landroidx/paging/TransformablePage; -Landroidx/paging/UiReceiver; -Landroidx/paging/ViewportHint$Access; -Landroidx/paging/ViewportHint$Initial; -Landroidx/paging/ViewportHint; -Landroidx/paging/compose/LazyPagingItems$Companion$1; -Landroidx/paging/compose/LazyPagingItems$collectLoadState$2; -Landroidx/paging/compose/LazyPagingItems$collectPagingData$2; -Landroidx/paging/compose/LazyPagingItems$differCallback$1; -Landroidx/paging/compose/LazyPagingItems$pagingDataDiffer$1; -Landroidx/paging/compose/LazyPagingItems; -Landroidx/paging/compose/LazyPagingItemsKt$collectAsLazyPagingItems$1; -Landroidx/paging/compose/LazyPagingItemsKt$collectAsLazyPagingItems$2; -Landroidx/paging/compose/LazyPagingItemsKt$items$1; -Landroidx/paging/compose/LazyPagingItemsKt$items$2; -Landroidx/paging/compose/LazyPagingItemsKt; -Landroidx/profileinstaller/ProfileInstallReceiver; -Landroidx/profileinstaller/ProfileInstaller$1; -Landroidx/profileinstaller/ProfileInstaller$2; -Landroidx/profileinstaller/ProfileInstaller$DiagnosticsCallback; -Landroidx/profileinstaller/ProfileInstaller; -Landroidx/profileinstaller/ProfileInstallerInitializer$$ExternalSyntheticLambda0; -Landroidx/profileinstaller/ProfileInstallerInitializer$$ExternalSyntheticLambda1; -Landroidx/profileinstaller/ProfileInstallerInitializer$Choreographer16Impl$$ExternalSyntheticLambda0; -Landroidx/profileinstaller/ProfileInstallerInitializer$Choreographer16Impl; -Landroidx/profileinstaller/ProfileInstallerInitializer$Handler28Impl; -Landroidx/profileinstaller/ProfileInstallerInitializer$Result; -Landroidx/profileinstaller/ProfileInstallerInitializer; -Landroidx/recyclerview/R$styleable; -Landroidx/room/AutoClosingRoomOpenHelper; -Landroidx/room/CoroutinesRoomKt; -Landroidx/room/DatabaseConfiguration; -Landroidx/room/DelegatingOpenHelper; -Landroidx/room/EntityDeletionOrUpdateAdapter; -Landroidx/room/EntityInsertionAdapter; -Landroidx/room/InvalidationLiveDataContainer; -Landroidx/room/InvalidationTracker$1; -Landroidx/room/InvalidationTracker$ObservedTableTracker; -Landroidx/room/InvalidationTracker$Observer; -Landroidx/room/InvalidationTracker$ObserverWrapper; -Landroidx/room/InvalidationTracker$WeakObserver; -Landroidx/room/InvalidationTracker; -Landroidx/room/RoomDatabase$Builder; -Landroidx/room/RoomDatabase$MigrationContainer; -Landroidx/room/RoomDatabase; -Landroidx/room/RoomDatabaseKt$acquireTransactionThread$2$1; -Landroidx/room/RoomDatabaseKt$acquireTransactionThread$2$2$1; -Landroidx/room/RoomDatabaseKt$acquireTransactionThread$2$2; -Landroidx/room/RoomDatabaseKt$createTransactionContext$1; -Landroidx/room/RoomDatabaseKt$createTransactionContext$2; -Landroidx/room/RoomDatabaseKt$withTransaction$1; -Landroidx/room/RoomDatabaseKt$withTransaction$2; -Landroidx/room/RoomDatabaseKt; -Landroidx/room/RoomOpenHelper$Delegate; -Landroidx/room/RoomOpenHelper; -Landroidx/room/RoomSQLiteQuery; -Landroidx/room/SQLiteCopyOpenHelper; -Landroidx/room/SharedSQLiteStatement; -Landroidx/room/TransactionElement$Key; -Landroidx/room/TransactionElement; -Landroidx/room/TransactionExecutor$1; -Landroidx/room/TransactionExecutor; -Landroidx/room/migration/Migration; -Landroidx/room/paging/LimitOffsetPagingSource$initialLoad$2; -Landroidx/room/paging/LimitOffsetPagingSource$load$2; -Landroidx/room/paging/LimitOffsetPagingSource$observer$1; -Landroidx/room/paging/LimitOffsetPagingSource; -Landroidx/room/util/StringUtil; -Landroidx/room/util/UUIDUtil; -Landroidx/savedstate/R$id; -Landroidx/savedstate/Recreator; -Landroidx/savedstate/SavedStateRegistry$$ExternalSyntheticLambda0; -Landroidx/savedstate/SavedStateRegistry$SavedStateProvider; -Landroidx/savedstate/SavedStateRegistry; -Landroidx/savedstate/SavedStateRegistryController; -Landroidx/savedstate/SavedStateRegistryOwner; -Landroidx/savedstate/ViewTreeSavedStateRegistryOwner$findViewTreeSavedStateRegistryOwner$1; -Landroidx/savedstate/ViewTreeSavedStateRegistryOwner$findViewTreeSavedStateRegistryOwner$2; -Landroidx/savedstate/ViewTreeSavedStateRegistryOwner; -Landroidx/sqlite/db/SimpleSQLiteQuery; -Landroidx/sqlite/db/SupportSQLiteDatabase; -Landroidx/sqlite/db/SupportSQLiteOpenHelper$Callback; -Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration; -Landroidx/sqlite/db/SupportSQLiteOpenHelper$Factory; -Landroidx/sqlite/db/SupportSQLiteOpenHelper; -Landroidx/sqlite/db/SupportSQLiteProgram; -Landroidx/sqlite/db/SupportSQLiteQuery; -Landroidx/sqlite/db/SupportSQLiteStatement; -Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase$1; -Landroidx/sqlite/db/framework/FrameworkSQLiteDatabase; -Landroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper$1; -Landroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper$OpenHelper; -Landroidx/sqlite/db/framework/FrameworkSQLiteOpenHelper; -Landroidx/sqlite/db/framework/FrameworkSQLiteOpenHelperFactory; -Landroidx/sqlite/db/framework/FrameworkSQLiteProgram; -Landroidx/sqlite/db/framework/FrameworkSQLiteStatement; -Landroidx/startup/AppInitializer; -Landroidx/startup/InitializationProvider; -Landroidx/startup/Initializer; -Landroidx/tracing/Trace$$ExternalSyntheticApiModelOutline0; -Landroidx/tracing/Trace; -Landroidx/vectordrawable/graphics/drawable/VectorDrawableCommon; -Landroidx/vectordrawable/graphics/drawable/VectorDrawableCompat; -Landroidx/webkit/WebViewFeature; -Landroidx/webkit/WebViewRenderProcess; -Landroidx/webkit/internal/WebViewProviderFactory; -Landroidx/window/core/Bounds; -Landroidx/window/layout/ActivityCompatHelperApi30; -Landroidx/window/layout/WindowMetrics; -Landroidx/window/layout/WindowMetricsCalculator$Companion; -Landroidx/window/layout/WindowMetricsCalculator; -Landroidx/window/layout/WindowMetricsCalculatorCompat; -Landroidx/work/Configuration$Provider; -Landroidx/work/InputMergerFactory; -Landroidx/work/Logger; -Landroidx/work/WorkerFactory; -Landroidx/work/impl/utils/ProcessUtils$$ExternalSyntheticApiModelOutline0; -Lcoil/Coil; -Lcoil/ComponentRegistry$Builder; -Lcoil/ComponentRegistry; -Lcoil/EventListener$Companion$NONE$1; -Lcoil/EventListener$Factory$$ExternalSyntheticLambda0; -Lcoil/EventListener$Factory; -Lcoil/EventListener; -Lcoil/ImageLoader$Builder$build$1; -Lcoil/ImageLoader$Builder$build$2; -Lcoil/ImageLoader$Builder$build$3; -Lcoil/ImageLoader$Builder; -Lcoil/ImageLoader; -Lcoil/ImageLoaderFactory; -Lcoil/RealImageLoader$execute$2$job$1; -Lcoil/RealImageLoader$execute$2; -Lcoil/RealImageLoader$executeMain$1; -Lcoil/RealImageLoader$executeMain$result$1; -Lcoil/RealImageLoader$special$$inlined$CoroutineExceptionHandler$1; -Lcoil/RealImageLoader; -Lcoil/compose/AsyncImageKt$AsyncImage$2; -Lcoil/compose/AsyncImageKt$Content$$inlined$Layout$1; -Lcoil/compose/AsyncImageKt$Content$1$measure$1; -Lcoil/compose/AsyncImageKt$Content$1; -Lcoil/compose/AsyncImageKt$Content$2; -Lcoil/compose/AsyncImageKt; -Lcoil/compose/AsyncImagePainter$Companion$DefaultTransform$1; -Lcoil/compose/AsyncImagePainter$State$Empty; -Lcoil/compose/AsyncImagePainter$State$Error; -Lcoil/compose/AsyncImagePainter$State$Loading; -Lcoil/compose/AsyncImagePainter$State$Success; -Lcoil/compose/AsyncImagePainter$State; -Lcoil/compose/AsyncImagePainter$onRemembered$1$1; -Lcoil/compose/AsyncImagePainter$onRemembered$1$2; -Lcoil/compose/AsyncImagePainter$onRemembered$1$3; -Lcoil/compose/AsyncImagePainter$onRemembered$1; -Lcoil/compose/AsyncImagePainter$updateRequest$$inlined$target$default$1; -Lcoil/compose/AsyncImagePainter; -Lcoil/compose/AsyncImagePainterKt$FakeTransitionTarget$1; -Lcoil/compose/AsyncImagePainterKt; -Lcoil/compose/ConstraintsSizeResolver$measure$1; -Lcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1$2$1; -Lcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1$2; -Lcoil/compose/ConstraintsSizeResolver$size$$inlined$mapNotNull$1; -Lcoil/compose/ConstraintsSizeResolver; -Lcoil/compose/ContentPainterModifier$measure$1; -Lcoil/compose/ContentPainterModifier; -Lcoil/compose/CrossfadePainter; -Lcoil/compose/ImageLoaderProvidableCompositionLocal$1; -Lcoil/compose/LocalImageLoaderKt; -Lcoil/compose/SingletonAsyncImageKt$AsyncImage$2; -Lcoil/compose/SingletonAsyncImageKt; -Lcoil/compose/UtilsKt; -Lcoil/decode/BitmapFactoryDecoder$Factory; -Lcoil/decode/Decoder$Factory; -Lcoil/fetch/AssetUriFetcher$Factory; -Lcoil/fetch/BitmapFetcher$Factory; -Lcoil/fetch/ByteBufferFetcher$Factory; -Lcoil/fetch/ContentUriFetcher$Factory; -Lcoil/fetch/DrawableFetcher$Factory; -Lcoil/fetch/DrawableResult; -Lcoil/fetch/FetchResult; -Lcoil/fetch/Fetcher$Factory; -Lcoil/fetch/Fetcher; -Lcoil/fetch/FileFetcher$Factory; -Lcoil/fetch/HttpUriFetcher$Factory; -Lcoil/fetch/ResourceUriFetcher$Factory; -Lcoil/fetch/ResourceUriFetcher; -Lcoil/fetch/SourceResult; -Lcoil/intercept/EngineInterceptor$ExecuteResult; -Lcoil/intercept/EngineInterceptor$execute$1; -Lcoil/intercept/EngineInterceptor$fetch$1; -Lcoil/intercept/EngineInterceptor$intercept$1; -Lcoil/intercept/EngineInterceptor$intercept$2; -Lcoil/intercept/EngineInterceptor; -Lcoil/intercept/Interceptor$Chain; -Lcoil/intercept/Interceptor; -Lcoil/intercept/RealInterceptorChain$proceed$1; -Lcoil/intercept/RealInterceptorChain; -Lcoil/key/FileKeyer; -Lcoil/key/Keyer; -Lcoil/key/UriKeyer; -Lcoil/map/ByteArrayMapper; -Lcoil/map/FileUriMapper; -Lcoil/map/HttpUrlMapper; -Lcoil/map/Mapper; -Lcoil/map/ResourceIntMapper; -Lcoil/map/ResourceUriMapper; -Lcoil/map/StringMapper; -Lcoil/memory/MemoryCache$Key$Companion$CREATOR$1; -Lcoil/memory/MemoryCache$Key; -Lcoil/memory/MemoryCache; -Lcoil/memory/MemoryCacheService; -Lcoil/memory/RealMemoryCache; -Lcoil/memory/RealStrongMemoryCache$InternalValue; -Lcoil/memory/RealStrongMemoryCache$cache$1; -Lcoil/memory/RealStrongMemoryCache; -Lcoil/memory/RealWeakMemoryCache; -Lcoil/memory/StrongMemoryCache; -Lcoil/memory/WeakMemoryCache; -Lcoil/network/NetworkObserver$Listener; -Lcoil/network/NetworkObserver; -Lcoil/network/RealNetworkObserver$networkCallback$1; -Lcoil/network/RealNetworkObserver; -Lcoil/request/BaseRequestDelegate; -Lcoil/request/CachePolicy$EnumUnboxingLocalUtility; -Lcoil/request/DefaultRequestOptions; -Lcoil/request/DefinedRequestOptions; -Lcoil/request/ImageRequest$Builder; -Lcoil/request/ImageRequest$Listener; -Lcoil/request/ImageRequest; -Lcoil/request/ImageResult; -Lcoil/request/NullRequestData; -Lcoil/request/Options; -Lcoil/request/Parameters$Builder; -Lcoil/request/Parameters; -Lcoil/request/RequestDelegate; -Lcoil/request/RequestService; -Lcoil/request/SuccessResult; -Lcoil/request/Tags; -Lcoil/size/-Sizes; -Lcoil/size/Dimension$Pixels; -Lcoil/size/Dimension$Undefined; -Lcoil/size/Dimension; -Lcoil/size/DisplaySizeResolver; -Lcoil/size/Size; -Lcoil/size/SizeResolver; -Lcoil/size/ViewSizeResolver; -Lcoil/target/Target; -Lcoil/target/ViewTarget; -Lcoil/transition/CrossfadeTransition$Factory; -Lcoil/transition/CrossfadeTransition; -Lcoil/transition/NoneTransition$Factory; -Lcoil/transition/Transition$Factory; -Lcoil/transition/Transition; -Lcoil/transition/TransitionTarget; -Lcoil/util/-Bitmaps; -Lcoil/util/-Collections; -Lcoil/util/-Contexts; -Lcoil/util/-HardwareBitmaps; -Lcoil/util/-Requests; -Lcoil/util/-Utils; -Lcoil/util/HardwareBitmapService; -Lcoil/util/ImageLoaderOptions; -Lcoil/util/ImmutableHardwareBitmapService; -Lcoil/util/SystemCallbacks; -Lcom/google/accompanist/drawablepainter/DrawablePainter$callback$2$1; -Lcom/google/accompanist/drawablepainter/DrawablePainter$callback$2; -Lcom/google/accompanist/drawablepainter/DrawablePainter; -Lcom/google/accompanist/drawablepainter/DrawablePainterKt$MAIN_HANDLER$2; -Lcom/google/accompanist/drawablepainter/DrawablePainterKt; -Lcom/google/accompanist/permissions/MultiplePermissionsState; -Lcom/google/accompanist/permissions/MultiplePermissionsStateKt$rememberMultiplePermissionsState$1; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsState$allPermissionsGranted$2; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsState$revokedPermissions$2; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsState$shouldShowRationale$2; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsState; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutableMultiplePermissionsState$2$invoke$$inlined$onDispose$1; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutableMultiplePermissionsState$2; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutableMultiplePermissionsState$launcher$1$1; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutablePermissionsState$1$invoke$$inlined$onDispose$1; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutablePermissionsState$1; -Lcom/google/accompanist/permissions/MutableMultiplePermissionsStateKt$rememberMutablePermissionsState$launcher$1$1; -Lcom/google/accompanist/permissions/MutablePermissionState; -Lcom/google/accompanist/permissions/PermissionState; -Lcom/google/accompanist/permissions/PermissionStatus$Denied; -Lcom/google/accompanist/permissions/PermissionStatus$Granted; -Lcom/google/accompanist/permissions/PermissionStatus; -Lcom/google/accompanist/permissions/PermissionsUtilKt$$ExternalSyntheticLambda0; -Lcom/google/accompanist/permissions/PermissionsUtilKt$PermissionsLifecycleCheckerEffect$1$invoke$$inlined$onDispose$1; -Lcom/google/accompanist/permissions/PermissionsUtilKt$PermissionsLifecycleCheckerEffect$1; -Lcom/google/accompanist/permissions/PermissionsUtilKt$PermissionsLifecycleCheckerEffect$2; -Lcom/google/accompanist/permissions/PermissionsUtilKt; -Lcom/google/android/datatransport/Encoding; -Lcom/google/android/datatransport/Priority; -Lcom/google/android/datatransport/Transport; -Lcom/google/android/datatransport/cct/CCTDestination; -Lcom/google/android/datatransport/runtime/AutoValue_TransportContext$Builder; -Lcom/google/android/datatransport/runtime/AutoValue_TransportContext; -Lcom/google/android/datatransport/runtime/DaggerTransportRuntimeComponent; -Lcom/google/android/datatransport/runtime/ExecutionModule_ExecutorFactory$InstanceHolder; -Lcom/google/android/datatransport/runtime/ExecutionModule_ExecutorFactory; -Lcom/google/android/datatransport/runtime/SafeLoggingExecutor$SafeLoggingRunnable; -Lcom/google/android/datatransport/runtime/SafeLoggingExecutor; -Lcom/google/android/datatransport/runtime/TransportContext$Builder; -Lcom/google/android/datatransport/runtime/TransportContext; -Lcom/google/android/datatransport/runtime/TransportImpl; -Lcom/google/android/datatransport/runtime/TransportInternal; -Lcom/google/android/datatransport/runtime/TransportRuntime; -Lcom/google/android/datatransport/runtime/TransportRuntimeComponent; -Lcom/google/android/datatransport/runtime/TransportRuntime_Factory; -Lcom/google/android/datatransport/runtime/backends/BackendRegistry; -Lcom/google/android/datatransport/runtime/backends/CreationContextFactory; -Lcom/google/android/datatransport/runtime/backends/CreationContextFactory_Factory; -Lcom/google/android/datatransport/runtime/backends/MetadataBackendRegistry$BackendFactoryProvider; -Lcom/google/android/datatransport/runtime/backends/MetadataBackendRegistry; -Lcom/google/android/datatransport/runtime/backends/MetadataBackendRegistry_Factory; -Lcom/google/android/datatransport/runtime/dagger/Lazy; -Lcom/google/android/datatransport/runtime/dagger/internal/DoubleCheck; -Lcom/google/android/datatransport/runtime/dagger/internal/Factory; -Lcom/google/android/datatransport/runtime/dagger/internal/InstanceFactory; -Lcom/google/android/datatransport/runtime/scheduling/DefaultScheduler; -Lcom/google/android/datatransport/runtime/scheduling/DefaultScheduler_Factory; -Lcom/google/android/datatransport/runtime/scheduling/Scheduler; -Lcom/google/android/datatransport/runtime/scheduling/SchedulingConfigModule_ConfigFactory; -Lcom/google/android/datatransport/runtime/scheduling/SchedulingModule_WorkSchedulerFactory; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/AutoValue_SchedulerConfig; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/AutoValue_SchedulerConfig_ConfigValue$Builder; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/AutoValue_SchedulerConfig_ConfigValue; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/JobInfoScheduler; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig$ConfigValue$Builder; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig$ConfigValue; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig$Flag; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/SchedulerConfig; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader_Factory; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer$$ExternalSyntheticLambda0; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer$$ExternalSyntheticLambda1; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer_Factory; -Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkScheduler; -Lcom/google/android/datatransport/runtime/scheduling/persistence/AutoValue_EventStoreConfig; -Lcom/google/android/datatransport/runtime/scheduling/persistence/ClientHealthMetricsStore; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStore; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreConfig; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_DbNameFactory$InstanceHolder; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_DbNameFactory; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_PackageNameFactory; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_SchemaVersionFactory$InstanceHolder; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_SchemaVersionFactory; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_StoreConfigFactory$InstanceHolder; -Lcom/google/android/datatransport/runtime/scheduling/persistence/EventStoreModule_StoreConfigFactory; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore$$ExternalSyntheticLambda6; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore$Function; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore_Factory; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda0; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda1; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda2; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda3; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$$ExternalSyntheticLambda4; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager$Migration; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager; -Lcom/google/android/datatransport/runtime/scheduling/persistence/SchemaManager_Factory; -Lcom/google/android/datatransport/runtime/synchronization/SynchronizationGuard$CriticalSection; -Lcom/google/android/datatransport/runtime/synchronization/SynchronizationGuard; -Lcom/google/android/datatransport/runtime/time/Clock; -Lcom/google/android/datatransport/runtime/time/TimeModule_EventClockFactory$InstanceHolder; -Lcom/google/android/datatransport/runtime/time/TimeModule_EventClockFactory; -Lcom/google/android/datatransport/runtime/time/TimeModule_UptimeClockFactory$InstanceHolder; -Lcom/google/android/datatransport/runtime/time/TimeModule_UptimeClockFactory; -Lcom/google/android/datatransport/runtime/time/UptimeClock; -Lcom/google/android/datatransport/runtime/time/WallTimeClock; -Lcom/google/android/gms/common/ConnectionResult; -Lcom/google/android/gms/common/Feature; -Lcom/google/android/gms/common/GoogleApiAvailabilityLight; -Lcom/google/android/gms/common/GooglePlayServicesUtilLight; -Lcom/google/android/gms/common/GoogleSignatureVerifier; -Lcom/google/android/gms/common/api/Scope; -Lcom/google/android/gms/common/api/internal/BackgroundDetector$BackgroundStateChangeListener; -Lcom/google/android/gms/common/api/internal/BackgroundDetector; -Lcom/google/android/gms/common/internal/BaseGmsClient$BaseConnectionCallbacks; -Lcom/google/android/gms/common/internal/BaseGmsClient$BaseOnConnectionFailedListener; -Lcom/google/android/gms/common/internal/BaseGmsClient$ConnectionProgressReportCallbacks; -Lcom/google/android/gms/common/internal/BaseGmsClient$LegacyClientCallbackAdapter; -Lcom/google/android/gms/common/internal/BaseGmsClient; -Lcom/google/android/gms/common/internal/GetServiceRequest; -Lcom/google/android/gms/common/internal/GmsClientSupervisor; -Lcom/google/android/gms/common/internal/IGmsServiceBroker; -Lcom/google/android/gms/common/internal/Objects; -Lcom/google/android/gms/common/internal/Preconditions; -Lcom/google/android/gms/common/internal/ReflectedParcelable; -Lcom/google/android/gms/common/internal/StringResourceValueReader; -Lcom/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable; -Lcom/google/android/gms/common/internal/safeparcel/SafeParcelReader$ParseException; -Lcom/google/android/gms/common/internal/safeparcel/SafeParcelReader; -Lcom/google/android/gms/common/internal/zza; -Lcom/google/android/gms/common/internal/zzab; -Lcom/google/android/gms/common/internal/zzac; -Lcom/google/android/gms/common/internal/zzag; -Lcom/google/android/gms/common/internal/zzah; -Lcom/google/android/gms/common/internal/zzb; -Lcom/google/android/gms/common/internal/zzc; -Lcom/google/android/gms/common/internal/zzd; -Lcom/google/android/gms/common/internal/zze; -Lcom/google/android/gms/common/internal/zzf; -Lcom/google/android/gms/common/internal/zzg; -Lcom/google/android/gms/common/internal/zzj; -Lcom/google/android/gms/common/internal/zzk; -Lcom/google/android/gms/common/internal/zzm; -Lcom/google/android/gms/common/internal/zzn; -Lcom/google/android/gms/common/internal/zzo$$ExternalSyntheticApiModelOutline0; -Lcom/google/android/gms/common/internal/zzo; -Lcom/google/android/gms/common/internal/zzp; -Lcom/google/android/gms/common/internal/zzq; -Lcom/google/android/gms/common/internal/zzr; -Lcom/google/android/gms/common/internal/zzs; -Lcom/google/android/gms/common/internal/zzu; -Lcom/google/android/gms/common/internal/zzy; -Lcom/google/android/gms/common/internal/zzz; -Lcom/google/android/gms/common/stats/ConnectionTracker; -Lcom/google/android/gms/common/util/Clock; -Lcom/google/android/gms/common/util/DefaultClock; -Lcom/google/android/gms/common/util/DeviceProperties; -Lcom/google/android/gms/common/util/Hex; -Lcom/google/android/gms/common/util/Strings; -Lcom/google/android/gms/common/wrappers/InstantApps$$ExternalSyntheticApiModelOutline0; -Lcom/google/android/gms/common/wrappers/PackageManagerWrapper; -Lcom/google/android/gms/common/wrappers/Wrappers; -Lcom/google/android/gms/common/zzb; -Lcom/google/android/gms/common/zzc; -Lcom/google/android/gms/common/zzf; -Lcom/google/android/gms/common/zzg; -Lcom/google/android/gms/common/zzh; -Lcom/google/android/gms/common/zzi; -Lcom/google/android/gms/common/zzj; -Lcom/google/android/gms/common/zzk; -Lcom/google/android/gms/common/zzl; -Lcom/google/android/gms/common/zzm; -Lcom/google/android/gms/common/zzn; -Lcom/google/android/gms/common/zzu; -Lcom/google/android/gms/dynamic/IObjectWrapper$Stub; -Lcom/google/android/gms/dynamic/IObjectWrapper; -Lcom/google/android/gms/dynamic/ObjectWrapper; -Lcom/google/android/gms/dynamite/DynamiteModule$DynamiteLoaderClassLoader; -Lcom/google/android/gms/dynamite/DynamiteModule$LoadingException; -Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy$IVersions; -Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy$SelectionResult; -Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy; -Lcom/google/android/gms/dynamite/DynamiteModule; -Lcom/google/android/gms/dynamite/descriptors/com/google/android/gms/measurement/dynamite/ModuleDescriptor; -Lcom/google/android/gms/dynamite/zza; -Lcom/google/android/gms/dynamite/zzb; -Lcom/google/android/gms/dynamite/zzd; -Lcom/google/android/gms/dynamite/zze; -Lcom/google/android/gms/dynamite/zzi; -Lcom/google/android/gms/dynamite/zzj; -Lcom/google/android/gms/dynamite/zzn; -Lcom/google/android/gms/dynamite/zzr; -Lcom/google/android/gms/internal/common/zza; -Lcom/google/android/gms/internal/common/zzb; -Lcom/google/android/gms/internal/common/zzc; -Lcom/google/android/gms/internal/common/zzi; -Lcom/google/android/gms/internal/measurement/zzbm; -Lcom/google/android/gms/internal/measurement/zzbn; -Lcom/google/android/gms/internal/measurement/zzbo; -Lcom/google/android/gms/internal/measurement/zzby; -Lcom/google/android/gms/internal/measurement/zzcb; -Lcom/google/android/gms/internal/measurement/zzcc; -Lcom/google/android/gms/internal/measurement/zzch; -Lcom/google/android/gms/internal/measurement/zzci; -Lcom/google/android/gms/internal/measurement/zzcl; -Lcom/google/android/gms/internal/measurement/zzcm; -Lcom/google/android/gms/internal/measurement/zzcx; -Lcom/google/android/gms/internal/measurement/zzdi; -Lcom/google/android/gms/internal/measurement/zzdp; -Lcom/google/android/gms/internal/measurement/zzdr; -Lcom/google/android/gms/internal/measurement/zzdt; -Lcom/google/android/gms/internal/measurement/zzdv; -Lcom/google/android/gms/internal/measurement/zzdw; -Lcom/google/android/gms/internal/measurement/zzdx; -Lcom/google/android/gms/internal/measurement/zzdy; -Lcom/google/android/gms/internal/measurement/zzdz; -Lcom/google/android/gms/internal/measurement/zzea; -Lcom/google/android/gms/internal/measurement/zzec; -Lcom/google/android/gms/internal/measurement/zzed; -Lcom/google/android/gms/internal/measurement/zzee; -Lcom/google/android/gms/internal/measurement/zzfj; -Lcom/google/android/gms/internal/measurement/zzgm; -Lcom/google/android/gms/internal/measurement/zzgu; -Lcom/google/android/gms/internal/measurement/zzgz; -Lcom/google/android/gms/internal/measurement/zzha; -Lcom/google/android/gms/internal/measurement/zzhb; -Lcom/google/android/gms/internal/measurement/zzhc; -Lcom/google/android/gms/internal/measurement/zzhd; -Lcom/google/android/gms/internal/measurement/zzhe; -Lcom/google/android/gms/internal/measurement/zzhg; -Lcom/google/android/gms/internal/measurement/zzhj; -Lcom/google/android/gms/internal/measurement/zzhm; -Lcom/google/android/gms/internal/measurement/zzhn; -Lcom/google/android/gms/internal/measurement/zzho; -Lcom/google/android/gms/internal/measurement/zzhp; -Lcom/google/android/gms/internal/measurement/zzhq; -Lcom/google/android/gms/internal/measurement/zzhr; -Lcom/google/android/gms/internal/measurement/zzht; -Lcom/google/android/gms/internal/measurement/zzhu; -Lcom/google/android/gms/internal/measurement/zzhv; -Lcom/google/android/gms/internal/measurement/zzhw; -Lcom/google/android/gms/internal/measurement/zzhx; -Lcom/google/android/gms/internal/measurement/zzhy; -Lcom/google/android/gms/internal/measurement/zzia; -Lcom/google/android/gms/internal/measurement/zzib; -Lcom/google/android/gms/internal/measurement/zzic; -Lcom/google/android/gms/internal/measurement/zzid; -Lcom/google/android/gms/internal/measurement/zzif; -Lcom/google/android/gms/internal/measurement/zzig; -Lcom/google/android/gms/internal/measurement/zzih; -Lcom/google/android/gms/internal/measurement/zzii; -Lcom/google/android/gms/internal/measurement/zzij; -Lcom/google/android/gms/internal/measurement/zzik; -Lcom/google/android/gms/internal/measurement/zzmy; -Lcom/google/android/gms/internal/measurement/zzng; -Lcom/google/android/gms/internal/measurement/zznh; -Lcom/google/android/gms/internal/measurement/zzni; -Lcom/google/android/gms/internal/measurement/zznj; -Lcom/google/android/gms/internal/measurement/zznk; -Lcom/google/android/gms/internal/measurement/zznl; -Lcom/google/android/gms/internal/measurement/zznm; -Lcom/google/android/gms/internal/measurement/zznn; -Lcom/google/android/gms/internal/measurement/zzno; -Lcom/google/android/gms/internal/measurement/zznp; -Lcom/google/android/gms/internal/measurement/zznq; -Lcom/google/android/gms/internal/measurement/zznr; -Lcom/google/android/gms/internal/measurement/zzns; -Lcom/google/android/gms/internal/measurement/zznt; -Lcom/google/android/gms/internal/measurement/zznu; -Lcom/google/android/gms/internal/measurement/zznv; -Lcom/google/android/gms/internal/measurement/zznw; -Lcom/google/android/gms/internal/measurement/zznx; -Lcom/google/android/gms/internal/measurement/zzny; -Lcom/google/android/gms/internal/measurement/zznz; -Lcom/google/android/gms/internal/measurement/zzoa; -Lcom/google/android/gms/internal/measurement/zzob; -Lcom/google/android/gms/internal/measurement/zzoc; -Lcom/google/android/gms/internal/measurement/zzod; -Lcom/google/android/gms/internal/measurement/zzoe; -Lcom/google/android/gms/internal/measurement/zzof; -Lcom/google/android/gms/internal/measurement/zzog; -Lcom/google/android/gms/internal/measurement/zzoh; -Lcom/google/android/gms/internal/measurement/zzoi; -Lcom/google/android/gms/internal/measurement/zzoj; -Lcom/google/android/gms/internal/measurement/zzok; -Lcom/google/android/gms/internal/measurement/zzol; -Lcom/google/android/gms/internal/measurement/zzom; -Lcom/google/android/gms/internal/measurement/zzon; -Lcom/google/android/gms/internal/measurement/zzoo; -Lcom/google/android/gms/internal/measurement/zzop; -Lcom/google/android/gms/internal/measurement/zzoq; -Lcom/google/android/gms/internal/measurement/zzor; -Lcom/google/android/gms/internal/measurement/zzos; -Lcom/google/android/gms/internal/measurement/zzot; -Lcom/google/android/gms/internal/measurement/zzou; -Lcom/google/android/gms/internal/measurement/zzov; -Lcom/google/android/gms/internal/measurement/zzow; -Lcom/google/android/gms/internal/measurement/zzox; -Lcom/google/android/gms/internal/measurement/zzoy; -Lcom/google/android/gms/internal/measurement/zzoz; -Lcom/google/android/gms/internal/measurement/zzpa; -Lcom/google/android/gms/internal/measurement/zzpb; -Lcom/google/android/gms/internal/measurement/zzpc; -Lcom/google/android/gms/internal/measurement/zzpd; -Lcom/google/android/gms/internal/measurement/zzpe; -Lcom/google/android/gms/internal/measurement/zzpf; -Lcom/google/android/gms/internal/measurement/zzpg; -Lcom/google/android/gms/internal/measurement/zzph; -Lcom/google/android/gms/internal/measurement/zzpi; -Lcom/google/android/gms/internal/measurement/zzpj; -Lcom/google/android/gms/internal/measurement/zzpk; -Lcom/google/android/gms/internal/measurement/zzpl; -Lcom/google/android/gms/internal/measurement/zzpm; -Lcom/google/android/gms/internal/measurement/zzpn; -Lcom/google/android/gms/internal/tasks/zza; -Lcom/google/android/gms/measurement/api/AppMeasurementSdk$OnEventListener; -Lcom/google/android/gms/measurement/api/AppMeasurementSdk; -Lcom/google/android/gms/measurement/internal/AppMeasurementDynamiteService; -Lcom/google/android/gms/measurement/internal/zzab; -Lcom/google/android/gms/measurement/internal/zzae; -Lcom/google/android/gms/measurement/internal/zzaf; -Lcom/google/android/gms/measurement/internal/zzag; -Lcom/google/android/gms/measurement/internal/zzah; -Lcom/google/android/gms/measurement/internal/zzai; -Lcom/google/android/gms/measurement/internal/zzan; -Lcom/google/android/gms/measurement/internal/zzao; -Lcom/google/android/gms/measurement/internal/zzap; -Lcom/google/android/gms/measurement/internal/zzaq; -Lcom/google/android/gms/measurement/internal/zzau; -Lcom/google/android/gms/measurement/internal/zzav; -Lcom/google/android/gms/measurement/internal/zzaw; -Lcom/google/android/gms/measurement/internal/zzax; -Lcom/google/android/gms/measurement/internal/zzaz; -Lcom/google/android/gms/measurement/internal/zzba; -Lcom/google/android/gms/measurement/internal/zzbb; -Lcom/google/android/gms/measurement/internal/zzbc; -Lcom/google/android/gms/measurement/internal/zzbd; -Lcom/google/android/gms/measurement/internal/zzbe; -Lcom/google/android/gms/measurement/internal/zzbf; -Lcom/google/android/gms/measurement/internal/zzbg; -Lcom/google/android/gms/measurement/internal/zzbh; -Lcom/google/android/gms/measurement/internal/zzbi; -Lcom/google/android/gms/measurement/internal/zzbj; -Lcom/google/android/gms/measurement/internal/zzbk; -Lcom/google/android/gms/measurement/internal/zzbl; -Lcom/google/android/gms/measurement/internal/zzbm; -Lcom/google/android/gms/measurement/internal/zzbn; -Lcom/google/android/gms/measurement/internal/zzbo; -Lcom/google/android/gms/measurement/internal/zzbp; -Lcom/google/android/gms/measurement/internal/zzbq; -Lcom/google/android/gms/measurement/internal/zzbr; -Lcom/google/android/gms/measurement/internal/zzbs; -Lcom/google/android/gms/measurement/internal/zzbt; -Lcom/google/android/gms/measurement/internal/zzbu; -Lcom/google/android/gms/measurement/internal/zzbv; -Lcom/google/android/gms/measurement/internal/zzbx; -Lcom/google/android/gms/measurement/internal/zzby; -Lcom/google/android/gms/measurement/internal/zzbz; -Lcom/google/android/gms/measurement/internal/zzc; -Lcom/google/android/gms/measurement/internal/zzca; -Lcom/google/android/gms/measurement/internal/zzcb; -Lcom/google/android/gms/measurement/internal/zzcc; -Lcom/google/android/gms/measurement/internal/zzcd; -Lcom/google/android/gms/measurement/internal/zzce; -Lcom/google/android/gms/measurement/internal/zzcf; -Lcom/google/android/gms/measurement/internal/zzcg; -Lcom/google/android/gms/measurement/internal/zzch; -Lcom/google/android/gms/measurement/internal/zzci; -Lcom/google/android/gms/measurement/internal/zzcj; -Lcom/google/android/gms/measurement/internal/zzck; -Lcom/google/android/gms/measurement/internal/zzcl; -Lcom/google/android/gms/measurement/internal/zzcm; -Lcom/google/android/gms/measurement/internal/zzcn; -Lcom/google/android/gms/measurement/internal/zzco; -Lcom/google/android/gms/measurement/internal/zzcp; -Lcom/google/android/gms/measurement/internal/zzcq; -Lcom/google/android/gms/measurement/internal/zzcs; -Lcom/google/android/gms/measurement/internal/zzcu; -Lcom/google/android/gms/measurement/internal/zzcy; -Lcom/google/android/gms/measurement/internal/zzcz; -Lcom/google/android/gms/measurement/internal/zzd; -Lcom/google/android/gms/measurement/internal/zzda; -Lcom/google/android/gms/measurement/internal/zzdb; -Lcom/google/android/gms/measurement/internal/zzdc; -Lcom/google/android/gms/measurement/internal/zzdd; -Lcom/google/android/gms/measurement/internal/zzde; -Lcom/google/android/gms/measurement/internal/zzdg; -Lcom/google/android/gms/measurement/internal/zzdh; -Lcom/google/android/gms/measurement/internal/zzdi; -Lcom/google/android/gms/measurement/internal/zzdj; -Lcom/google/android/gms/measurement/internal/zzdk; -Lcom/google/android/gms/measurement/internal/zzdl; -Lcom/google/android/gms/measurement/internal/zzdm; -Lcom/google/android/gms/measurement/internal/zzdn; -Lcom/google/android/gms/measurement/internal/zzdo; -Lcom/google/android/gms/measurement/internal/zzdp; -Lcom/google/android/gms/measurement/internal/zzdq; -Lcom/google/android/gms/measurement/internal/zzdr; -Lcom/google/android/gms/measurement/internal/zzds; -Lcom/google/android/gms/measurement/internal/zzdt; -Lcom/google/android/gms/measurement/internal/zzdu; -Lcom/google/android/gms/measurement/internal/zzdx; -Lcom/google/android/gms/measurement/internal/zze; -Lcom/google/android/gms/measurement/internal/zzea; -Lcom/google/android/gms/measurement/internal/zzeb; -Lcom/google/android/gms/measurement/internal/zzec; -Lcom/google/android/gms/measurement/internal/zzee; -Lcom/google/android/gms/measurement/internal/zzef; -Lcom/google/android/gms/measurement/internal/zzeg; -Lcom/google/android/gms/measurement/internal/zzeh; -Lcom/google/android/gms/measurement/internal/zzej; -Lcom/google/android/gms/measurement/internal/zzek; -Lcom/google/android/gms/measurement/internal/zzem; -Lcom/google/android/gms/measurement/internal/zzen; -Lcom/google/android/gms/measurement/internal/zzeo; -Lcom/google/android/gms/measurement/internal/zzeq; -Lcom/google/android/gms/measurement/internal/zzex; -Lcom/google/android/gms/measurement/internal/zzey; -Lcom/google/android/gms/measurement/internal/zzez; -Lcom/google/android/gms/measurement/internal/zzf; -Lcom/google/android/gms/measurement/internal/zzfb; -Lcom/google/android/gms/measurement/internal/zzfc; -Lcom/google/android/gms/measurement/internal/zzfd; -Lcom/google/android/gms/measurement/internal/zzfq; -Lcom/google/android/gms/measurement/internal/zzfs; -Lcom/google/android/gms/measurement/internal/zzft; -Lcom/google/android/gms/measurement/internal/zzfu; -Lcom/google/android/gms/measurement/internal/zzfv; -Lcom/google/android/gms/measurement/internal/zzfx; -Lcom/google/android/gms/measurement/internal/zzfy; -Lcom/google/android/gms/measurement/internal/zzgr; -Lcom/google/android/gms/measurement/internal/zzgs; -Lcom/google/android/gms/measurement/internal/zzgt; -Lcom/google/android/gms/measurement/internal/zzgx; -Lcom/google/android/gms/measurement/internal/zzgz; -Lcom/google/android/gms/measurement/internal/zzha; -Lcom/google/android/gms/measurement/internal/zzhb; -Lcom/google/android/gms/measurement/internal/zzhr; -Lcom/google/android/gms/measurement/internal/zzic; -Lcom/google/android/gms/measurement/internal/zzid; -Lcom/google/android/gms/measurement/internal/zzih; -Lcom/google/android/gms/measurement/internal/zzij; -Lcom/google/android/gms/measurement/internal/zzik; -Lcom/google/android/gms/measurement/internal/zzim; -Lcom/google/android/gms/measurement/internal/zzin; -Lcom/google/android/gms/measurement/internal/zziq; -Lcom/google/android/gms/measurement/internal/zzir; -Lcom/google/android/gms/measurement/internal/zzis; -Lcom/google/android/gms/measurement/internal/zziu; -Lcom/google/android/gms/measurement/internal/zzix; -Lcom/google/android/gms/measurement/internal/zziz; -Lcom/google/android/gms/measurement/internal/zzja; -Lcom/google/android/gms/measurement/internal/zzjb; -Lcom/google/android/gms/measurement/internal/zzjc; -Lcom/google/android/gms/measurement/internal/zzje; -Lcom/google/android/gms/measurement/internal/zzjh; -Lcom/google/android/gms/measurement/internal/zzjo; -Lcom/google/android/gms/measurement/internal/zzjr; -Lcom/google/android/gms/measurement/internal/zzjs; -Lcom/google/android/gms/measurement/internal/zzka; -Lcom/google/android/gms/measurement/internal/zzkb; -Lcom/google/android/gms/measurement/internal/zzkd; -Lcom/google/android/gms/measurement/internal/zzke; -Lcom/google/android/gms/measurement/internal/zzkf; -Lcom/google/android/gms/measurement/internal/zzkg; -Lcom/google/android/gms/measurement/internal/zzkh; -Lcom/google/android/gms/measurement/internal/zzki; -Lcom/google/android/gms/measurement/internal/zzkj; -Lcom/google/android/gms/measurement/internal/zzkr; -Lcom/google/android/gms/measurement/internal/zzlc; -Lcom/google/android/gms/measurement/internal/zzld; -Lcom/google/android/gms/measurement/internal/zzlg; -Lcom/google/android/gms/measurement/internal/zzlh; -Lcom/google/android/gms/measurement/internal/zzp; -Lcom/google/android/gms/measurement/internal/zzq; -Lcom/google/android/gms/measurement/internal/zzr; -Lcom/google/android/gms/measurement/internal/zzs; -Lcom/google/android/gms/tasks/Continuation; -Lcom/google/android/gms/tasks/OnCanceledListener; -Lcom/google/android/gms/tasks/OnFailureListener; -Lcom/google/android/gms/tasks/OnSuccessListener; -Lcom/google/android/gms/tasks/RuntimeExecutionException; -Lcom/google/android/gms/tasks/SuccessContinuation; -Lcom/google/android/gms/tasks/Task; -Lcom/google/android/gms/tasks/TaskCompletionSource; -Lcom/google/android/gms/tasks/TaskExecutors; -Lcom/google/android/gms/tasks/Tasks; -Lcom/google/android/gms/tasks/zzad; -Lcom/google/android/gms/tasks/zzc; -Lcom/google/android/gms/tasks/zzd; -Lcom/google/android/gms/tasks/zzh; -Lcom/google/android/gms/tasks/zzl; -Lcom/google/android/gms/tasks/zzm; -Lcom/google/android/gms/tasks/zzn; -Lcom/google/android/gms/tasks/zzo; -Lcom/google/android/gms/tasks/zzp; -Lcom/google/android/gms/tasks/zzq; -Lcom/google/android/gms/tasks/zzr; -Lcom/google/android/gms/tasks/zzt; -Lcom/google/android/gms/tasks/zzu; -Lcom/google/android/gms/tasks/zzw; -Lcom/google/android/gms/tasks/zzz; -Lcom/google/android/material/color/DynamicColors$1; -Lcom/google/android/material/color/DynamicColors$2; -Lcom/google/android/material/color/DynamicColors$DeviceSupportCondition; -Lcom/google/android/material/color/DynamicColors$DynamicColorsActivityLifecycleCallbacks; -Lcom/google/android/material/color/DynamicColors; -Lcom/google/android/material/color/DynamicColorsOptions$1; -Lcom/google/android/material/color/DynamicColorsOptions$2; -Lcom/google/android/material/color/DynamicColorsOptions$Builder; -Lcom/google/android/material/color/DynamicColorsOptions; -Lcom/google/android/material/composethemeadapter3/FontFamilyWithWeight; -Lcom/google/android/material/composethemeadapter3/Mdc3Theme$Mdc3Theme$1; -Lcom/google/android/material/composethemeadapter3/Mdc3Theme$Mdc3Theme$2; -Lcom/google/android/material/composethemeadapter3/Mdc3Theme; -Lcom/google/android/material/composethemeadapter3/R$styleable; -Lcom/google/android/material/composethemeadapter3/Theme3Parameters; -Lcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt$$ExternalSyntheticApiModelOutline0; -Lcom/google/android/material/composethemeadapter3/TypedArrayUtilsKt; -Lcom/google/android/material/theme/MaterialComponentsViewInflater; -Lcom/google/android/play/core/appupdate/AppUpdateManager; -Lcom/google/android/play/core/appupdate/a; -Lcom/google/android/play/core/appupdate/b; -Lcom/google/android/play/core/appupdate/e; -Lcom/google/android/play/core/appupdate/f; -Lcom/google/android/play/core/appupdate/g; -Lcom/google/android/play/core/appupdate/h; -Lcom/google/android/play/core/appupdate/i; -Lcom/google/android/play/core/appupdate/j; -Lcom/google/android/play/core/appupdate/k; -Lcom/google/android/play/core/appupdate/p; -Lcom/google/android/play/core/appupdate/q; -Lcom/google/android/play/core/appupdate/r; -Lcom/google/android/play/core/appupdate/s; -Lcom/google/android/play/core/appupdate/w; -Lcom/google/android/play/core/appupdate/y; -Lcom/google/android/play/core/assetpacks/az; -Lcom/google/android/play/core/install/InstallStateUpdatedListener; -Lcom/google/android/play/core/internal/af; -Lcom/google/android/play/core/internal/ag; -Lcom/google/android/play/core/internal/ah; -Lcom/google/android/play/core/internal/ai; -Lcom/google/android/play/core/internal/al; -Lcom/google/android/play/core/internal/ao; -Lcom/google/android/play/core/internal/ap; -Lcom/google/android/play/core/internal/aq; -Lcom/google/android/play/core/internal/bq; -Lcom/google/android/play/core/internal/by; -Lcom/google/android/play/core/internal/cj; -Lcom/google/android/play/core/internal/cl; -Lcom/google/android/play/core/internal/cn; -Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$1; -Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$2; -Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$3; -Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$globalUpdateListener$1; -Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1$globalUpdateListener$2; -Lcom/google/android/play/core/ktx/AppUpdateManagerKtxKt$requestUpdateFlow$1; -Lcom/google/android/play/core/ktx/AppUpdatePassthroughListener; -Lcom/google/android/play/core/ktx/AppUpdateResult$Available; -Lcom/google/android/play/core/ktx/AppUpdateResult$Downloaded; -Lcom/google/android/play/core/ktx/AppUpdateResult$NotAvailable; -Lcom/google/android/play/core/ktx/AppUpdateResult; -Lcom/google/android/play/core/listener/StateUpdatedListener; -Lcom/google/android/play/core/listener/b; -Lcom/google/android/play/core/tasks/OnFailureListener; -Lcom/google/android/play/core/tasks/OnSuccessListener; -Lcom/google/android/play/core/tasks/TaskExecutors; -Lcom/google/android/play/core/tasks/c; -Lcom/google/android/play/core/tasks/d; -Lcom/google/android/play/core/tasks/f; -Lcom/google/android/play/core/tasks/g; -Lcom/google/android/play/core/tasks/h; -Lcom/google/android/play/core/tasks/i; -Lcom/google/android/play/core/tasks/k; -Lcom/google/android/play/core/tasks/l; -Lcom/google/android/play/core/tasks/m; -Lcom/google/firebase/DataCollectionDefaultChange; -Lcom/google/firebase/FirebaseApp$$ExternalSyntheticLambda0; -Lcom/google/firebase/FirebaseApp$$ExternalSyntheticLambda1; -Lcom/google/firebase/FirebaseApp$BackgroundStateChangeListener; -Lcom/google/firebase/FirebaseApp$GlobalBackgroundStateListener; -Lcom/google/firebase/FirebaseApp$UiExecutor; -Lcom/google/firebase/FirebaseApp; -Lcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda0; -Lcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda1; -Lcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda2; -Lcom/google/firebase/FirebaseCommonRegistrar$$ExternalSyntheticLambda3; -Lcom/google/firebase/FirebaseCommonRegistrar; -Lcom/google/firebase/FirebaseException; -Lcom/google/firebase/FirebaseOptions; -Lcom/google/firebase/analytics/FirebaseAnalytics; -Lcom/google/firebase/analytics/connector/AnalyticsConnector$AnalyticsConnectorListener; -Lcom/google/firebase/analytics/connector/AnalyticsConnector; -Lcom/google/firebase/analytics/connector/AnalyticsConnectorImpl$1; -Lcom/google/firebase/analytics/connector/AnalyticsConnectorImpl; -Lcom/google/firebase/analytics/connector/internal/AnalyticsConnectorRegistrar; -Lcom/google/firebase/analytics/connector/internal/zzb; -Lcom/google/firebase/analytics/connector/internal/zzc; -Lcom/google/firebase/analytics/connector/internal/zzf; -Lcom/google/firebase/analytics/connector/internal/zzg; -Lcom/google/firebase/analytics/connector/zza; -Lcom/google/firebase/analytics/connector/zzb; -Lcom/google/firebase/analytics/ktx/FirebaseAnalyticsKtxRegistrar; -Lcom/google/firebase/components/Component$$ExternalSyntheticLambda0; -Lcom/google/firebase/components/Component$Builder; -Lcom/google/firebase/components/Component; -Lcom/google/firebase/components/ComponentContainer; -Lcom/google/firebase/components/ComponentDiscovery$$ExternalSyntheticLambda0; -Lcom/google/firebase/components/ComponentDiscoveryService; -Lcom/google/firebase/components/ComponentFactory; -Lcom/google/firebase/components/ComponentRegistrar; -Lcom/google/firebase/components/ComponentRegistrarProcessor; -Lcom/google/firebase/components/ComponentRuntime$$ExternalSyntheticLambda0; -Lcom/google/firebase/components/ComponentRuntime$$ExternalSyntheticLambda1; -Lcom/google/firebase/components/ComponentRuntime$Builder$$ExternalSyntheticLambda0; -Lcom/google/firebase/components/ComponentRuntime; -Lcom/google/firebase/components/CycleDetector$ComponentNode; -Lcom/google/firebase/components/CycleDetector$Dep; -Lcom/google/firebase/components/CycleDetector; -Lcom/google/firebase/components/Dependency; -Lcom/google/firebase/components/EventBus; -Lcom/google/firebase/components/InvalidRegistrarException; -Lcom/google/firebase/components/Lazy; -Lcom/google/firebase/components/LazySet; -Lcom/google/firebase/components/OptionalProvider$$ExternalSyntheticLambda0; -Lcom/google/firebase/components/OptionalProvider$$ExternalSyntheticLambda1; -Lcom/google/firebase/components/OptionalProvider$$ExternalSyntheticLambda2; -Lcom/google/firebase/components/OptionalProvider; -Lcom/google/firebase/components/RestrictedComponentContainer; -Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda0; -Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda1; -Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy$$ExternalSyntheticLambda2; -Lcom/google/firebase/crashlytics/AnalyticsDeferredProxy; -Lcom/google/firebase/crashlytics/CrashlyticsAnalyticsListener; -Lcom/google/firebase/crashlytics/CrashlyticsRegistrar$$ExternalSyntheticLambda0; -Lcom/google/firebase/crashlytics/CrashlyticsRegistrar; -Lcom/google/firebase/crashlytics/FirebaseCrashlytics$1; -Lcom/google/firebase/crashlytics/FirebaseCrashlytics$2; -Lcom/google/firebase/crashlytics/FirebaseCrashlytics; -Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponent; -Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy$$ExternalSyntheticLambda0; -Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy$$ExternalSyntheticLambda1; -Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy$MissingNativeSessionFileProvider; -Lcom/google/firebase/crashlytics/internal/CrashlyticsNativeComponentDeferredProxy; -Lcom/google/firebase/crashlytics/internal/DevelopmentPlatformProvider$DevelopmentPlatform; -Lcom/google/firebase/crashlytics/internal/DevelopmentPlatformProvider; -Lcom/google/firebase/crashlytics/internal/Logger; -Lcom/google/firebase/crashlytics/internal/NativeSessionFileProvider; -Lcom/google/firebase/crashlytics/internal/analytics/AnalyticsEventLogger; -Lcom/google/firebase/crashlytics/internal/analytics/AnalyticsEventReceiver; -Lcom/google/firebase/crashlytics/internal/analytics/BlockingAnalyticsEventLogger; -Lcom/google/firebase/crashlytics/internal/analytics/BreadcrumbAnalyticsEventReceiver; -Lcom/google/firebase/crashlytics/internal/analytics/CrashlyticsOriginAnalyticsEventLogger; -Lcom/google/firebase/crashlytics/internal/analytics/UnavailableAnalyticsEventLogger; -Lcom/google/firebase/crashlytics/internal/breadcrumbs/BreadcrumbSource; -Lcom/google/firebase/crashlytics/internal/breadcrumbs/DisabledBreadcrumbSource; -Lcom/google/firebase/crashlytics/internal/common/AppData; -Lcom/google/firebase/crashlytics/internal/common/BackgroundPriorityRunnable; -Lcom/google/firebase/crashlytics/internal/common/CLSUUID; -Lcom/google/firebase/crashlytics/internal/common/CommonUtils$Architecture; -Lcom/google/firebase/crashlytics/internal/common/CommonUtils; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$1; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$2; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$3; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker$4; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsBackgroundWorker; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController$$ExternalSyntheticLambda1; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController$1; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController$5; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController$6; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController$7; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsController; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsCore$4; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsCore; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsFileMarker; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsUncaughtExceptionHandler$CrashListener; -Lcom/google/firebase/crashlytics/internal/common/CrashlyticsUncaughtExceptionHandler; -Lcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter; -Lcom/google/firebase/crashlytics/internal/common/DeliveryMechanism$EnumUnboxingLocalUtility; -Lcom/google/firebase/crashlytics/internal/common/ExecutorUtils$1$1; -Lcom/google/firebase/crashlytics/internal/common/ExecutorUtils$1; -Lcom/google/firebase/crashlytics/internal/common/ExecutorUtils$2; -Lcom/google/firebase/crashlytics/internal/common/ExecutorUtils; -Lcom/google/firebase/crashlytics/internal/common/IdManager; -Lcom/google/firebase/crashlytics/internal/common/InstallIdProvider; -Lcom/google/firebase/crashlytics/internal/common/InstallerPackageNameProvider; -Lcom/google/firebase/crashlytics/internal/common/OnDemandCounter; -Lcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator$$ExternalSyntheticLambda0; -Lcom/google/firebase/crashlytics/internal/common/SessionReportingCoordinator; -Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda0; -Lcom/google/firebase/crashlytics/internal/common/Utils$$ExternalSyntheticLambda1; -Lcom/google/firebase/crashlytics/internal/common/Utils; -Lcom/google/firebase/crashlytics/internal/metadata/FileLogStore; -Lcom/google/firebase/crashlytics/internal/metadata/KeysMap; -Lcom/google/firebase/crashlytics/internal/metadata/LogFileManager$NoopLogStore; -Lcom/google/firebase/crashlytics/internal/metadata/LogFileManager; -Lcom/google/firebase/crashlytics/internal/metadata/MetaDataStore; -Lcom/google/firebase/crashlytics/internal/metadata/QueueFile$Element; -Lcom/google/firebase/crashlytics/internal/metadata/QueueFile$ElementInputStream; -Lcom/google/firebase/crashlytics/internal/metadata/QueueFile; -Lcom/google/firebase/crashlytics/internal/metadata/QueueFileLogStore$LogBytes; -Lcom/google/firebase/crashlytics/internal/metadata/QueueFileLogStore; -Lcom/google/firebase/crashlytics/internal/metadata/UserMetadata$SerializeableKeysMap; -Lcom/google/firebase/crashlytics/internal/metadata/UserMetadata; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportApplicationExitInfoEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportCustomAttributeEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportFilesPayloadEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportFilesPayloadFileEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionApplicationEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionApplicationOrganizationEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionDeviceEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionSignalEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionThreadEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventDeviceEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionEventLogEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionOperatingSystemEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder$CrashlyticsReportSessionUserEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoCrashlyticsReportEncoder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_ApplicationExitInfo; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_CustomAttribute; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_FilesPayload; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_FilesPayload_File; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Application_Organization; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Device; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Device; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_Event_Log; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem$Builder; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_OperatingSystem; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_CrashlyticsReport_Session_User; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_AppData; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_DeviceData; -Lcom/google/firebase/crashlytics/internal/model/AutoValue_StaticSessionData_OsData; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$ApplicationExitInfo; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$CustomAttribute; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$FilesPayload$File; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$FilesPayload; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Application$Organization; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Application; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Device$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Device; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$BinaryImage$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$BinaryImage; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Exception$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Exception; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Signal$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Signal; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Thread$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Thread$Frame$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Thread$Frame; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution$Thread; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$Execution; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Device$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Device; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Log; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$OperatingSystem$Builder; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$OperatingSystem; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$User; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session; -Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport; -Lcom/google/firebase/crashlytics/internal/model/ImmutableList; -Lcom/google/firebase/crashlytics/internal/model/StaticSessionData$AppData; -Lcom/google/firebase/crashlytics/internal/model/StaticSessionData$DeviceData; -Lcom/google/firebase/crashlytics/internal/model/StaticSessionData$OsData; -Lcom/google/firebase/crashlytics/internal/model/StaticSessionData; -Lcom/google/firebase/crashlytics/internal/model/serialization/CrashlyticsReportJsonTransform; -Lcom/google/firebase/crashlytics/internal/network/HttpGetRequest; -Lcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda0; -Lcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda1; -Lcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda2; -Lcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence$$ExternalSyntheticLambda3; -Lcom/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence; -Lcom/google/firebase/crashlytics/internal/persistence/FileStore; -Lcom/google/firebase/crashlytics/internal/send/DataTransportCrashlyticsReportSender$$ExternalSyntheticLambda0; -Lcom/google/firebase/crashlytics/internal/send/DataTransportCrashlyticsReportSender; -Lcom/google/firebase/crashlytics/internal/send/ReportQueue; -Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsJsonTransform; -Lcom/google/firebase/crashlytics/internal/settings/DefaultSettingsSpiCall; -Lcom/google/firebase/crashlytics/internal/settings/Settings$FeatureFlagData; -Lcom/google/firebase/crashlytics/internal/settings/Settings$SessionData; -Lcom/google/firebase/crashlytics/internal/settings/Settings; -Lcom/google/firebase/crashlytics/internal/settings/SettingsController$1; -Lcom/google/firebase/crashlytics/internal/settings/SettingsController; -Lcom/google/firebase/crashlytics/internal/settings/SettingsJsonParser; -Lcom/google/firebase/crashlytics/internal/settings/SettingsJsonTransform; -Lcom/google/firebase/crashlytics/internal/settings/SettingsProvider; -Lcom/google/firebase/crashlytics/internal/settings/SettingsRequest; -Lcom/google/firebase/crashlytics/internal/stacktrace/MiddleOutFallbackStrategy; -Lcom/google/firebase/crashlytics/internal/stacktrace/MiddleOutStrategy; -Lcom/google/firebase/crashlytics/internal/stacktrace/StackTraceTrimmingStrategy; -Lcom/google/firebase/crashlytics/ktx/FirebaseCrashlyticsKtxRegistrar; -Lcom/google/firebase/dynamicloading/ComponentLoader; -Lcom/google/firebase/encoders/Encoder; -Lcom/google/firebase/encoders/FieldDescriptor; -Lcom/google/firebase/encoders/ObjectEncoder; -Lcom/google/firebase/encoders/ObjectEncoderContext; -Lcom/google/firebase/encoders/ValueEncoder; -Lcom/google/firebase/encoders/ValueEncoderContext; -Lcom/google/firebase/encoders/config/EncoderConfig; -Lcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda0; -Lcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda1; -Lcom/google/firebase/encoders/json/JsonDataEncoderBuilder$$ExternalSyntheticLambda2; -Lcom/google/firebase/encoders/json/JsonDataEncoderBuilder$1; -Lcom/google/firebase/encoders/json/JsonDataEncoderBuilder$TimestampEncoder; -Lcom/google/firebase/encoders/json/JsonDataEncoderBuilder; -Lcom/google/firebase/encoders/json/JsonValueObjectEncoderContext; -Lcom/google/firebase/events/EventHandler; -Lcom/google/firebase/events/Publisher; -Lcom/google/firebase/events/Subscriber; -Lcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda0; -Lcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda1; -Lcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda2; -Lcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda3; -Lcom/google/firebase/heartbeatinfo/DefaultHeartBeatController$$ExternalSyntheticLambda4; -Lcom/google/firebase/heartbeatinfo/DefaultHeartBeatController; -Lcom/google/firebase/heartbeatinfo/HeartBeatConsumer; -Lcom/google/firebase/heartbeatinfo/HeartBeatConsumerComponent$1; -Lcom/google/firebase/heartbeatinfo/HeartBeatController; -Lcom/google/firebase/heartbeatinfo/HeartBeatInfo; -Lcom/google/firebase/heartbeatinfo/HeartBeatInfoStorage; -Lcom/google/firebase/inject/Deferred$DeferredHandler; -Lcom/google/firebase/inject/Deferred; -Lcom/google/firebase/inject/Provider; -Lcom/google/firebase/installations/CrossProcessLock; -Lcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda0; -Lcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda1; -Lcom/google/firebase/installations/FirebaseInstallations$$ExternalSyntheticLambda2; -Lcom/google/firebase/installations/FirebaseInstallations$1; -Lcom/google/firebase/installations/FirebaseInstallations; -Lcom/google/firebase/installations/FirebaseInstallationsApi; -Lcom/google/firebase/installations/FirebaseInstallationsException; -Lcom/google/firebase/installations/FirebaseInstallationsRegistrar$$ExternalSyntheticLambda0; -Lcom/google/firebase/installations/FirebaseInstallationsRegistrar; -Lcom/google/firebase/installations/GetIdListener; -Lcom/google/firebase/installations/RandomFidGenerator; -Lcom/google/firebase/installations/StateListener; -Lcom/google/firebase/installations/Utils; -Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry$Builder; -Lcom/google/firebase/installations/local/AutoValue_PersistedInstallationEntry; -Lcom/google/firebase/installations/local/IidStore; -Lcom/google/firebase/installations/local/PersistedInstallation; -Lcom/google/firebase/installations/local/PersistedInstallationEntry$Builder; -Lcom/google/firebase/installations/local/PersistedInstallationEntry; -Lcom/google/firebase/installations/remote/FirebaseInstallationServiceClient; -Lcom/google/firebase/installations/remote/RequestLimiter; -Lcom/google/firebase/internal/DataCollectionConfigStorage; -Lcom/google/firebase/ktx/FirebaseCommonKtxRegistrar; -Lcom/google/firebase/platforminfo/AutoValue_LibraryVersion; -Lcom/google/firebase/platforminfo/DefaultUserAgentPublisher$$ExternalSyntheticLambda0; -Lcom/google/firebase/platforminfo/DefaultUserAgentPublisher; -Lcom/google/firebase/platforminfo/GlobalLibraryVersionRegistrar; -Lcom/google/firebase/platforminfo/LibraryVersion; -Lcom/google/firebase/platforminfo/LibraryVersionComponent$$ExternalSyntheticLambda0; -Lcom/google/firebase/platforminfo/LibraryVersionComponent$VersionExtractor; -Lcom/google/firebase/platforminfo/LibraryVersionComponent; -Lcom/google/firebase/platforminfo/UserAgentPublisher; -Lcom/google/firebase/provider/FirebaseInitProvider; -Lcom/google/firebase/tracing/ComponentMonitor; -Lcom/google/protobuf/AbstractMessageLite$Builder; -Lcom/google/protobuf/AbstractMessageLite; -Lcom/google/protobuf/Android; -Lcom/google/protobuf/CodedInputStream$ArrayDecoder; -Lcom/google/protobuf/CodedInputStream; -Lcom/google/protobuf/GeneratedMessageInfoFactory; -Lcom/google/protobuf/GeneratedMessageLite$Builder; -Lcom/google/protobuf/GeneratedMessageLite$MethodToInvoke; -Lcom/google/protobuf/GeneratedMessageLite; -Lcom/google/protobuf/Internal; -Lcom/google/protobuf/InvalidProtocolBufferException$InvalidWireTypeException; -Lcom/google/protobuf/InvalidProtocolBufferException; -Lcom/google/protobuf/ListFieldSchema$ListFieldSchemaFull; -Lcom/google/protobuf/ListFieldSchema$ListFieldSchemaLite; -Lcom/google/protobuf/ListFieldSchema; -Lcom/google/protobuf/ManifestSchemaFactory$1; -Lcom/google/protobuf/ManifestSchemaFactory$CompositeMessageInfoFactory; -Lcom/google/protobuf/ManifestSchemaFactory; -Lcom/google/protobuf/MapFieldSchema; -Lcom/google/protobuf/MapFieldSchemaLite; -Lcom/google/protobuf/MapFieldSchemas; -Lcom/google/protobuf/MessageInfo; -Lcom/google/protobuf/MessageInfoFactory; -Lcom/google/protobuf/MessageLite$Builder; -Lcom/google/protobuf/MessageLite; -Lcom/google/protobuf/MessageLiteOrBuilder; -Lcom/google/protobuf/MessageSchema; -Lcom/google/protobuf/NewInstanceSchema; -Lcom/google/protobuf/NewInstanceSchemaLite; -Lcom/google/protobuf/NewInstanceSchemas; -Lcom/google/protobuf/Protobuf; -Lcom/google/protobuf/RawMessageInfo; -Lcom/google/protobuf/Schema; -Lcom/google/protobuf/SchemaUtil; -Lcom/google/protobuf/TextFormatEscaper; -Lcom/google/protobuf/UninitializedMessageException; -Lcom/google/protobuf/UnknownFieldSchema; -Lcom/google/protobuf/UnknownFieldSetLite; -Lcom/google/protobuf/UnknownFieldSetLiteSchema; -Lcom/google/protobuf/UnsafeUtil$1; -Lcom/google/protobuf/UnsafeUtil$Android64MemoryAccessor; -Lcom/google/protobuf/UnsafeUtil$MemoryAccessor; -Lcom/google/protobuf/UnsafeUtil; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-1$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-10$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-11$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-12$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-13$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-14$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-2$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-3$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-4$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-5$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-6$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-7$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-8$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt$lambda-9$1; -Lcom/joeloewi/croissant/ComposableSingletons$MainActivityKt; -Lcom/joeloewi/croissant/CroissantApplication; -Lcom/joeloewi/croissant/CroissantApplication_GeneratedInjector; -Lcom/joeloewi/croissant/CroissantApplication_HiltComponents$ActivityC; -Lcom/joeloewi/croissant/CroissantApplication_HiltComponents$ActivityRetainedC; -Lcom/joeloewi/croissant/CroissantApplication_HiltComponents$SingletonC; -Lcom/joeloewi/croissant/CroissantApplication_HiltComponents$ViewModelC; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCBuilder; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityCImpl; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCBuilder; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl$SwitchingProvider; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ActivityRetainedCImpl; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl$$ExternalSyntheticOutline0; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$SingletonCImpl; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCBuilder; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCImpl$SwitchingProvider; -Lcom/joeloewi/croissant/DaggerCroissantApplication_HiltComponents_SingletonC$ViewModelCImpl; -Lcom/joeloewi/croissant/Hilt_CroissantApplication$1; -Lcom/joeloewi/croissant/Hilt_CroissantApplication; -Lcom/joeloewi/croissant/Hilt_MainActivity$1; -Lcom/joeloewi/croissant/Hilt_MainActivity; -Lcom/joeloewi/croissant/MainActivity$onCreate$1$1$1$1$1; -Lcom/joeloewi/croissant/MainActivity$onCreate$1$1$1$1; -Lcom/joeloewi/croissant/MainActivity$onCreate$1$1$1; -Lcom/joeloewi/croissant/MainActivity$onCreate$1$1; -Lcom/joeloewi/croissant/MainActivity$onCreate$1; -Lcom/joeloewi/croissant/MainActivity; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$3$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$3; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$1$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$4; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$5$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2$5; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$4$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$4; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$5; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$isAllPermissionsGranted$2$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantApp$modalBottomSheetState$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$2$1$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$2$3; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$3; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2$invoke$$inlined$items$default$4; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3$1$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$3; -Lcom/joeloewi/croissant/MainActivityKt$CroissantAppBottomSheetContent$4; -Lcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1$1$1$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1$1$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1$1$3; -Lcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantBottomNavigationBar$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$3; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$4$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$6; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$7$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1$8; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$2$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$3$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$3$2; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1$3; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$1; -Lcom/joeloewi/croissant/MainActivityKt$CroissantNavHost$2; -Lcom/joeloewi/croissant/MainActivityKt; -Lcom/joeloewi/croissant/MainActivity_GeneratedInjector; -Lcom/joeloewi/croissant/ResinStatusWidgetConfigurationActivity_GeneratedInjector; -Lcom/joeloewi/croissant/initializer/CoilInitializer$create$1; -Lcom/joeloewi/croissant/initializer/CoilInitializer; -Lcom/joeloewi/croissant/initializer/DynamicColorInitializer; -Lcom/joeloewi/croissant/receiver/AlarmReceiver_GeneratedInjector; -Lcom/joeloewi/croissant/receiver/MigrationHelper_GeneratedInjector; -Lcom/joeloewi/croissant/receiver/ResinStatusWidgetProvider_GeneratedInjector; -Lcom/joeloewi/croissant/receiver/TimeChangedReceiver; -Lcom/joeloewi/croissant/receiver/TimeZoneChangedReceiver_GeneratedInjector; -Lcom/joeloewi/croissant/state/CroissantAppState; -Lcom/joeloewi/croissant/state/MainState; -Lcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$Attendances; -Lcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$RedemptionCodes; -Lcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation$Settings; -Lcom/joeloewi/croissant/ui/navigation/main/CroissantNavigation; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendanceDetailScreen; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendanceLogsScreen; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$AttendancesScreen; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$CreateAttendanceScreen; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$LoginHoYoLabScreen; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$route$2$2; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination$route$2; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$1; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$2; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3$2$1; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3$2$2; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3$2; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$3; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesContent$4; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesScreen$1; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesScreen$2; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesScreen$3; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt$AttendancesScreen$4; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreenKt; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-1$1; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-2$1; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-3$1; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-4$1; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt$lambda-5$1; -Lcom/joeloewi/croissant/ui/navigation/main/attendances/screen/ComposableSingletons$AttendancesScreenKt; -Lcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$RedemptionCodesScreen; -Lcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$route$2$2; -Lcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination$route$2; -Lcom/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination; -Lcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$DeveloperInfoScreen; -Lcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$SettingsScreen; -Lcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$route$2$2; -Lcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination$route$2; -Lcom/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination; -Lcom/joeloewi/croissant/ui/theme/DpKt; -Lcom/joeloewi/croissant/ui/theme/ThemeKt$CroissantTheme$1; -Lcom/joeloewi/croissant/ui/theme/ThemeKt$CroissantTheme$2; -Lcom/joeloewi/croissant/ui/theme/ThemeKt; -Lcom/joeloewi/croissant/util/CompositionLocalsKt$LocalActivity$1; -Lcom/joeloewi/croissant/util/CompositionLocalsKt$LocalHourFormat$1; -Lcom/joeloewi/croissant/util/CompositionLocalsKt; -Lcom/joeloewi/croissant/util/CroissantPermission$AccessHoYoLABSession; -Lcom/joeloewi/croissant/util/CroissantPermission$PostNotifications; -Lcom/joeloewi/croissant/util/CroissantPermission; -Lcom/joeloewi/croissant/util/HoYoLABGameNamesKt; -Lcom/joeloewi/croissant/util/HourFormat; -Lcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1$$ExternalSyntheticLambda0; -Lcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1$invoke$$inlined$onDispose$1; -Lcom/joeloewi/croissant/util/LifecycleExtensionsKt$observeAsState$1; -Lcom/joeloewi/croissant/util/PowerManagerExtensionsKt$$ExternalSyntheticApiModelOutline0; -Lcom/joeloewi/croissant/util/RequireAppUpdateKt$RequireAppUpdate$1; -Lcom/joeloewi/croissant/util/RequireAppUpdateKt$RequireAppUpdate$2; -Lcom/joeloewi/croissant/util/RequireAppUpdateKt; -Lcom/joeloewi/croissant/util/RootChecker$runtime$2; -Lcom/joeloewi/croissant/util/RootChecker; -Lcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1$1; -Lcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1$timeChangedReceiver$1; -Lcom/joeloewi/croissant/util/TimeChangedFlowKt$is24HourFormat$1; -Lcom/joeloewi/croissant/viewmodel/AttendancesViewModel; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$$ExternalSyntheticApiModelOutline0; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$2; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$1; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$4; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$appUpdateResultState$5; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1$2$1; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1$2; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$filter$1; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1$2$1; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1$2; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$1; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2$2$1; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2$2; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$2; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3$2$1; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3$2; -Lcom/joeloewi/croissant/viewmodel/MainViewModel$special$$inlined$map$3; -Lcom/joeloewi/croissant/viewmodel/MainViewModel; -Lcom/joeloewi/data/Settings$Builder; -Lcom/joeloewi/data/Settings; -Lcom/joeloewi/data/datastore/DataStoresKt; -Lcom/joeloewi/data/datastore/SettingsSerializer; -Lcom/joeloewi/data/db/CroissantDatabase; -Lcom/joeloewi/data/db/CroissantDatabase_Impl$1; -Lcom/joeloewi/data/db/CroissantDatabase_Impl; -Lcom/joeloewi/data/db/dao/AccountDao; -Lcom/joeloewi/data/db/dao/AttendanceDao; -Lcom/joeloewi/data/db/dao/AttendanceDao_Impl$10; -Lcom/joeloewi/data/db/dao/AttendanceDao_Impl$1; -Lcom/joeloewi/data/db/dao/AttendanceDao_Impl$2; -Lcom/joeloewi/data/db/dao/AttendanceDao_Impl$3; -Lcom/joeloewi/data/db/dao/AttendanceDao_Impl; -Lcom/joeloewi/data/db/dao/FailureLogDao; -Lcom/joeloewi/data/db/dao/GameDao; -Lcom/joeloewi/data/db/dao/ResinStatusWidgetDao; -Lcom/joeloewi/data/db/dao/SuccessLogDao; -Lcom/joeloewi/data/db/dao/WorkerExecutionLogDao; -Lcom/joeloewi/data/mapper/AttendanceMapper; -Lcom/joeloewi/data/mapper/AttendanceWithGamesMapper; -Lcom/joeloewi/data/mapper/GameMapper; -Lcom/joeloewi/data/mapper/SettingsMapper; -Lcom/joeloewi/data/repository/AttendanceRepositoryImpl; -Lcom/joeloewi/data/repository/SettingsRepositoryImpl; -Lcom/joeloewi/data/repository/local/AttendanceDataSource; -Lcom/joeloewi/data/repository/local/SettingsDataSource; -Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1$2$1; -Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1$2; -Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$$inlined$map$1; -Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$1; -Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl$getAllPaged$2$1; -Lcom/joeloewi/data/repository/local/impl/AttendanceDataSourceImpl; -Lcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1$2$1; -Lcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1$2; -Lcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl$getSettings$$inlined$map$1; -Lcom/joeloewi/data/repository/local/impl/SettingsDateSourceImpl; -Lcom/joeloewi/domain/common/LoggableWorker; -Lcom/joeloewi/domain/entity/Settings; -Lcom/joeloewi/domain/repository/AttendanceRepository; -Lcom/joeloewi/domain/repository/SettingsRepository; -Lcom/joeloewi/domain/usecase/AttendanceUseCase$Delete; -Lcom/joeloewi/domain/usecase/AttendanceUseCase$GetAllPaged; -Lcom/joeloewi/domain/usecase/AttendanceUseCase; -Lcom/joeloewi/domain/usecase/SettingsUseCase$GetSettings; -Lcom/joeloewi/domain/usecase/SettingsUseCase$SetIsFirstLaunch; -Lcom/joeloewi/domain/usecase/SettingsUseCase; -Lcom/squareup/moshi/JsonScope; -Ldagger/hilt/EntryPoints; -Ldagger/hilt/android/ActivityRetainedLifecycle; -Ldagger/hilt/android/components/ActivityRetainedComponent; -Ldagger/hilt/android/internal/Contexts; -Ldagger/hilt/android/internal/ThreadUtil; -Ldagger/hilt/android/internal/builders/ViewModelComponentBuilder; -Ldagger/hilt/android/internal/lifecycle/DefaultViewModelFactories$ActivityEntryPoint; -Ldagger/hilt/android/internal/lifecycle/DefaultViewModelFactories$InternalFactoryFactory; -Ldagger/hilt/android/internal/lifecycle/DefaultViewModelFactories; -Ldagger/hilt/android/internal/lifecycle/HiltViewModelFactory$1; -Ldagger/hilt/android/internal/lifecycle/HiltViewModelFactory$ActivityCreatorEntryPoint; -Ldagger/hilt/android/internal/lifecycle/HiltViewModelFactory$ViewModelFactoriesEntryPoint; -Ldagger/hilt/android/internal/lifecycle/HiltViewModelFactory; -Ldagger/hilt/android/internal/lifecycle/HiltWrapper_HiltViewModelFactory_ActivityCreatorEntryPoint; -Ldagger/hilt/android/internal/managers/ActivityComponentManager$ActivityComponentBuilderEntryPoint; -Ldagger/hilt/android/internal/managers/ActivityComponentManager; -Ldagger/hilt/android/internal/managers/ActivityRetainedComponentManager$1; -Ldagger/hilt/android/internal/managers/ActivityRetainedComponentManager$ActivityRetainedComponentBuilderEntryPoint; -Ldagger/hilt/android/internal/managers/ActivityRetainedComponentManager$ActivityRetainedComponentViewModel; -Ldagger/hilt/android/internal/managers/ActivityRetainedComponentManager$ActivityRetainedLifecycleEntryPoint; -Ldagger/hilt/android/internal/managers/ActivityRetainedComponentManager$Lifecycle; -Ldagger/hilt/android/internal/managers/ActivityRetainedComponentManager; -Ldagger/hilt/android/internal/managers/ApplicationComponentManager; -Ldagger/hilt/android/internal/managers/ComponentSupplier; -Ldagger/hilt/android/internal/managers/ServiceComponentManager$ServiceComponentBuilderEntryPoint; -Ldagger/hilt/android/internal/modules/ApplicationContextModule; -Ldagger/hilt/android/internal/modules/ApplicationContextModule_ProvideApplicationFactory; -Ldagger/hilt/internal/GeneratedComponent; -Ldagger/hilt/internal/GeneratedComponentManager; -Ldagger/internal/DaggerCollections; -Ldagger/internal/DoubleCheck; -Ldagger/internal/MapBuilder; -Ldagger/internal/SingleCheck; -Lj$/lang/a; -Lj$/sun/misc/a; -Lj$/sun/misc/b; -Lj$/time/Instant; -Lj$/time/LocalDateTime; -Lj$/time/OffsetDateTime; -Lj$/time/ZoneId; -Lj$/time/ZoneOffset; -Lj$/time/c; -Lj$/time/chrono/a; -Lj$/time/chrono/b; -Lj$/time/chrono/c; -Lj$/time/chrono/f; -Lj$/time/chrono/m; -Lj$/time/chrono/t; -Lj$/time/f; -Lj$/time/format/A; -Lj$/time/format/DateTimeFormatter; -Lj$/time/format/DateTimeFormatterBuilder; -Lj$/time/format/SignStyle; -Lj$/time/format/a; -Lj$/time/format/b; -Lj$/time/format/c; -Lj$/time/format/d; -Lj$/time/format/e; -Lj$/time/format/f; -Lj$/time/format/g; -Lj$/time/format/h; -Lj$/time/format/i; -Lj$/time/format/j; -Lj$/time/format/l; -Lj$/time/format/m; -Lj$/time/format/p; -Lj$/time/format/q; -Lj$/time/format/s; -Lj$/time/format/v; -Lj$/time/format/w; -Lj$/time/format/x; -Lj$/time/format/y; -Lj$/time/h; -Lj$/time/i; -Lj$/time/l; -Lj$/time/temporal/ChronoField; -Lj$/time/temporal/TemporalAccessor; -Lj$/time/temporal/TemporalField; -Lj$/time/temporal/a; -Lj$/time/temporal/c; -Lj$/time/temporal/d; -Lj$/time/temporal/e; -Lj$/time/temporal/f; -Lj$/time/temporal/g; -Lj$/time/temporal/h; -Lj$/time/temporal/i; -Lj$/time/temporal/j; -Lj$/time/temporal/k; -Lj$/time/temporal/l; -Lj$/time/temporal/m; -Lj$/time/temporal/o; -Lj$/time/temporal/p; -Lj$/time/temporal/q; -Lj$/time/temporal/r; -Lj$/time/temporal/t; -Lj$/time/zone/b; -Lj$/time/zone/d; -Lj$/time/zone/e; -Lj$/time/zone/f; -Lj$/util/Collection; -Lj$/util/DateRetargetClass; -Lj$/util/DesugarCollections; -Lj$/util/DesugarTimeZone; -Lj$/util/Iterator; -Lj$/util/List; -Lj$/util/Map; -Lj$/util/concurrent/ConcurrentHashMap; -Lj$/util/concurrent/ThreadLocalRandom; -Lj$/util/concurrent/a; -Lj$/util/concurrent/b; -Lj$/util/concurrent/c; -Lj$/util/concurrent/g; -Lj$/util/concurrent/h; -Lj$/util/concurrent/i; -Lj$/util/concurrent/l; -Lj$/util/concurrent/m; -Lj$/util/concurrent/o; -Lj$/util/concurrent/q; -Lj$/util/concurrent/v; -Lj$/util/concurrent/w; -Lj$/util/concurrent/x; -Lj$/util/f; -Ljavax/inject/Provider; -Lkotlin/ExceptionsKt; -Lkotlin/Function; -Lkotlin/KotlinVersion; -Lkotlin/Lazy; -Lkotlin/LazyKt__LazyJVMKt; -Lkotlin/Pair; -Lkotlin/Result$Failure; -Lkotlin/Result; -Lkotlin/ResultKt; -Lkotlin/SynchronizedLazyImpl; -Lkotlin/TuplesKt; -Lkotlin/UNINITIALIZED_VALUE; -Lkotlin/Unit; -Lkotlin/UnsafeLazyImpl; -Lkotlin/UnsignedKt; -Lkotlin/collections/AbstractCollection; -Lkotlin/collections/AbstractList$IteratorImpl; -Lkotlin/collections/AbstractList; -Lkotlin/collections/AbstractMap; -Lkotlin/collections/AbstractMutableList; -Lkotlin/collections/AbstractMutableMap; -Lkotlin/collections/AbstractSet; -Lkotlin/collections/ArrayDeque; -Lkotlin/collections/ArraysKt__ArraysKt; -Lkotlin/collections/ArraysKt___ArraysKt; -Lkotlin/collections/CollectionSystemProperties; -Lkotlin/collections/CollectionsKt__CollectionsKt; -Lkotlin/collections/CollectionsKt__IteratorsJVMKt; -Lkotlin/collections/CollectionsKt__MutableCollectionsJVMKt; -Lkotlin/collections/CollectionsKt__ReversedViewsKt; -Lkotlin/collections/CollectionsKt___CollectionsKt$asSequence$$inlined$Sequence$1; -Lkotlin/collections/CollectionsKt___CollectionsKt; -Lkotlin/collections/EmptyIterator; -Lkotlin/collections/EmptyList; -Lkotlin/collections/EmptyMap; -Lkotlin/collections/EmptySet; -Lkotlin/collections/IndexedValue; -Lkotlin/collections/IntIterator; -Lkotlin/collections/MapsKt__MapsJVMKt; -Lkotlin/collections/MapsKt___MapsJvmKt; -Lkotlin/collections/SetsKt; -Lkotlin/coroutines/AbstractCoroutineContextElement; -Lkotlin/coroutines/AbstractCoroutineContextKey; -Lkotlin/coroutines/CombinedContext; -Lkotlin/coroutines/Continuation; -Lkotlin/coroutines/ContinuationInterceptor$Key; -Lkotlin/coroutines/ContinuationInterceptor; -Lkotlin/coroutines/CoroutineContext$DefaultImpls; -Lkotlin/coroutines/CoroutineContext$Element$DefaultImpls; -Lkotlin/coroutines/CoroutineContext$Element; -Lkotlin/coroutines/CoroutineContext$Key; -Lkotlin/coroutines/CoroutineContext$plus$1; -Lkotlin/coroutines/CoroutineContext; -Lkotlin/coroutines/EmptyCoroutineContext; -Lkotlin/coroutines/SafeContinuation; -Lkotlin/coroutines/intrinsics/CoroutineSingletons; -Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$3; -Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$4; -Lkotlin/coroutines/jvm/internal/BaseContinuationImpl; -Lkotlin/coroutines/jvm/internal/CompletedContinuation; -Lkotlin/coroutines/jvm/internal/ContinuationImpl; -Lkotlin/coroutines/jvm/internal/CoroutineStackFrame; -Lkotlin/coroutines/jvm/internal/RestrictedContinuationImpl; -Lkotlin/coroutines/jvm/internal/RestrictedSuspendLambda; -Lkotlin/coroutines/jvm/internal/SuspendLambda; -Lkotlin/internal/PlatformImplementations; -Lkotlin/internal/PlatformImplementationsKt; -Lkotlin/internal/ProgressionUtilKt; -Lkotlin/internal/jdk7/JDK7PlatformImplementations; -Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion; -Lkotlin/internal/jdk8/JDK8PlatformImplementations; -Lkotlin/jvm/JvmClassMappingKt; -Lkotlin/jvm/functions/Function0; -Lkotlin/jvm/functions/Function10; -Lkotlin/jvm/functions/Function11; -Lkotlin/jvm/functions/Function12; -Lkotlin/jvm/functions/Function13; -Lkotlin/jvm/functions/Function14; -Lkotlin/jvm/functions/Function15; -Lkotlin/jvm/functions/Function16; -Lkotlin/jvm/functions/Function17; -Lkotlin/jvm/functions/Function18; -Lkotlin/jvm/functions/Function19; -Lkotlin/jvm/functions/Function1; -Lkotlin/jvm/functions/Function20; -Lkotlin/jvm/functions/Function21; -Lkotlin/jvm/functions/Function22; -Lkotlin/jvm/functions/Function2; -Lkotlin/jvm/functions/Function3; -Lkotlin/jvm/functions/Function4; -Lkotlin/jvm/functions/Function5; -Lkotlin/jvm/functions/Function6; -Lkotlin/jvm/functions/Function7; -Lkotlin/jvm/functions/Function8; -Lkotlin/jvm/functions/Function9; -Lkotlin/jvm/internal/CallableReference$NoReceiver; -Lkotlin/jvm/internal/CallableReference; -Lkotlin/jvm/internal/ClassBasedDeclarationContainer; -Lkotlin/jvm/internal/ClassReference; -Lkotlin/jvm/internal/CollectionToArray; -Lkotlin/jvm/internal/FunctionAdapter; -Lkotlin/jvm/internal/FunctionBase; -Lkotlin/jvm/internal/FunctionReference; -Lkotlin/jvm/internal/FunctionReferenceImpl; -Lkotlin/jvm/internal/Intrinsics$$ExternalSyntheticCheckNotZero0; -Lkotlin/jvm/internal/Intrinsics; -Lkotlin/jvm/internal/Lambda; -Lkotlin/jvm/internal/MutablePropertyReference1; -Lkotlin/jvm/internal/MutablePropertyReference1Impl; -Lkotlin/jvm/internal/MutablePropertyReference; -Lkotlin/jvm/internal/PropertyReference1; -Lkotlin/jvm/internal/PropertyReference1Impl; -Lkotlin/jvm/internal/PropertyReference; -Lkotlin/jvm/internal/Ref$BooleanRef; -Lkotlin/jvm/internal/Ref$FloatRef; -Lkotlin/jvm/internal/Ref$IntRef; -Lkotlin/jvm/internal/Ref$ObjectRef; -Lkotlin/jvm/internal/Reflection; -Lkotlin/jvm/internal/ReflectionFactory; -Lkotlin/jvm/internal/SpreadBuilder; -Lkotlin/jvm/internal/TypeIntrinsics; -Lkotlin/jvm/internal/markers/KMappedMarker; -Lkotlin/jvm/internal/markers/KMutableCollection; -Lkotlin/jvm/internal/markers/KMutableMap; -Lkotlin/math/MathKt; -Lkotlin/math/MathKt__MathJVMKt; -Lkotlin/random/AbstractPlatformRandom; -Lkotlin/random/Random$Default; -Lkotlin/random/Random; -Lkotlin/random/jdk8/PlatformThreadLocalRandom; -Lkotlin/ranges/ClosedRange; -Lkotlin/ranges/IntProgression; -Lkotlin/ranges/IntProgressionIterator; -Lkotlin/ranges/IntRange; -Lkotlin/ranges/RangesKt___RangesKt; -Lkotlin/reflect/KCallable; -Lkotlin/reflect/KClass; -Lkotlin/reflect/KFunction; -Lkotlin/reflect/KMutableProperty1; -Lkotlin/reflect/KProperty1; -Lkotlin/reflect/KProperty; -Lkotlin/sequences/ConstrainedOnceSequence; -Lkotlin/sequences/FilteringSequence$iterator$1; -Lkotlin/sequences/FilteringSequence; -Lkotlin/sequences/GeneratorSequence$iterator$1; -Lkotlin/sequences/GeneratorSequence; -Lkotlin/sequences/Sequence; -Lkotlin/sequences/SequenceBuilderIterator; -Lkotlin/sequences/SequenceScope; -Lkotlin/sequences/SequencesKt__SequencesJVMKt; -Lkotlin/sequences/SequencesKt__SequencesKt$asSequence$$inlined$Sequence$1; -Lkotlin/sequences/SequencesKt__SequencesKt$generateSequence$2; -Lkotlin/sequences/SequencesKt__SequencesKt; -Lkotlin/sequences/SequencesKt___SequencesJvmKt; -Lkotlin/sequences/SequencesKt___SequencesKt$filterNotNull$1; -Lkotlin/sequences/SequencesKt___SequencesKt; -Lkotlin/sequences/TransformingSequence$iterator$1; -Lkotlin/sequences/TransformingSequence; -Lkotlin/text/CharsKt__CharKt; -Lkotlin/text/StringsKt__AppendableKt; -Lkotlin/text/StringsKt__IndentKt; -Lkotlin/text/StringsKt__RegexExtensionsKt; -Lkotlin/text/StringsKt__StringBuilderKt; -Lkotlin/text/StringsKt__StringNumberConversionsKt; -Lkotlin/text/StringsKt__StringsJVMKt; -Lkotlin/text/StringsKt__StringsKt; -Lkotlinx/collections/immutable/ExtensionsKt; -Lkotlinx/collections/immutable/ImmutableList; -Lkotlinx/collections/immutable/PersistentList$Builder; -Lkotlinx/collections/immutable/PersistentList; -Lkotlinx/collections/immutable/implementations/immutableList/AbstractListIterator; -Lkotlinx/collections/immutable/implementations/immutableList/AbstractPersistentList; -Lkotlinx/collections/immutable/implementations/immutableList/BufferIterator; -Lkotlinx/collections/immutable/implementations/immutableList/SmallPersistentVector; -Lkotlinx/collections/immutable/internal/ListImplementation; -Lkotlinx/coroutines/AbstractCoroutine; -Lkotlinx/coroutines/Active; -Lkotlinx/coroutines/BeforeResumeCancelHandler; -Lkotlinx/coroutines/BlockingCoroutine; -Lkotlinx/coroutines/BlockingEventLoop; -Lkotlinx/coroutines/BuildersKt; -Lkotlinx/coroutines/CancelHandler; -Lkotlinx/coroutines/CancelHandlerBase; -Lkotlinx/coroutines/CancellableContinuation; -Lkotlinx/coroutines/CancellableContinuationImpl; -Lkotlinx/coroutines/CancellableContinuationImplKt; -Lkotlinx/coroutines/CancellableContinuationKt; -Lkotlinx/coroutines/CancelledContinuation; -Lkotlinx/coroutines/ChildContinuation; -Lkotlinx/coroutines/ChildHandle; -Lkotlinx/coroutines/ChildHandleNode; -Lkotlinx/coroutines/ChildJob; -Lkotlinx/coroutines/CompletableDeferred; -Lkotlinx/coroutines/CompletableDeferredImpl; -Lkotlinx/coroutines/CompletableJob; -Lkotlinx/coroutines/CompletedContinuation; -Lkotlinx/coroutines/CompletedExceptionally; -Lkotlinx/coroutines/CompletedWithCancellation; -Lkotlinx/coroutines/CompletionHandlerBase; -Lkotlinx/coroutines/CompletionHandlerException; -Lkotlinx/coroutines/CompletionStateKt; -Lkotlinx/coroutines/CopyableThreadContextElement; -Lkotlinx/coroutines/CoroutineContextKt$foldCopies$1; -Lkotlinx/coroutines/CoroutineContextKt$foldCopies$folded$1; -Lkotlinx/coroutines/CoroutineContextKt$hasCopyableElements$1; -Lkotlinx/coroutines/CoroutineContextKt; -Lkotlinx/coroutines/CoroutineDispatcher$Key$1; -Lkotlinx/coroutines/CoroutineDispatcher$Key; -Lkotlinx/coroutines/CoroutineDispatcher; -Lkotlinx/coroutines/CoroutineExceptionHandler$Key; -Lkotlinx/coroutines/CoroutineExceptionHandler; -Lkotlinx/coroutines/CoroutineScope; -Lkotlinx/coroutines/CoroutineScopeKt; -Lkotlinx/coroutines/DefaultExecutor; -Lkotlinx/coroutines/DefaultExecutorKt; -Lkotlinx/coroutines/Deferred; -Lkotlinx/coroutines/DeferredCoroutine; -Lkotlinx/coroutines/Delay; -Lkotlinx/coroutines/DelayKt; -Lkotlinx/coroutines/DispatchedCoroutine; -Lkotlinx/coroutines/DispatchedTask; -Lkotlinx/coroutines/DispatchedTaskKt; -Lkotlinx/coroutines/DispatcherExecutor; -Lkotlinx/coroutines/Dispatchers; -Lkotlinx/coroutines/DisposableHandle; -Lkotlinx/coroutines/DisposeOnCancel; -Lkotlinx/coroutines/Empty; -Lkotlinx/coroutines/EventLoop; -Lkotlinx/coroutines/EventLoopImplBase$DelayedTaskQueue; -Lkotlinx/coroutines/EventLoopImplBase; -Lkotlinx/coroutines/EventLoopImplPlatform; -Lkotlinx/coroutines/ExecutorCoroutineDispatcher; -Lkotlinx/coroutines/ExecutorCoroutineDispatcherImpl; -Lkotlinx/coroutines/GlobalScope; -Lkotlinx/coroutines/InactiveNodeList; -Lkotlinx/coroutines/Incomplete; -Lkotlinx/coroutines/IncompleteStateBox; -Lkotlinx/coroutines/InvokeOnCancel; -Lkotlinx/coroutines/InvokeOnCancelling; -Lkotlinx/coroutines/InvokeOnCompletion; -Lkotlinx/coroutines/Job$DefaultImpls; -Lkotlinx/coroutines/Job$Key; -Lkotlinx/coroutines/Job; -Lkotlinx/coroutines/JobCancellationException; -Lkotlinx/coroutines/JobCancellingNode; -Lkotlinx/coroutines/JobImpl; -Lkotlinx/coroutines/JobKt; -Lkotlinx/coroutines/JobNode; -Lkotlinx/coroutines/JobSupport$AwaitContinuation; -Lkotlinx/coroutines/JobSupport$ChildCompletion; -Lkotlinx/coroutines/JobSupport$Finishing; -Lkotlinx/coroutines/JobSupport$addLastAtomic$$inlined$addLastIf$1; -Lkotlinx/coroutines/JobSupport; -Lkotlinx/coroutines/JobSupportKt; -Lkotlinx/coroutines/LazyStandaloneCoroutine; -Lkotlinx/coroutines/MainCoroutineDispatcher; -Lkotlinx/coroutines/NodeList; -Lkotlinx/coroutines/NonDisposableHandle; -Lkotlinx/coroutines/NotCompleted; -Lkotlinx/coroutines/ParentJob; -Lkotlinx/coroutines/ResumeAwaitOnCompletion; -Lkotlinx/coroutines/ResumeOnCompletion; -Lkotlinx/coroutines/StandaloneCoroutine; -Lkotlinx/coroutines/SupervisorJobImpl; -Lkotlinx/coroutines/SupervisorKt; -Lkotlinx/coroutines/ThreadContextElement; -Lkotlinx/coroutines/ThreadLocalEventLoop; -Lkotlinx/coroutines/TimeoutCancellationException; -Lkotlinx/coroutines/Unconfined; -Lkotlinx/coroutines/UndispatchedCoroutine; -Lkotlinx/coroutines/UndispatchedMarker; -Lkotlinx/coroutines/android/AndroidDispatcherFactory; -Lkotlinx/coroutines/android/HandlerContext; -Lkotlinx/coroutines/android/HandlerDispatcher; -Lkotlinx/coroutines/android/HandlerDispatcherKt; -Lkotlinx/coroutines/channels/AbstractChannel$Itr; -Lkotlinx/coroutines/channels/AbstractChannel$ReceiveElement; -Lkotlinx/coroutines/channels/AbstractChannel$ReceiveElementWithUndeliveredHandler; -Lkotlinx/coroutines/channels/AbstractChannel$ReceiveHasNext; -Lkotlinx/coroutines/channels/AbstractChannel$RemoveReceiveOnCancel; -Lkotlinx/coroutines/channels/AbstractChannel$enqueueReceiveInternal$$inlined$addLastIfPrevAndIf$1; -Lkotlinx/coroutines/channels/AbstractChannel$receiveCatching$1; -Lkotlinx/coroutines/channels/AbstractChannel; -Lkotlinx/coroutines/channels/AbstractChannelKt; -Lkotlinx/coroutines/channels/AbstractSendChannel$SendBuffered; -Lkotlinx/coroutines/channels/AbstractSendChannel; -Lkotlinx/coroutines/channels/ArrayChannel; -Lkotlinx/coroutines/channels/BufferOverflow; -Lkotlinx/coroutines/channels/Channel$Factory; -Lkotlinx/coroutines/channels/Channel; -Lkotlinx/coroutines/channels/ChannelCoroutine; -Lkotlinx/coroutines/channels/ChannelIterator; -Lkotlinx/coroutines/channels/ChannelKt; -Lkotlinx/coroutines/channels/ChannelResult$Closed; -Lkotlinx/coroutines/channels/ChannelResult$Failed; -Lkotlinx/coroutines/channels/ChannelResult; -Lkotlinx/coroutines/channels/ChannelsKt; -Lkotlinx/coroutines/channels/Closed; -Lkotlinx/coroutines/channels/ClosedSendChannelException; -Lkotlinx/coroutines/channels/ConflatedChannel; -Lkotlinx/coroutines/channels/LinkedListChannel; -Lkotlinx/coroutines/channels/ProduceKt$awaitClose$1; -Lkotlinx/coroutines/channels/ProduceKt$awaitClose$4$1; -Lkotlinx/coroutines/channels/ProduceKt; -Lkotlinx/coroutines/channels/ProducerCoroutine; -Lkotlinx/coroutines/channels/ProducerScope; -Lkotlinx/coroutines/channels/Receive; -Lkotlinx/coroutines/channels/ReceiveChannel; -Lkotlinx/coroutines/channels/ReceiveOrClosed; -Lkotlinx/coroutines/channels/RendezvousChannel; -Lkotlinx/coroutines/channels/Send; -Lkotlinx/coroutines/channels/SendChannel; -Lkotlinx/coroutines/flow/AbstractFlow$collect$1; -Lkotlinx/coroutines/flow/AbstractFlow; -Lkotlinx/coroutines/flow/CallbackFlowBuilder$collectTo$1; -Lkotlinx/coroutines/flow/CallbackFlowBuilder; -Lkotlinx/coroutines/flow/ChannelAsFlow; -Lkotlinx/coroutines/flow/ChannelFlowBuilder; -Lkotlinx/coroutines/flow/DistinctFlowImpl$collect$2$emit$1; -Lkotlinx/coroutines/flow/DistinctFlowImpl$collect$2; -Lkotlinx/coroutines/flow/DistinctFlowImpl; -Lkotlinx/coroutines/flow/Flow; -Lkotlinx/coroutines/flow/FlowCollector; -Lkotlinx/coroutines/flow/FlowKt; -Lkotlinx/coroutines/flow/FlowKt__BuildersKt$flowOf$$inlined$unsafeFlow$1$1; -Lkotlinx/coroutines/flow/FlowKt__BuildersKt$flowOf$$inlined$unsafeFlow$1; -Lkotlinx/coroutines/flow/FlowKt__ChannelsKt$emitAllImpl$1; -Lkotlinx/coroutines/flow/FlowKt__ChannelsKt; -Lkotlinx/coroutines/flow/FlowKt__CollectKt$launchIn$1; -Lkotlinx/coroutines/flow/FlowKt__DistinctKt$defaultAreEquivalent$1; -Lkotlinx/coroutines/flow/FlowKt__DistinctKt$defaultKeySelector$1; -Lkotlinx/coroutines/flow/FlowKt__EmittersKt$invokeSafely$1; -Lkotlinx/coroutines/flow/FlowKt__EmittersKt$onCompletion$$inlined$unsafeFlow$1$1; -Lkotlinx/coroutines/flow/FlowKt__EmittersKt$onCompletion$$inlined$unsafeFlow$1; -Lkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1$1; -Lkotlinx/coroutines/flow/FlowKt__EmittersKt$onStart$$inlined$unsafeFlow$1; -Lkotlinx/coroutines/flow/FlowKt__EmittersKt; -Lkotlinx/coroutines/flow/FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1$1; -Lkotlinx/coroutines/flow/FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1; -Lkotlinx/coroutines/flow/FlowKt__ErrorsKt$catchImpl$1; -Lkotlinx/coroutines/flow/FlowKt__ErrorsKt$catchImpl$2; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$$inlined$unsafeFlow$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$1$1$emit$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$1$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$emitAbort$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$take$$inlined$unsafeFlow$1$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$take$$inlined$unsafeFlow$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$take$2$1$emit$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$take$2$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$$inlined$unsafeFlow$1$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$$inlined$unsafeFlow$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$lambda-6$$inlined$collectWhile$1$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$lambda-6$$inlined$collectWhile$1; -Lkotlinx/coroutines/flow/FlowKt__LimitKt; -Lkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2$1; -Lkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2; -Lkotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1; -Lkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$$inlined$unsafeFlow$1; -Lkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1$emit$1; -Lkotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1; -Lkotlinx/coroutines/flow/FlowKt__MergeKt$mapLatest$1; -Lkotlinx/coroutines/flow/FlowKt__MergeKt; -Lkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$1; -Lkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$2$1; -Lkotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$2; -Lkotlinx/coroutines/flow/FlowKt__ReduceKt$first$1; -Lkotlinx/coroutines/flow/FlowKt__ReduceKt$first$3; -Lkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$1; -Lkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$2; -Lkotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1; -Lkotlinx/coroutines/flow/FlowKt__ShareKt; -Lkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1$2$1; -Lkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1$2; -Lkotlinx/coroutines/flow/FlowKt__TransformKt$filterNotNull$$inlined$unsafeTransform$1; -Lkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2$1; -Lkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2; -Lkotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1; -Lkotlinx/coroutines/flow/FlowKt__TransformKt$withIndex$1$1$emit$1; -Lkotlinx/coroutines/flow/FlowKt__TransformKt$withIndex$1$1; -Lkotlinx/coroutines/flow/MutableSharedFlow; -Lkotlinx/coroutines/flow/MutableStateFlow; -Lkotlinx/coroutines/flow/ReadonlySharedFlow; -Lkotlinx/coroutines/flow/ReadonlyStateFlow; -Lkotlinx/coroutines/flow/SafeFlow; -Lkotlinx/coroutines/flow/SharedFlow; -Lkotlinx/coroutines/flow/SharedFlowImpl$Emitter; -Lkotlinx/coroutines/flow/SharedFlowImpl$collect$1; -Lkotlinx/coroutines/flow/SharedFlowImpl; -Lkotlinx/coroutines/flow/SharedFlowSlot; -Lkotlinx/coroutines/flow/SharingCommand; -Lkotlinx/coroutines/flow/SharingConfig; -Lkotlinx/coroutines/flow/SharingStarted$Companion; -Lkotlinx/coroutines/flow/SharingStarted; -Lkotlinx/coroutines/flow/StartedEagerly; -Lkotlinx/coroutines/flow/StartedLazily; -Lkotlinx/coroutines/flow/StartedWhileSubscribed$command$1; -Lkotlinx/coroutines/flow/StartedWhileSubscribed$command$2; -Lkotlinx/coroutines/flow/StartedWhileSubscribed; -Lkotlinx/coroutines/flow/StateFlow; -Lkotlinx/coroutines/flow/StateFlowImpl$collect$1; -Lkotlinx/coroutines/flow/StateFlowImpl; -Lkotlinx/coroutines/flow/StateFlowKt; -Lkotlinx/coroutines/flow/StateFlowSlot; -Lkotlinx/coroutines/flow/SubscribedFlowCollector$onSubscription$1; -Lkotlinx/coroutines/flow/SubscribedFlowCollector; -Lkotlinx/coroutines/flow/SubscribedSharedFlow$collect$1; -Lkotlinx/coroutines/flow/SubscribedSharedFlow; -Lkotlinx/coroutines/flow/ThrowingCollector; -Lkotlinx/coroutines/flow/internal/AbortFlowException; -Lkotlinx/coroutines/flow/internal/AbstractSharedFlow; -Lkotlinx/coroutines/flow/internal/AbstractSharedFlowKt; -Lkotlinx/coroutines/flow/internal/AbstractSharedFlowSlot; -Lkotlinx/coroutines/flow/internal/ChannelFlow$collect$2; -Lkotlinx/coroutines/flow/internal/ChannelFlow$collectToFun$1; -Lkotlinx/coroutines/flow/internal/ChannelFlow; -Lkotlinx/coroutines/flow/internal/ChannelFlowOperator; -Lkotlinx/coroutines/flow/internal/ChannelFlowOperatorImpl; -Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1$2; -Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1$emit$1; -Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1; -Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3; -Lkotlinx/coroutines/flow/internal/ChannelFlowTransformLatest; -Lkotlinx/coroutines/flow/internal/ChildCancelledException; -Lkotlinx/coroutines/flow/internal/DownstreamExceptionContext; -Lkotlinx/coroutines/flow/internal/FusibleFlow$DefaultImpls; -Lkotlinx/coroutines/flow/internal/FusibleFlow; -Lkotlinx/coroutines/flow/internal/NoOpContinuation; -Lkotlinx/coroutines/flow/internal/NopCollector; -Lkotlinx/coroutines/flow/internal/NullSurrogateKt; -Lkotlinx/coroutines/flow/internal/SafeCollector$collectContextSize$1; -Lkotlinx/coroutines/flow/internal/SafeCollector; -Lkotlinx/coroutines/flow/internal/SafeCollectorKt$emitFun$1; -Lkotlinx/coroutines/flow/internal/SafeCollectorKt; -Lkotlinx/coroutines/flow/internal/SafeCollector_commonKt$checkContext$result$1; -Lkotlinx/coroutines/flow/internal/SendingCollector; -Lkotlinx/coroutines/flow/internal/SubscriptionCountStateFlow; -Lkotlinx/coroutines/internal/ArrayQueue; -Lkotlinx/coroutines/internal/AtomicKt; -Lkotlinx/coroutines/internal/AtomicOp; -Lkotlinx/coroutines/internal/ConcurrentKt; -Lkotlinx/coroutines/internal/ConcurrentLinkedListNode; -Lkotlinx/coroutines/internal/ContextScope; -Lkotlinx/coroutines/internal/DispatchedContinuation; -Lkotlinx/coroutines/internal/DispatchedContinuationKt; -Lkotlinx/coroutines/internal/InlineList; -Lkotlinx/coroutines/internal/LimitedDispatcher; -Lkotlinx/coroutines/internal/LimitedDispatcherKt; -Lkotlinx/coroutines/internal/LockFreeLinkedListHead; -Lkotlinx/coroutines/internal/LockFreeLinkedListNode$CondAddOp; -Lkotlinx/coroutines/internal/LockFreeLinkedListNode; -Lkotlinx/coroutines/internal/LockFreeTaskQueue; -Lkotlinx/coroutines/internal/LockFreeTaskQueueCore$Placeholder; -Lkotlinx/coroutines/internal/LockFreeTaskQueueCore; -Lkotlinx/coroutines/internal/MainDispatcherFactory; -Lkotlinx/coroutines/internal/MainDispatcherLoader$$ExternalSyntheticServiceLoad0; -Lkotlinx/coroutines/internal/MainDispatcherLoader; -Lkotlinx/coroutines/internal/OnUndeliveredElementKt$bindCancellationFun$1; -Lkotlinx/coroutines/internal/OnUndeliveredElementKt; -Lkotlinx/coroutines/internal/OpDescriptor; -Lkotlinx/coroutines/internal/Removed; -Lkotlinx/coroutines/internal/ResizableAtomicArray; -Lkotlinx/coroutines/internal/ScopeCoroutine; -Lkotlinx/coroutines/internal/Segment; -Lkotlinx/coroutines/internal/StackTraceRecoveryKt; -Lkotlinx/coroutines/internal/Symbol; -Lkotlinx/coroutines/internal/SystemPropsKt; -Lkotlinx/coroutines/internal/SystemPropsKt__SystemPropsKt; -Lkotlinx/coroutines/internal/ThreadContextKt$countAll$1; -Lkotlinx/coroutines/internal/ThreadContextKt$findOne$1; -Lkotlinx/coroutines/internal/ThreadContextKt; -Lkotlinx/coroutines/internal/ThreadLocalElement; -Lkotlinx/coroutines/internal/ThreadLocalKey; -Lkotlinx/coroutines/internal/ThreadSafeHeap; -Lkotlinx/coroutines/internal/ThreadState; -Lkotlinx/coroutines/intrinsics/UndispatchedKt; -Lkotlinx/coroutines/scheduling/CoroutineScheduler$Worker; -Lkotlinx/coroutines/scheduling/CoroutineScheduler; -Lkotlinx/coroutines/scheduling/DefaultIoScheduler; -Lkotlinx/coroutines/scheduling/DefaultScheduler; -Lkotlinx/coroutines/scheduling/GlobalQueue; -Lkotlinx/coroutines/scheduling/NanoTimeSource; -Lkotlinx/coroutines/scheduling/SchedulerCoroutineDispatcher; -Lkotlinx/coroutines/scheduling/Task; -Lkotlinx/coroutines/scheduling/TaskContext; -Lkotlinx/coroutines/scheduling/TaskContextImpl; -Lkotlinx/coroutines/scheduling/TaskImpl; -Lkotlinx/coroutines/scheduling/TasksKt; -Lkotlinx/coroutines/scheduling/UnlimitedIoScheduler; -Lkotlinx/coroutines/scheduling/WorkQueue; -Lkotlinx/coroutines/sync/Empty; -Lkotlinx/coroutines/sync/Mutex; -Lkotlinx/coroutines/sync/MutexImpl; -Lkotlinx/coroutines/sync/MutexKt; -Lkotlinx/coroutines/sync/Semaphore; -Lkotlinx/coroutines/sync/SemaphoreImpl$onCancellationRelease$1; -Lkotlinx/coroutines/sync/SemaphoreImpl; -Lkotlinx/coroutines/sync/SemaphoreKt; -Lkotlinx/coroutines/sync/SemaphoreSegment; -Lokhttp3/CookieJar$Companion$NoCookies; -Lokhttp3/CookieJar; -Lokhttp3/Headers$Builder; -Lokhttp3/Headers; -Lokhttp3/HttpUrl; -Lokhttp3/internal/_ChallengeCommonKt; -Lokhttp3/internal/http2/PushObserver; -Lorg/jsoup/SerializationException; -Lorg/jsoup/internal/Normalizer; -PLandroidx/profileinstaller/ProfileInstallReceiver$$ExternalSyntheticLambda0;->()V -PLandroidx/profileinstaller/ProfileInstaller$1;->onResultReceived(ILjava/lang/Object;)V -PLandroidx/profileinstaller/ProfileInstaller;->writeProfile(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroidx/profileinstaller/ProfileInstaller$DiagnosticsCallback;Z)V -PLandroidx/profileinstaller/ProfileInstallerInitializer$$ExternalSyntheticLambda1;->run()V -PLandroidx/profileinstaller/ProfileInstallerInitializer$$ExternalSyntheticLambda2;->(Landroid/content/Context;)V -PLandroidx/profileinstaller/ProfileInstallerInitializer$$ExternalSyntheticLambda2;->run()V -PLcom/google/android/gms/common/internal/GmsClientSupervisor;->zzb(Ljava/lang/String;Ljava/lang/String;ILcom/google/android/gms/common/internal/zze;Z)V -PLcom/google/android/gms/common/internal/zzn;->equals(Ljava/lang/Object;)Z -PLcom/google/android/gms/common/stats/ConnectionTracker;->unbindService(Landroid/content/Context;Landroid/content/ServiceConnection;)V -PLcom/google/android/gms/measurement/internal/zzao;->run()V -PLcom/google/android/gms/measurement/internal/zzfy;->zzaw()Lcom/google/android/gms/measurement/internal/zzab; -PLcom/google/android/gms/measurement/internal/zzjc;->zzc()V -PLcom/google/android/gms/measurement/internal/zzjs;->zzs$2()V diff --git a/app/src/main/java/com/joeloewi/croissant/MainActivity.kt b/app/src/main/java/com/joeloewi/croissant/MainActivity.kt deleted file mode 100644 index 854455d0..00000000 --- a/app/src/main/java/com/joeloewi/croissant/MainActivity.kt +++ /dev/null @@ -1,494 +0,0 @@ -package com.joeloewi.croissant - -import android.content.Intent -import android.net.Uri -import android.os.Build -import android.os.Bundle -import android.provider.Settings -import androidx.activity.compose.setContent -import androidx.activity.viewModels -import androidx.appcompat.app.AppCompatActivity -import androidx.appcompat.app.AppCompatDelegate -import androidx.compose.animation.animateContentSize -import androidx.compose.foundation.layout.* -import androidx.compose.foundation.shape.CornerSize -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Warning -import androidx.compose.material3.* -import androidx.compose.runtime.* -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalLifecycleOwner -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.window.DialogProperties -import androidx.core.os.bundleOf -import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen -import androidx.core.view.WindowCompat -import androidx.hilt.navigation.compose.hiltViewModel -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.repeatOnLifecycle -import androidx.navigation.* -import androidx.navigation.compose.NavHost -import androidx.navigation.compose.composable -import androidx.navigation.compose.navigation -import com.google.accompanist.navigation.material.ExperimentalMaterialNavigationApi -import com.google.accompanist.navigation.material.ModalBottomSheetLayout -import com.google.accompanist.navigation.material.bottomSheet -import com.google.accompanist.permissions.ExperimentalPermissionsApi -import com.google.android.material.color.DynamicColors -import com.google.firebase.analytics.FirebaseAnalytics -import com.joeloewi.croissant.state.CroissantAppState -import com.joeloewi.croissant.state.rememberCroissantAppState -import com.joeloewi.croissant.state.rememberMainState -import com.joeloewi.croissant.ui.navigation.main.CroissantNavigation -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.ui.navigation.main.attendances.screen.* -import com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance.CreateAttendanceScreen -import com.joeloewi.croissant.ui.navigation.main.firstlaunch.FirstLaunchDestination -import com.joeloewi.croissant.ui.navigation.main.firstlaunch.screen.FirstLaunchScreen -import com.joeloewi.croissant.ui.navigation.main.redemptioncodes.RedemptionCodesDestination -import com.joeloewi.croissant.ui.navigation.main.redemptioncodes.screen.RedemptionCodesScreen -import com.joeloewi.croissant.ui.navigation.main.settings.SettingsDestination -import com.joeloewi.croissant.ui.navigation.main.settings.screen.DeveloperInfoScreen -import com.joeloewi.croissant.ui.navigation.main.settings.screen.SettingsScreen -import com.joeloewi.croissant.ui.theme.CroissantTheme -import com.joeloewi.croissant.util.* -import com.joeloewi.croissant.viewmodel.* -import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.flow.collect -import kotlinx.coroutines.flow.onEach -import kotlinx.coroutines.launch - -@AndroidEntryPoint -class MainActivity : AppCompatActivity() { - private val _mainActivityViewModel: MainActivityViewModel by viewModels() - - override fun onCreate(savedInstanceState: Bundle?) { - installSplashScreen() - super.onCreate(savedInstanceState) - - WindowCompat.setDecorFitsSystemWindows(window, false) - DynamicColors.applyToActivityIfAvailable(this) - - lifecycleScope.launch { - lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) { - _mainActivityViewModel.darkThemeEnabled.onEach { darkThemeEnabled -> - if (darkThemeEnabled) { - AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) - } else { - AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) - } - }.collect() - } - } - - setContent { - CroissantTheme( - window = window - ) { - val mainState = rememberMainState(mainActivityViewModel = _mainActivityViewModel) - - CompositionLocalProvider( - LocalActivity provides this, - LocalHourFormat provides mainState.hourFormat - ) { - RequireAppUpdate( - appUpdateResultState = mainState.appUpdateResultState - ) { - CroissantApp() - } - } - } - } - } -} - -@OptIn( - ExperimentalPermissionsApi::class, - ExperimentalMaterialApi::class, - ExperimentalMaterial3Api::class, - ExperimentalMaterialNavigationApi::class -) -@Composable -fun CroissantApp() { - val context = LocalContext.current - val activity = LocalActivity.current - val deepLinkUri = remember(context) { - Uri.Builder() - .scheme(context.getString(R.string.deep_link_scheme)) - .authority(context.packageName) - .build() - } - val snackbarHostState = remember { SnackbarHostState() } - val lifecycle by LocalLifecycleOwner.current.lifecycle.observeAsState() - val croissantAppState = rememberCroissantAppState() - val isDeviceRooted = croissantAppState.isDeviceRooted - val currentDestination = croissantAppState.currentDestination - - LaunchedEffect(currentDestination) { - FirebaseAnalytics.getInstance(context).logEvent( - FirebaseAnalytics.Event.SCREEN_VIEW, - bundleOf( - FirebaseAnalytics.Param.SCREEN_NAME to currentDestination?.route, - FirebaseAnalytics.Param.SCREEN_CLASS to activity::class.java.simpleName - ) - ) - } - - ModalBottomSheetLayout( - sheetShape = MaterialTheme.shapes.large.copy( - bottomEnd = CornerSize(0), - bottomStart = CornerSize(0) - ), - bottomSheetNavigator = croissantAppState.bottomSheetNavigator, - sheetBackgroundColor = MaterialTheme.colorScheme.surface, - sheetContentColor = contentColorFor(backgroundColor = MaterialTheme.colorScheme.surface), - scrimColor = MaterialTheme.colorScheme.scrim - ) { - Scaffold( - bottomBar = { - if (croissantAppState.isBottomNavigationBarVisible) { - CroissantBottomNavigationBar( - croissantAppState = croissantAppState, - ) - } - }, - contentWindowInsets = WindowInsets.systemBars.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Bottom) - ) { innerPadding -> - Column( - modifier = Modifier - .fillMaxSize() - .padding(innerPadding) - ) { - Row { - if (croissantAppState.isNavigationRailVisible) { - CroissantNavigationRail( - croissantAppState = croissantAppState - ) - } - CroissantNavHost( - modifier = Modifier.animateContentSize(), - navController = croissantAppState.navController, - snackbarHostState = snackbarHostState, - deepLinkUri = { deepLinkUri } - ) - } - } - - if (isDeviceRooted) { - AlertDialog( - onDismissRequest = {}, - confirmButton = { - TextButton( - onClick = { - activity.finish() - } - ) { - Text(text = stringResource(id = R.string.confirm)) - } - }, - icon = { - Icon( - imageVector = Icons.Default.Warning, - contentDescription = Icons.Default.Warning.name - ) - }, - title = { - Text(text = stringResource(id = R.string.caution)) - }, - text = { - Text( - text = stringResource(id = R.string.device_rooting_detected), - textAlign = TextAlign.Center - ) - }, - properties = DialogProperties( - dismissOnClickOutside = false, - dismissOnBackPress = false - ) - ) - } - - if (lifecycle == Lifecycle.Event.ON_RESUME) { - if (!croissantAppState.canScheduleExactAlarms) { - AlertDialog( - onDismissRequest = {}, - confirmButton = { - TextButton( - onClick = { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM).also { - context.startActivity(it) - } - } - } - ) { - Text(text = stringResource(id = R.string.confirm)) - } - }, - icon = { - Icon( - imageVector = Icons.Default.Warning, - contentDescription = Icons.Default.Warning.name - ) - }, - title = { - Text(text = stringResource(id = R.string.caution)) - }, - text = { - Text( - textAlign = TextAlign.Center, - text = stringResource(id = R.string.schedule_exact_alarm_disabled) - ) - }, - properties = DialogProperties( - dismissOnClickOutside = false, - dismissOnBackPress = false - ) - ) - } - } - } - } -} - -@OptIn(ExperimentalMaterialNavigationApi::class) -@Composable -fun CroissantNavHost( - modifier: Modifier, - navController: NavHostController, - snackbarHostState: SnackbarHostState, - deepLinkUri: () -> Uri, -) { - val activity = LocalActivity.current - val currentDeepLinkUri by rememberUpdatedState(newValue = deepLinkUri()) - - NavHost( - modifier = modifier, - navController = navController, - route = activity::class.java.simpleName, - startDestination = CroissantNavigation.Attendances.route - ) { - navigation( - startDestination = AttendancesDestination.AttendancesScreen.route, - route = CroissantNavigation.Attendances.route - ) { - composable(route = AttendancesDestination.AttendancesScreen.route) { - val attendancesViewModel: AttendancesViewModel = hiltViewModel() - - AttendancesScreen( - navController = navController, - snackbarHostState = snackbarHostState, - attendancesViewModel = attendancesViewModel - ) - } - - composable(route = AttendancesDestination.CreateAttendanceScreen.route) { - val createAttendanceViewModel: CreateAttendanceViewModel = - hiltViewModel() - - CreateAttendanceScreen( - navController = navController, - createAttendanceViewModel = createAttendanceViewModel - ) - } - - composable( - route = AttendancesDestination.LoginHoYoLabScreen.route, - ) { - val loginHoYoLABViewModel: LoginHoYoLABViewModel = - hiltViewModel() - - LoginHoYoLABScreen( - navController = navController, - loginHoYoLABViewModel = loginHoYoLABViewModel - ) - } - - composable( - route = AttendancesDestination.AttendanceDetailScreen().route, - arguments = AttendancesDestination.AttendanceDetailScreen().arguments.map { argument -> - navArgument(argument.first) { - type = argument.second - } - }, - deepLinks = listOf( - navDeepLink { - uriPattern = - "$currentDeepLinkUri/${AttendancesDestination.AttendanceDetailScreen().route}" - } - ) - ) { - val attendanceDetailViewModel: AttendanceDetailViewModel = - hiltViewModel() - - AttendanceDetailScreen( - navController = navController, - attendanceDetailViewModel = attendanceDetailViewModel - ) - } - - composable( - route = AttendancesDestination.AttendanceLogsCalendarScreen().route, - arguments = AttendancesDestination.AttendanceLogsCalendarScreen().arguments.map { argument -> - navArgument(argument.first) { - type = argument.second - } - } - ) { - val attendanceLogsCalendarViewModel: AttendanceLogsCalendarViewModel = - hiltViewModel() - - AttendanceLogsCalendarScreen( - navController = navController, - attendanceLogsCalendarViewModel = attendanceLogsCalendarViewModel - ) - } - - composable( - route = AttendancesDestination.AttendanceLogsDayScreen().route, - arguments = AttendancesDestination.AttendanceLogsDayScreen().arguments.map { argument -> - navArgument(argument.first) { - type = argument.second - } - } - ) { - val attendanceLogsDayViewModel: AttendanceLogsDayViewModel = - hiltViewModel() - - AttendanceLogsDayScreen( - navController = navController, - attendanceLogsDayViewModel = attendanceLogsDayViewModel - ) - } - } - - navigation( - startDestination = RedemptionCodesDestination.RedemptionCodesScreen.route, - route = CroissantNavigation.RedemptionCodes.route - ) { - composable(route = RedemptionCodesDestination.RedemptionCodesScreen.route) { - val redemptionCodesViewModel: RedemptionCodesViewModel = - hiltViewModel() - - RedemptionCodesScreen( - navController = navController, - redemptionCodesViewModel = redemptionCodesViewModel - ) - } - } - - navigation( - startDestination = SettingsDestination.SettingsScreen.route, - route = CroissantNavigation.Settings.route - ) { - composable(route = SettingsDestination.SettingsScreen.route) { - SettingsScreen(navController = navController) - } - - composable(route = SettingsDestination.DeveloperInfoScreen.route) { - val developerInfoViewModel: DeveloperInfoViewModel = hiltViewModel() - - DeveloperInfoScreen( - navController = navController, - developerInfoViewModel = developerInfoViewModel - ) - } - } - - bottomSheet(route = FirstLaunchDestination.FirstLaunchScreen.route) { - val firstLaunchViewModel: FirstLaunchViewModel = hiltViewModel() - - FirstLaunchScreen( - navController = navController, - firstLaunchViewModel = firstLaunchViewModel - ) - } - } -} - -@Composable -private fun CroissantNavigationRail( - croissantAppState: CroissantAppState, -) { - NavigationRail( - modifier = Modifier.fillMaxHeight(), - header = { - Icon( - painter = painterResource(id = R.drawable.ic_launcher_foreground), - contentDescription = null - ) - } - ) { - croissantAppState.croissantNavigations.forEach { croissantNavigation -> - key(croissantNavigation.route) { - val isSelected = croissantAppState.isSelected(route = croissantNavigation.route) - - NavigationRailItem( - icon = { - if (isSelected) { - Icon( - imageVector = croissantNavigation.filledIcon, - contentDescription = croissantNavigation.filledIcon.name - ) - } else { - Icon( - imageVector = croissantNavigation.outlinedIcon, - contentDescription = croissantNavigation.outlinedIcon.name - ) - } - }, - selected = isSelected, - label = { - Text(text = stringResource(id = croissantNavigation.resourceId)) - }, - onClick = { - croissantAppState.onClickNavigationButton(croissantNavigation.route) - } - ) - } - } - } -} - -@Composable -private fun CroissantBottomNavigationBar( - croissantAppState: CroissantAppState, -) { - NavigationBar( - windowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Bottom) - ) { - croissantAppState.croissantNavigations.forEach { croissantNavigation -> - key(croissantNavigation.route) { - val isSelected = croissantAppState.isSelected(route = croissantNavigation.route) - - NavigationBarItem( - icon = { - if (isSelected) { - Icon( - imageVector = croissantNavigation.filledIcon, - contentDescription = croissantNavigation.filledIcon.name - ) - } else { - Icon( - imageVector = croissantNavigation.outlinedIcon, - contentDescription = croissantNavigation.outlinedIcon.name - ) - } - }, - selected = isSelected, - label = { - Text(text = stringResource(id = croissantNavigation.resourceId)) - }, - onClick = { - croissantAppState.onClickNavigationButton(croissantNavigation.route) - } - ) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/di/UtilModule.kt b/app/src/main/java/com/joeloewi/croissant/di/UtilModule.kt deleted file mode 100644 index 6fc01a40..00000000 --- a/app/src/main/java/com/joeloewi/croissant/di/UtilModule.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.joeloewi.croissant.di - -import android.app.AlarmManager -import android.app.Application -import android.content.Context -import android.os.PowerManager -import androidx.core.content.getSystemService -import coil.ImageLoader -import com.joeloewi.croissant.R -import com.joeloewi.croissant.util.RootChecker -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.android.qualifiers.ApplicationContext -import dagger.hilt.components.SingletonComponent -import okhttp3.OkHttpClient -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -object UtilModule { - - @Singleton - @Provides - fun providePowerManager(application: Application): PowerManager = - application.getSystemService()!! - - @Singleton - @Provides - fun provideAlarmManager(application: Application): AlarmManager = - application.getSystemService()!! - - @Singleton - @Provides - fun provideRootChecker(application: Application): RootChecker = RootChecker(application) - - @Singleton - @Provides - fun provideImageLoader( - @ApplicationContext context: Context, - okHttpClient: OkHttpClient - ): ImageLoader = ImageLoader.Builder(context) - .crossfade(true) - .okHttpClient(okHttpClient) - .placeholder(R.drawable.image_placeholder) - .build() -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/initializer/ComposeViewInitializer.kt b/app/src/main/java/com/joeloewi/croissant/initializer/ComposeViewInitializer.kt deleted file mode 100644 index c988f742..00000000 --- a/app/src/main/java/com/joeloewi/croissant/initializer/ComposeViewInitializer.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2022 joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.initializer - -import android.content.Context -import androidx.compose.ui.platform.ComposeView -import androidx.lifecycle.ProcessLifecycleInitializer -import androidx.startup.Initializer - -class ComposeViewInitializer : Initializer { - override fun create(context: Context) { - ComposeView(context) - } - - override fun dependencies(): MutableList>> = mutableListOf( - ProcessLifecycleInitializer::class.java - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/initializer/FirebaseAnalyticsInitializer.kt b/app/src/main/java/com/joeloewi/croissant/initializer/FirebaseAnalyticsInitializer.kt deleted file mode 100644 index af22e37e..00000000 --- a/app/src/main/java/com/joeloewi/croissant/initializer/FirebaseAnalyticsInitializer.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.initializer - -import android.content.Context -import android.provider.Settings -import androidx.startup.Initializer -import com.google.firebase.analytics.FirebaseAnalytics - -class FirebaseAnalyticsInitializer : Initializer { - - override fun create(context: Context): FirebaseAnalytics = - FirebaseAnalytics.getInstance(context).apply { - setUserId( - Settings.Secure.getString( - context.contentResolver, - Settings.Secure.ANDROID_ID - ) - ) - } - - override fun dependencies(): MutableList>> = mutableListOf() -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/initializer/NotificationChannelInitializer.kt b/app/src/main/java/com/joeloewi/croissant/initializer/NotificationChannelInitializer.kt deleted file mode 100644 index 79bf9f7c..00000000 --- a/app/src/main/java/com/joeloewi/croissant/initializer/NotificationChannelInitializer.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.joeloewi.croissant.initializer - -import android.content.Context -import android.content.pm.PackageManager -import androidx.startup.Initializer -import com.joeloewi.croissant.util.CroissantPermission -import com.joeloewi.croissant.util.createNotificationChannels - -class NotificationChannelInitializer : Initializer { - - override fun create(context: Context) { - if (context.packageManager.checkPermission( - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT, - context.packageName - ) == PackageManager.PERMISSION_GRANTED - ) { - context.createNotificationChannels() - } - } - - override fun dependencies(): MutableList>> = mutableListOf() -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/receiver/TimeChangedReceiver.kt b/app/src/main/java/com/joeloewi/croissant/receiver/TimeChangedReceiver.kt deleted file mode 100644 index 10c7f97d..00000000 --- a/app/src/main/java/com/joeloewi/croissant/receiver/TimeChangedReceiver.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.joeloewi.croissant.receiver - -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Intent - -class TimeChangedReceiver( - private val onReceiveActionTimeChanged: () -> Unit -) : BroadcastReceiver() { - override fun onReceive(p0: Context, p1: Intent) { - onReceiveActionTimeChanged() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/receiver/TimeZoneChangedReceiver.kt b/app/src/main/java/com/joeloewi/croissant/receiver/TimeZoneChangedReceiver.kt deleted file mode 100644 index 1a3ab8f2..00000000 --- a/app/src/main/java/com/joeloewi/croissant/receiver/TimeZoneChangedReceiver.kt +++ /dev/null @@ -1,83 +0,0 @@ -package com.joeloewi.croissant.receiver - -import android.app.Notification -import android.app.PendingIntent -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Intent -import android.content.pm.PackageManager -import android.net.Uri -import androidx.core.app.NotificationCompat -import androidx.core.app.NotificationManagerCompat -import com.joeloewi.croissant.R -import com.joeloewi.croissant.util.CroissantPermission -import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent -import dagger.hilt.android.AndroidEntryPoint -import java.util.UUID -import javax.inject.Inject - -@AndroidEntryPoint -class TimeZoneChangedReceiver @Inject constructor( -) : BroadcastReceiver() { - - private fun getIntentFromPackageName( - context: Context - ): Intent = context.packageManager.getLaunchIntentForPackage(context.packageName) - ?: Intent(Intent.ACTION_VIEW).apply { - addCategory(Intent.CATEGORY_DEFAULT) - data = Uri.parse("market://details?id=${context.packageName}") - } - - private fun createTimezoneChangedNotification( - context: Context, - channelId: String, - ): Notification = NotificationCompat - .Builder(context, channelId) - .setContentTitle(context.getString(R.string.time_zone_changed_notification_title)) - .setContentText(context.getString(R.string.time_zone_changed_notification_description)) - .setAutoCancel(true) - .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) - .apply { - val pendingIntent = - PendingIntent.getActivity( - context, - 0, - getIntentFromPackageName( - context = context - ), - pendingIntentFlagUpdateCurrent - ) - - setContentIntent(pendingIntent) - } - .build() - - override fun onReceive(context: Context, intent: Intent) { - when (intent.action) { - Intent.ACTION_TIMEZONE_CHANGED -> { - context.run { - createTimezoneChangedNotification( - context = this, - channelId = getString(R.string.time_zone_changed_notification_channel_id) - ).let { notification -> - if (context.packageManager.checkPermission( - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT, - packageName - ) == PackageManager.PERMISSION_GRANTED - ) { - NotificationManagerCompat.from(this).notify( - UUID.randomUUID().toString(), - 0, - notification - ) - } - } - } - } - - else -> { - - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/AttendanceDetailState.kt b/app/src/main/java/com/joeloewi/croissant/state/AttendanceDetailState.kt deleted file mode 100644 index 81958b28..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/AttendanceDetailState.kt +++ /dev/null @@ -1,122 +0,0 @@ -package com.joeloewi.croissant.state - -import android.content.Context -import androidx.compose.material3.SnackbarHostState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.ui.platform.LocalContext -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController -import com.joeloewi.croissant.R -import com.joeloewi.croissant.domain.common.LoggableWorker -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.viewmodel.AttendanceDetailViewModel -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.launch - -@Stable -class AttendanceDetailState( - val snackbarHostState: SnackbarHostState, - val context: Context, - val coroutineScope: CoroutineScope, - private val attendanceDetailViewModel: AttendanceDetailViewModel, - val navController: NavHostController -) { - //state - private val attendanceWithGames - @Composable get() = attendanceDetailViewModel.attendanceWithGamesState.collectAsStateWithLifecycle().value - val hourOfDay - @Composable get() = attendanceDetailViewModel.hourOfDay.collectAsStateWithLifecycle().value - val minute - @Composable get() = attendanceDetailViewModel.minute.collectAsStateWithLifecycle().value - val nickname - @Composable get() = attendanceDetailViewModel.nickname.collectAsStateWithLifecycle().value - val uid - @Composable get() = attendanceDetailViewModel.uid.collectAsStateWithLifecycle().value - private val updateAttendanceState - @Composable get() = attendanceDetailViewModel.updateAttendanceState.collectAsStateWithLifecycle().value - val checkSessionWorkerSuccessLogCount - @Composable get() = attendanceDetailViewModel.checkSessionWorkerSuccessLogCount.collectAsStateWithLifecycle().value - val checkSessionWorkerFailureLogCount - @Composable get() = attendanceDetailViewModel.checkSessionWorkerFailureLogCount.collectAsStateWithLifecycle().value - val attendCheckInEventWorkerSuccessLogCount - @Composable get() = attendanceDetailViewModel.attendCheckInEventWorkerSuccessLogCount.collectAsStateWithLifecycle().value - val attendCheckInEventWorkerFailureLogCount - @Composable get() = attendanceDetailViewModel.attendCheckInEventWorkerFailureLogCount.collectAsStateWithLifecycle().value - val previousBackStackEntry - get() = navController.previousBackStackEntry - - //state list - val checkedGames - get() = attendanceDetailViewModel.checkedGames - - //calculated from state - val isProgressDialogShowing - @Composable get() = updateAttendanceState.isLoading - val isNavigateUpRequested - @Composable get() = updateAttendanceState.content != null - val isSuccessfullyLoaded - @Composable get() = attendanceWithGames is Lce.Content - val hasExecutedAtLeastOnce - @Composable get() = attendCheckInEventWorkerSuccessLogCount > 0 || attendCheckInEventWorkerFailureLogCount > 0 - - //function - fun onHourOfDayChange(hourOfDay: Int) { - attendanceDetailViewModel.setHourOfDay(hourOfDay) - } - - fun onMinuteChange(minute: Int) { - attendanceDetailViewModel.setMinute(minute) - } - - fun onNavigateUp() { - navController.navigateUp() - } - - fun onClickLogSummary(loggableWorker: LoggableWorker) { - navController.navigate( - AttendancesDestination.AttendanceLogsCalendarScreen().generateRoute( - attendanceDetailViewModel.attendanceId, - loggableWorker - ) - ) - } - - fun onClickRefreshSession() { - navController.navigate(AttendancesDestination.LoginHoYoLabScreen.route) - } - - fun onClickSave() { - if (checkedGames.isEmpty()) { - coroutineScope.launch { - snackbarHostState.showSnackbar(context.getString(R.string.select_at_least_one_game)) - } - } else { - attendanceDetailViewModel.updateAttendance() - } - } -} - -@Composable -fun rememberAttendanceDetailState( - snackbarHostState: SnackbarHostState = remember { SnackbarHostState() }, - context: Context = LocalContext.current, - coroutineScope: CoroutineScope = rememberCoroutineScope(), - attendanceDetailViewModel: AttendanceDetailViewModel, - navController: NavHostController -) = remember( - snackbarHostState, - coroutineScope, - attendanceDetailViewModel, - navController -) { - AttendanceDetailState( - snackbarHostState = snackbarHostState, - context = context, - coroutineScope = coroutineScope, - attendanceDetailViewModel = attendanceDetailViewModel, - navController = navController - ) -} diff --git a/app/src/main/java/com/joeloewi/croissant/state/AttendanceLogsCalendarState.kt b/app/src/main/java/com/joeloewi/croissant/state/AttendanceLogsCalendarState.kt deleted file mode 100644 index ce1f7733..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/AttendanceLogsCalendarState.kt +++ /dev/null @@ -1,92 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.pager.PagerState -import androidx.compose.material3.SnackbarHostState -import androidx.compose.runtime.* -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.viewmodel.AttendanceLogsCalendarViewModel -import java.time.Month -import java.time.Year -import java.time.YearMonth - -@OptIn(ExperimentalFoundationApi::class) -@Stable -class AttendanceLogsCalendarState( - val snackbarHostState: SnackbarHostState, - val pagerState: PagerState, - private val navController: NavHostController, - val attendanceLogsCalendarViewModel: AttendanceLogsCalendarViewModel -) { - //state - val previousBackStackEntry - get() = navController.previousBackStackEntry - val deleteAllState - @Composable get() = attendanceLogsCalendarViewModel.deleteAllState.collectAsStateWithLifecycle().value - val year: Year - @Composable get() = attendanceLogsCalendarViewModel.year.collectAsStateWithLifecycle().value - var isShowingDeleteConfirmationDialog by mutableStateOf(false) - private set - - fun getCountByDate( - year: Year, - month: Month, - day: Int - ) = attendanceLogsCalendarViewModel.getCountByDate(year, month, day) - - fun onNavigateUp() { - navController.navigateUp() - } - - fun onDeleteAll() { - showDeleteConfirmationDialog(false) - attendanceLogsCalendarViewModel.deleteAll() - } - - fun onClickDay( - localDate: String - ) { - navController.navigate( - AttendancesDestination.AttendanceLogsDayScreen().generateRoute( - attendanceId = attendanceLogsCalendarViewModel.attendanceId, - loggableWorker = attendanceLogsCalendarViewModel.loggableWorker, - localDate = localDate, - ) - ) - } - - fun showDeleteConfirmationDialog(isShowing: Boolean) { - isShowingDeleteConfirmationDialog = isShowing - } - - fun setYear(year: Year) { - attendanceLogsCalendarViewModel.setYear(year) - } -} - -@OptIn(ExperimentalFoundationApi::class) -@Composable -fun rememberAttendanceLogsCalendarState( - snackbarHostState: SnackbarHostState = remember { - SnackbarHostState() - }, - pagerState: PagerState = androidx.compose.foundation.pager.rememberPagerState( - initialPage = YearMonth.now().monthValue - 1 - ), - navController: NavHostController, - attendanceLogsCalendarViewModel: AttendanceLogsCalendarViewModel, -) = remember( - snackbarHostState, - pagerState, - navController, - attendanceLogsCalendarViewModel -) { - AttendanceLogsCalendarState( - snackbarHostState = snackbarHostState, - pagerState = pagerState, - navController = navController, - attendanceLogsCalendarViewModel = attendanceLogsCalendarViewModel - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/AttendanceLogsDayState.kt b/app/src/main/java/com/joeloewi/croissant/state/AttendanceLogsDayState.kt deleted file mode 100644 index bdc6ea28..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/AttendanceLogsDayState.kt +++ /dev/null @@ -1,40 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.navigation.NavHostController -import androidx.paging.compose.collectAsLazyPagingItems -import com.joeloewi.croissant.viewmodel.AttendanceLogsDayViewModel -import kotlinx.coroutines.Dispatchers - -@Stable -class AttendanceLogsDayState( - private val navController: NavHostController, - private val attendanceLogsDayViewModel: AttendanceLogsDayViewModel -) { - val pagedAttendanceLogs - @Composable - get() = attendanceLogsDayViewModel.pagedAttendanceLogs.collectAsLazyPagingItems(Dispatchers.IO) - - val previousBackStackEntry - get() = navController.previousBackStackEntry - - fun onNavigateUp() { - navController.navigateUp() - } -} - -@Composable -fun rememberAttendanceLogsDayState( - navController: NavHostController, - attendanceLogsDayViewModel: AttendanceLogsDayViewModel -) = remember( - navController, - attendanceLogsDayViewModel -) { - AttendanceLogsDayState( - navController = navController, - attendanceLogsDayViewModel = attendanceLogsDayViewModel - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/CreateAttendanceState.kt b/app/src/main/java/com/joeloewi/croissant/state/CreateAttendanceState.kt deleted file mode 100644 index dac160a5..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/CreateAttendanceState.kt +++ /dev/null @@ -1,130 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.viewmodel.CreateAttendanceViewModel -import kotlinx.collections.immutable.ImmutableList -import kotlinx.collections.immutable.toImmutableList -import java.time.ZonedDateTime - -@Stable -class CreateAttendanceState( - private val navController: NavHostController, - private val createAttendanceViewModel: CreateAttendanceViewModel, - val pages: ImmutableList -) { - val previousBackStackEntry - get() = navController.previousBackStackEntry - val cookie - @Composable get() = createAttendanceViewModel.cookie.collectAsStateWithLifecycle().value - val connectedGames - @Composable get() = createAttendanceViewModel.connectedGames.collectAsStateWithLifecycle().value - val insertAttendanceState - @Composable get() = createAttendanceViewModel.insertAttendanceState.collectAsStateWithLifecycle().value - val checkedGames - get() = createAttendanceViewModel.checkedGames - val duplicatedAttendance - @Composable get() = createAttendanceViewModel.duplicatedAttendance.collectAsStateWithLifecycle().value - val hourOfDay - @Composable get() = createAttendanceViewModel.hourOfDay.collectAsStateWithLifecycle().value - val minute - @Composable get() = createAttendanceViewModel.minute.collectAsStateWithLifecycle().value - val tickPerSecond: ZonedDateTime - @Composable get() = createAttendanceViewModel.tickPerSecond.collectAsStateWithLifecycle().value - val pageIndex - @Composable get() = createAttendanceViewModel.pageIndex.collectAsStateWithLifecycle().value - var showCancelConfirmationDialog by mutableStateOf(false) - private set - var showCreateAttendanceProgressDialog by mutableStateOf(false) - private set - - fun onCookieChange(cookie: String) { - createAttendanceViewModel.setCookie(cookie) - } - - fun onHourOfDayChange(hourOfDay: Int) { - createAttendanceViewModel.setHourOfDay(hourOfDay) - } - - fun onMinuteChange(minute: Int) { - createAttendanceViewModel.setMinute(minute) - } - - fun onLoginHoYoLAB() { - navController.navigate(AttendancesDestination.LoginHoYoLabScreen.route) - } - - fun onNavigateUp() { - navController.navigateUp() - } - - fun onCreateAttendance() { - createAttendanceViewModel.createAttendance() - } - - fun onNavigateToAttendanceDetailScreen(attendanceId: Long) { - navController.navigate( - AttendancesDestination.AttendanceDetailScreen().generateRoute(attendanceId) - ) { - popUpTo(AttendancesDestination.AttendancesScreen.route) - } - } - - fun onCancelCreateAttendance() { - navController.popBackStack( - route = AttendancesDestination.AttendancesScreen.route, - inclusive = false - ) - } - - fun onNextButtonClick() { - val nextPage = createAttendanceViewModel.currentPageIndex + 1 - - if (nextPage < pages.size) { - setPageIndex(nextPage) - } else if (nextPage == pages.size) { - onCreateAttendance() - } - } - - fun setPageIndex(pageIndex: Int) { - createAttendanceViewModel.setPageIndex(pageIndex) - } - - fun onShowCancelConfirmationDialogChange(isShowing: Boolean) { - showCancelConfirmationDialog = isShowing - } - - fun onShowCreateAttendanceProgressDialogChange(isShowing: Boolean) { - showCreateAttendanceProgressDialog = isShowing - } -} - -@Composable -fun rememberCreateAttendanceState( - navController: NavHostController, - createAttendanceViewModel: CreateAttendanceViewModel, - pages: ImmutableList = CreateAttendancePage.values().toList() - .toImmutableList() -) = remember( - navController, - createAttendanceViewModel, - pages -) { - CreateAttendanceState( - navController = navController, - createAttendanceViewModel = createAttendanceViewModel, - pages = pages - ) -} - -enum class CreateAttendancePage { - GetSession, SelectGames, SetTime; -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/CreateResinStatusWidgetState.kt b/app/src/main/java/com/joeloewi/croissant/state/CreateResinStatusWidgetState.kt deleted file mode 100644 index 958234ee..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/CreateResinStatusWidgetState.kt +++ /dev/null @@ -1,66 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.material3.SnackbarHostState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController -import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resinstatuswidgetconfiguration.ResinStatusWidgetConfigurationDestination -import com.joeloewi.croissant.viewmodel.CreateResinStatusWidgetViewModel -import kotlinx.collections.immutable.toImmutableList - -@Stable -class CreateResinStatusWidgetState( - private val navController: NavHostController, - val snackbarHostState: SnackbarHostState, - private val createResinStatusWidgetViewModel: CreateResinStatusWidgetViewModel -) { - val selectableIntervals = createResinStatusWidgetViewModel.selectableIntervals.toImmutableList() - val interval - @Composable get() = createResinStatusWidgetViewModel.interval.collectAsStateWithLifecycle().value - val userInfos = createResinStatusWidgetViewModel.userInfos - val insertResinStatusWidgetState - @Composable get() = createResinStatusWidgetViewModel.createResinStatusWidgetState.collectAsStateWithLifecycle().value - val getUserInfoState - @Composable get() = createResinStatusWidgetViewModel.getUserInfoState.collectAsStateWithLifecycle().value - val appWidgetId - get() = createResinStatusWidgetViewModel.appWidgetId - val showProgressDialog - @Composable get() = insertResinStatusWidgetState.isLoading - val showUserInfoProgressDialog - @Composable get() = getUserInfoState.isLoading - - fun onClickDone() { - createResinStatusWidgetViewModel.configureAppWidget() - } - - fun onIntervalChange(interval: Long) { - createResinStatusWidgetViewModel.setInterval(interval) - } - - fun onReceiveCookie(cookie: String) { - createResinStatusWidgetViewModel.onReceiveCookie(cookie) - } - - fun onClickAdd() { - navController.navigate(ResinStatusWidgetConfigurationDestination.LoginHoYoLABScreen.route) - } -} - -@Composable -fun rememberCreateResinStatusWidgetState( - navController: NavHostController, - snackbarHostState: SnackbarHostState = remember { SnackbarHostState() }, - createResinStatusWidgetViewModel: CreateResinStatusWidgetViewModel -) = remember( - navController, - snackbarHostState, - createResinStatusWidgetViewModel -) { - CreateResinStatusWidgetState( - navController = navController, - snackbarHostState = snackbarHostState, - createResinStatusWidgetViewModel = createResinStatusWidgetViewModel - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/CroissantAppState.kt b/app/src/main/java/com/joeloewi/croissant/state/CroissantAppState.kt deleted file mode 100644 index 37ec4af9..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/CroissantAppState.kt +++ /dev/null @@ -1,155 +0,0 @@ -package com.joeloewi.croissant.state - -import android.app.Activity -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.ModalBottomSheetState -import androidx.compose.material.ModalBottomSheetValue -import androidx.compose.material.rememberModalBottomSheetState -import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi -import androidx.compose.material3.windowsizeclass.WindowSizeClass -import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.hilt.navigation.compose.hiltViewModel -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavDestination.Companion.hierarchy -import androidx.navigation.NavGraph.Companion.findStartDestination -import androidx.navigation.NavHostController -import androidx.navigation.compose.rememberNavController -import com.google.accompanist.navigation.material.BottomSheetNavigator -import com.google.accompanist.navigation.material.ExperimentalMaterialNavigationApi -import com.google.accompanist.permissions.ExperimentalPermissionsApi -import com.google.accompanist.permissions.MultiplePermissionsState -import com.google.accompanist.permissions.rememberMultiplePermissionsState -import com.joeloewi.croissant.ui.navigation.main.CroissantNavigation -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.util.CroissantPermission -import com.joeloewi.croissant.util.LocalActivity -import com.joeloewi.croissant.util.isCompactWindowSize -import com.joeloewi.croissant.viewmodel.AppViewModel -import kotlinx.collections.immutable.ImmutableList -import kotlinx.collections.immutable.toImmutableList - -@OptIn( - ExperimentalPermissionsApi::class, - ExperimentalMaterialApi::class, - ExperimentalMaterialNavigationApi::class -) -@Stable -class CroissantAppState constructor( - val multiplePermissionsState: MultiplePermissionsState, - val modalBottomSheetState: ModalBottomSheetState, - val bottomSheetNavigator: BottomSheetNavigator, - val navController: NavHostController, - val croissantNavigations: ImmutableList, - val fullScreenDestinations: ImmutableList, - private val appViewModel: AppViewModel, - private val windowSizeClass: WindowSizeClass -) { - val isFirstLaunch - @Composable get() = appViewModel.isFirstLaunch.collectAsStateWithLifecycle().value - - val isDeviceRooted - @Composable get() = appViewModel.isDeviceRooted.collectAsStateWithLifecycle().value - - private val navBackStackEntry - @Composable get() = navController.currentBackStackEntryFlow.collectAsStateWithLifecycle( - initialValue = null - ).value - - val currentDestination - @Composable get() = navBackStackEntry?.destination - - val isIgnoringBatteryOptimizations - get() = appViewModel.isIgnoringBatteryOptimizations - - val isFullScreenDestination - @Composable get() = fullScreenDestinations.contains(currentDestination?.route) - - val isCompactWindowSize - get() = windowSizeClass.isCompactWindowSize() - - val isBottomNavigationBarVisible - @Composable - get() = !isFullScreenDestination && isCompactWindowSize - - val isNavigationRailVisible - @Composable get() = !isFullScreenDestination && !isCompactWindowSize - - val canScheduleExactAlarms - get() = appViewModel.canScheduleExactAlarms - - @Composable - fun isSelected(route: String?): Boolean = currentDestination?.hierarchy?.any { - it.route == route - } == true - - fun onClickNavigationButton(route: String) { - navController.navigate(route) { - popUpTo(navController.graph.findStartDestination().id) { - saveState = true - } - launchSingleTop = true - restoreState = true - } - } -} - -@OptIn( - ExperimentalMaterial3WindowSizeClassApi::class, - ExperimentalPermissionsApi::class, - ExperimentalMaterialApi::class, - ExperimentalMaterialNavigationApi::class -) -@Composable -fun rememberCroissantAppState( - multiplePermissionsState: MultiplePermissionsState = rememberMultiplePermissionsState( - permissions = listOf( - CroissantPermission.AccessHoYoLABSession.permission, - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT - ) - ), - modalBottomSheetState: ModalBottomSheetState = rememberModalBottomSheetState( - initialValue = ModalBottomSheetValue.Hidden, - skipHalfExpanded = true, - confirmValueChange = { false } - ), - bottomSheetNavigator: BottomSheetNavigator = remember(modalBottomSheetState) { - BottomSheetNavigator(modalBottomSheetState) - }, - navController: NavHostController = rememberNavController(bottomSheetNavigator), - croissantNavigations: ImmutableList = listOf( - CroissantNavigation.Attendances, - CroissantNavigation.RedemptionCodes, - CroissantNavigation.Settings - ).toImmutableList(), - fullScreenDestinations: ImmutableList = listOf( - AttendancesDestination.CreateAttendanceScreen.route, - AttendancesDestination.LoginHoYoLabScreen.route - ).toImmutableList(), - appViewModel: AppViewModel = hiltViewModel(), - activity: Activity = LocalActivity.current, - windowSizeClass: WindowSizeClass = calculateWindowSizeClass(activity = activity) -) = remember( - multiplePermissionsState, - modalBottomSheetState, - bottomSheetNavigator, - navController, - croissantNavigations, - fullScreenDestinations, - appViewModel, - activity, - windowSizeClass -) { - CroissantAppState( - multiplePermissionsState = multiplePermissionsState, - modalBottomSheetState = modalBottomSheetState, - bottomSheetNavigator = bottomSheetNavigator, - navController = navController, - croissantNavigations = croissantNavigations, - fullScreenDestinations = fullScreenDestinations, - appViewModel = appViewModel, - windowSizeClass = windowSizeClass - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/DeveloperInfoState.kt b/app/src/main/java/com/joeloewi/croissant/state/DeveloperInfoState.kt deleted file mode 100644 index 66ab331a..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/DeveloperInfoState.kt +++ /dev/null @@ -1,38 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController -import com.joeloewi.croissant.viewmodel.DeveloperInfoViewModel - -@Stable -class DeveloperInfoState( - private val navController: NavHostController, - private val developerInfoViewModel: DeveloperInfoViewModel -) { - val previousBackStackEntry - @Composable get() = navController.previousBackStackEntry - - val textToSpeech - @Composable get() = developerInfoViewModel.textToSpeech.collectAsStateWithLifecycle().value - - fun onNavigateUp() { - navController.navigateUp() - } -} - -@Composable -fun rememberDeveloperInfoState( - navController: NavHostController, - developerInfoViewModel: DeveloperInfoViewModel -) = remember( - navController, - developerInfoViewModel -) { - DeveloperInfoState( - navController = navController, - developerInfoViewModel = developerInfoViewModel - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/FirstLaunchState.kt b/app/src/main/java/com/joeloewi/croissant/state/FirstLaunchState.kt deleted file mode 100644 index b658bccf..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/FirstLaunchState.kt +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2022 joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.state - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.navigation.NavHostController -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.viewmodel.FirstLaunchViewModel - -@Stable -class FirstLaunchState( - private val navController: NavHostController, - private val firstLaunchViewModel: FirstLaunchViewModel -) { - fun onFirstLaunchChange(isFirstLaunch: Boolean) { - firstLaunchViewModel.setIsFirstLaunch(isFirstLaunch) - } - - fun navigateToAttendancesScreen() { - navController.navigate(AttendancesDestination.AttendancesScreen.route) { - navController.currentDestination?.let { - popUpTo(it.id) { - inclusive = true - } - } - } - } -} - -@Composable -fun rememberFirstLaunchState( - navController: NavHostController, - firstLaunchViewModel: FirstLaunchViewModel -) = remember( - navController, - firstLaunchViewModel -) { - FirstLaunchState( - navController = navController, - firstLaunchViewModel = firstLaunchViewModel - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/Lce.kt b/app/src/main/java/com/joeloewi/croissant/state/Lce.kt deleted file mode 100644 index 22409ae7..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/Lce.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.runtime.Stable - -@Stable -sealed class Lce { - open val content: T? = null - open val error: Throwable? = null - open val isLoading: Boolean = false - - object Loading : Lce() { - override val isLoading: Boolean = true - } - - data class Content(override val content: T) : Lce() - data class Error(override val error: Throwable) : Lce() -} diff --git a/app/src/main/java/com/joeloewi/croissant/state/LoginHoYoLABState.kt b/app/src/main/java/com/joeloewi/croissant/state/LoginHoYoLABState.kt deleted file mode 100644 index 21712bbd..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/LoginHoYoLABState.kt +++ /dev/null @@ -1,172 +0,0 @@ -package com.joeloewi.croissant.state - -import android.net.Uri -import android.net.http.SslError -import android.webkit.CookieManager -import android.webkit.SslErrorHandler -import android.webkit.WebResourceRequest -import androidx.compose.material3.SnackbarHostState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.runtime.setValue -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController -import com.google.accompanist.web.WebViewNavigator -import com.google.accompanist.web.WebViewState -import com.google.accompanist.web.rememberWebViewState -import com.joeloewi.croissant.ui.navigation.main.attendances.screen.COOKIE -import com.joeloewi.croissant.viewmodel.LoginHoYoLABViewModel -import kotlinx.collections.immutable.ImmutableList -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.Job -import kotlinx.coroutines.launch - -@Stable -class LoginHoYoLABState( - private val navController: NavHostController, - private val loginHoYoLABViewModel: LoginHoYoLABViewModel, - val hoyolabUrl: String, - private val excludedUrls: ImmutableList, - val securityPopUpUrls: ImmutableList, - val webViewState: WebViewState, - val snackbarHostState: SnackbarHostState, - val webViewNavigator: WebViewNavigator, - val coroutineScope: CoroutineScope, -) { - val removeAllCookiesState - @Composable get() = loginHoYoLABViewModel.removeAllCookies.collectAsStateWithLifecycle().value - var showSslErrorDialog by mutableStateOf?>(null) - private set - val pageTitle - @Composable get() = webViewState.pageTitle ?: "Title" - val currentUrl - @Composable get() = webViewState.content.getCurrentUrl() ?: "URL" - private var navigateUpJob by mutableStateOf(null) - - fun onClickClose() { - navController.navigateUp() - } - - fun onConfirmSslErrorDialog() { - showSslErrorDialog?.first?.proceed() - showSslErrorDialog = null - } - - fun onCancelSslErrorDialog() { - showSslErrorDialog?.first?.cancel() - showSslErrorDialog = null - } - - fun onShowSslErrorDialogChange(handlerToError: Pair?) { - showSslErrorDialog = handlerToError - } - - fun tryToCatchCookie(failureMessage: String) { - val currentCookie = - CookieManager.getInstance().getCookie(hoyolabUrl) - - if (currentCookie.checkContainsHoYoLABCookies()) { - setToSavedStateAndNavigateUp(currentCookie) - } else { - coroutineScope.launch { - snackbarHostState.showSnackbar( - message = failureMessage - ) - } - } - } - - fun checkAndCatchCookieOnlyOnce() { - val currentCookie = - CookieManager.getInstance().getCookie(hoyolabUrl) - - if (currentCookie.checkContainsHoYoLABCookies() && navigateUpJob == null) { - navigateUpJob = coroutineScope.launch(Dispatchers.Main) { - setToSavedStateAndNavigateUp(currentCookie) - } - } - } - - fun shouldOverrideUrlLoading( - request: WebResourceRequest?, - runOuterApplication: (Uri?) -> Unit, - processOnWebView: () -> Boolean - ): Boolean = if (shouldShowViaOuterApplication(request)) { - coroutineScope.launch { - runOuterApplication(request?.url) - } - true - } else { - processOnWebView() - } - - //parts of url, not exactly same - //list(A,B,C) - /* - url contains(A) contains(B) contains(C) all(true) *all(false) any(true) any(false) - A/X/Y/Z true false false false false true true - ... - D/... false false false false true false true - */ - private fun shouldShowViaOuterApplication( - request: WebResourceRequest? - ): Boolean = (mutableListOf(hoyolabUrl) + excludedUrls).all { - (request?.url?.toString()?.contains(it) == false) - } - - private fun String?.checkContainsHoYoLABCookies(): Boolean = - if (isNullOrEmpty()) { - false - } else { - listOf("ltoken", "cookie_token").map { contains(it) }.all { it } - } - - private fun setToSavedStateAndNavigateUp( - currentCookie: String - ) { - navController.apply { - previousBackStackEntry?.savedStateHandle?.set(COOKIE, currentCookie) - navigateUp() - } - } -} - -@Composable -fun rememberLoginHoYoLABState( - navController: NavHostController, - loginHoYoLABViewModel: LoginHoYoLABViewModel, - hoyolabUrl: String, - excludedUrls: ImmutableList, - securityPopUpUrls: ImmutableList, - webViewState: WebViewState = rememberWebViewState(url = hoyolabUrl), - snackbarHostState: SnackbarHostState = remember { SnackbarHostState() }, - webViewNavigator: WebViewNavigator, - coroutineScope: CoroutineScope = rememberCoroutineScope(), -) = remember( - navController, - loginHoYoLABViewModel, - hoyolabUrl, - excludedUrls, - securityPopUpUrls, - webViewState, - snackbarHostState, - webViewNavigator, - coroutineScope, -) { - LoginHoYoLABState( - navController = navController, - loginHoYoLABViewModel = loginHoYoLABViewModel, - hoyolabUrl = hoyolabUrl, - excludedUrls = excludedUrls, - securityPopUpUrls = securityPopUpUrls, - webViewState = webViewState, - snackbarHostState = snackbarHostState, - webViewNavigator = webViewNavigator, - coroutineScope = coroutineScope, - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/MainState.kt b/app/src/main/java/com/joeloewi/croissant/state/MainState.kt deleted file mode 100644 index 2c7b043a..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/MainState.kt +++ /dev/null @@ -1,26 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.joeloewi.croissant.viewmodel.MainActivityViewModel - -@Stable -class MainState( - private val mainActivityViewModel: MainActivityViewModel -) { - val hourFormat - @Composable get() = mainActivityViewModel.hourFormat.collectAsStateWithLifecycle().value - - val appUpdateResultState - @Composable get() = - mainActivityViewModel.appUpdateResultState.collectAsStateWithLifecycle().value -} - -@Composable -fun rememberMainState( - mainActivityViewModel: MainActivityViewModel -) = remember(mainActivityViewModel) { - MainState(mainActivityViewModel = mainActivityViewModel) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/RedemptionCodesState.kt b/app/src/main/java/com/joeloewi/croissant/state/RedemptionCodesState.kt deleted file mode 100644 index a7aca1ce..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/RedemptionCodesState.kt +++ /dev/null @@ -1,50 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.pullrefresh.rememberPullRefreshState -import androidx.compose.material3.SnackbarHostState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.joeloewi.croissant.viewmodel.RedemptionCodesViewModel - -@Stable -class RedemptionCodesState( - val snackbarHostState: SnackbarHostState, - val redemptionCodesViewModel: RedemptionCodesViewModel -) { - //state - val hoYoLABGameRedemptionCodesState - @Composable get() = redemptionCodesViewModel.hoYoLABGameRedemptionCodesState.collectAsStateWithLifecycle().value - - @OptIn(ExperimentalMaterialApi::class) - val swipeRefreshState - @Composable get() = rememberPullRefreshState( - refreshing = hoYoLABGameRedemptionCodesState.isLoading, - onRefresh = redemptionCodesViewModel::getRedemptionCodes - ) - - //state list - val expandedItems - get() = redemptionCodesViewModel.expandedItems - - //function - fun onRefresh() { - redemptionCodesViewModel.getRedemptionCodes() - } -} - -@Composable -fun rememberRedemptionCodesState( - snackbarHostState: SnackbarHostState = remember { SnackbarHostState() }, - redemptionCodesViewModel: RedemptionCodesViewModel -) = remember( - snackbarHostState, - redemptionCodesViewModel -) { - RedemptionCodesState( - snackbarHostState = snackbarHostState, - redemptionCodesViewModel = redemptionCodesViewModel - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/ResinStatusWidgetDetailState.kt b/app/src/main/java/com/joeloewi/croissant/state/ResinStatusWidgetDetailState.kt deleted file mode 100644 index 794fe179..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/ResinStatusWidgetDetailState.kt +++ /dev/null @@ -1,38 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.joeloewi.croissant.viewmodel.ResinStatusWidgetDetailViewModel -import kotlinx.collections.immutable.toImmutableList - -@Stable -class ResinStatusWidgetDetailState( - private val resinStatusWidgetDetailViewModel: ResinStatusWidgetDetailViewModel -) { - val selectableIntervals = resinStatusWidgetDetailViewModel.selectableIntervals.toImmutableList() - val interval - @Composable get() = resinStatusWidgetDetailViewModel.interval.collectAsStateWithLifecycle().value - val updateResinStatusWidgetState - @Composable get() = resinStatusWidgetDetailViewModel.updateResinStatusWidgetState.collectAsStateWithLifecycle().value - val showProgressDialog - @Composable get() = updateResinStatusWidgetState.isLoading - - fun onIntervalChange(interval: Long) { - resinStatusWidgetDetailViewModel.setInterval(interval) - } - - fun updateResinStatusWidget() { - resinStatusWidgetDetailViewModel.updateResinStatusWidget() - } -} - -@Composable -fun rememberResinStatusWidgetDetailState( - resinStatusWidgetDetailViewModel: ResinStatusWidgetDetailViewModel -) = remember { - ResinStatusWidgetDetailState( - resinStatusWidgetDetailViewModel = resinStatusWidgetDetailViewModel - ) -} diff --git a/app/src/main/java/com/joeloewi/croissant/state/SelectGamesState.kt b/app/src/main/java/com/joeloewi/croissant/state/SelectGamesState.kt deleted file mode 100644 index 0be36477..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/SelectGamesState.kt +++ /dev/null @@ -1,57 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.material3.SnackbarHostState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.derivedStateOf -import androidx.compose.runtime.remember -import com.joeloewi.croissant.domain.common.HoYoLABGame -import kotlinx.collections.immutable.ImmutableList - -@Stable -class SelectGamesState( - val snackbarHostState: SnackbarHostState, - val supportedGames: ImmutableList, - private val createAttendanceState: CreateAttendanceState -) { - val duplicatedAttendance - @Composable get() = createAttendanceState.duplicatedAttendance - val checkedGames - get() = createAttendanceState.checkedGames - val connectedGames - @Composable get() = createAttendanceState.connectedGames - val noGamesSelected - get() = derivedStateOf { checkedGames.isEmpty() }.value - - fun isSupportedGame(gameId: Int): Boolean = - supportedGames.contains(HoYoLABGame.findByGameId(gameId)) - - fun onNextButtonClick() { - createAttendanceState.onNextButtonClick() - } - - fun onNavigateToAttendanceDetailScreen(attendanceId: Long) { - createAttendanceState.onNavigateToAttendanceDetailScreen(attendanceId) - } - - fun onCancelCreateAttendance() { - createAttendanceState.onCancelCreateAttendance() - } -} - -@Composable -fun rememberSelectGamesState( - createAttendanceState: CreateAttendanceState, - supportedGames: ImmutableList, - snackbarHostState: SnackbarHostState = SnackbarHostState() -) = remember( - createAttendanceState, - supportedGames, - snackbarHostState -) { - SelectGamesState( - createAttendanceState = createAttendanceState, - supportedGames = supportedGames, - snackbarHostState = snackbarHostState - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/state/SettingsState.kt b/app/src/main/java/com/joeloewi/croissant/state/SettingsState.kt deleted file mode 100644 index 38eeb29c..00000000 --- a/app/src/main/java/com/joeloewi/croissant/state/SettingsState.kt +++ /dev/null @@ -1,40 +0,0 @@ -package com.joeloewi.croissant.state - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.remember -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController -import com.joeloewi.croissant.ui.navigation.main.settings.SettingsDestination -import com.joeloewi.croissant.viewmodel.SettingsViewModel - -@Stable -class SettingsState( - val navController: NavHostController, - val settingsViewModel: SettingsViewModel -) { - val settings - @Composable get() = settingsViewModel.settings.collectAsStateWithLifecycle().value - - fun setDarkThemeEnabled(darkThemeEnabled: Boolean) { - settingsViewModel.setDarkThemeEnabled(darkThemeEnabled = darkThemeEnabled) - } - - fun onDeveloperInfoClick() { - navController.navigate(SettingsDestination.DeveloperInfoScreen.route) - } -} - -@Composable -fun rememberSettingsState( - navController: NavHostController, - settingsViewModel: SettingsViewModel -) = remember( - navController, - settingsViewModel -) { - SettingsState( - navController = navController, - settingsViewModel = settingsViewModel - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/CreateAttendanceScreen.kt b/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/CreateAttendanceScreen.kt deleted file mode 100644 index 584225e3..00000000 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/CreateAttendanceScreen.kt +++ /dev/null @@ -1,207 +0,0 @@ -package com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance - -import androidx.activity.compose.BackHandler -import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.WindowInsetsSides -import androidx.compose.foundation.layout.only -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.safeDrawing -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Warning -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.material3.TopAppBar -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.window.DialogProperties -import androidx.navigation.NavHostController -import com.joeloewi.croissant.R -import com.joeloewi.croissant.state.CreateAttendancePage -import com.joeloewi.croissant.state.CreateAttendanceState -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.state.rememberCreateAttendanceState -import com.joeloewi.croissant.ui.navigation.main.attendances.screen.COOKIE -import com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance.composable.GetSession -import com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance.composable.SelectGames -import com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance.composable.SetTime -import com.joeloewi.croissant.util.ProgressDialog -import com.joeloewi.croissant.util.getResultFromPreviousComposable -import com.joeloewi.croissant.util.navigationIconButton -import com.joeloewi.croissant.viewmodel.CreateAttendanceViewModel - -@Composable -fun CreateAttendanceScreen( - navController: NavHostController, - createAttendanceViewModel: CreateAttendanceViewModel -) { - val createAttendanceState = rememberCreateAttendanceState( - navController = navController, - createAttendanceViewModel = createAttendanceViewModel - ) - - LaunchedEffect(createAttendanceState) { - getResultFromPreviousComposable( - navController = navController, - key = COOKIE - )?.let { - createAttendanceState.onCookieChange(cookie = it) - } - } - - CreateAttendanceContent( - createAttendanceState = createAttendanceState, - ) -} - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun CreateAttendanceContent( - createAttendanceState: CreateAttendanceState -) { - val insertAttendanceState = createAttendanceState.insertAttendanceState - val cookie = createAttendanceState.cookie - val pageIndex = createAttendanceState.pageIndex - - LaunchedEffect(cookie) { - if (cookie.isNotEmpty() && pageIndex == 0) { - createAttendanceState.setPageIndex(1) - } - } - - LaunchedEffect(insertAttendanceState) { - with(createAttendanceState) { - when (insertAttendanceState) { - is Lce.Loading -> { - onShowCreateAttendanceProgressDialogChange(true) - } - - is Lce.Content -> { - onShowCreateAttendanceProgressDialogChange(false) - if (insertAttendanceState.content.isNotEmpty()) { - onNavigateUp() - } - } - - is Lce.Error -> { - onShowCreateAttendanceProgressDialogChange(false) - } - } - } - } - - BackHandler( - enabled = pageIndex <= 1 - ) { - createAttendanceState.onShowCancelConfirmationDialogChange(true) - } - - BackHandler( - enabled = pageIndex > 1 - ) { - createAttendanceState.setPageIndex(pageIndex - 1) - } - - Scaffold( - topBar = { - TopAppBar( - title = { - Text(text = stringResource(id = R.string.create_attendance)) - }, - navigationIcon = navigationIconButton( - previousBackStackEntry = createAttendanceState.previousBackStackEntry, - onClick = { - createAttendanceState.onShowCancelConfirmationDialogChange(true) - } - ) - ) - }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Top) - ) { innerPadding -> - when (createAttendanceState.pages[pageIndex]) { - CreateAttendancePage.GetSession -> { - GetSession( - modifier = Modifier - .padding(innerPadding), - onLoginHoYoLAB = createAttendanceState::onLoginHoYoLAB - ) - } - - CreateAttendancePage.SelectGames -> { - SelectGames( - modifier = Modifier - .padding(innerPadding), - createAttendanceState = createAttendanceState - ) - } - - CreateAttendancePage.SetTime -> { - SetTime( - modifier = Modifier - .padding(innerPadding), - createAttendanceState = createAttendanceState, - ) - } - } - - if (createAttendanceState.showCancelConfirmationDialog) { - AlertDialog( - onDismissRequest = { - createAttendanceState.onShowCancelConfirmationDialogChange(false) - }, - confirmButton = { - TextButton( - onClick = { - createAttendanceState.onShowCancelConfirmationDialogChange(false) - createAttendanceState.onNavigateUp() - } - ) { - Text(text = stringResource(id = R.string.confirm)) - } - }, - dismissButton = { - TextButton( - onClick = { - createAttendanceState.onShowCancelConfirmationDialogChange(false) - } - ) { - Text(text = stringResource(id = R.string.dismiss)) - } - }, - icon = { - Icon( - imageVector = Icons.Default.Warning, - contentDescription = Icons.Default.Warning.name - ) - }, - title = { - Text(text = stringResource(id = R.string.caution)) - }, - text = { - Text( - text = stringResource(id = R.string.unsaved_contents_will_be_disappeared), - textAlign = TextAlign.Center - ) - }, - properties = DialogProperties( - dismissOnClickOutside = false, - dismissOnBackPress = false - ) - ) - } - - if (createAttendanceState.showCreateAttendanceProgressDialog) { - ProgressDialog( - onDismissRequest = { - createAttendanceState.onShowCreateAttendanceProgressDialogChange(false) - } - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/firstlaunch/FirstLaunchDestination.kt b/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/firstlaunch/FirstLaunchDestination.kt deleted file mode 100644 index a4986890..00000000 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/firstlaunch/FirstLaunchDestination.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2022 joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.ui.navigation.main.firstlaunch - -import androidx.navigation.NavType - -sealed class FirstLaunchDestination { - abstract val arguments: List>> - protected abstract val plainRoute: String - val route: String - get() = "${plainRoute}${ - arguments.map { it.first }.joinToString( - separator = "/", - prefix = if (arguments.isEmpty()) { - "" - } else { - "/" - } - ) { "{$it}" } - }" - - object FirstLaunchScreen : FirstLaunchDestination() { - override val arguments: List>> = listOf() - override val plainRoute = "firstLaunchScreen" - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/screen/RedemptionCodesScreen.kt b/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/screen/RedemptionCodesScreen.kt deleted file mode 100644 index 1404cc06..00000000 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/screen/RedemptionCodesScreen.kt +++ /dev/null @@ -1,397 +0,0 @@ -package com.joeloewi.croissant.ui.navigation.main.redemptioncodes.screen - -import android.content.Intent -import android.net.Uri -import androidx.compose.animation.animateContentSize -import androidx.compose.animation.core.LinearOutSlowInEasing -import androidx.compose.animation.core.tween -import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.layout.* -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.items -import androidx.compose.foundation.text.ClickableText -import androidx.compose.foundation.text.selection.SelectionContainer -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Error -import androidx.compose.material.icons.filled.ExpandLess -import androidx.compose.material.icons.filled.ExpandMore -import androidx.compose.material.icons.filled.Refresh -import androidx.compose.material.pullrefresh.PullRefreshIndicator -import androidx.compose.material.pullrefresh.pullRefresh -import androidx.compose.material3.* -import androidx.compose.runtime.* -import androidx.compose.runtime.snapshots.SnapshotStateList -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip -import androidx.compose.ui.graphics.takeOrElse -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.AnnotatedString -import androidx.compose.ui.text.ExperimentalTextApi -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import androidx.navigation.NavHostController -import coil.compose.AsyncImage -import coil.request.ImageRequest -import com.google.accompanist.placeholder.PlaceholderHighlight -import com.google.accompanist.placeholder.fade -import com.google.accompanist.placeholder.placeholder -import com.joeloewi.croissant.R -import com.joeloewi.croissant.domain.common.HoYoLABGame -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.state.RedemptionCodesState -import com.joeloewi.croissant.state.rememberRedemptionCodesState -import com.joeloewi.croissant.ui.navigation.main.CroissantNavigation -import com.joeloewi.croissant.ui.theme.DefaultDp -import com.joeloewi.croissant.ui.theme.DoubleDp -import com.joeloewi.croissant.ui.theme.HalfDp -import com.joeloewi.croissant.ui.theme.IconDp -import com.joeloewi.croissant.util.gameNameStringResId -import com.joeloewi.croissant.viewmodel.RedemptionCodesViewModel -import kotlinx.collections.immutable.ImmutableList -import kotlinx.collections.immutable.toImmutableList - -@Composable -fun RedemptionCodesScreen( - navController: NavHostController, - redemptionCodesViewModel: RedemptionCodesViewModel = hiltViewModel() -) { - val redemptionCodesState = - rememberRedemptionCodesState(redemptionCodesViewModel = redemptionCodesViewModel) - - RedemptionCodesContent( - redemptionCodesState = redemptionCodesState, - ) -} - -@OptIn( - ExperimentalMaterial3Api::class, - ExperimentalMaterialApi::class -) -@Composable -private fun RedemptionCodesContent( - redemptionCodesState: RedemptionCodesState, -) { - Scaffold( - snackbarHost = { - SnackbarHost(hostState = redemptionCodesState.snackbarHostState) - }, - topBar = { - TopAppBar( - title = { - Text(text = stringResource(id = CroissantNavigation.RedemptionCodes.resourceId)) - } - ) - }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Top) - ) { innerPadding -> - val pullRefreshState = redemptionCodesState.swipeRefreshState - - Box( - modifier = Modifier - .padding(innerPadding) - .pullRefresh(pullRefreshState) - ) { - with(redemptionCodesState.hoYoLABGameRedemptionCodesState) { - when (this) { - is Lce.Content -> { - RedemptionCodes( - hoYoLABGameRedemptionCodes = content.toImmutableList(), - expandedItems = redemptionCodesState.expandedItems, - ) - } - - is Lce.Error -> { - RedemptionCodesError(onRefresh = redemptionCodesState::onRefresh) - } - - Lce.Loading -> { - RedemptionCodesLoading() - } - } - } - - PullRefreshIndicator( - refreshing = redemptionCodesState.hoYoLABGameRedemptionCodesState.isLoading, - state = pullRefreshState, - modifier = Modifier.align(Alignment.TopCenter), - backgroundColor = MaterialTheme.colorScheme.surface, - contentColor = contentColorFor(backgroundColor = MaterialTheme.colorScheme.surface) - ) - } - } -} - -@Composable -private fun RedemptionCodesLoading() { - LazyColumn( - modifier = Modifier - .fillMaxSize() - ) { - items( - items = IntArray(3) { it }.toTypedArray(), - key = { "placeholder${it}" } - ) { - RedemptionCodeListItemPlaceholder() - } - } -} - -@Composable -private fun RedemptionCodesError( - onRefresh: () -> Unit -) { - Column( - modifier = Modifier - .fillMaxSize() - .then(Modifier.padding(DoubleDp)), - verticalArrangement = Arrangement.spacedBy(DefaultDp, Alignment.CenterVertically), - horizontalAlignment = Alignment.CenterHorizontally - ) { - Icon( - modifier = Modifier - .fillMaxSize(0.3f), - imageVector = Icons.Default.Error, - contentDescription = Icons.Default.Error.name, - tint = MaterialTheme.colorScheme.primaryContainer - ) - Text( - text = stringResource(id = R.string.error_occurred), - style = MaterialTheme.typography.titleMedium, - textAlign = TextAlign.Center - ) - Text( - text = stringResource(id = R.string.due_to_site_policy), - style = MaterialTheme.typography.titleMedium, - textAlign = TextAlign.Center - ) - Button(onClick = onRefresh) { - Row( - horizontalArrangement = Arrangement.spacedBy( - DefaultDp, - Alignment.CenterHorizontally - ), - verticalAlignment = Alignment.CenterVertically - ) { - Icon( - imageVector = Icons.Default.Refresh, - contentDescription = Icons.Default.Refresh.name - ) - Text(text = stringResource(id = R.string.retry)) - } - } - } -} - -@OptIn(ExperimentalFoundationApi::class) -@Composable -private fun RedemptionCodes( - hoYoLABGameRedemptionCodes: ImmutableList>, - expandedItems: SnapshotStateList, -) { - Box(modifier = Modifier) { - LazyColumn( - modifier = Modifier - .fillMaxSize(), - ) { - items( - items = hoYoLABGameRedemptionCodes, - key = { it.first.gameId } - ) { item -> - when (item.first) { - HoYoLABGame.Unknown, HoYoLABGame.TearsOfThemis -> { - - } - - else -> { - RedemptionCodeListItem( - modifier = Modifier.animateItemPlacement(), - item = item, - expandedItems = expandedItems - ) - } - } - } - } - } -} - -@OptIn(ExperimentalMaterial3Api::class, ExperimentalTextApi::class) -@Composable -private fun RedemptionCodeListItem( - modifier: Modifier, - expandedItems: SnapshotStateList, - item: Pair -) { - val height by remember(expandedItems, item.first) { - derivedStateOf { - if (expandedItems.contains(item.first)) { - Dp.Unspecified - } else { - 216.dp - } - } - } - val context = LocalContext.current - - Card( - modifier = modifier - .animateContentSize( - animationSpec = tween( - durationMillis = 300, - easing = LinearOutSlowInEasing - ) - ) - .fillMaxWidth() - .padding(horizontal = DefaultDp, vertical = HalfDp), - ) { - Column { - TopAppBar( - colors = TopAppBarDefaults.smallTopAppBarColors( - containerColor = MaterialTheme.colorScheme.surfaceVariant - ), - navigationIcon = { - AsyncImage( - modifier = Modifier - .padding(12.dp) - .size(IconDp) - .clip(MaterialTheme.shapes.extraSmall), - model = ImageRequest.Builder(LocalContext.current) - .data(item.first.gameIconUrl) - .build(), - contentDescription = null - ) - }, - title = { - Text(text = stringResource(id = item.first.gameNameStringResId())) - }, - actions = { - IconButton( - onClick = { - if (!expandedItems.contains(item.first)) { - expandedItems.add(item.first) - } else { - expandedItems.remove(item.first) - } - } - ) { - if (expandedItems.contains(item.first)) { - Icon( - imageVector = Icons.Default.ExpandLess, - contentDescription = Icons.Default.ExpandLess.name - ) - } else { - Icon( - imageVector = Icons.Default.ExpandMore, - contentDescription = Icons.Default.ExpandMore.name - ) - } - } - }, - windowInsets = WindowInsets.systemBars.only(WindowInsetsSides.Horizontal) - ) - - Row( - modifier = Modifier - .height(height) - .padding(horizontal = DefaultDp), - ) { - SelectionContainer { - val textStyle = LocalTextStyle.current - val textColor = textStyle.color.takeOrElse { - LocalContentColor.current - } - - ClickableText( - text = item.second, - style = textStyle.copy(color = textColor), - onClick = { offset -> - item.second.getUrlAnnotations(offset, offset).firstOrNull()?.let { - context.startActivity( - Intent( - Intent.ACTION_VIEW, - Uri.parse(it.item.url) - ) - ) - } - } - ) - } - } - } - } -} - -@Composable -private fun RedemptionCodeListItemPlaceholder() { - Card( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = DefaultDp, vertical = HalfDp), - ) { - Column( - modifier = Modifier - .padding(DefaultDp), - verticalArrangement = Arrangement.spacedBy( - space = DefaultDp - ) - ) { - Row( - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically - ) { - AsyncImage( - modifier = Modifier - .size(IconDp) - .placeholder( - visible = true, - shape = MaterialTheme.shapes.extraSmall, - color = MaterialTheme.colorScheme.outline, - highlight = PlaceholderHighlight.fade( - highlightColor = MaterialTheme.colorScheme.surfaceVariant, - ) - ), - model = ImageRequest.Builder(LocalContext.current) - .build(), - contentDescription = null - ) - - Spacer(modifier = Modifier.padding(DefaultDp)) - - Text( - modifier = Modifier - .fillMaxWidth() - .placeholder( - visible = true, - shape = MaterialTheme.shapes.extraSmall, - color = MaterialTheme.colorScheme.outline, - highlight = PlaceholderHighlight.fade( - highlightColor = MaterialTheme.colorScheme.surfaceVariant, - ) - ), - text = "" - ) - } - - repeat(3) { - Text( - modifier = Modifier - .fillMaxWidth() - .placeholder( - visible = true, - shape = MaterialTheme.shapes.extraSmall, - color = MaterialTheme.colorScheme.outline, - highlight = PlaceholderHighlight.fade( - highlightColor = MaterialTheme.colorScheme.surfaceVariant, - ) - ), - text = "" - ) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ui/theme/Theme.kt b/app/src/main/java/com/joeloewi/croissant/ui/theme/Theme.kt deleted file mode 100644 index ed3808f1..00000000 --- a/app/src/main/java/com/joeloewi/croissant/ui/theme/Theme.kt +++ /dev/null @@ -1,65 +0,0 @@ -package com.joeloewi.croissant.ui.theme - -import android.view.Window -import android.view.WindowManager -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.runtime.Composable -import androidx.compose.runtime.SideEffect -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.platform.LocalView -import androidx.core.view.WindowCompat -import com.google.accompanist.themeadapter.material3.Mdc3Theme -import com.joeloewi.croissant.BuildConfig - -@Composable -fun CroissantTheme( - window: Window, - content: @Composable () -> Unit -) { - val useDarkIcons = !isSystemInDarkTheme() - val view = LocalView.current - - if (!view.isInEditMode) { - SideEffect { - WindowCompat.getInsetsController(window, view).apply { - isAppearanceLightStatusBars = useDarkIcons - isAppearanceLightNavigationBars = useDarkIcons - } - - if (BuildConfig.DEBUG) { - window.setFlags( - WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, - WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED - ) - } - } - } - - Mdc3Theme( - content = content - ) -} - -val successContainerColor - @Composable - get() = if (isSystemInDarkTheme()) { - Color(0xFF00522C) - } else { - Color(0xFF97F7B6) - } - -val onSuccessContainerColor - @Composable - get() = if (isSystemInDarkTheme()) { - Color(0xFF7CDA9C) - } else { - Color(0xFF006D3C) - } - -val warningContainerColor - @Composable - get() = if (isSystemInDarkTheme()) { - Color(0xFF564500) - } else { - Color(0xFFFFE083) - } \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/util/BroadcastReceiverExtensions.kt b/app/src/main/java/com/joeloewi/croissant/util/BroadcastReceiverExtensions.kt deleted file mode 100644 index 0e0bd110..00000000 --- a/app/src/main/java/com/joeloewi/croissant/util/BroadcastReceiverExtensions.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.joeloewi.croissant.util - -import android.content.BroadcastReceiver -import kotlinx.coroutines.CancellationException -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.Job -import kotlinx.coroutines.SupervisorJob -import kotlinx.coroutines.cancel -import kotlinx.coroutines.launch -import kotlin.coroutines.CoroutineContext - -fun BroadcastReceiver.goAsync( - onError: (cause: Throwable) -> Unit, - coroutineContext: CoroutineContext = Dispatchers.Default, - block: suspend CoroutineScope.() -> Unit, -): Job { - val coroutineScope = CoroutineScope(SupervisorJob() + coroutineContext) - val pendingResult = goAsync() - - return coroutineScope.launch { - try { - try { - block() - } catch (e: CancellationException) { - throw e - } catch (t: Throwable) { - onError(t) - } finally { - coroutineScope.cancel() - } - } finally { - pendingResult.finish() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/util/NotificationChannelUtil.kt b/app/src/main/java/com/joeloewi/croissant/util/NotificationChannelUtil.kt deleted file mode 100644 index 5957cf90..00000000 --- a/app/src/main/java/com/joeloewi/croissant/util/NotificationChannelUtil.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2022 joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.util - -import android.content.Context -import androidx.core.app.NotificationChannelCompat -import androidx.core.app.NotificationManagerCompat -import com.joeloewi.croissant.R - -fun Context.createNotificationChannels( - idNamePairs: List> = listOf( - getString(R.string.attendance_notification_channel_id) to getString(R.string.attendance_notification_channel_name), - getString(R.string.check_session_notification_channel_id) to getString(R.string.check_session_notification_channel_name), - getString(R.string.time_zone_changed_notification_channel_id) to getString(R.string.time_zone_changed_notification_channel_name), - getString(R.string.attendance_foreground_notification_channel_id) to getString(R.string.attendance_foreground_notification_channel_name) - ) -) = idNamePairs.filter { pair -> - NotificationManagerCompat.from(this).getNotificationChannel(pair.first) == null -}.map { pair -> - NotificationChannelCompat - .Builder( - pair.first, - NotificationManagerCompat.IMPORTANCE_MAX - ) - .setName(pair.second) - .build() -}.let { - NotificationManagerCompat.from(this).createNotificationChannelsCompat(it) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/util/TimeChangedFlow.kt b/app/src/main/java/com/joeloewi/croissant/util/TimeChangedFlow.kt deleted file mode 100644 index 74b7f278..00000000 --- a/app/src/main/java/com/joeloewi/croissant/util/TimeChangedFlow.kt +++ /dev/null @@ -1,26 +0,0 @@ -package com.joeloewi.croissant.util - -import android.content.Context -import android.content.Intent -import android.content.IntentFilter -import android.text.format.DateFormat -import com.joeloewi.croissant.receiver.TimeChangedReceiver -import kotlinx.coroutines.channels.awaitClose -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.callbackFlow - -val Context.is24HourFormat: Flow - get() = callbackFlow { - val timeChangedReceiver = TimeChangedReceiver( - onReceiveActionTimeChanged = { - trySend(HourFormat.fromSystemHourFormat(DateFormat.is24HourFormat(this@is24HourFormat))) - } - ) - val intentFilter = IntentFilter(Intent.ACTION_TIME_CHANGED) - - registerReceiver(timeChangedReceiver, intentFilter) - - awaitClose { - unregisterReceiver(timeChangedReceiver) - } - } \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/util/TimePicker.kt b/app/src/main/java/com/joeloewi/croissant/util/TimePicker.kt deleted file mode 100644 index d1146384..00000000 --- a/app/src/main/java/com/joeloewi/croissant/util/TimePicker.kt +++ /dev/null @@ -1,81 +0,0 @@ -package com.joeloewi.croissant.util - -import android.os.Build -import android.widget.TimePicker -import androidx.compose.runtime.Composable -import androidx.compose.runtime.Stable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue -import androidx.compose.ui.Modifier -import androidx.compose.ui.viewinterop.AndroidView -import java.time.ZonedDateTime - -@Composable -fun TimePicker( - modifier: Modifier = Modifier, - enabled: Boolean = true, - onCreated: (TimePicker) -> Unit = {}, - hourOfDay: Int, - minute: Int, - onHourOfDayChange: (Int) -> Unit, - onMinuteChange: (Int) -> Unit -) { - val timePickerState = rememberTimePickerState( - hourOfDay = hourOfDay, - minute = minute, - onHourOfDayChange = onHourOfDayChange, - onMinuteChange = onMinuteChange - ) - val hourFormat = LocalHourFormat.current - - AndroidView( - factory = { androidViewContext -> - TimePicker(androidViewContext).apply { - onCreated(this) - - isEnabled = enabled - setIs24HourView(hourFormat == HourFormat.TwentyFourHour) - - setOnTimeChangedListener { _, hourOfDay, minute -> - timePickerState.onHourOfDayChange(hourOfDay) - timePickerState.onMinuteChange(minute) - } - } - }, - modifier = modifier - ) { view -> - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - timePickerState.hourOfDay.takeIf { it != view.hour }?.let(view::setHour) - timePickerState.minute.takeIf { it != view.minute }?.let(view::setMinute) - } else { - timePickerState.hourOfDay.takeIf { it != view.currentHour }?.let(view::setCurrentHour) - timePickerState.minute.takeIf { it != view.currentMinute }?.let(view::setCurrentMinute) - } - } -} - -@Composable -fun rememberTimePickerState( - hourOfDay: Int = ZonedDateTime.now().hour, - minute: Int = ZonedDateTime.now().minute, - onHourOfDayChange: (Int) -> Unit, - onMinuteChange: (Int) -> Unit -) = remember(hourOfDay, minute, onHourOfDayChange, onMinuteChange) { - TimePickerState(hourOfDay, minute, onHourOfDayChange, onMinuteChange) -} - -@Stable -class TimePickerState( - hourOfDay: Int = ZonedDateTime.now().hour, - minute: Int = ZonedDateTime.now().minute, - onHourOfDayChange: (Int) -> Unit, - onMinuteChange: (Int) -> Unit -) { - var hourOfDay: Int by mutableStateOf(hourOfDay) - var minute: Int by mutableStateOf(minute) - var onHourOfDayChange: ((Int) -> Unit) by mutableStateOf(onHourOfDayChange) - var onMinuteChange: ((Int) -> Unit) by mutableStateOf(onMinuteChange) -} - diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/AppViewModel.kt b/app/src/main/java/com/joeloewi/croissant/viewmodel/AppViewModel.kt deleted file mode 100644 index 5dc39c24..00000000 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/AppViewModel.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.joeloewi.croissant.viewmodel - -import android.app.AlarmManager -import android.app.Application -import android.os.PowerManager -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.joeloewi.croissant.domain.usecase.SettingsUseCase -import com.joeloewi.croissant.util.RootChecker -import com.joeloewi.croissant.util.canScheduleExactAlarmsCompat -import com.joeloewi.croissant.util.isIgnoringBatteryOptimizationsCompat -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.flow -import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.stateIn -import javax.inject.Inject - -@HiltViewModel -class AppViewModel @Inject constructor( - private val application: Application, - getSettingsUseCase: SettingsUseCase.GetSettings, - private val powerManager: PowerManager, - private val alarmManager: AlarmManager, - rootChecker: RootChecker, -) : ViewModel() { - private val _settings = getSettingsUseCase() - - val isFirstLaunch = _settings.map { it.isFirstLaunch }.stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(), - initialValue = false - ) - val isDeviceRooted = flow { - emit(rootChecker.isDeviceRooted()) - }.stateIn( - scope = viewModelScope, - started = SharingStarted.Lazily, - initialValue = false - ) - - val isIgnoringBatteryOptimizations - get() = powerManager.isIgnoringBatteryOptimizationsCompat(application) - - val canScheduleExactAlarms - get() = alarmManager.canScheduleExactAlarmsCompat() -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendanceDetailViewModel.kt b/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendanceDetailViewModel.kt deleted file mode 100644 index fa93a841..00000000 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendanceDetailViewModel.kt +++ /dev/null @@ -1,298 +0,0 @@ -package com.joeloewi.croissant.viewmodel - -import android.app.AlarmManager -import android.app.Application -import android.app.PendingIntent -import android.content.Intent -import androidx.compose.runtime.mutableStateListOf -import androidx.core.app.AlarmManagerCompat -import androidx.lifecycle.SavedStateHandle -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import androidx.work.Constraints -import androidx.work.ExistingPeriodicWorkPolicy -import androidx.work.NetworkType -import androidx.work.PeriodicWorkRequest -import androidx.work.WorkManager -import androidx.work.workDataOf -import com.joeloewi.croissant.domain.common.LoggableWorker -import com.joeloewi.croissant.domain.common.WorkerExecutionLogState -import com.joeloewi.croissant.domain.entity.Game -import com.joeloewi.croissant.domain.entity.relational.AttendanceWithGames -import com.joeloewi.croissant.domain.usecase.AttendanceUseCase -import com.joeloewi.croissant.domain.usecase.GameUseCase -import com.joeloewi.croissant.domain.usecase.WorkerExecutionLogUseCase -import com.joeloewi.croissant.receiver.AlarmReceiver -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent -import com.joeloewi.croissant.worker.CheckSessionWorker -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.asStateFlow -import kotlinx.coroutines.flow.stateIn -import kotlinx.coroutines.flow.update -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import java.time.ZoneId -import java.time.ZonedDateTime -import java.util.concurrent.TimeUnit -import javax.inject.Inject - -@HiltViewModel -class AttendanceDetailViewModel @Inject constructor( - private val alarmManager: AlarmManager, - getCountByStateWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.GetCountByState, - private val getOneAttendanceUseCase: AttendanceUseCase.GetOne, - private val updateAttendanceUseCase: AttendanceUseCase.Update, - private val deleteGameUseCase: GameUseCase.Delete, - private val insertGameUseCase: GameUseCase.Insert, - private val application: Application, - savedStateHandle: SavedStateHandle -) : ViewModel() { - //parameter - private val _attendanceIdKey = AttendancesDestination.AttendanceDetailScreen.ATTENDANCE_ID - val attendanceId = savedStateHandle.get(_attendanceIdKey) ?: Long.MIN_VALUE - - private val _attendanceWithGamesState = MutableStateFlow>(Lce.Loading) - private val _cookie = MutableStateFlow("") - private val _hourOfDay = MutableStateFlow(ZonedDateTime.now().hour) - private val _minute = MutableStateFlow(ZonedDateTime.now().minute) - private val _nickname = MutableStateFlow("") - private val _uid = MutableStateFlow(0L) - private val _updateAttendanceState = MutableStateFlow>(Lce.Content(null)) - - val checkedGames = mutableStateListOf() - val attendanceWithGamesState = _attendanceWithGamesState.asStateFlow() - val hourOfDay = _hourOfDay.asStateFlow() - val minute = _minute.asStateFlow() - val nickname = _nickname.asStateFlow() - val uid = _uid.asStateFlow() - - //log count - val checkSessionWorkerSuccessLogCount = - getCountByStateWorkerExecutionLogUseCase( - attendanceId = attendanceId, - loggableWorker = LoggableWorker.CHECK_SESSION, - state = WorkerExecutionLogState.SUCCESS - ).stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(), - initialValue = 0L - ) - val checkSessionWorkerFailureLogCount = - getCountByStateWorkerExecutionLogUseCase( - attendanceId = attendanceId, - loggableWorker = LoggableWorker.CHECK_SESSION, - state = WorkerExecutionLogState.FAILURE - ).stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(), - initialValue = 0L - ) - val attendCheckInEventWorkerSuccessLogCount = - getCountByStateWorkerExecutionLogUseCase( - attendanceId = attendanceId, - loggableWorker = LoggableWorker.ATTEND_CHECK_IN_EVENT, - state = WorkerExecutionLogState.SUCCESS - ).stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(), - initialValue = 0L - ) - val attendCheckInEventWorkerFailureLogCount = - getCountByStateWorkerExecutionLogUseCase( - attendanceId = attendanceId, - loggableWorker = LoggableWorker.ATTEND_CHECK_IN_EVENT, - state = WorkerExecutionLogState.FAILURE - ).stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(), - initialValue = 0L - ) - val updateAttendanceState = _updateAttendanceState.asStateFlow() - - fun setCookie(cookie: String) { - _cookie.update { cookie } - } - - fun setHourOfDay(hourOfDay: Int) { - _hourOfDay.update { hourOfDay } - } - - fun setMinute(minute: Int) { - _minute.update { minute } - } - - init { - _attendanceWithGamesState.update { Lce.Loading } - viewModelScope.launch(Dispatchers.IO) { - _attendanceWithGamesState.update { - getOneAttendanceUseCase.runCatching { - invoke(attendanceId) - }.mapCatching { attendanceWithGames -> - attendanceWithGames.also { - with(attendanceWithGames) { - with(attendance) { - _cookie.value = cookie - _hourOfDay.value = hourOfDay - _minute.value = minute - _nickname.value = nickname - _uid.value = uid - } - - withContext(Dispatchers.Main) { - checkedGames.addAll(games.map { - Game( - type = it.type - ) - }) - } - } - } - }.fold( - onSuccess = { - Lce.Content(it) - }, - onFailure = { - Lce.Error(it) - } - ) - } - } - } - - fun updateAttendance() { - _updateAttendanceState.update { Lce.Loading } - viewModelScope.launch(Dispatchers.IO) { - _updateAttendanceState.update { - getOneAttendanceUseCase.runCatching { - invoke(attendanceId) - }.mapCatching { attendanceWithGames -> - val timeZonedId = ZoneId.systemDefault().id - val attendance = attendanceWithGames.attendance - val now = ZonedDateTime.now(ZoneId.of(timeZonedId)) - val canExecuteToday = - (now.hour < _hourOfDay.value) || (now.hour == _hourOfDay.value && now.minute < _minute.value) - - val targetTime = ZonedDateTime.now(ZoneId.of(timeZonedId)) - .plusDays( - if (!canExecuteToday) { - 1 - } else { - 0 - } - ) - .withHour(_hourOfDay.value) - .withMinute(_minute.value) - .withSecond(30) - - WorkManager.getInstance(application) - .cancelUniqueWork(attendance.attendCheckInEventWorkerName.toString()) - - val alarmPendingIntent = PendingIntent.getBroadcast( - application, - attendance.id.toInt(), - Intent(application, AlarmReceiver::class.java).apply { - action = AlarmReceiver.RECEIVE_ATTEND_CHECK_IN_ALARM - putExtra(AlarmReceiver.ATTENDANCE_ID, attendance.id) - }, - pendingIntentFlagUpdateCurrent - ) - - with(alarmManager) { - cancel(alarmPendingIntent) - AlarmManagerCompat.setExactAndAllowWhileIdle( - this, - AlarmManager.RTC_WAKEUP, - targetTime.toInstant().toEpochMilli(), - alarmPendingIntent - ) - } - - val periodicCheckSessionWork = PeriodicWorkRequest.Builder( - CheckSessionWorker::class.java, - 6L, - TimeUnit.HOURS - ) - .setInputData(workDataOf(CheckSessionWorker.ATTENDANCE_ID to attendance.id)) - .setConstraints( - Constraints.Builder() - .setRequiredNetworkType(NetworkType.CONNECTED) - .build() - ) - .build() - - WorkManager.getInstance(application) - .enqueueUniquePeriodicWork( - attendance.checkSessionWorkerName.toString(), - ExistingPeriodicWorkPolicy.UPDATE, - periodicCheckSessionWork - ) - - updateAttendanceUseCase( - attendance.copy( - modifiedAt = System.currentTimeMillis(), - cookie = _cookie.value, - nickname = _nickname.value, - uid = _uid.value, - hourOfDay = _hourOfDay.value, - minute = _minute.value, - timezoneId = timeZonedId, - checkSessionWorkerId = periodicCheckSessionWork.id - ) - ) - - val games = attendanceWithGames.games - val originalGames = arrayListOf() - val newGames = arrayListOf() - - if (checkedGames.isEmpty()) { - deleteGameUseCase(*games.toTypedArray()) - } else { - games.forEach { game -> - if (!checkedGames.contains( - Game( - type = game.type - ) - ) - ) { - deleteGameUseCase(game) - } else { - originalGames.add( - Game( - type = game.type - ) - ) - } - } - - checkedGames.forEach { game -> - if (!originalGames.any { it == game }) { - newGames.add( - Game( - attendanceId = attendance.id, - roleId = game.roleId, - type = game.type, - region = game.region - ) - ) - } - } - } - - insertGameUseCase(*newGames.toTypedArray()) - }.fold( - onSuccess = { - Lce.Content(Unit) - }, - onFailure = { - Lce.Error(it) - } - ) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendanceLogsCalendarViewModel.kt b/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendanceLogsCalendarViewModel.kt deleted file mode 100644 index d4b07617..00000000 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendanceLogsCalendarViewModel.kt +++ /dev/null @@ -1,88 +0,0 @@ -package com.joeloewi.croissant.viewmodel - -import androidx.lifecycle.SavedStateHandle -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.joeloewi.croissant.domain.common.LoggableWorker -import com.joeloewi.croissant.domain.common.WorkerExecutionLogState -import com.joeloewi.croissant.domain.usecase.WorkerExecutionLogUseCase -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asStateFlow -import kotlinx.coroutines.flow.catch -import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.flowOn -import kotlinx.coroutines.flow.update -import kotlinx.coroutines.launch -import java.time.Month -import java.time.Year -import java.time.format.DateTimeFormatter -import javax.inject.Inject - -@HiltViewModel -class AttendanceLogsCalendarViewModel @Inject constructor( - private val getCountByStateAndDateWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.GetCountByStateAndDate, - private val deleteAllPagedWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.DeleteAll, - savedStateHandle: SavedStateHandle -) : ViewModel() { - //parameter - private val _attendanceIdKey = AttendancesDestination.AttendanceLogsCalendarScreen.ATTENDANCE_ID - private val _loggableWorkerKey = - AttendancesDestination.AttendanceLogsCalendarScreen.LOGGABLE_WORKER - private val _year = MutableStateFlow(Year.now()) - - private val _deleteAllState = MutableStateFlow>(Lce.Content(-1)) - val deleteAllState = _deleteAllState.asStateFlow() - - val attendanceId = savedStateHandle.get(_attendanceIdKey) ?: Long.MIN_VALUE - val loggableWorker = - savedStateHandle.get(_loggableWorkerKey) ?: LoggableWorker.UNKNOWN - val year = _year.asStateFlow() - - fun deleteAll() { - _deleteAllState.update { Lce.Loading } - viewModelScope.launch(Dispatchers.IO) { - _deleteAllState.update { - deleteAllPagedWorkerExecutionLogUseCase.runCatching { - invoke( - attendanceId = attendanceId, - loggableWorker = loggableWorker - ) - }.fold( - onSuccess = { - Lce.Content(it) - }, - onFailure = { - Lce.Error(it) - } - ) - } - } - } - - fun getCountByDate( - year: Year, - month: Month, - day: Int - ): Flow> = combine( - getCountByStateAndDateWorkerExecutionLogUseCase( - attendanceId, - loggableWorker, - WorkerExecutionLogState.SUCCESS, - year.atMonth(month).atDay(day).format(DateTimeFormatter.ISO_LOCAL_DATE) - ), getCountByStateAndDateWorkerExecutionLogUseCase( - attendanceId, - loggableWorker, - WorkerExecutionLogState.FAILURE, - year.atMonth(month).atDay(day).format(DateTimeFormatter.ISO_LOCAL_DATE) - ) - ) { success, failure -> success to failure }.flowOn(Dispatchers.IO).catch { } - - fun setYear(year: Year) { - _year.value = year - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendancesViewModel.kt b/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendancesViewModel.kt deleted file mode 100644 index dc22a062..00000000 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendancesViewModel.kt +++ /dev/null @@ -1,72 +0,0 @@ -package com.joeloewi.croissant.viewmodel - -import android.app.AlarmManager -import android.app.Application -import android.app.PendingIntent -import android.content.Intent -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import androidx.paging.cachedIn -import androidx.work.WorkManager -import com.joeloewi.croissant.domain.entity.Attendance -import com.joeloewi.croissant.domain.usecase.AttendanceUseCase -import com.joeloewi.croissant.domain.usecase.SettingsUseCase -import com.joeloewi.croissant.receiver.AlarmReceiver -import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.stateIn -import kotlinx.coroutines.launch -import javax.inject.Inject - -@HiltViewModel -class AttendancesViewModel @Inject constructor( - private val application: Application, - private val alarmManager: AlarmManager, - getAllPagedAttendanceWithGamesUseCase: AttendanceUseCase.GetAllPaged, - private val deleteAttendanceUseCase: AttendanceUseCase.Delete, - getSettings: SettingsUseCase.GetSettings -) : ViewModel() { - val pagedAttendanceWithGames = getAllPagedAttendanceWithGamesUseCase().cachedIn(viewModelScope) - val isFirstLaunch = getSettings().map { it.isFirstLaunch }.map { it }.stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(), - initialValue = false - ) - - fun deleteAttendance(attendance: Attendance) { - viewModelScope.launch(Dispatchers.IO) { - runCatching { - listOf( - attendance.checkSessionWorkerName, - attendance.attendCheckInEventWorkerName, - attendance.oneTimeAttendCheckInEventWorkerName - ).map { it.toString() }.map { uniqueWorkName -> - WorkManager.getInstance(application).cancelUniqueWork(uniqueWorkName) - } - - val alarmPendingIntent = PendingIntent.getBroadcast( - application, - attendance.id.toInt(), - Intent(application, AlarmReceiver::class.java).apply { - action = AlarmReceiver.RECEIVE_ATTEND_CHECK_IN_ALARM - putExtra(AlarmReceiver.ATTENDANCE_ID, attendance.id) - }, - pendingIntentFlagUpdateCurrent - ) - - alarmManager.cancel( - alarmPendingIntent - ) - - deleteAttendanceUseCase(attendance) - }.onSuccess { - - }.onFailure { - - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/CreateAttendanceViewModel.kt b/app/src/main/java/com/joeloewi/croissant/viewmodel/CreateAttendanceViewModel.kt deleted file mode 100644 index f261011a..00000000 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/CreateAttendanceViewModel.kt +++ /dev/null @@ -1,247 +0,0 @@ -package com.joeloewi.croissant.viewmodel - -import android.app.AlarmManager -import android.app.Application -import android.app.PendingIntent -import android.content.Intent -import androidx.compose.runtime.mutableStateListOf -import androidx.core.app.AlarmManagerCompat -import androidx.lifecycle.SavedStateHandle -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import androidx.work.* -import com.joeloewi.croissant.domain.common.HoYoLABGame -import com.joeloewi.croissant.domain.entity.Attendance -import com.joeloewi.croissant.domain.entity.Game -import com.joeloewi.croissant.domain.usecase.AttendanceUseCase -import com.joeloewi.croissant.domain.usecase.GameUseCase -import com.joeloewi.croissant.domain.usecase.HoYoLABUseCase -import com.joeloewi.croissant.receiver.AlarmReceiver -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent -import com.joeloewi.croissant.worker.CheckSessionWorker -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.ObsoleteCoroutinesApi -import kotlinx.coroutines.channels.ticker -import kotlinx.coroutines.flow.* -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import java.time.ZoneId -import java.time.ZonedDateTime -import java.util.concurrent.TimeUnit -import javax.inject.Inject - -@HiltViewModel -class CreateAttendanceViewModel @Inject constructor( - private val application: Application, - private val alarmManager: AlarmManager, - private val getUserFullInfoHoYoLABUseCase: HoYoLABUseCase.GetUserFullInfo, - private val getGameRecordCardHoYoLABUseCase: HoYoLABUseCase.GetGameRecordCard, - private val insertAttendanceUseCase: AttendanceUseCase.Insert, - private val updateAttendanceUseCase: AttendanceUseCase.Update, - private val insertGameUseCase: GameUseCase.Insert, - private val getOneByUidAttendanceUseCase: AttendanceUseCase.GetOneByUid, - private val savedStateHandle: SavedStateHandle, -) : ViewModel() { - private val _pageIndexKey = "pageIndex" - private val _cookie = MutableStateFlow("") - private val _hourOfDay = MutableStateFlow(ZonedDateTime.now().hour) - private val _minute = MutableStateFlow(ZonedDateTime.now().minute) - private val _insertAttendanceState = MutableStateFlow>>(Lce.Content(listOf())) - private val _userInfo = _cookie - .filter { it.isNotEmpty() } - .map { cookie -> - getUserFullInfoHoYoLABUseCase(cookie = cookie).getOrThrow().data?.userInfo - }.flowOn(Dispatchers.IO).catch { - - }.stateIn( - scope = viewModelScope, - started = SharingStarted.Lazily, - initialValue = null - ) - val duplicatedAttendance = _userInfo - .filterNotNull() - .map { - getOneByUidAttendanceUseCase(it.uid) - }.flowOn(Dispatchers.IO).catch { - - }.stateIn( - scope = viewModelScope, - started = SharingStarted.Lazily, - initialValue = null - ) - val connectedGames = _userInfo - .filterNotNull() - .combine(_cookie) { userInfo, cookie -> - userInfo to cookie - }.map { pair -> - checkedGames.clear() - getGameRecordCardHoYoLABUseCase.runCatching { - invoke( - pair.second, - pair.first.uid - ).getOrThrow()!!.list.onEach { gameRecord -> - withContext(Dispatchers.Main) { - checkedGames.add( - Game( - roleId = gameRecord.gameRoleId, - type = HoYoLABGame.findByGameId(gameId = gameRecord.gameId), - region = gameRecord.region - ) - ) - } - } - }.fold( - onSuccess = { - Lce.Content(it) - }, - onFailure = { - Lce.Error(it) - } - ) - }.flowOn(Dispatchers.IO).stateIn( - scope = viewModelScope, - started = SharingStarted.Lazily, - initialValue = Lce.Loading - ) - val cookie = _cookie.asStateFlow() - val checkedGames = mutableStateListOf() - - @OptIn(ObsoleteCoroutinesApi::class) - val tickPerSecond = ticker(delayMillis = 1000).receiveAsFlow() - .map { ZonedDateTime.now() } - .flowOn(Dispatchers.IO) - .stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(), - initialValue = ZonedDateTime.now() - ) - val hourOfDay = _hourOfDay.asStateFlow() - val minute = _minute.asStateFlow() - val insertAttendanceState = _insertAttendanceState.asStateFlow() - val pageIndex = savedStateHandle.getStateFlow(_pageIndexKey, 0) - val currentPageIndex - get() = pageIndex.value - - fun setPageIndex(pageIndex: Int) { - savedStateHandle[_pageIndexKey] = pageIndex - } - - fun setCookie(cookie: String) { - _cookie.update { cookie } - } - - fun setHourOfDay(hourOfDay: Int) { - _hourOfDay.update { hourOfDay } - } - - fun setMinute(minute: Int) { - _minute.update { minute } - } - - fun createAttendance() { - _insertAttendanceState.update { Lce.Loading } - viewModelScope.launch(Dispatchers.IO) { - _insertAttendanceState.update { - insertAttendanceUseCase.runCatching { - val hourOfDay = _hourOfDay.value - val minute = _minute.value - val attendance = Attendance( - cookie = _cookie.value, - nickname = _userInfo.value!!.nickname, - uid = _userInfo.value!!.uid, - hourOfDay = hourOfDay, - minute = minute, - timezoneId = ZoneId.systemDefault().id - ) - - with(attendance) { - copy( - id = invoke(attendance) - ) - } - }.mapCatching { attendance -> - val now = ZonedDateTime.now(ZoneId.of(attendance.timezoneId)) - val canExecuteToday = - (now.hour < attendance.hourOfDay) || (now.hour == attendance.hourOfDay && now.minute < attendance.minute) - - val targetTime = ZonedDateTime.now(ZoneId.of(attendance.timezoneId)) - .plusDays( - if (!canExecuteToday) { - 1 - } else { - 0 - } - ) - .withHour(attendance.hourOfDay) - .withMinute(attendance.minute) - .withSecond(30) - - val alarmIntent = Intent(application, AlarmReceiver::class.java).apply { - action = AlarmReceiver.RECEIVE_ATTEND_CHECK_IN_ALARM - putExtra(AlarmReceiver.ATTENDANCE_ID, attendance.id) - } - - val pendingIntent = PendingIntent.getBroadcast( - application, - attendance.id.toInt(), - alarmIntent, - pendingIntentFlagUpdateCurrent - ) - - with(alarmManager) { - cancel(pendingIntent) - AlarmManagerCompat.setExactAndAllowWhileIdle( - this, - AlarmManager.RTC_WAKEUP, - targetTime.toInstant().toEpochMilli(), - pendingIntent - ) - } - - val periodicCheckSessionWork = PeriodicWorkRequest.Builder( - CheckSessionWorker::class.java, - 6L, - TimeUnit.HOURS - ) - .setInputData(workDataOf(CheckSessionWorker.ATTENDANCE_ID to attendance.id)) - .setConstraints( - Constraints.Builder() - .setRequiredNetworkType(NetworkType.CONNECTED) - .build() - ) - .build() - - WorkManager.getInstance(application) - .enqueueUniquePeriodicWork( - attendance.checkSessionWorkerName.toString(), - ExistingPeriodicWorkPolicy.UPDATE, - periodicCheckSessionWork - ) - - updateAttendanceUseCase( - attendance.copy( - checkSessionWorkerId = periodicCheckSessionWork.id - ) - ) - - attendance.id - }.mapCatching { attendanceId -> - insertGameUseCase( - *checkedGames.map { - it.copy(attendanceId = attendanceId) - }.toTypedArray() - ) - }.fold( - onSuccess = { - Lce.Content(it) - }, - onFailure = { - Lce.Error(it) - } - ) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/CreateResinStatusWidgetViewModel.kt b/app/src/main/java/com/joeloewi/croissant/viewmodel/CreateResinStatusWidgetViewModel.kt deleted file mode 100644 index f787b18b..00000000 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/CreateResinStatusWidgetViewModel.kt +++ /dev/null @@ -1,141 +0,0 @@ -package com.joeloewi.croissant.viewmodel - -import android.app.Application -import android.appwidget.AppWidgetManager -import androidx.compose.runtime.snapshots.SnapshotStateList -import androidx.lifecycle.SavedStateHandle -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import androidx.work.Constraints -import androidx.work.ExistingPeriodicWorkPolicy -import androidx.work.NetworkType -import androidx.work.PeriodicWorkRequest -import androidx.work.WorkManager -import androidx.work.await -import androidx.work.workDataOf -import com.joeloewi.croissant.domain.entity.Account -import com.joeloewi.croissant.domain.entity.ResinStatusWidget -import com.joeloewi.croissant.domain.entity.UserInfo -import com.joeloewi.croissant.domain.usecase.AccountUseCase -import com.joeloewi.croissant.domain.usecase.HoYoLABUseCase -import com.joeloewi.croissant.domain.usecase.ResinStatusWidgetUseCase -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resinstatuswidgetconfiguration.ResinStatusWidgetConfigurationDestination -import com.joeloewi.croissant.worker.RefreshResinStatusWorker -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asStateFlow -import kotlinx.coroutines.flow.update -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import java.util.concurrent.TimeUnit -import javax.inject.Inject - -@HiltViewModel -class CreateResinStatusWidgetViewModel @Inject constructor( - private val application: Application, - private val getUserFullInfoHoYoLABUseCase: HoYoLABUseCase.GetUserFullInfo, - private val insertResinStatusWidgetUseCase: ResinStatusWidgetUseCase.Insert, - private val insertAccountUseCase: AccountUseCase.Insert, - savedStateHandle: SavedStateHandle, -) : ViewModel() { - private val _appWidgetIdKey = - ResinStatusWidgetConfigurationDestination.CreateResinStatusWidgetScreen.APP_WIDGET_ID - val selectableIntervals = listOf(15L, 30L) - - private val _createResinStatusWidgetState = MutableStateFlow>>( - Lce.Content( - listOf() - ) - ) - private val _getUserInfoState = MutableStateFlow>(Lce.Content(null)) - private val _interval = MutableStateFlow(selectableIntervals.first()) - - val appWidgetId = - savedStateHandle.get(_appWidgetIdKey) ?: AppWidgetManager.INVALID_APPWIDGET_ID - val createResinStatusWidgetState = _createResinStatusWidgetState.asStateFlow() - val getUserInfoState = _getUserInfoState.asStateFlow() - val interval = _interval.asStateFlow() - val userInfos = SnapshotStateList>() - - fun onReceiveCookie(cookie: String) { - _getUserInfoState.update { Lce.Loading } - viewModelScope.launch(Dispatchers.IO) { - _getUserInfoState.update { - getUserFullInfoHoYoLABUseCase(cookie).mapCatching { - it.data?.userInfo!! - }.fold( - onSuccess = { - withContext(Dispatchers.Main) { - userInfos.add(cookie to it) - } - Lce.Content(it) - }, - onFailure = { - Lce.Error(it) - } - ) - } - } - } - - fun setInterval(interval: Long) { - _interval.update { interval } - } - - fun configureAppWidget() { - _createResinStatusWidgetState.update { Lce.Loading } - viewModelScope.launch(Dispatchers.IO) { - _createResinStatusWidgetState.update { - this.runCatching { - val resinStatusWidget = ResinStatusWidget( - appWidgetId = appWidgetId, - interval = _interval.value, - ) - - val resinStatusWidgetId = insertResinStatusWidgetUseCase( - resinStatusWidget = resinStatusWidget - ) - - val accounts = userInfos - .map { - Account( - resinStatusWidgetId = resinStatusWidgetId, - cookie = it.first, - uid = it.second.uid - ) - } - - val periodicWorkRequest = PeriodicWorkRequest.Builder( - RefreshResinStatusWorker::class.java, - _interval.value, - TimeUnit.MINUTES - ).setInputData( - workDataOf(RefreshResinStatusWorker.APP_WIDGET_ID to appWidgetId) - ).setConstraints( - Constraints.Builder() - .setRequiredNetworkType(NetworkType.CONNECTED) - .build() - ).build() - - WorkManager.getInstance(application) - .enqueueUniquePeriodicWork( - resinStatusWidget.refreshGenshinResinStatusWorkerName.toString(), - ExistingPeriodicWorkPolicy.UPDATE, - periodicWorkRequest - ).await() - - insertAccountUseCase(*accounts.toTypedArray()) - }.fold( - onSuccess = { - Lce.Content(it) - }, - onFailure = { - Lce.Error(it) - } - ) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/LoginHoYoLABViewModel.kt b/app/src/main/java/com/joeloewi/croissant/viewmodel/LoginHoYoLABViewModel.kt deleted file mode 100644 index 024eb55d..00000000 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/LoginHoYoLABViewModel.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.joeloewi.croissant.viewmodel - -import android.webkit.CookieManager -import android.webkit.ValueCallback -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.joeloewi.croissant.state.Lce -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.channels.awaitClose -import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.callbackFlow -import kotlinx.coroutines.flow.stateIn -import javax.inject.Inject - -@HiltViewModel -class LoginHoYoLABViewModel @Inject constructor() : ViewModel() { - val removeAllCookies = callbackFlow> { - var valueCallback: ValueCallback? = ValueCallback { hasRemoved -> - CookieManager.getInstance().flush() - trySend(Lce.Content(hasRemoved)) - } - - CookieManager.getInstance().runCatching { - removeAllCookies(valueCallback) - }.onFailure { cause -> - close(cause) - } - - awaitClose { valueCallback = null } - }.stateIn( - scope = viewModelScope, - started = SharingStarted.Lazily, - initialValue = Lce.Loading - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/worker/AttendCheckInEventWorker.kt b/app/src/main/java/com/joeloewi/croissant/worker/AttendCheckInEventWorker.kt deleted file mode 100644 index 40079ec9..00000000 --- a/app/src/main/java/com/joeloewi/croissant/worker/AttendCheckInEventWorker.kt +++ /dev/null @@ -1,438 +0,0 @@ -package com.joeloewi.croissant.worker - -import android.app.Notification -import android.app.PendingIntent -import android.content.Context -import android.content.Intent -import android.content.pm.PackageManager -import android.content.pm.ServiceInfo -import android.net.Uri -import android.os.Build -import androidx.core.app.NotificationChannelCompat -import androidx.core.app.NotificationCompat -import androidx.core.app.NotificationManagerCompat -import androidx.core.app.TaskStackBuilder -import androidx.core.graphics.drawable.toBitmap -import androidx.hilt.work.HiltWorker -import androidx.work.CoroutineWorker -import androidx.work.ForegroundInfo -import androidx.work.WorkerParameters -import coil.imageLoader -import coil.request.ImageRequest -import com.google.firebase.crashlytics.FirebaseCrashlytics -import com.joeloewi.croissant.R -import com.joeloewi.croissant.data.common.generateGameIntent -import com.joeloewi.croissant.domain.common.HoYoLABGame -import com.joeloewi.croissant.domain.common.HoYoLABRetCode -import com.joeloewi.croissant.domain.common.LoggableWorker -import com.joeloewi.croissant.domain.common.WorkerExecutionLogState -import com.joeloewi.croissant.domain.common.exception.HoYoLABUnsuccessfulResponseException -import com.joeloewi.croissant.domain.entity.FailureLog -import com.joeloewi.croissant.domain.entity.SuccessLog -import com.joeloewi.croissant.domain.entity.WorkerExecutionLog -import com.joeloewi.croissant.domain.usecase.AttendanceUseCase -import com.joeloewi.croissant.domain.usecase.CommonCheckInUseCase -import com.joeloewi.croissant.domain.usecase.FailureLogUseCase -import com.joeloewi.croissant.domain.usecase.GenshinImpactCheckInUseCase -import com.joeloewi.croissant.domain.usecase.HonkaiImpact3rdCheckInUseCase -import com.joeloewi.croissant.domain.usecase.SuccessLogUseCase -import com.joeloewi.croissant.domain.usecase.WorkerExecutionLogUseCase -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.util.CroissantPermission -import com.joeloewi.croissant.util.gameNameStringResId -import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent -import dagger.assisted.Assisted -import dagger.assisted.AssistedInject -import kotlinx.coroutines.CancellationException -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.withContext -import java.util.UUID - -@HiltWorker -class AttendCheckInEventWorker @AssistedInject constructor( - @Assisted private val context: Context, - @Assisted private val params: WorkerParameters, - private val getOneAttendanceUseCase: AttendanceUseCase.GetOne, - private val attendCheckInGenshinImpactUseCase: GenshinImpactCheckInUseCase.AttendCheckInGenshinImpact, - private val attendCheckInHonkaiImpact3rdUseCase: HonkaiImpact3rdCheckInUseCase.AttendCheckInHonkaiImpact3rd, - private val attendCheckInTearsOfThemisUseCase: CommonCheckInUseCase.AttendCheckInTearsOfThemis, - private val attendCheckInHonkaiStarRail: CommonCheckInUseCase.AttendCheckInHonkaiStarRail, - private val insertWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.Insert, - private val insertSuccessLogUseCase: SuccessLogUseCase.Insert, - private val insertFailureLogUseCase: FailureLogUseCase.Insert -) : CoroutineWorker( - appContext = context, - params = params -) { - private val _attendanceId = inputData.getLong(ATTENDANCE_ID, Long.MIN_VALUE) - - private fun generateAttendanceDetailDeepLinkUri(attendanceId: Long) = - Uri.Builder() - .scheme(context.getString(R.string.deep_link_scheme)) - .authority(context.packageName) - .appendEncodedPath( - AttendancesDestination.AttendanceDetailScreen().generateRoute(attendanceId) - ) - .build() - - private fun getAttendanceDetailIntent(attendanceId: Long): Intent = Intent( - Intent.ACTION_VIEW, - generateAttendanceDetailDeepLinkUri(attendanceId) - ) - - override suspend fun getForegroundInfo(): ForegroundInfo = - createForegroundInfo(_attendanceId.toInt()) - - private fun createForegroundInfo(notificationId: Int): ForegroundInfo = NotificationCompat - .Builder( - context, - getOrCreateNotificationChannel( - context.getString(R.string.attendance_foreground_notification_channel_id), - context.getString(R.string.attendance_foreground_notification_channel_name) - ) - ) - .setContentTitle(context.getString(R.string.attendance_foreground_notification_title)) - .setContentText(context.getString(R.string.wait_for_a_moment)) - .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) - .apply { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - foregroundServiceBehavior = Notification.FOREGROUND_SERVICE_IMMEDIATE - } - } - .build() - .run { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - ForegroundInfo( - notificationId, - this, - ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE - ) - } else { - ForegroundInfo( - notificationId, - this - ) - } - } - - private fun getOrCreateNotificationChannel( - channelId: String, - channelName: String - ): String = - if (NotificationManagerCompat.from(context).getNotificationChannel(channelId) != null) { - channelId - } else { - channelId.also { - val notificationChannelCompat = NotificationChannelCompat - .Builder( - it, - NotificationManagerCompat.IMPORTANCE_MAX - ) - .setName(channelName) - .build() - - NotificationManagerCompat.from(context) - .createNotificationChannel(notificationChannelCompat) - } - } - - private suspend fun createSuccessfulAttendanceNotification( - context: Context, - channelId: String, - nickname: String, - hoYoLABGame: HoYoLABGame, - region: String, - message: String, - retCode: Int - ): Notification = NotificationCompat - .Builder(context, channelId) - .setContentTitle( - "${ - context.getString( - R.string.attendance_of_nickname, - nickname - ) - } - ${context.getString(hoYoLABGame.gameNameStringResId())}" - ) - .setContentText("$message (${retCode})") - .setAutoCancel(true) - .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) - .apply { - context.imageLoader.runCatching { - execute( - ImageRequest.Builder(context = context) - .data(hoYoLABGame.gameIconUrl) - .build() - ).drawable - }.getOrNull()?.run { - setLargeIcon(toBitmap()) - } - } - .apply { - val pendingIntentFlag = pendingIntentFlagUpdateCurrent - - val pendingIntent = - PendingIntent.getActivity( - context, - 0, - generateGameIntent( - context = context, - hoYoLABGame = hoYoLABGame, - region = region - ), - pendingIntentFlag - ) - - setContentIntent(pendingIntent) - } - .build() - - //with known error - private suspend fun createUnsuccessfulAttendanceNotification( - context: Context, - channelId: String, - nickname: String, - hoYoLABGame: HoYoLABGame, - region: String, - hoYoLABUnsuccessfulResponseException: HoYoLABUnsuccessfulResponseException - ) = createSuccessfulAttendanceNotification( - context = context, - channelId = channelId, - nickname = nickname, - hoYoLABGame = hoYoLABGame, - region = region, - message = hoYoLABUnsuccessfulResponseException.responseMessage, - retCode = hoYoLABUnsuccessfulResponseException.retCode - ) - - //with unknown error - private suspend fun createUnsuccessfulAttendanceNotification( - context: Context, - channelId: String, - nickname: String, - hoYoLABGame: HoYoLABGame, - ): Notification = NotificationCompat - .Builder(context, channelId) - .setContentTitle( - "${ - context.getString( - R.string.attendance_of_nickname, - nickname - ) - } - ${context.getString(hoYoLABGame.gameNameStringResId())}" - ) - .setContentText(context.getString(R.string.attendance_failed)) - .setAutoCancel(true) - .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) - .apply { - context.imageLoader.runCatching { - execute( - ImageRequest.Builder(context = context) - .data(hoYoLABGame.gameIconUrl) - .build() - ).drawable - }.getOrNull()?.run { - setLargeIcon(toBitmap()) - } - } - .apply { - val pendingIntent = TaskStackBuilder.create(context).run { - addNextIntentWithParentStack(getAttendanceDetailIntent(_attendanceId)) - getPendingIntent(0, pendingIntentFlagUpdateCurrent) - } - - setContentIntent(pendingIntent) - } - .build() - - private suspend fun addFailureLog( - attendanceId: Long, - cause: Throwable - ) { - val executionLogId = insertWorkerExecutionLogUseCase( - WorkerExecutionLog( - attendanceId = attendanceId, - state = WorkerExecutionLogState.FAILURE, - loggableWorker = LoggableWorker.ATTEND_CHECK_IN_EVENT - ) - ) - - insertFailureLogUseCase( - FailureLog( - executionLogId = executionLogId, - failureMessage = cause.message ?: "", - failureStackTrace = cause.stackTraceToString() - ) - ) - } - - override suspend fun doWork(): Result = withContext(Dispatchers.IO) { - _attendanceId.runCatching { - takeIf { it != Long.MIN_VALUE }!! - }.mapCatching { attendanceId -> - //check session is valid - val attendanceWithGames = getOneAttendanceUseCase(attendanceId) - val cookie = attendanceWithGames.attendance.cookie - - //attend check in events - attendanceWithGames.games.forEach { game -> - try { - when (game.type) { - HoYoLABGame.HonkaiImpact3rd -> { - attendCheckInHonkaiImpact3rdUseCase(cookie) - } - - HoYoLABGame.GenshinImpact -> { - attendCheckInGenshinImpactUseCase(cookie) - } - - HoYoLABGame.TearsOfThemis -> { - attendCheckInTearsOfThemisUseCase(cookie = cookie) - } - - HoYoLABGame.HonkaiStarRail -> { - attendCheckInHonkaiStarRail(cookie = cookie) - } - - HoYoLABGame.Unknown -> { - throw Exception() - } - }.getOrThrow().also { response -> - createSuccessfulAttendanceNotification( - context = context, - channelId = context.getString(R.string.attendance_notification_channel_id), - nickname = attendanceWithGames.attendance.nickname, - hoYoLABGame = game.type, - region = game.region, - message = response.message, - retCode = response.retCode - ).let { notification -> - if (context.packageManager.checkPermission( - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT, - context.packageName - ) == PackageManager.PERMISSION_GRANTED - ) { - NotificationManagerCompat.from(context).notify( - UUID.randomUUID().toString(), - game.type.gameId, - notification - ) - } - } - - val executionLogId = insertWorkerExecutionLogUseCase( - WorkerExecutionLog( - attendanceId = attendanceId, - state = WorkerExecutionLogState.SUCCESS, - loggableWorker = LoggableWorker.ATTEND_CHECK_IN_EVENT - ) - ) - - insertSuccessLogUseCase( - SuccessLog( - executionLogId = executionLogId, - gameName = game.type, - retCode = response.retCode, - message = response.message - ) - ) - } - } catch (cause: CancellationException) { - throw cause - } catch (cause: Throwable) { - if (cause is HoYoLABUnsuccessfulResponseException) { - when (HoYoLABRetCode.findByCode(cause.retCode)) { - HoYoLABRetCode.AlreadyCheckedIn -> { - //do not log to crashlytics - } - - else -> { - FirebaseCrashlytics.getInstance().apply { - log(this@AttendCheckInEventWorker.javaClass.simpleName) - recordException(cause) - } - } - } - - createUnsuccessfulAttendanceNotification( - context = context, - channelId = context.getString(R.string.attendance_notification_channel_id), - nickname = attendanceWithGames.attendance.nickname, - hoYoLABGame = game.type, - region = game.region, - hoYoLABUnsuccessfulResponseException = cause - ).let { notification -> - if (context.packageManager.checkPermission( - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT, - context.packageName - ) == PackageManager.PERMISSION_GRANTED - ) { - NotificationManagerCompat.from(context).notify( - UUID.randomUUID().toString(), - game.type.gameId, - notification - ) - } - } - } else { - //if result is unsuccessful with unknown error - //retry for three times - - /*if (runAttemptCount > 3) { - addFailureLog(attendanceId, cause) - } else { - - }*/ - FirebaseCrashlytics.getInstance().apply { - log(this@AttendCheckInEventWorker.javaClass.simpleName) - recordException(cause) - } - - createUnsuccessfulAttendanceNotification( - context = context, - channelId = context.getString(R.string.attendance_notification_channel_id), - nickname = attendanceWithGames.attendance.nickname, - hoYoLABGame = game.type, - ).let { notification -> - if (context.packageManager.checkPermission( - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT, - context.packageName - ) == PackageManager.PERMISSION_GRANTED - ) { - NotificationManagerCompat.from(context).notify( - UUID.randomUUID().toString(), - game.type.gameId, - notification - ) - } - } - } - - addFailureLog(attendanceId, cause) - } - } - }.fold( - onSuccess = { - Result.success() - }, - onFailure = { cause -> - if (cause is CancellationException) { - throw cause - } - - FirebaseCrashlytics.getInstance().apply { - log(this@AttendCheckInEventWorker.javaClass.simpleName) - recordException(cause) - } - - addFailureLog(_attendanceId, cause) - - Result.failure() - } - ) - } - - companion object { - const val ATTENDANCE_ID = "attendanceId" - } -} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/CroissantApplication.kt b/app/src/main/kotlin/com/joeloewi/croissant/CroissantApplication.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/CroissantApplication.kt rename to app/src/main/kotlin/com/joeloewi/croissant/CroissantApplication.kt diff --git a/app/src/main/kotlin/com/joeloewi/croissant/MainActivity.kt b/app/src/main/kotlin/com/joeloewi/croissant/MainActivity.kt new file mode 100644 index 00000000..5a063791 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/MainActivity.kt @@ -0,0 +1,640 @@ +package com.joeloewi.croissant + +import android.annotation.SuppressLint +import android.net.Uri +import android.os.Bundle +import android.provider.Settings +import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge +import androidx.activity.viewModels +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.app.AppCompatDelegate +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.WindowInsetsSides +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.only +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.systemBars +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Warning +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Icon +import androidx.compose.material3.NavigationBar +import androidx.compose.material3.NavigationBarItem +import androidx.compose.material3.NavigationRail +import androidx.compose.material3.NavigationRailItem +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi +import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.key +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.window.DialogProperties +import androidx.core.os.bundleOf +import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import androidx.navigation.NavBackStackEntry +import androidx.navigation.NavDestination.Companion.hierarchy +import androidx.navigation.NavGraph.Companion.findStartDestination +import androidx.navigation.NavHostController +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.navigation +import androidx.navigation.compose.rememberNavController +import androidx.navigation.navArgument +import androidx.navigation.navDeepLink +import com.google.android.material.color.DynamicColors +import com.google.firebase.Firebase +import com.google.firebase.analytics.FirebaseAnalytics +import com.google.firebase.analytics.analytics +import com.joeloewi.croissant.state.StableWrapper +import com.joeloewi.croissant.ui.navigation.main.CroissantNavigation +import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.AttendanceDetailScreen +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.AttendanceLogsCalendarScreen +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.AttendanceLogsDayScreen +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.AttendancesScreen +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.COOKIE +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.LoginHoYoLABScreen +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance.CreateAttendanceScreen +import com.joeloewi.croissant.ui.navigation.main.global.GlobalDestination +import com.joeloewi.croissant.ui.navigation.main.global.screen.EmptyScreen +import com.joeloewi.croissant.ui.navigation.main.global.screen.FirstLaunchScreen +import com.joeloewi.croissant.ui.navigation.main.redemptioncodes.RedemptionCodesDestination +import com.joeloewi.croissant.ui.navigation.main.redemptioncodes.screen.RedemptionCodesScreen +import com.joeloewi.croissant.ui.navigation.main.settings.SettingsDestination +import com.joeloewi.croissant.ui.navigation.main.settings.screen.DeveloperInfoScreen +import com.joeloewi.croissant.ui.navigation.main.settings.screen.SettingsScreen +import com.joeloewi.croissant.ui.theme.CroissantTheme +import com.joeloewi.croissant.util.LocalActivity +import com.joeloewi.croissant.util.LocalHourFormat +import com.joeloewi.croissant.util.RequireAppUpdate +import com.joeloewi.croissant.util.isCompactWindowSize +import com.joeloewi.croissant.viewmodel.MainActivityViewModel +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.CoroutineExceptionHandler +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.collect +import kotlinx.coroutines.flow.onEach +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext + +@AndroidEntryPoint +class MainActivity : AppCompatActivity() { + private val _mainActivityViewModel: MainActivityViewModel by viewModels() + + @SuppressLint("HardwareIds") + override fun onCreate(savedInstanceState: Bundle?) { + installSplashScreen() + super.onCreate(savedInstanceState) + + DynamicColors.applyToActivityIfAvailable(this) + enableEdgeToEdge() + + lifecycleScope.launch { + lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) { + _mainActivityViewModel.darkThemeEnabled.onEach { darkThemeEnabled -> + if (darkThemeEnabled) { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) + } else { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) + } + }.collect() + } + } + + Firebase.analytics.setUserId( + Settings.Secure.getString( + contentResolver, + Settings.Secure.ANDROID_ID + ) + ) + + setContent { + CroissantTheme { + val hourFormat by _mainActivityViewModel.hourFormat.collectAsStateWithLifecycle() + val appUpdateResultState by _mainActivityViewModel.appUpdateResultState.collectAsStateWithLifecycle() + val isDeviceRooted by _mainActivityViewModel.isDeviceRooted.collectAsStateWithLifecycle() + + CompositionLocalProvider( + LocalActivity provides this, + LocalHourFormat provides hourFormat + ) { + RequireAppUpdate( + appUpdateResultState = appUpdateResultState, + ) { + CroissantApp( + isDeviceRooted = isDeviceRooted + ) + } + } + } + } + } +} + +@SuppressLint("RestrictedApi") +@OptIn(ExperimentalMaterial3WindowSizeClassApi::class) +@Composable +fun CroissantApp( + isDeviceRooted: Boolean +) { + val context = LocalContext.current + val activity = LocalActivity.current + val deepLinkUri = remember(context) { + Uri.Builder() + .scheme(context.getString(R.string.deep_link_scheme)) + .authority(context.packageName) + .build() + } + val snackbarHostState = remember { SnackbarHostState() } + val navController = rememberNavController() + val fullScreenDestinations = remember { + listOf( + AttendancesDestination.CreateAttendanceScreen.route, + AttendancesDestination.LoginHoYoLabScreen.route, + GlobalDestination.FirstLaunchScreen.route, + GlobalDestination.EmptyScreen.route + ).toImmutableList() + } + val currentBackStack by navController.currentBackStack.collectAsStateWithLifecycle() + val windowSizeClass = calculateWindowSizeClass(activity = activity) + val croissantNavigations = remember { + listOf( + CroissantNavigation.Attendances, + CroissantNavigation.RedemptionCodes, + CroissantNavigation.Settings + ).toImmutableList() + } + + LaunchedEffect(navController) { + withContext(Dispatchers.IO + CoroutineExceptionHandler { _, _ -> }) { + navController.currentBackStackEntryFlow.catch { }.collect { + Firebase.analytics.logEvent( + FirebaseAnalytics.Event.SCREEN_VIEW, + bundleOf( + FirebaseAnalytics.Param.SCREEN_NAME to it.destination.route, + FirebaseAnalytics.Param.SCREEN_CLASS to activity::class.java.simpleName + ) + ) + } + } + } + + Scaffold( + contentWindowInsets = WindowInsets.systemBars.only(WindowInsetsSides.Horizontal), + bottomBar = { + val currentBackStackEntry by navController.currentBackStackEntryFlow.collectAsStateWithLifecycle( + initialValue = null, + ) + val isBottomNavigationBarVisible by remember { + derivedStateOf { + !fullScreenDestinations.any { route -> + (currentBackStackEntry?.destination?.route?.contains( + route + ) != false) + } && windowSizeClass.isCompactWindowSize() + && currentBackStackEntry?.destination?.route == currentBackStackEntry?.destination?.parent?.startDestinationRoute + } + } + + if (isBottomNavigationBarVisible) { + CroissantBottomNavigationBar( + croissantNavigations = croissantNavigations, + currentBackStackEntry = { currentBackStackEntry }, + onClickNavigationButton = { route -> + navController.navigate(route) { + val startDestination = + navController.graph.findStartDestination() + + val popUpToDestination = + if (currentBackStack.any { + it.destination == startDestination + }) { + + startDestination.route + ?: activity::class.java.simpleName + } else if (currentBackStack.any { + it.destination.route == AttendancesDestination.AttendancesScreen.route + }) { + + AttendancesDestination.AttendancesScreen.route + } else { + activity::class.java.simpleName + } + + popUpTo(popUpToDestination) { + saveState = true + } + launchSingleTop = true + restoreState = true + } + } + ) + } + } + ) { innerPadding -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(innerPadding) + ) { + Row { + Column { + val currentBackStackEntry by navController.currentBackStackEntryFlow.collectAsStateWithLifecycle( + initialValue = null, + ) + val isNavigationRailVisible by remember { + derivedStateOf { + !fullScreenDestinations.any { route -> + (currentBackStackEntry?.destination?.route?.contains( + route + ) != false) + } && !windowSizeClass.isCompactWindowSize() + } + } + + if (isNavigationRailVisible) { + CroissantNavigationRail( + croissantNavigations = croissantNavigations, + currentBackStackEntry = { currentBackStackEntry }, + onClickNavigationButton = { route -> + navController.navigate(route) { + popUpTo(navController.graph.findStartDestination().id) { + saveState = true + } + launchSingleTop = true + restoreState = true + } + } + ) + } + } + Column { + CroissantNavHost( + modifier = Modifier.run { + if (windowSizeClass.isCompactWindowSize()) { + this + } else { + navigationBarsPadding() + } + }, + navController = StableWrapper(navController), + snackbarHostState = snackbarHostState, + deepLinkUri = deepLinkUri.toString() + ) + } + } + } + + if (isDeviceRooted) { + AlertDialog( + onDismissRequest = {}, + confirmButton = { + TextButton( + onClick = { + activity.finish() + } + ) { + Text(text = stringResource(id = R.string.confirm)) + } + }, + icon = { + Icon( + imageVector = Icons.Default.Warning, + contentDescription = Icons.Default.Warning.name + ) + }, + title = { + Text(text = stringResource(id = R.string.caution)) + }, + text = { + Text( + text = stringResource(id = R.string.device_rooting_detected), + textAlign = TextAlign.Center + ) + }, + properties = DialogProperties( + dismissOnClickOutside = false, + dismissOnBackPress = false + ) + ) + } + } +} + +@Composable +fun CroissantNavHost( + modifier: Modifier, + navController: StableWrapper, + snackbarHostState: SnackbarHostState, + deepLinkUri: String, +) { + val activity = LocalActivity.current + + NavHost( + modifier = modifier, + navController = navController.value, + route = activity::class.java.simpleName, + startDestination = CroissantNavigation.Global.route + ) { + navigation( + startDestination = AttendancesDestination.AttendancesScreen.route, + route = CroissantNavigation.Attendances.route + ) { + composable(route = AttendancesDestination.AttendancesScreen.route) { + AttendancesScreen( + snackbarHostState = snackbarHostState, + onCreateAttendanceClick = { + navController.value.navigate(AttendancesDestination.CreateAttendanceScreen.route) + }, + onClickAttendance = { + navController.value.navigate( + AttendancesDestination.AttendanceDetailScreen().generateRoute(it.id) + ) + } + ) + } + + composable(route = AttendancesDestination.CreateAttendanceScreen.route) { + val newCookie by remember { + it.savedStateHandle.getStateFlow(COOKIE, "") + }.collectAsStateWithLifecycle() + + CreateAttendanceScreen( + newCookie = { newCookie }, + onLoginHoYoLAB = { + navController.value.navigate(AttendancesDestination.LoginHoYoLabScreen.route) + }, + onNavigateUp = { + navController.value.navigateUp() + } + ) + } + + composable( + route = AttendancesDestination.LoginHoYoLabScreen.route, + ) { + LoginHoYoLABScreen( + onNavigateUp = { + navController.value.navigateUp() + }, + onNavigateUpWithResult = { + navController.value.apply { + previousBackStackEntry?.savedStateHandle?.set(COOKIE, it) + navigateUp() + } + } + ) + } + + composable( + route = AttendancesDestination.AttendanceDetailScreen().route, + arguments = AttendancesDestination.AttendanceDetailScreen().arguments.map { argument -> + navArgument(argument.first) { + type = argument.second + } + }, + deepLinks = listOf( + navDeepLink { + uriPattern = + "$deepLinkUri/${AttendancesDestination.AttendanceDetailScreen().route}" + } + ) + ) { + val newCookie by remember { + it.savedStateHandle.getStateFlow(COOKIE, "") + }.collectAsStateWithLifecycle() + + AttendanceDetailScreen( + newCookie = { newCookie }, + onNavigateUp = { navController.value.navigateUp() }, + onClickRefreshSession = { + navController.value.navigate(AttendancesDestination.LoginHoYoLabScreen.route) + }, + onClickLogSummary = { attendanceId, loggableWorker -> + navController.value.navigate( + AttendancesDestination.AttendanceLogsCalendarScreen().generateRoute( + attendanceId, + loggableWorker + ) + ) + } + ) + } + + composable( + route = AttendancesDestination.AttendanceLogsCalendarScreen().route, + arguments = AttendancesDestination.AttendanceLogsCalendarScreen().arguments.map { argument -> + navArgument(argument.first) { + type = argument.second + } + } + ) { + AttendanceLogsCalendarScreen( + onNavigateUp = { navController.value.navigateUp() }, + onClickDay = { attendanceId, loggableWorker, localDate -> + navController.value.navigate( + AttendancesDestination.AttendanceLogsDayScreen().generateRoute( + attendanceId = attendanceId, + loggableWorker = loggableWorker, + localDate = localDate, + ) + ) + } + ) + } + + composable( + route = AttendancesDestination.AttendanceLogsDayScreen().route, + arguments = AttendancesDestination.AttendanceLogsDayScreen().arguments.map { argument -> + navArgument(argument.first) { + type = argument.second + } + } + ) { + AttendanceLogsDayScreen( + onNavigateUp = { + navController.value.navigateUp() + } + ) + } + } + + navigation( + startDestination = RedemptionCodesDestination.RedemptionCodesScreen.route, + route = CroissantNavigation.RedemptionCodes.route + ) { + composable(route = RedemptionCodesDestination.RedemptionCodesScreen.route) { + RedemptionCodesScreen() + } + } + + navigation( + startDestination = SettingsDestination.SettingsScreen.route, + route = CroissantNavigation.Settings.route + ) { + composable(route = SettingsDestination.SettingsScreen.route) { + SettingsScreen( + onDeveloperInfoClick = { + navController.value.navigate(SettingsDestination.DeveloperInfoScreen.route) + } + ) + } + + composable(route = SettingsDestination.DeveloperInfoScreen.route) { + DeveloperInfoScreen( + onNavigateUp = { navController.value.navigateUp() } + ) + } + } + + navigation( + startDestination = GlobalDestination.EmptyScreen.route, + route = CroissantNavigation.Global.route + ) { + composable(route = GlobalDestination.EmptyScreen.route) { + EmptyScreen( + onShowFirstLaunchScreen = { + navController.value.navigate(GlobalDestination.FirstLaunchScreen.route) { + popUpTo(activity::class.java.simpleName) { + inclusive = true + } + } + }, + onShowDefaultScreen = { + navController.value.navigate(AttendancesDestination.AttendancesScreen.route) { + popUpTo(activity::class.java.simpleName) { + inclusive = true + } + } + } + ) + } + + composable(route = GlobalDestination.FirstLaunchScreen.route) { + FirstLaunchScreen( + onNavigateToAttendances = { + navController.value.navigate(AttendancesDestination.AttendancesScreen.route) { + popUpTo(activity::class.java.simpleName) { + inclusive = true + } + } + } + ) + } + } + } +} + +@Composable +private fun CroissantNavigationRail( + modifier: Modifier = Modifier, + croissantNavigations: ImmutableList, + currentBackStackEntry: () -> NavBackStackEntry?, + onClickNavigationButton: (String) -> Unit +) { + NavigationRail( + modifier = modifier.fillMaxHeight(), + header = { + Icon( + painter = painterResource(id = R.drawable.ic_launcher_foreground), + contentDescription = null + ) + } + ) { + croissantNavigations.forEach { croissantNavigation -> + key(croissantNavigation.route) { + val isSelected by remember(croissantNavigation.route) { + derivedStateOf { currentBackStackEntry()?.destination?.hierarchy?.any { it.route == croissantNavigation.route } == true } + } + + NavigationRailItem( + icon = { + if (isSelected) { + Icon( + imageVector = croissantNavigation.filledIcon, + contentDescription = croissantNavigation.filledIcon.name + ) + } else { + Icon( + imageVector = croissantNavigation.outlinedIcon, + contentDescription = croissantNavigation.outlinedIcon.name + ) + } + }, + selected = isSelected, + label = { + Text(text = stringResource(id = croissantNavigation.resourceId)) + }, + onClick = { onClickNavigationButton(croissantNavigation.route) } + ) + } + } + } +} + +@Composable +private fun CroissantBottomNavigationBar( + modifier: Modifier = Modifier, + croissantNavigations: ImmutableList, + currentBackStackEntry: () -> NavBackStackEntry?, + onClickNavigationButton: (String) -> Unit +) { + NavigationBar( + modifier = modifier + ) { + croissantNavigations.forEach { croissantNavigation -> + key(croissantNavigation.route) { + val isSelected by remember(croissantNavigation.route) { + derivedStateOf { currentBackStackEntry()?.destination?.hierarchy?.any { it.route == croissantNavigation.route } == true } + } + + NavigationBarItem( + icon = { + if (isSelected) { + Icon( + imageVector = croissantNavigation.filledIcon, + contentDescription = croissantNavigation.filledIcon.name + ) + } else { + Icon( + imageVector = croissantNavigation.outlinedIcon, + contentDescription = croissantNavigation.outlinedIcon.name + ) + } + }, + selected = isSelected, + label = { + Text(text = stringResource(id = croissantNavigation.resourceId)) + }, + onClick = { + onClickNavigationButton(croissantNavigation.route) + } + ) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ResinStatusWidgetConfigurationActivity.kt b/app/src/main/kotlin/com/joeloewi/croissant/ResinStatusWidgetConfigurationActivity.kt similarity index 77% rename from app/src/main/java/com/joeloewi/croissant/ResinStatusWidgetConfigurationActivity.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ResinStatusWidgetConfigurationActivity.kt index 5985c1ac..733e957e 100644 --- a/app/src/main/java/com/joeloewi/croissant/ResinStatusWidgetConfigurationActivity.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ResinStatusWidgetConfigurationActivity.kt @@ -3,26 +3,39 @@ package com.joeloewi.croissant import android.appwidget.AppWidgetManager import android.os.Bundle import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate -import androidx.compose.foundation.layout.* -import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold -import androidx.compose.runtime.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.core.os.bundleOf import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen -import androidx.core.view.WindowCompat import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.Lifecycle +import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle -import androidx.navigation.compose.* +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.currentBackStackEntryAsState +import androidx.navigation.compose.navigation +import androidx.navigation.compose.rememberNavController import androidx.navigation.navArgument import com.google.android.material.color.DynamicColors +import com.google.firebase.Firebase import com.google.firebase.analytics.FirebaseAnalytics +import com.google.firebase.analytics.analytics +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.COOKIE import com.joeloewi.croissant.ui.navigation.main.attendances.screen.LoginHoYoLABScreen import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.ResinStatusWidgetConfigurationNavigation import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resinstatuswidgetconfiguration.ResinStatusWidgetConfigurationDestination @@ -31,7 +44,8 @@ import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resi import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resinstatuswidgetconfiguration.screen.ResinStatusWidgetDetailScreen import com.joeloewi.croissant.ui.theme.CroissantTheme import com.joeloewi.croissant.util.LocalActivity -import com.joeloewi.croissant.viewmodel.* +import com.joeloewi.croissant.viewmodel.LoadingViewModel +import com.joeloewi.croissant.viewmodel.WidgetConfigurationActivityViewModel import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.onEach @@ -46,7 +60,7 @@ class ResinStatusWidgetConfigurationActivity : AppCompatActivity() { installSplashScreen() super.onCreate(savedInstanceState) - WindowCompat.setDecorFitsSystemWindows(window, false) + enableEdgeToEdge() DynamicColors.applyToActivityIfAvailable(this) lifecycleScope.launch { @@ -62,9 +76,7 @@ class ResinStatusWidgetConfigurationActivity : AppCompatActivity() { } setContent { - CroissantTheme( - window = window - ) { + CroissantTheme { CompositionLocalProvider(LocalActivity provides this) { ResinStatusWidgetConfigurationApp() } @@ -73,13 +85,11 @@ class ResinStatusWidgetConfigurationActivity : AppCompatActivity() { } } -@OptIn(ExperimentalMaterial3Api::class) @Composable fun ResinStatusWidgetConfigurationApp() { val navController = rememberNavController() val navBackStackEntry by navController.currentBackStackEntryAsState() val currentDestination by remember(navBackStackEntry) { derivedStateOf { navBackStackEntry?.destination } } - val context = LocalContext.current val activity = LocalActivity.current val appWidgetId by remember { lazy { @@ -91,7 +101,7 @@ fun ResinStatusWidgetConfigurationApp() { } LaunchedEffect(currentDestination) { - FirebaseAnalytics.getInstance(context).logEvent( + Firebase.analytics.logEvent( FirebaseAnalytics.Event.SCREEN_VIEW, bundleOf( FirebaseAnalytics.Param.SCREEN_NAME to currentDestination?.route, @@ -101,7 +111,7 @@ fun ResinStatusWidgetConfigurationApp() { } Scaffold( - contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.statusBars) + contentWindowInsets = WindowInsets(0, 0, 0, 0) ) { innerPadding -> NavHost( modifier = Modifier @@ -155,24 +165,31 @@ fun ResinStatusWidgetConfigurationApp() { } }, ) { - val createResinStatusWidgetViewModel: CreateResinStatusWidgetViewModel = - hiltViewModel() + val newCookie by remember { + it.savedStateHandle.getStateFlow(COOKIE, "") + }.collectAsStateWithLifecycle() CreateResinStatusWidgetScreen( - navController = navController, - createResinStatusWidgetViewModel = createResinStatusWidgetViewModel + newCookie = { newCookie }, + onClickAdd = { + navController.navigate(ResinStatusWidgetConfigurationDestination.LoginHoYoLABScreen.route) + } ) } composable( route = ResinStatusWidgetConfigurationDestination.LoginHoYoLABScreen.route, ) { - val loginHoYoLABViewModel: LoginHoYoLABViewModel = - hiltViewModel() - LoginHoYoLABScreen( - navController = navController, - loginHoYoLABViewModel = loginHoYoLABViewModel + onNavigateUp = { + navController.navigateUp() + }, + onNavigateUpWithResult = { + navController.apply { + previousBackStackEntry?.savedStateHandle?.set(COOKIE, it) + navigateUp() + } + } ) } @@ -184,13 +201,7 @@ fun ResinStatusWidgetConfigurationApp() { } } ) { - val resinStatusWidgetDetailViewModel: ResinStatusWidgetDetailViewModel = - hiltViewModel() - - ResinStatusWidgetDetailScreen( - navController = navController, - resinStatusWidgetDetailViewModel = resinStatusWidgetDetailViewModel - ) + ResinStatusWidgetDetailScreen() } } } diff --git a/app/src/main/java/com/joeloewi/croissant/di/InitializerEntryPoint.kt b/app/src/main/kotlin/com/joeloewi/croissant/di/EntryPoints.kt similarity index 52% rename from app/src/main/java/com/joeloewi/croissant/di/InitializerEntryPoint.kt rename to app/src/main/kotlin/com/joeloewi/croissant/di/EntryPoints.kt index daa89722..4fc6b087 100644 --- a/app/src/main/java/com/joeloewi/croissant/di/InitializerEntryPoint.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/di/EntryPoints.kt @@ -19,12 +19,16 @@ package com.joeloewi.croissant.di import android.app.Application import android.content.Context import androidx.hilt.work.HiltWorkerFactory +import androidx.work.RunnableScheduler import coil.ImageLoader +import com.joeloewi.croissant.data.di.DefaultDispatcherExecutor +import com.joeloewi.croissant.util.NotificationGenerator import dagger.hilt.EntryPoint -import dagger.hilt.EntryPoints import dagger.hilt.InstallIn +import dagger.hilt.android.EntryPointAccessors import dagger.hilt.components.SingletonComponent -import kotlin.properties.ReadOnlyProperty +import java.util.concurrent.Executor +import kotlin.reflect.KClass @EntryPoint @InstallIn(SingletonComponent::class) @@ -32,11 +36,27 @@ interface InitializerEntryPoint { fun imageLoader(): ImageLoader fun hiltWorkerFactory(): HiltWorkerFactory fun application(): Application + + @DefaultDispatcherExecutor + fun executor(): Executor + fun runnableScheduler(): RunnableScheduler + fun notificationGenerator(): NotificationGenerator } -inline fun entryPoints() = - ReadOnlyProperty { thisRef, _ -> - EntryPoints.get(thisRef, EntryPoint::class.java) - } +inline fun Context.entryPoints(): Lazy = EntryPointLazy( + entryPointInterface = EntryPoint::class, + context = this +) + +class EntryPointLazy( + private val entryPointInterface: KClass, + private val context: Context +) : Lazy { + private var cached: EntryPoint? = null + override val value: EntryPoint + get() = EntryPointAccessors.fromApplication(context, entryPointInterface.java).also { + cached = it + } -val Context.initializerEntryPoint: InitializerEntryPoint by entryPoints() \ No newline at end of file + override fun isInitialized(): Boolean = cached != null +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/di/UtilModule.kt b/app/src/main/kotlin/com/joeloewi/croissant/di/UtilModule.kt new file mode 100644 index 00000000..5c7619c9 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/di/UtilModule.kt @@ -0,0 +1,80 @@ +package com.joeloewi.croissant.di + +import android.content.Context +import android.text.format.DateFormat +import androidx.work.RunnableScheduler +import androidx.work.WorkManager +import coil.ImageLoader +import com.google.android.play.core.appupdate.AppUpdateManager +import com.google.android.play.core.appupdate.AppUpdateManagerFactory +import com.joeloewi.croissant.R +import com.joeloewi.croissant.util.AlarmScheduler +import com.joeloewi.croissant.util.NotificationGenerator +import com.joeloewi.croissant.util.impl.AlarmSchedulerImpl +import com.joeloewi.croissant.util.impl.RunnableSchedulerImpl +import dagger.Binds +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.qualifiers.ApplicationContext +import dagger.hilt.components.SingletonComponent +import nl.marc_apps.tts.TextToSpeechEngine +import nl.marc_apps.tts.TextToSpeechFactory +import okhttp3.OkHttpClient +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +object UtilModule { + @Provides + fun provideWorkManager( + @ApplicationContext context: Context + ): WorkManager = WorkManager.getInstance(context) + + @Provides + fun provideIs24HourFormat( + @ApplicationContext context: Context + ): Boolean = DateFormat.is24HourFormat(context) + + @Provides + fun provideAppUpdateManager( + @ApplicationContext context: Context + ): AppUpdateManager = AppUpdateManagerFactory.create(context) + + @Provides + fun provideTextToSpeechFactory( + @ApplicationContext context: Context + ): TextToSpeechFactory = TextToSpeechFactory(context, TextToSpeechEngine.SystemDefault) + + @Provides + fun provideNotificationGenerator( + @ApplicationContext context: Context + ): NotificationGenerator = NotificationGenerator(context) + + @Singleton + @Provides + fun provideImageLoader( + @ApplicationContext context: Context, + okHttpClient: OkHttpClient + ): ImageLoader = ImageLoader.Builder(context) + .crossfade(true) + .okHttpClient(okHttpClient) + .placeholder(R.drawable.image_placeholder) + .build() +} + +@Module +@InstallIn(SingletonComponent::class) +abstract class UtilModuleForBind { + @Singleton + @Binds + abstract fun bindRunnableScheduler( + runnableSchedulerImpl: RunnableSchedulerImpl + ): RunnableScheduler + + @Singleton + @Binds + abstract fun bindAlarmScheduler( + alarmSchedulerImpl: AlarmSchedulerImpl + ): AlarmScheduler +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/initializer/CoilInitializer.kt b/app/src/main/kotlin/com/joeloewi/croissant/initializer/CoilInitializer.kt similarity index 81% rename from app/src/main/java/com/joeloewi/croissant/initializer/CoilInitializer.kt rename to app/src/main/kotlin/com/joeloewi/croissant/initializer/CoilInitializer.kt index 80ef1578..bf5cd67f 100644 --- a/app/src/main/java/com/joeloewi/croissant/initializer/CoilInitializer.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/initializer/CoilInitializer.kt @@ -21,12 +21,14 @@ import androidx.startup.Initializer import coil.Coil import coil.ImageLoader import coil.imageLoader -import com.joeloewi.croissant.di.initializerEntryPoint +import com.joeloewi.croissant.di.InitializerEntryPoint +import com.joeloewi.croissant.di.entryPoints class CoilInitializer : Initializer { override fun create(context: Context): ImageLoader { - val imageLoader = context.initializerEntryPoint.imageLoader() + val initializerEntryPoint: InitializerEntryPoint by context.entryPoints() + val imageLoader = initializerEntryPoint.imageLoader() Coil.setImageLoader { imageLoader } diff --git a/app/src/main/java/com/joeloewi/croissant/initializer/DynamicColorInitializer.kt b/app/src/main/kotlin/com/joeloewi/croissant/initializer/DynamicColorInitializer.kt similarity index 63% rename from app/src/main/java/com/joeloewi/croissant/initializer/DynamicColorInitializer.kt rename to app/src/main/kotlin/com/joeloewi/croissant/initializer/DynamicColorInitializer.kt index 7ec964d8..63eb8e84 100644 --- a/app/src/main/java/com/joeloewi/croissant/initializer/DynamicColorInitializer.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/initializer/DynamicColorInitializer.kt @@ -3,12 +3,14 @@ package com.joeloewi.croissant.initializer import android.content.Context import androidx.startup.Initializer import com.google.android.material.color.DynamicColors -import com.joeloewi.croissant.di.initializerEntryPoint +import com.joeloewi.croissant.di.InitializerEntryPoint +import com.joeloewi.croissant.di.entryPoints class DynamicColorInitializer : Initializer { override fun create(context: Context) { - val application = context.initializerEntryPoint.application() + val initializerEntryPoint: InitializerEntryPoint by context.entryPoints() + val application = initializerEntryPoint.application() DynamicColors.applyToActivitiesIfAvailable(application) } diff --git a/app/src/main/kotlin/com/joeloewi/croissant/initializer/NotificationChannelInitializer.kt b/app/src/main/kotlin/com/joeloewi/croissant/initializer/NotificationChannelInitializer.kt new file mode 100644 index 00000000..8d7c5d5f --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/initializer/NotificationChannelInitializer.kt @@ -0,0 +1,18 @@ +package com.joeloewi.croissant.initializer + +import android.content.Context +import androidx.startup.Initializer +import com.joeloewi.croissant.di.InitializerEntryPoint +import com.joeloewi.croissant.di.entryPoints + +class NotificationChannelInitializer : Initializer { + + override fun create(context: Context) { + val initializerEntryPoint: InitializerEntryPoint by context.entryPoints() + val notificationGenerator = initializerEntryPoint.notificationGenerator() + + notificationGenerator.createNotificationChannels() + } + + override fun dependencies(): MutableList>> = mutableListOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/initializer/WorkManagerInitializer.kt b/app/src/main/kotlin/com/joeloewi/croissant/initializer/WorkManagerInitializer.kt similarity index 70% rename from app/src/main/java/com/joeloewi/croissant/initializer/WorkManagerInitializer.kt rename to app/src/main/kotlin/com/joeloewi/croissant/initializer/WorkManagerInitializer.kt index 37f4ab0c..d5bf0f65 100644 --- a/app/src/main/java/com/joeloewi/croissant/initializer/WorkManagerInitializer.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/initializer/WorkManagerInitializer.kt @@ -20,17 +20,24 @@ import android.content.Context import androidx.startup.Initializer import androidx.work.Configuration import androidx.work.WorkManager -import com.joeloewi.croissant.di.initializerEntryPoint +import com.joeloewi.croissant.di.InitializerEntryPoint +import com.joeloewi.croissant.di.entryPoints class WorkManagerInitializer : Initializer { override fun create(context: Context): WorkManager { - val hiltWorkerFactory = context.initializerEntryPoint.hiltWorkerFactory() + val initializerEntryPoint: InitializerEntryPoint by context.entryPoints() + val hiltWorkerFactory = initializerEntryPoint.hiltWorkerFactory() + val executor = initializerEntryPoint.executor() + val runnableScheduler = initializerEntryPoint.runnableScheduler() WorkManager.initialize( context, Configuration.Builder() .setWorkerFactory(hiltWorkerFactory) + .setExecutor(executor) + .setTaskExecutor(executor) + .setRunnableScheduler(runnableScheduler) .build() ) diff --git a/app/src/main/java/com/joeloewi/croissant/receiver/AlarmReceiver.kt b/app/src/main/kotlin/com/joeloewi/croissant/receiver/AlarmReceiver.kt similarity index 71% rename from app/src/main/java/com/joeloewi/croissant/receiver/AlarmReceiver.kt rename to app/src/main/kotlin/com/joeloewi/croissant/receiver/AlarmReceiver.kt index 9ef3d349..04226e41 100644 --- a/app/src/main/java/com/joeloewi/croissant/receiver/AlarmReceiver.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/receiver/AlarmReceiver.kt @@ -7,6 +7,8 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import androidx.core.app.AlarmManagerCompat +import androidx.lifecycle.ProcessLifecycleOwner +import androidx.lifecycle.lifecycleScope import androidx.work.Constraints import androidx.work.ExistingWorkPolicy import androidx.work.NetworkType @@ -14,22 +16,33 @@ import androidx.work.OneTimeWorkRequestBuilder import androidx.work.OutOfQuotaPolicy import androidx.work.WorkManager import androidx.work.workDataOf -import com.google.firebase.crashlytics.FirebaseCrashlytics +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics import com.joeloewi.croissant.BuildConfig import com.joeloewi.croissant.domain.usecase.AttendanceUseCase -import com.joeloewi.croissant.util.goAsync +import com.joeloewi.croissant.util.canScheduleExactAlarmsCompat import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent import com.joeloewi.croissant.worker.AttendCheckInEventWorker import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.launch import java.time.ZoneId import java.time.ZonedDateTime import javax.inject.Inject @AndroidEntryPoint class AlarmReceiver : BroadcastReceiver() { + private val _coroutineContext = Dispatchers.IO + CoroutineExceptionHandler { _, throwable -> + Firebase.crashlytics.apply { + log(this@AlarmReceiver.javaClass.simpleName) + recordException(throwable) + } + } + private val _processLifecycleScope by lazy { ProcessLifecycleOwner.get().lifecycleScope } + @Inject lateinit var application: Application @@ -45,15 +58,7 @@ class AlarmReceiver : BroadcastReceiver() { override fun onReceive(p0: Context, p1: Intent) { when (p1.action) { Intent.ACTION_BOOT_COMPLETED, Intent.ACTION_MY_PACKAGE_REPLACED, AlarmManager.ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED -> { - goAsync( - onError = { cause -> - FirebaseCrashlytics.getInstance().apply { - log(this@AlarmReceiver.javaClass.simpleName) - recordException(cause) - } - }, - coroutineContext = Dispatchers.IO - ) { + _processLifecycleScope.launch(_coroutineContext) { getAllOneShotAttendanceUseCase().map { attendance -> async(Dispatchers.IO) { attendance.runCatching { @@ -88,12 +93,20 @@ class AlarmReceiver : BroadcastReceiver() { with(alarmManager) { cancel(pendingIntent) - AlarmManagerCompat.setExactAndAllowWhileIdle( - this, - AlarmManager.RTC_WAKEUP, - targetTime.toInstant().toEpochMilli(), - pendingIntent - ) + if (canScheduleExactAlarmsCompat()) { + AlarmManagerCompat.setExactAndAllowWhileIdle( + this, + AlarmManager.RTC_WAKEUP, + targetTime.toInstant().toEpochMilli(), + pendingIntent + ) + } else { + alarmManager.set( + AlarmManager.RTC_WAKEUP, + targetTime.toInstant().toEpochMilli(), + pendingIntent + ) + } } } } @@ -104,15 +117,7 @@ class AlarmReceiver : BroadcastReceiver() { RECEIVE_ATTEND_CHECK_IN_ALARM -> { val attendanceId = p1.getLongExtra(ATTENDANCE_ID, Long.MIN_VALUE) - goAsync( - onError = { cause -> - FirebaseCrashlytics.getInstance().apply { - log(this@AlarmReceiver.javaClass.simpleName) - recordException(cause) - } - }, - coroutineContext = Dispatchers.IO - ) { + _processLifecycleScope.launch(_coroutineContext) { val attendanceWithGames = getOneAttendanceUseCase(attendanceId) val attendance = attendanceWithGames.attendance val oneTimeWork = OneTimeWorkRequestBuilder() @@ -151,12 +156,20 @@ class AlarmReceiver : BroadcastReceiver() { with(alarmManager) { cancel(pendingIntent) - AlarmManagerCompat.setExactAndAllowWhileIdle( - this, - AlarmManager.RTC_WAKEUP, - targetTime.toInstant().toEpochMilli(), - pendingIntent - ) + if (canScheduleExactAlarmsCompat()) { + AlarmManagerCompat.setExactAndAllowWhileIdle( + this, + AlarmManager.RTC_WAKEUP, + targetTime.toInstant().toEpochMilli(), + pendingIntent + ) + } else { + alarmManager.set( + AlarmManager.RTC_WAKEUP, + targetTime.toInstant().toEpochMilli(), + pendingIntent + ) + } } } } diff --git a/app/src/main/java/com/joeloewi/croissant/receiver/MigrationHelper.kt b/app/src/main/kotlin/com/joeloewi/croissant/receiver/MigrationHelper.kt similarity index 71% rename from app/src/main/java/com/joeloewi/croissant/receiver/MigrationHelper.kt rename to app/src/main/kotlin/com/joeloewi/croissant/receiver/MigrationHelper.kt index a56bdb30..4313eab2 100644 --- a/app/src/main/java/com/joeloewi/croissant/receiver/MigrationHelper.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/receiver/MigrationHelper.kt @@ -4,19 +4,30 @@ import android.app.Application import android.content.BroadcastReceiver import android.content.Context import android.content.Intent +import androidx.lifecycle.ProcessLifecycleOwner +import androidx.lifecycle.lifecycleScope import androidx.work.WorkManager -import com.google.firebase.crashlytics.FirebaseCrashlytics +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics import com.joeloewi.croissant.domain.usecase.AttendanceUseCase import com.joeloewi.croissant.domain.usecase.ResinStatusWidgetUseCase -import com.joeloewi.croissant.util.goAsync import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.launch import javax.inject.Inject @AndroidEntryPoint class MigrationHelper : BroadcastReceiver() { + private val _coroutineContext = Dispatchers.IO + CoroutineExceptionHandler { _, throwable -> + Firebase.crashlytics.apply { + log(this@MigrationHelper.javaClass.simpleName) + recordException(throwable) + } + } + private val _processLifecycleScope by lazy { ProcessLifecycleOwner.get().lifecycleScope } @Inject lateinit var application: Application @@ -33,15 +44,7 @@ class MigrationHelper : BroadcastReceiver() { override fun onReceive(p0: Context, p1: Intent) { when (p1.action) { Intent.ACTION_MY_PACKAGE_REPLACED -> { - goAsync( - onError = { cause -> - FirebaseCrashlytics.getInstance().apply { - log(this@MigrationHelper.javaClass.simpleName) - recordException(cause) - } - }, - coroutineContext = Dispatchers.IO - ) { + _processLifecycleScope.launch(_coroutineContext) { //because work manager's job can be deferred, cancel check in event worker //instead of work manager, use alarm manager getAllOneShotAttendanceUseCase().map { attendance -> diff --git a/app/src/main/java/com/joeloewi/croissant/receiver/ResinStatusWidgetProvider.kt b/app/src/main/kotlin/com/joeloewi/croissant/receiver/ResinStatusWidgetProvider.kt similarity index 88% rename from app/src/main/java/com/joeloewi/croissant/receiver/ResinStatusWidgetProvider.kt rename to app/src/main/kotlin/com/joeloewi/croissant/receiver/ResinStatusWidgetProvider.kt index 4a1db83e..f885a314 100644 --- a/app/src/main/java/com/joeloewi/croissant/receiver/ResinStatusWidgetProvider.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/receiver/ResinStatusWidgetProvider.kt @@ -11,27 +11,39 @@ import android.os.PowerManager import android.provider.Settings import android.view.View import android.widget.RemoteViews +import androidx.lifecycle.ProcessLifecycleOwner +import androidx.lifecycle.lifecycleScope import androidx.work.Constraints import androidx.work.ExistingWorkPolicy import androidx.work.NetworkType import androidx.work.OneTimeWorkRequest import androidx.work.WorkManager import androidx.work.workDataOf +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics import com.joeloewi.croissant.R import com.joeloewi.croissant.domain.usecase.ResinStatusWidgetUseCase -import com.joeloewi.croissant.util.goAsync import com.joeloewi.croissant.util.isIgnoringBatteryOptimizationsCompat import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent import com.joeloewi.croissant.worker.RefreshResinStatusWorker import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.launch import javax.inject.Inject @AndroidEntryPoint class ResinStatusWidgetProvider : AppWidgetProvider() { + private val _coroutineContext = Dispatchers.IO + CoroutineExceptionHandler { _, throwable -> + Firebase.crashlytics.apply { + log(this@ResinStatusWidgetProvider.javaClass.simpleName) + recordException(throwable) + } + } + private val _processLifecycleScope by lazy { ProcessLifecycleOwner.get().lifecycleScope } @Inject lateinit var powerManager: PowerManager @@ -45,6 +57,8 @@ class ResinStatusWidgetProvider : AppWidgetProvider() { @Inject lateinit var deleteByAppWidgetIdResinStatusWidgetUseCase: ResinStatusWidgetUseCase.DeleteByAppWidgetId + private val _processLifecycleOwner by lazy { ProcessLifecycleOwner.get() } + override fun onUpdate( context: Context, appWidgetManager: AppWidgetManager, @@ -53,10 +67,7 @@ class ResinStatusWidgetProvider : AppWidgetProvider() { super.onUpdate(context, appWidgetManager, appWidgetIds) //this method also called when user put widget on home screen - goAsync( - onError = {}, - coroutineContext = Dispatchers.IO - ) { + _processLifecycleOwner.lifecycleScope.launch(_coroutineContext) { appWidgetIds.map { appWidgetId -> async(Dispatchers.IO) { if (powerManager.isPowerSaveMode && !powerManager.isIgnoringBatteryOptimizationsCompat( @@ -141,10 +152,8 @@ class ResinStatusWidgetProvider : AppWidgetProvider() { override fun onDeleted(context: Context, appWidgetIds: IntArray) { super.onDeleted(context, appWidgetIds) - goAsync( - onError = {}, - coroutineContext = Dispatchers.IO - ) { + + _processLifecycleOwner.lifecycleScope.launch(Dispatchers.IO + CoroutineExceptionHandler { _, _ -> }) { appWidgetIds.run { map { appWidgetId -> async(Dispatchers.IO) { diff --git a/app/src/main/kotlin/com/joeloewi/croissant/receiver/TimeZoneChangedReceiver.kt b/app/src/main/kotlin/com/joeloewi/croissant/receiver/TimeZoneChangedReceiver.kt new file mode 100644 index 00000000..54f7ecbc --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/receiver/TimeZoneChangedReceiver.kt @@ -0,0 +1,35 @@ +package com.joeloewi.croissant.receiver + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import com.joeloewi.croissant.util.NotificationGenerator +import dagger.hilt.android.AndroidEntryPoint +import java.util.UUID +import javax.inject.Inject + +@AndroidEntryPoint +class TimeZoneChangedReceiver @Inject constructor( +) : BroadcastReceiver() { + + @Inject + lateinit var notificationGenerator: NotificationGenerator + + override fun onReceive(context: Context, intent: Intent) { + when (intent.action) { + Intent.ACTION_TIMEZONE_CHANGED -> { + with(notificationGenerator) { + safeNotify( + UUID.randomUUID().toString(), + 0, + createTimezoneChangedNotification() + ) + } + } + + else -> { + + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/service/RemoteViewsFactoryService.kt b/app/src/main/kotlin/com/joeloewi/croissant/service/RemoteViewsFactoryService.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/service/RemoteViewsFactoryService.kt rename to app/src/main/kotlin/com/joeloewi/croissant/service/RemoteViewsFactoryService.kt diff --git a/app/src/main/kotlin/com/joeloewi/croissant/state/ComposeWrapper.kt b/app/src/main/kotlin/com/joeloewi/croissant/state/ComposeWrapper.kt new file mode 100644 index 00000000..39477ec3 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/state/ComposeWrapper.kt @@ -0,0 +1,14 @@ +package com.joeloewi.croissant.state + +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.Stable + +@Immutable +data class ImmutableWrapper( + val value: T +) + +@Stable +data class StableWrapper( + val value: T +) \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/state/CroissantAppState.kt b/app/src/main/kotlin/com/joeloewi/croissant/state/CroissantAppState.kt new file mode 100644 index 00000000..e69de29b diff --git a/app/src/main/kotlin/com/joeloewi/croissant/state/LCE.kt b/app/src/main/kotlin/com/joeloewi/croissant/state/LCE.kt new file mode 100644 index 00000000..3ba357d2 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/state/LCE.kt @@ -0,0 +1,51 @@ +package com.joeloewi.croissant.state + +import androidx.compose.runtime.Stable + +//inspired by https://github.com/Laimiux/lce + +@Stable +sealed class LCE { + open val content: T? = null + open val error: Throwable? = null + open val isLoading: Boolean = false + + data object Loading : LCE() { + override val isLoading: Boolean = true + } + + data class Content(override val content: T) : LCE() + data class Error(override val error: Throwable) : LCE() +} + +sealed class ILCE { + open val content: T? = null + open val error: Throwable? = null + open val isLoading: Boolean = false + + data object Idle : ILCE() + data object Loading : ILCE() { + override val isLoading: Boolean = true + } + + data class Content(override val content: T) : ILCE() + data class Error(override val error: Throwable) : ILCE() +} + +fun Result.foldAsLce() = fold( + onSuccess = { + LCE.Content(it) + }, + onFailure = { + LCE.Error(it) + } +) + +fun Result.foldAsILCE() = fold( + onSuccess = { + ILCE.Content(it) + }, + onFailure = { + ILCE.Error(it) + } +) diff --git a/app/src/main/kotlin/com/joeloewi/croissant/state/LoginHoYoLABState.kt b/app/src/main/kotlin/com/joeloewi/croissant/state/LoginHoYoLABState.kt new file mode 100644 index 00000000..e69de29b diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/CroissantNavigation.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/CroissantNavigation.kt similarity index 80% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/CroissantNavigation.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/CroissantNavigation.kt index 29ff5afe..d05f57f5 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/CroissantNavigation.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/CroissantNavigation.kt @@ -17,7 +17,7 @@ sealed class CroissantNavigation( val outlinedIcon: ImageVector, @StringRes val resourceId: Int ) { - object Attendances : + data object Attendances : CroissantNavigation( route = "attendances", filledIcon = Icons.Filled.TaskAlt, @@ -25,7 +25,7 @@ sealed class CroissantNavigation( resourceId = R.string.navigation_label_attendance ) - object RedemptionCodes : + data object RedemptionCodes : CroissantNavigation( route = "redemptionCodes", filledIcon = Icons.Filled.Redeem, @@ -33,11 +33,19 @@ sealed class CroissantNavigation( resourceId = R.string.navigation_label_redemption_codes ) - object Settings : + data object Settings : CroissantNavigation( route = "settings", filledIcon = Icons.Filled.Settings, outlinedIcon = Icons.Outlined.Settings, resourceId = R.string.navigation_label_settings ) + + data object Global : + CroissantNavigation( + route = "global", + filledIcon = Icons.Filled.Settings, + outlinedIcon = Icons.Outlined.Settings, + resourceId = R.string.navigation_label_settings + ) } diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/AttendancesDestination.kt diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceDetailScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceDetailScreen.kt similarity index 51% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceDetailScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceDetailScreen.kt index 253d7883..7c922b3e 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceDetailScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceDetailScreen.kt @@ -2,25 +2,65 @@ package com.joeloewi.croissant.ui.navigation.main.attendances.screen import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.asPaddingValues +import androidx.compose.foundation.layout.exclude +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBars +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.systemBars +import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.* -import androidx.compose.material3.* -import androidx.compose.runtime.* +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material.icons.filled.Done +import androidx.compose.material.icons.filled.Error +import androidx.compose.material.icons.filled.NavigateNext +import androidx.compose.material.icons.filled.Refresh +import androidx.compose.material.icons.filled.Save +import androidx.compose.material.icons.filled.Warning +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Card +import androidx.compose.material3.Checkbox +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.FilledTonalButton +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TopAppBar +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.runtime.setValue +import androidx.compose.runtime.snapshotFlow import androidx.compose.runtime.snapshots.SnapshotStateList import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.DefaultAlpha import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import androidx.navigation.NavHostController +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner import coil.compose.AsyncImage import coil.request.ImageRequest import com.google.accompanist.placeholder.PlaceholderHighlight @@ -30,95 +70,202 @@ import com.joeloewi.croissant.R import com.joeloewi.croissant.domain.common.HoYoLABGame import com.joeloewi.croissant.domain.common.LoggableWorker import com.joeloewi.croissant.domain.entity.Game -import com.joeloewi.croissant.state.AttendanceDetailState -import com.joeloewi.croissant.state.rememberAttendanceDetailState +import com.joeloewi.croissant.domain.entity.relational.AttendanceWithGames +import com.joeloewi.croissant.state.ILCE +import com.joeloewi.croissant.state.LCE import com.joeloewi.croissant.ui.theme.DefaultDp import com.joeloewi.croissant.ui.theme.IconDp -import com.joeloewi.croissant.util.* +import com.joeloewi.croissant.util.LocalActivity +import com.joeloewi.croissant.util.ProgressDialog +import com.joeloewi.croissant.util.TimeAndTimePicker +import com.joeloewi.croissant.util.gameNameStringResId +import com.joeloewi.croissant.util.navigationIconButton +import com.joeloewi.croissant.util.requestReview import com.joeloewi.croissant.viewmodel.AttendanceDetailViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.withContext @Composable fun AttendanceDetailScreen( - navController: NavHostController, - attendanceDetailViewModel: AttendanceDetailViewModel = hiltViewModel() + attendanceDetailViewModel: AttendanceDetailViewModel = hiltViewModel(), + newCookie: () -> String, + onNavigateUp: () -> Unit, + onClickRefreshSession: () -> Unit, + onClickLogSummary: (Long, LoggableWorker) -> Unit ) { - val context = LocalContext.current - val activity = LocalActivity.current - val attendanceDetailState = - rememberAttendanceDetailState( - snackbarHostState = remember { SnackbarHostState() }, - attendanceDetailViewModel = attendanceDetailViewModel, - navController = navController - ) - val isNavigateUpRequested = attendanceDetailState.isNavigateUpRequested - val hasExecutedAtLeastOnce = attendanceDetailState.hasExecutedAtLeastOnce - - LaunchedEffect(attendanceDetailViewModel) { - getResultFromPreviousComposable( - navController = navController, - key = COOKIE - )?.let { - attendanceDetailViewModel.setCookie(cookie = it) - attendanceDetailState.snackbarHostState.showSnackbar(context.getString(R.string.press_save_button_to_commit)) - } - } - - LaunchedEffect(isNavigateUpRequested) { - if (isNavigateUpRequested) { - navController.navigateUp() - } - } - - LaunchedEffect(hasExecutedAtLeastOnce) { - if (hasExecutedAtLeastOnce) { - requestReview( - context = context, - activity = activity, - logMessage = "ExecutedAtLeastOnce" - ) - } - } + val uid by attendanceDetailViewModel.uid.collectAsStateWithLifecycle() + val nickname by attendanceDetailViewModel.nickname.collectAsStateWithLifecycle() + val checkedGames = remember { attendanceDetailViewModel.checkedGames } + val checkSessionWorkerSuccessLogCount by attendanceDetailViewModel.checkSessionWorkerSuccessLogCount.collectAsStateWithLifecycle() + val checkSessionWorkerFailureLogCount by attendanceDetailViewModel.checkSessionWorkerFailureLogCount.collectAsStateWithLifecycle() + val attendCheckInEventWorkerSuccessLogCount by attendanceDetailViewModel.attendCheckInEventWorkerSuccessLogCount.collectAsStateWithLifecycle() + val attendCheckInEventWorkerFailureLogCount by attendanceDetailViewModel.attendCheckInEventWorkerFailureLogCount.collectAsStateWithLifecycle() + val updateAttendanceState by attendanceDetailViewModel.updateAttendanceState.collectAsStateWithLifecycle() + val hourOfDay by attendanceDetailViewModel.hourOfDay.collectAsStateWithLifecycle() + val minute by attendanceDetailViewModel.minute.collectAsStateWithLifecycle() + val attendanceWithGames by attendanceDetailViewModel.attendanceWithGamesState.collectAsStateWithLifecycle() + val deleteAttendanceState by attendanceDetailViewModel.deleteAttendanceState.collectAsStateWithLifecycle() AttendanceDetailContent( - attendanceDetailState = attendanceDetailState + uid = { uid }, + nickname = nickname, + checkedGames = { checkedGames }, + checkSessionWorkerSuccessLogCount = { checkSessionWorkerSuccessLogCount }, + checkSessionWorkerFailureLogCount = { checkSessionWorkerFailureLogCount }, + attendCheckInEventWorkerSuccessLogCount = { attendCheckInEventWorkerSuccessLogCount }, + attendCheckInEventWorkerFailureLogCount = { attendCheckInEventWorkerFailureLogCount }, + updateAttendanceState = { updateAttendanceState }, + hourOfDay = { hourOfDay }, + minute = { minute }, + attendanceWithGames = { attendanceWithGames }, + newCookie = newCookie, + deleteAttendanceState = { deleteAttendanceState }, + onNavigateUp = onNavigateUp, + onClickRefreshSession = onClickRefreshSession, + onClickLogSummary = { onClickLogSummary(attendanceDetailViewModel.attendanceId, it) }, + onHourOfDayChange = attendanceDetailViewModel::setHourOfDay, + onMinuteChange = attendanceDetailViewModel::setMinute, + onRefreshCookie = attendanceDetailViewModel::setCookie, + onClickSave = attendanceDetailViewModel::updateAttendance, + onConfirmDelete = attendanceDetailViewModel::deleteAttendance ) } @OptIn( ExperimentalMaterial3Api::class, - ExperimentalLayoutApi::class, ExperimentalFoundationApi::class ) @Composable private fun AttendanceDetailContent( - attendanceDetailState: AttendanceDetailState, + uid: () -> Long, + nickname: String, + checkedGames: () -> SnapshotStateList, + checkSessionWorkerSuccessLogCount: () -> Long, + checkSessionWorkerFailureLogCount: () -> Long, + attendCheckInEventWorkerSuccessLogCount: () -> Long, + attendCheckInEventWorkerFailureLogCount: () -> Long, + updateAttendanceState: () -> ILCE, + hourOfDay: () -> Int, + minute: () -> Int, + attendanceWithGames: () -> LCE, + newCookie: () -> String, + deleteAttendanceState: () -> ILCE, + onNavigateUp: () -> Unit, + onClickRefreshSession: () -> Unit, + onClickLogSummary: (LoggableWorker) -> Unit, + onHourOfDayChange: (Int) -> Unit, + onMinuteChange: (Int) -> Unit, + onRefreshCookie: (String) -> Unit, + onClickSave: () -> Unit, + onConfirmDelete: () -> Unit, ) { + val viewModelStoreOwner = LocalViewModelStoreOwner.current + val activity = LocalActivity.current + val snackbarHostState = remember { SnackbarHostState() } + val pressSaveButton = stringResource(id = R.string.press_save_button_to_commit) val list by rememberUpdatedState( newValue = listOf( - stringResource(id = R.string.uid) to attendanceDetailState.uid.toString(), - stringResource(id = R.string.nickname) to attendanceDetailState.nickname, + stringResource(id = R.string.uid) to uid().toString(), + stringResource(id = R.string.nickname) to nickname, ) ) + var showConfirmDeleteDialog by remember { mutableStateOf(false) } + + LaunchedEffect(snackbarHostState) { + withContext(Dispatchers.IO) { + snapshotFlow(newCookie).catch { }.collect { + if (it.isNotEmpty()) { + onRefreshCookie(it) + snackbarHostState.showSnackbar(pressSaveButton) + } + } + } + } + + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + combine( + snapshotFlow(attendCheckInEventWorkerSuccessLogCount), + snapshotFlow(attendCheckInEventWorkerFailureLogCount) + ) { successCount, failureCount -> + successCount > 0 || failureCount > 0 + }.catch { }.collect { hasExecutedAtLeastOnce -> + if (hasExecutedAtLeastOnce) { + requestReview( + activity = activity, + logMessage = "ExecutedAtLeastOnce" + ) + } + } + } + } + + LaunchedEffect(Unit) { + snapshotFlow(deleteAttendanceState).catch { }.collect { + when (it) { + is ILCE.Content -> { + onNavigateUp() + } + + is ILCE.Error -> { + showConfirmDeleteDialog = false + snackbarHostState.showSnackbar(activity.getString(R.string.error_occurred)) + } + + ILCE.Idle -> { + + } + + ILCE.Loading -> { + showConfirmDeleteDialog = true + } + } + } + } + + LaunchedEffect(Unit) { + snapshotFlow(updateAttendanceState).catch { }.collect { + when (it) { + is ILCE.Content -> { + onNavigateUp() + } + + else -> { + + } + } + } + } Scaffold( topBar = { TopAppBar( title = { Text( - text = stringResource( - id = R.string.attendance_of_nickname, - attendanceDetailState.nickname - ) + text = stringResource(id = R.string.attendance_of_nickname, nickname) ) }, - navigationIcon = navigationIconButton( - previousBackStackEntry = attendanceDetailState.previousBackStackEntry, - onClick = attendanceDetailState::onNavigateUp + navigationIcon = viewModelStoreOwner.navigationIconButton( + onClick = onNavigateUp ), actions = { IconButton( - onClick = attendanceDetailState::onClickSave, - enabled = attendanceDetailState.isSuccessfullyLoaded + onClick = { + showConfirmDeleteDialog = true + }, + enabled = attendanceWithGames() is LCE.Content + ) { + Icon( + imageVector = Icons.Default.Delete, + contentDescription = Icons.Default.Delete.name + ) + } + + IconButton( + onClick = onClickSave, + enabled = attendanceWithGames() is LCE.Content ) { Icon( imageVector = Icons.Default.Save, @@ -129,9 +276,9 @@ private fun AttendanceDetailContent( ) }, snackbarHost = { - SnackbarHost(hostState = attendanceDetailState.snackbarHostState) + SnackbarHost(hostState = snackbarHostState) }, - contentWindowInsets = WindowInsets.displayCutout + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.navigationBars) ) { innerPadding -> LazyColumn( modifier = Modifier @@ -140,8 +287,8 @@ private fun AttendanceDetailContent( .then(Modifier.padding(horizontal = DefaultDp)), verticalArrangement = Arrangement.spacedBy( space = DefaultDp, - alignment = Alignment.CenterVertically - ) + ), + contentPadding = WindowInsets.navigationBars.asPaddingValues() ) { item("userInformationHeadline") { Text( @@ -163,7 +310,7 @@ private fun AttendanceDetailContent( item("changeCookie") { FilledTonalButton( modifier = Modifier.fillMaxWidth(), - onClick = attendanceDetailState::onClickRefreshSession + onClick = onClickRefreshSession ) { Row( horizontalArrangement = Arrangement.spacedBy( @@ -198,13 +345,13 @@ private fun AttendanceDetailContent( horizontalArrangement = Arrangement.spacedBy(space = DefaultDp) ) { items( - items = HoYoLABGame.values().filter { it != HoYoLABGame.Unknown }, + items = HoYoLABGame.entries.filter { it != HoYoLABGame.Unknown }, key = { it.name } ) { item -> ConnectedGameListItem( modifier = Modifier.animateItemPlacement(), hoYoLABGame = item, - checkedGames = attendanceDetailState.checkedGames, + checkedGames = checkedGames, ) } } @@ -220,12 +367,12 @@ private fun AttendanceDetailContent( } item("timePicker") { - TimePicker( + TimeAndTimePicker( modifier = Modifier.fillMaxWidth(), - hourOfDay = attendanceDetailState.hourOfDay, - minute = attendanceDetailState.minute, - onHourOfDayChange = attendanceDetailState::onHourOfDayChange, - onMinuteChange = attendanceDetailState::onMinuteChange + hourOfDay = hourOfDay, + minute = minute, + onHourOfDayChange = onHourOfDayChange, + onMinuteChange = onMinuteChange ) } @@ -240,10 +387,10 @@ private fun AttendanceDetailContent( item(LoggableWorker.ATTEND_CHECK_IN_EVENT) { LogSummaryRow( title = stringResource(id = R.string.attendance), - failureLogCount = attendanceDetailState.attendCheckInEventWorkerFailureLogCount, - successLogCount = attendanceDetailState.attendCheckInEventWorkerSuccessLogCount, + failureLogCount = attendCheckInEventWorkerFailureLogCount, + successLogCount = attendCheckInEventWorkerSuccessLogCount, onClickLogSummary = { - attendanceDetailState.onClickLogSummary(LoggableWorker.ATTEND_CHECK_IN_EVENT) + onClickLogSummary(LoggableWorker.ATTEND_CHECK_IN_EVENT) } ) } @@ -251,20 +398,48 @@ private fun AttendanceDetailContent( item(LoggableWorker.CHECK_SESSION) { LogSummaryRow( title = stringResource(id = R.string.session_validation), - failureLogCount = attendanceDetailState.checkSessionWorkerFailureLogCount, - successLogCount = attendanceDetailState.checkSessionWorkerSuccessLogCount, + failureLogCount = checkSessionWorkerFailureLogCount, + successLogCount = checkSessionWorkerSuccessLogCount, onClickLogSummary = { - attendanceDetailState.onClickLogSummary(LoggableWorker.CHECK_SESSION) + onClickLogSummary(LoggableWorker.CHECK_SESSION) } ) } } - if (attendanceDetailState.isProgressDialogShowing) { + if (updateAttendanceState().isLoading) { ProgressDialog( onDismissRequest = {} ) } + + if (showConfirmDeleteDialog) { + AlertDialog( + onDismissRequest = { showConfirmDeleteDialog = false }, + icon = { + Icon( + imageVector = Icons.Default.Warning, + contentDescription = Icons.Default.Warning.name + ) + }, + title = { + Text(text = stringResource(id = R.string.alert)) + }, + text = { + Text(text = stringResource(id = R.string.confirm_delete_attendance_job)) + }, + confirmButton = { + TextButton(onClick = onConfirmDelete) { + Text(text = stringResource(id = R.string.confirm)) + } + }, + dismissButton = { + TextButton(onClick = { showConfirmDeleteDialog = false }) { + Text(text = stringResource(id = R.string.dismiss)) + } + } + ) + } } } @@ -273,7 +448,7 @@ private fun AttendanceDetailContent( fun ConnectedGameListItem( modifier: Modifier, hoYoLABGame: HoYoLABGame, - checkedGames: SnapshotStateList + checkedGames: () -> SnapshotStateList ) { val game by rememberUpdatedState( Game( @@ -282,13 +457,14 @@ fun ConnectedGameListItem( ) Card( + enabled = game.type != HoYoLABGame.GenshinImpact, onClick = { - val checked = checkedGames.contains(game) + val checked = checkedGames().contains(game) if (!checked) { - checkedGames.add(game) + checkedGames().add(game) } else { - checkedGames.remove(game) + checkedGames().remove(game) } }, modifier = modifier.size(120.dp) @@ -311,8 +487,9 @@ fun ConnectedGameListItem( ) Checkbox( + enabled = game.type != HoYoLABGame.GenshinImpact, modifier = Modifier.weight(1f), - checked = checkedGames.contains(game), + checked = checkedGames().contains(game), onCheckedChange = null ) } @@ -324,6 +501,11 @@ fun ConnectedGameListItem( model = ImageRequest.Builder(LocalContext.current) .data(hoYoLABGame.gameIconUrl) .build(), + alpha = if (game.type != HoYoLABGame.GenshinImpact) { + DefaultAlpha + } else { + 0.38f + }, contentDescription = null ) } @@ -403,8 +585,8 @@ fun ConnectedGameListItemPlaceHolder( @Composable fun LogSummaryRow( title: String, - failureLogCount: Long, - successLogCount: Long, + failureLogCount: () -> Long, + successLogCount: () -> Long, onClickLogSummary: () -> Unit, ) { Row( @@ -443,7 +625,7 @@ fun LogSummaryRow( ) Text( - text = "$failureLogCount", + text = "${failureLogCount()}", color = MaterialTheme.colorScheme.error ) @@ -452,7 +634,7 @@ fun LogSummaryRow( contentDescription = Icons.Default.Done.name ) - Text(text = "$successLogCount") + Text(text = "${successLogCount()}") } } diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsCalendarScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsCalendarScreen.kt similarity index 64% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsCalendarScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsCalendarScreen.kt index 60609df7..5dca4263 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsCalendarScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsCalendarScreen.kt @@ -3,21 +3,46 @@ package com.joeloewi.croissant.ui.navigation.main.attendances.screen import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.itemsIndexed import androidx.compose.foundation.pager.HorizontalPager +import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Check import androidx.compose.material.icons.filled.DeleteSweep import androidx.compose.material.icons.filled.Error import androidx.compose.material.icons.filled.Warning -import androidx.compose.material3.* +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TopAppBar import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass -import androidx.compose.runtime.* -import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.runtime.setValue +import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -29,93 +54,120 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController +import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner import com.joeloewi.croissant.R -import com.joeloewi.croissant.state.AttendanceLogsCalendarState -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.state.rememberAttendanceLogsCalendarState -import com.joeloewi.croissant.ui.theme.* +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.entity.ResultCount +import com.joeloewi.croissant.state.ILCE +import com.joeloewi.croissant.ui.theme.DefaultDp +import com.joeloewi.croissant.ui.theme.DoubleDp +import com.joeloewi.croissant.ui.theme.HalfDp +import com.joeloewi.croissant.ui.theme.onSuccessContainerColor +import com.joeloewi.croissant.ui.theme.successContainerColor +import com.joeloewi.croissant.ui.theme.warningContainerColor import com.joeloewi.croissant.util.LocalActivity import com.joeloewi.croissant.util.generateCalendarDays import com.joeloewi.croissant.util.isCompactWindowSize import com.joeloewi.croissant.util.navigationIconButton import com.joeloewi.croissant.viewmodel.AttendanceLogsCalendarViewModel +import kotlinx.collections.immutable.ImmutableList import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.withContext import java.time.LocalDate -import java.time.Month import java.time.Year +import java.time.YearMonth +import java.time.ZonedDateTime import java.time.format.DateTimeFormatter +import java.time.temporal.ChronoUnit -@OptIn(ExperimentalFoundationApi::class) @Composable fun AttendanceLogsCalendarScreen( - navController: NavHostController, - attendanceLogsCalendarViewModel: AttendanceLogsCalendarViewModel = hiltViewModel() + attendanceLogsCalendarViewModel: AttendanceLogsCalendarViewModel = hiltViewModel(), + onNavigateUp: () -> Unit, + onClickDay: (attendanceId: Long, loggableWorker: LoggableWorker, localDate: String) -> Unit ) { - val attendanceLogsCalendarState = rememberAttendanceLogsCalendarState( - navController = navController, - attendanceLogsCalendarViewModel = attendanceLogsCalendarViewModel - ) + val deleteAllState by attendanceLogsCalendarViewModel.deleteAllState.collectAsStateWithLifecycle() + val resultCounts by attendanceLogsCalendarViewModel.resultCounts.collectAsStateWithLifecycle() + val startToEnd by attendanceLogsCalendarViewModel.startToEnd.collectAsStateWithLifecycle() AttendanceLogsCalendarContent( - attendanceLogsCalendarState = attendanceLogsCalendarState, + deleteAllState = { deleteAllState }, + startToEnd = { startToEnd }, + resultCounts = { resultCounts }, + onDeleteAll = attendanceLogsCalendarViewModel::deleteAll, + onNavigateUp = onNavigateUp, + onClickDay = { + onClickDay( + attendanceLogsCalendarViewModel.attendanceId, + attendanceLogsCalendarViewModel.loggableWorker.value, + it + ) + } ) } @OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) @Composable private fun AttendanceLogsCalendarContent( - attendanceLogsCalendarState: AttendanceLogsCalendarState, + deleteAllState: () -> ILCE, + startToEnd: () -> Pair, + resultCounts: () -> ImmutableList, + onDeleteAll: () -> Unit, + onNavigateUp: () -> Unit, + onClickDay: (localDate: String) -> Unit ) { val context = LocalContext.current - val deleteAllState = attendanceLogsCalendarState.deleteAllState - val pagerState = attendanceLogsCalendarState.pagerState - val year = attendanceLogsCalendarState.year - val (expanded, onExpandedChange) = rememberSaveable { mutableStateOf(false) } - val years by remember(Year.now()) { - derivedStateOf { - (1900..Year.now().value).reversed().map { Year.of(it) } - } + val pagerState = rememberPagerState { + with(startToEnd()) { + ChronoUnit.MONTHS.between(first, second) + 1 + }.toInt() } + val snackbarHostState = remember { SnackbarHostState() } + val viewModelStoreOwner = LocalViewModelStoreOwner.current + var showDeleteConfirmationDialog by remember { mutableStateOf(false) } + + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + snapshotFlow(deleteAllState).catch { }.collect { + when (it) { + is ILCE.Content -> { + val rowCount = it.content + + if (rowCount > 0) { + snackbarHostState.showSnackbar( + context.getString( + R.string.logs_deleted, + rowCount + ) + ) + } + } - LaunchedEffect(deleteAllState) { - when (deleteAllState) { - is Lce.Content -> { - val rowCount = deleteAllState.content - if (rowCount != -1) { - attendanceLogsCalendarState.snackbarHostState.showSnackbar( - context.getString( - R.string.logs_deleted, - rowCount - ) - ) - } - } - - else -> { + else -> { + } + } } } } Scaffold( snackbarHost = { - SnackbarHost(hostState = attendanceLogsCalendarState.snackbarHostState) + SnackbarHost(hostState = snackbarHostState) }, topBar = { TopAppBar( title = { Text(text = stringResource(id = R.string.execution_log)) }, - navigationIcon = navigationIconButton( - previousBackStackEntry = attendanceLogsCalendarState.previousBackStackEntry, - onClick = attendanceLogsCalendarState::onNavigateUp + navigationIcon = viewModelStoreOwner.navigationIconButton( + onClick = onNavigateUp ), actions = { IconButton( onClick = { - attendanceLogsCalendarState.showDeleteConfirmationDialog(true) + showDeleteConfirmationDialog = true } ) { Icon( @@ -125,87 +177,44 @@ private fun AttendanceLogsCalendarContent( } } ) - }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Top) + } ) { innerPadding -> Column( modifier = Modifier .padding(innerPadding) .fillMaxSize(), ) { - - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.Center - ) { - ExposedDropdownMenuBox( - expanded = expanded, - onExpandedChange = { - onExpandedChange(it) - } - ) { - Row( - verticalAlignment = Alignment.CenterVertically - ) { - Text( - modifier = Modifier.menuAnchor(), - text = year.value.toString(), - style = MaterialTheme.typography.displayMedium, - ) - - ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded) - } - - ExposedDropdownMenu( - modifier = Modifier.exposedDropdownSize(), - expanded = expanded, - onDismissRequest = { onExpandedChange(false) } - ) { - years.forEach { year -> - key(year.value) { - DropdownMenuItem( - text = { - Text(text = "${year.value}") - }, - onClick = { - attendanceLogsCalendarState.setYear(year) - onExpandedChange(false) - } - ) - } - } - } - } - } - Row { HorizontalPager( modifier = Modifier.fillMaxSize(), state = pagerState, key = { - year.atMonth(it + 1).format(DateTimeFormatter.ofPattern("yyyy-MM")) - }, - pageCount = Month.values().size + startToEnd().first.plusMonths(it.toLong()) + .format(DateTimeFormatter.ofPattern("yyyy-MM")) + } ) { page -> MonthPage( - page = page, - year = { year }, - dayLogCount = attendanceLogsCalendarState::getCountByDate, - onClickDay = attendanceLogsCalendarState::onClickDay + yearMonth = { + with(startToEnd().first.plusMonths(page.toLong())) { + Year.of(year).atMonth(month) + } + }, + resultCounts = resultCounts, + onClickDay = onClickDay ) } } - if (attendanceLogsCalendarState.isShowingDeleteConfirmationDialog) { + if (showDeleteConfirmationDialog) { AlertDialog( onDismissRequest = { - attendanceLogsCalendarState.showDeleteConfirmationDialog(false) + showDeleteConfirmationDialog = false }, confirmButton = { TextButton( onClick = { - attendanceLogsCalendarState.onDeleteAll() + onDeleteAll() } ) { Text(text = stringResource(id = R.string.confirm)) @@ -214,7 +223,7 @@ private fun AttendanceLogsCalendarContent( dismissButton = { TextButton( onClick = { - attendanceLogsCalendarState.showDeleteConfirmationDialog(false) + showDeleteConfirmationDialog = false } ) { Text(text = stringResource(id = R.string.dismiss)) @@ -243,17 +252,14 @@ private fun AttendanceLogsCalendarContent( @Composable private fun MonthPage( - page: Int, - year: () -> Year, - dayLogCount: (Year, Month, Int) -> Flow>, + yearMonth: () -> YearMonth, + resultCounts: () -> ImmutableList, onClickDay: (localDate: String) -> Unit ) { val updatedOnDayClick by rememberUpdatedState(newValue = onClickDay) - val month = remember(page) { Month.values()[page] } - val totalDays = - remember(year().atMonth(month)) { - year().atMonth(month).generateCalendarDays() - } + val totalDays = remember(yearMonth()) { + yearMonth().generateCalendarDays() + } Column( modifier = Modifier @@ -265,7 +271,7 @@ private fun MonthPage( modifier = Modifier .fillMaxWidth() .padding(vertical = DefaultDp), - text = month.value.toString(), + text = yearMonth().toString(), style = MaterialTheme.typography.displaySmall, textAlign = TextAlign.Center, ) @@ -278,16 +284,14 @@ private fun MonthPage( itemsIndexed( items = totalDays, key = { index, _ -> - year().atMonth(month) - .format(DateTimeFormatter.ofPattern("yyyy-MM")) + "[$index]" + yearMonth().format(DateTimeFormatter.ofPattern("yyyy-MM")) + "[$index]" } ) { _, day -> DayGridItem( - year = year, - month = month, + yearMonth = yearMonth, day = day, - dayLogCount = dayLogCount, + resultCounts = resultCounts, onClickDay = updatedOnDayClick ) } @@ -298,10 +302,9 @@ private fun MonthPage( @OptIn(ExperimentalMaterial3WindowSizeClassApi::class) @Composable private fun DayGridItem( - year: () -> Year, - month: Month, + yearMonth: () -> YearMonth, day: Int, - dayLogCount: (Year, Month, Int) -> Flow>, + resultCounts: () -> ImmutableList, onClickDay: (localDate: String) -> Unit ) { val windowSizeClass = calculateWindowSizeClass(activity = LocalActivity.current) @@ -320,24 +323,21 @@ private fun DayGridItem( ) ) { if (day != 0) { - val logCount by remember(year(), month, day) { - dayLogCount(year(), month, day) - }.collectAsStateWithLifecycle(initialValue = 0L to 0L, context = Dispatchers.IO) + val date = remember(yearMonth(), day) { + yearMonth().atDay(day) + } + val logCount = resultCounts().find { + it.date == date.toString() + } ?: ResultCount(date = date.toString()) val colorScheme = MaterialTheme.colorScheme - val primaryColor = remember(colorScheme) { colorScheme.primary } - val date = remember(year(), month, day) { - year().atMonth(month).atDay(day) - } - val isToday by remember(LocalDate.now(), date) { derivedStateOf { LocalDate.now() == date } } - val circleModifier by remember(isToday) { derivedStateOf { if (isToday) { @@ -351,7 +351,6 @@ private fun DayGridItem( } } } - val dayTextColor = remember(isToday, colorScheme) { if (isToday) { colorScheme.onPrimary @@ -379,15 +378,15 @@ private fun DayGridItem( logCount ) { when { - first > 0L && second > 0 -> { + successCount > 0L && failureCount > 0 -> { warningContainerColor } - first > 0 -> { + successCount > 0 -> { successContainerColor } - second > 0 -> { + failureCount > 0 -> { MaterialTheme.colorScheme.errorContainer } @@ -402,7 +401,7 @@ private fun DayGridItem( .fillMaxSize() .clickable( enabled = with(logCount) { - first > 0 || second > 0 + successCount > 0 || failureCount > 0 }, ) { updatedOnClick( @@ -415,7 +414,7 @@ private fun DayGridItem( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { - if (logCount.first > 0) { + if (logCount.successCount > 0) { Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy( @@ -432,14 +431,14 @@ private fun DayGridItem( ) Text( - text = "${logCount.first}", + text = "${logCount.successCount}", color = onSuccessContainerColor, style = MaterialTheme.typography.labelSmall ) } } - if (logCount.second > 0) { + if (logCount.failureCount > 0) { Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy( @@ -456,7 +455,7 @@ private fun DayGridItem( ) Text( - text = "${logCount.second}", + text = "${logCount.failureCount}", color = MaterialTheme.colorScheme.error, style = MaterialTheme.typography.labelSmall ) diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsDayScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsDayScreen.kt similarity index 76% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsDayScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsDayScreen.kt index f9e880ec..4c1b585f 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsDayScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendanceLogsDayScreen.kt @@ -1,15 +1,39 @@ package com.joeloewi.croissant.ui.navigation.main.attendances.screen -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.asPaddingValues +import androidx.compose.foundation.layout.exclude +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBars +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.material3.* -import androidx.compose.runtime.* +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource -import androidx.navigation.NavHostController -import androidx.paging.compose.items +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner +import androidx.paging.compose.LazyPagingItems +import androidx.paging.compose.itemContentType +import androidx.paging.compose.itemKey import coil.compose.AsyncImage import coil.request.ImageRequest import com.google.accompanist.placeholder.PlaceholderHighlight @@ -18,11 +42,10 @@ import com.google.accompanist.placeholder.placeholder import com.joeloewi.croissant.R import com.joeloewi.croissant.domain.common.WorkerExecutionLogState import com.joeloewi.croissant.domain.entity.relational.WorkerExecutionLogWithState -import com.joeloewi.croissant.state.AttendanceLogsDayState -import com.joeloewi.croissant.state.rememberAttendanceLogsDayState import com.joeloewi.croissant.ui.theme.DefaultDp import com.joeloewi.croissant.ui.theme.HalfDp import com.joeloewi.croissant.ui.theme.IconDp +import com.joeloewi.croissant.util.collectAsLazyPagingItemsWithLifecycle import com.joeloewi.croissant.util.navigationIconButton import com.joeloewi.croissant.viewmodel.AttendanceLogsDayViewModel import java.time.Instant @@ -33,25 +56,25 @@ import java.time.format.FormatStyle @Composable fun AttendanceLogsDayScreen( - navController: NavHostController, - attendanceLogsDayViewModel: AttendanceLogsDayViewModel + attendanceLogsDayViewModel: AttendanceLogsDayViewModel = hiltViewModel(), + onNavigateUp: () -> Unit ) { - val attendanceLogsDayState = rememberAttendanceLogsDayState( - navController = navController, - attendanceLogsDayViewModel = attendanceLogsDayViewModel - ) + val pagedAttendanceLogs = + attendanceLogsDayViewModel.pagedAttendanceLogs.collectAsLazyPagingItemsWithLifecycle() AttendanceLogsDayContent( - attendanceLogsDayState = attendanceLogsDayState + pagedAttendanceLogs = pagedAttendanceLogs, + onNavigateUp = onNavigateUp ) } @OptIn(ExperimentalMaterial3Api::class) @Composable private fun AttendanceLogsDayContent( - attendanceLogsDayState: AttendanceLogsDayState + pagedAttendanceLogs: LazyPagingItems, + onNavigateUp: () -> Unit ) { - val pagedAttendanceLogs = attendanceLogsDayState.pagedAttendanceLogs + val viewModelStoreOwner = LocalViewModelStoreOwner.current Scaffold( modifier = Modifier.fillMaxSize(), @@ -60,23 +83,26 @@ private fun AttendanceLogsDayContent( title = { Text(text = stringResource(id = R.string.execution_log)) }, - navigationIcon = navigationIconButton( - previousBackStackEntry = attendanceLogsDayState.previousBackStackEntry, - onClick = attendanceLogsDayState::onNavigateUp + navigationIcon = viewModelStoreOwner.navigationIconButton( + onClick = onNavigateUp ), ) }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Top) + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.navigationBars) ) { innerPadding -> LazyColumn( modifier = Modifier .padding(innerPadding) .fillMaxSize(), + contentPadding = WindowInsets.navigationBars.asPaddingValues() ) { items( - items = pagedAttendanceLogs, - key = { it.workerExecutionLog.id } - ) { item -> + count = pagedAttendanceLogs.itemCount, + key = pagedAttendanceLogs.itemKey { it.workerExecutionLog.id }, + contentType = pagedAttendanceLogs.itemContentType { it.workerExecutionLog.state } + ) { index -> + val item = pagedAttendanceLogs[index] + if (item != null) { WorkerExecutionLogWithStateItem(item = { item }) } else { diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreen.kt similarity index 61% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreen.kt index 071e27ce..1673a424 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/AttendancesScreen.kt @@ -9,24 +9,55 @@ import androidx.compose.animation.fadeOut import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.exclude +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBars +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items -import androidx.compose.material.* import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.* -import androidx.compose.material3.* +import androidx.compose.material.icons.filled.Add +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material.icons.filled.Done +import androidx.compose.material.icons.filled.Error +import androidx.compose.material.icons.filled.Pending +import androidx.compose.material.icons.filled.PlayCircle +import androidx.compose.material3.DismissDirection +import androidx.compose.material3.DismissValue +import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.Icon import androidx.compose.material3.IconButton +import androidx.compose.material3.ListItem import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.SwipeToDismiss +import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar -import androidx.compose.runtime.* +import androidx.compose.material3.rememberDismissState +import androidx.compose.material3.surfaceColorAtElevation +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.composed import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.scale import androidx.compose.ui.draw.shadow @@ -38,77 +69,59 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.navigation.NavHostController import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems -import androidx.paging.compose.items -import androidx.work.* +import androidx.paging.compose.itemKey +import androidx.work.Constraints +import androidx.work.ExistingWorkPolicy +import androidx.work.NetworkType +import androidx.work.OneTimeWorkRequestBuilder +import androidx.work.OutOfQuotaPolicy +import androidx.work.WorkInfo +import androidx.work.WorkManager +import androidx.work.workDataOf import coil.compose.AsyncImage import coil.request.ImageRequest -import com.google.accompanist.permissions.ExperimentalPermissionsApi -import com.google.accompanist.permissions.MultiplePermissionsState -import com.google.accompanist.permissions.rememberMultiplePermissionsState import com.google.accompanist.placeholder.PlaceholderHighlight import com.google.accompanist.placeholder.fade import com.google.accompanist.placeholder.placeholder import com.joeloewi.croissant.R import com.joeloewi.croissant.domain.entity.Attendance import com.joeloewi.croissant.domain.entity.relational.AttendanceWithGames -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.ui.navigation.main.firstlaunch.FirstLaunchDestination +import com.joeloewi.croissant.state.StableWrapper import com.joeloewi.croissant.ui.theme.DefaultDp import com.joeloewi.croissant.ui.theme.DoubleDp import com.joeloewi.croissant.ui.theme.HalfDp import com.joeloewi.croissant.ui.theme.IconDp -import com.joeloewi.croissant.util.* +import com.joeloewi.croissant.util.LocalActivity +import com.joeloewi.croissant.util.LocalHourFormat +import com.joeloewi.croissant.util.dateTimeFormatterPerHourFormat +import com.joeloewi.croissant.util.isEmpty +import com.joeloewi.croissant.util.requestReview import com.joeloewi.croissant.viewmodel.AttendancesViewModel import com.joeloewi.croissant.worker.AttendCheckInEventWorker -import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch import java.time.ZoneId import java.time.ZonedDateTime -@OptIn(ExperimentalPermissionsApi::class) @Composable fun AttendancesScreen( - navController: NavHostController, snackbarHostState: SnackbarHostState, - attendancesViewModel: AttendancesViewModel = hiltViewModel() + attendancesViewModel: AttendancesViewModel = hiltViewModel(), + onCreateAttendanceClick: () -> Unit, + onClickAttendance: (Attendance) -> Unit ) { val pagedAttendancesWithGames = - attendancesViewModel.pagedAttendanceWithGames.collectAsLazyPagingItems(Dispatchers.IO) - val isFirstLaunch: Boolean by - attendancesViewModel.isFirstLaunch.collectAsStateWithLifecycle(context = Dispatchers.IO) - val multiplePermissionsState: MultiplePermissionsState = rememberMultiplePermissionsState( - permissions = listOf( - CroissantPermission.AccessHoYoLABSession.permission, - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT - ) - ) - val activity = LocalActivity.current + attendancesViewModel.pagedAttendanceWithGames.collectAsLazyPagingItems() AttendancesContent( snackbarHostState = snackbarHostState, pagedAttendancesWithGames = pagedAttendancesWithGames, - isFirstLaunch = isFirstLaunch, - isAllPermissionsGranted = multiplePermissionsState.allPermissionsGranted, - onCreateAttendanceClick = { - navController.navigate(AttendancesDestination.CreateAttendanceScreen.route) - }, + onCreateAttendanceClick = onCreateAttendanceClick, onDeleteAttendance = attendancesViewModel::deleteAttendance, - onClickAttendance = { - navController.navigate( - AttendancesDestination.AttendanceDetailScreen().generateRoute(it.id) - ) - }, - onShowFirstLaunchScreen = { - navController.navigate(FirstLaunchDestination.FirstLaunchScreen.route) { - popUpTo(activity::class.java.simpleName) { - inclusive = true - } - } - } + onClickAttendance = onClickAttendance ) } @@ -120,20 +133,11 @@ fun AttendancesScreen( private fun AttendancesContent( snackbarHostState: SnackbarHostState, pagedAttendancesWithGames: LazyPagingItems, - isFirstLaunch: Boolean, - isAllPermissionsGranted: Boolean, onCreateAttendanceClick: () -> Unit, onDeleteAttendance: (Attendance) -> Unit, onClickAttendance: (Attendance) -> Unit, - onShowFirstLaunchScreen: () -> Unit ) { - LaunchedEffect(isFirstLaunch, isAllPermissionsGranted) { - if (isFirstLaunch || !isAllPermissionsGranted) { - onShowFirstLaunchScreen() - } - } - Scaffold( topBar = { TopAppBar( @@ -155,48 +159,51 @@ private fun AttendancesContent( ) } }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Top) + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.navigationBars) ) { innerPadding -> - if (pagedAttendancesWithGames.isEmpty()) { - Column( - modifier = Modifier - .padding(innerPadding) - .fillMaxSize() - .then(Modifier.padding(DoubleDp)), - verticalArrangement = Arrangement.Center, - horizontalAlignment = Alignment.CenterHorizontally - ) { - Icon( - modifier = Modifier.fillMaxSize(0.3f), - imageVector = Icons.Default.Error, - contentDescription = Icons.Default.Error.name, - tint = MaterialTheme.colorScheme.primaryContainer - ) - Text( - text = stringResource(id = R.string.attendance_is_empty), - style = MaterialTheme.typography.titleMedium, - textAlign = TextAlign.Center - ) - Text( - text = stringResource(id = R.string.can_attend_event_by_creating_attendance), - style = MaterialTheme.typography.titleMedium, - textAlign = TextAlign.Center - ) - } - } else { - LazyColumn( - modifier = Modifier - .padding(innerPadding) - .fillMaxSize() - ) { + LazyColumn( + modifier = Modifier + .padding(innerPadding) + .fillMaxSize() + ) { + if (pagedAttendancesWithGames.isEmpty()) { + item { + Column( + modifier = Modifier + .fillParentMaxSize() + .then(Modifier.padding(DoubleDp)), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally + ) { + Icon( + modifier = Modifier.fillMaxSize(0.3f), + imageVector = Icons.Default.Error, + contentDescription = Icons.Default.Error.name, + tint = MaterialTheme.colorScheme.primaryContainer + ) + Text( + text = stringResource(id = R.string.attendance_is_empty), + style = MaterialTheme.typography.titleMedium, + textAlign = TextAlign.Center + ) + Text( + text = stringResource(id = R.string.can_attend_event_by_creating_attendance), + style = MaterialTheme.typography.titleMedium, + textAlign = TextAlign.Center + ) + } + } + } else { items( - items = pagedAttendancesWithGames, - key = { item -> item.attendance.id } - ) { item -> + count = pagedAttendancesWithGames.itemCount, + key = pagedAttendancesWithGames.itemKey { it.attendance.id } + ) { index -> + val item = runCatching { pagedAttendancesWithGames[index] }.getOrNull() + if (item != null) { AttendanceWithGamesItem( modifier = Modifier.animateItemPlacement(), - item = { item }, + item = { StableWrapper(item) }, onDeleteAttendance = onDeleteAttendance, onClickAttendance = onClickAttendance ) @@ -211,24 +218,24 @@ private fun AttendancesContent( } } -@OptIn(ExperimentalMaterialApi::class) +@OptIn(ExperimentalMaterial3Api::class) @Composable fun AttendanceWithGamesItem( modifier: Modifier, - item: () -> AttendanceWithGames, + item: () -> StableWrapper, onDeleteAttendance: (Attendance) -> Unit, onClickAttendance: (Attendance) -> Unit ) { val dismissState = rememberDismissState() - val isDismissedEndToStart = dismissState.isDismissed(DismissDirection.EndToStart) val context = LocalContext.current val activity = LocalActivity.current val coroutineScope = rememberCoroutineScope() - val currentItem by rememberUpdatedState(newValue = item()) - LaunchedEffect(isDismissedEndToStart) { - if (isDismissedEndToStart) { - onDeleteAttendance(currentItem.attendance) + LaunchedEffect(Unit) { + snapshotFlow { dismissState.currentValue }.catch { }.collectLatest { + if (it == DismissValue.DismissedToStart) { + onDeleteAttendance(item().value.attendance) + } } } @@ -236,84 +243,92 @@ fun AttendanceWithGamesItem( state = dismissState, modifier = modifier, directions = setOf(DismissDirection.EndToStart), - dismissThresholds = { direction -> - //rarely throws build error (unresolved) - androidx.compose.material.FractionalThreshold(if (direction == DismissDirection.EndToStart) 0.25f else 0.5f) - }, background = { - SwipeToDismissBackground(dismissState = dismissState) + SwipeToDismissBackground( + direction = dismissState.dismissDirection, + targetValue = { dismissState.targetValue } + ) }, dismissContent = { DismissContent( elevation = animateDpAsState( - if (dismissState.dismissDirection != null) HalfDp else 0.dp + if (dismissState.dismissDirection != null) HalfDp else 0.dp, label = "" ).value, - attendanceWithGames = { currentItem }, - onClickOneTimeAttend = { - val attendance = currentItem.attendance - val oneTimeWork = OneTimeWorkRequestBuilder() - .setInputData(workDataOf(AttendCheckInEventWorker.ATTENDANCE_ID to attendance.id)) - .setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST) - .setConstraints( - Constraints.Builder() - .setRequiredNetworkType(NetworkType.CONNECTED) - .build() - ) - .build() + attendanceWithGames = item, + onClickOneTimeAttend = remember { + { attendance -> + val oneTimeWork = OneTimeWorkRequestBuilder() + .setInputData(workDataOf(AttendCheckInEventWorker.ATTENDANCE_ID to attendance.id)) + .setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST) + .setConstraints( + Constraints.Builder() + .setRequiredNetworkType(NetworkType.CONNECTED) + .build() + ) + .build() - WorkManager.getInstance(context).beginUniqueWork( - attendance.oneTimeAttendCheckInEventWorkerName.toString(), - ExistingWorkPolicy.APPEND_OR_REPLACE, - oneTimeWork - ).enqueue() + WorkManager.getInstance(context).beginUniqueWork( + attendance.oneTimeAttendCheckInEventWorkerName.toString(), + ExistingWorkPolicy.APPEND_OR_REPLACE, + oneTimeWork + ).enqueue() - coroutineScope.launch { - requestReview( - context = context, - activity = activity, - logMessage = "ImmediateAttendance" - ) + coroutineScope.launch { + requestReview( + activity = activity, + logMessage = "ImmediateAttendance" + ) + } } }, - onClickAttendance = onClickAttendance + onClickAttendance = remember { onClickAttendance } ) } ) } -@OptIn(ExperimentalMaterialApi::class) +@OptIn(ExperimentalMaterial3Api::class) @Composable private fun SwipeToDismissBackground( - dismissState: DismissState + direction: DismissDirection?, + targetValue: () -> DismissValue ) { - val direction = - dismissState.dismissDirection ?: return - val alignment = when (direction) { - DismissDirection.StartToEnd -> Alignment.CenterStart - DismissDirection.EndToStart -> Alignment.CenterEnd + val alignment by remember(direction) { + derivedStateOf { + when (direction) { + DismissDirection.StartToEnd -> Alignment.CenterStart + DismissDirection.EndToStart -> Alignment.CenterEnd + null -> Alignment.TopStart + } + } } - val icon = when (direction) { - DismissDirection.StartToEnd -> Icons.Default.Done - DismissDirection.EndToStart -> Icons.Default.Delete + val icon by remember(direction) { + derivedStateOf { + when (direction) { + DismissDirection.StartToEnd -> Icons.Default.Done + DismissDirection.EndToStart -> Icons.Default.Delete + null -> Icons.Default.Pending + } + } } val scale by animateFloatAsState( - if (dismissState.targetValue == DismissValue.Default) 0.75f else 1f + if (targetValue() == DismissValue.Default) 0.75f else 1f, label = "" ) val backgroundColor by animateColorAsState( - when (dismissState.targetValue) { + when (targetValue()) { DismissValue.DismissedToStart -> MaterialTheme.colorScheme.errorContainer else -> { MaterialTheme.colorScheme.surfaceColorAtElevation(HalfDp) } - } + }, label = "" ) val iconColor by animateColorAsState( - when (dismissState.targetValue) { + when (targetValue()) { DismissValue.DismissedToStart -> MaterialTheme.colorScheme.onErrorContainer else -> { MaterialTheme.colorScheme.onSurface } - } + }, label = "" ) Box( @@ -332,33 +347,36 @@ private fun SwipeToDismissBackground( } } -@OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class) +@OptIn(ExperimentalFoundationApi::class) @Composable private fun DismissContent( elevation: Dp, - attendanceWithGames: () -> AttendanceWithGames, + attendanceWithGames: () -> StableWrapper, onClickAttendance: (Attendance) -> Unit, - onClickOneTimeAttend: () -> Unit + onClickOneTimeAttend: (Attendance) -> Unit ) { - val currentAttendanceWithGames by rememberUpdatedState(attendanceWithGames()) - ListItem( modifier = Modifier .shadow(elevation = elevation) - .clickable { onClickAttendance(currentAttendanceWithGames.attendance) }, - supportingText = { + .composed { + remember { + clickable { onClickAttendance(attendanceWithGames().value.attendance) } + } + }, + supportingContent = { LazyRow( - horizontalArrangement = Arrangement.spacedBy(space = HalfDp) + horizontalArrangement = Arrangement.spacedBy(space = HalfDp), + userScrollEnabled = false ) { items( - items = currentAttendanceWithGames.games, + items = attendanceWithGames().value.games, key = { it.id } ) { game -> AsyncImage( modifier = Modifier .animateItemPlacement() .size(IconDp) - .clip(MaterialTheme.shapes.extraSmall), + .shadow(4.dp, shape = MaterialTheme.shapes.extraSmall), model = ImageRequest.Builder(LocalContext.current) .data(game.type.gameIconUrl) .build(), @@ -367,15 +385,15 @@ private fun DismissContent( } } }, - headlineText = { + headlineContent = { val hourFormat = LocalHourFormat.current val formattedTime by remember( - currentAttendanceWithGames.attendance, + attendanceWithGames().value.attendance, hourFormat ) { derivedStateOf { - with(currentAttendanceWithGames.attendance) { + with(attendanceWithGames().value.attendance) { ZonedDateTime.now(ZoneId.of(timezoneId)) .withHour(hourOfDay) .withMinute(minute) @@ -394,22 +412,22 @@ private fun DismissContent( ) ) append(" ") - append("(${currentAttendanceWithGames.attendance.timezoneId})") + append("(${attendanceWithGames().value.attendance.timezoneId})") } ) }, - overlineText = { + overlineContent = { Text( text = stringResource( id = R.string.attendance_of_nickname, - currentAttendanceWithGames.attendance.nickname + attendanceWithGames().value.attendance.nickname ), style = MaterialTheme.typography.titleMedium ) }, trailingContent = { val workInfos by WorkManager.getInstance(LocalContext.current) - .getWorkInfosForUniqueWorkLiveData(currentAttendanceWithGames.attendance.oneTimeAttendCheckInEventWorkerName.toString()) + .getWorkInfosForUniqueWorkLiveData(attendanceWithGames().value.attendance.oneTimeAttendCheckInEventWorkerName.toString()) .observeAsState() val isRunning by remember(workInfos) { derivedStateOf { @@ -419,7 +437,9 @@ private fun DismissContent( IconButton( enabled = isRunning == false, - onClick = onClickOneTimeAttend + onClick = remember { + { onClickOneTimeAttend(attendanceWithGames().value.attendance) } + } ) { AnimatedVisibility( visible = isRunning == false, diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/LoginHoYoLABScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/LoginHoYoLABScreen.kt similarity index 70% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/LoginHoYoLABScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/LoginHoYoLABScreen.kt index 5d077ccb..b729ca84 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/LoginHoYoLABScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/LoginHoYoLABScreen.kt @@ -16,7 +16,13 @@ import androidx.compose.material.icons.filled.Refresh import androidx.compose.material.icons.filled.Warning import androidx.compose.material3.* import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext @@ -26,64 +32,89 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.window.DialogProperties import androidx.core.view.WindowCompat -import androidx.navigation.NavHostController +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.webkit.WebSettingsCompat import androidx.webkit.WebViewFeature import com.google.accompanist.web.* import com.joeloewi.croissant.BuildConfig import com.joeloewi.croissant.R -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.state.LoginHoYoLABState -import com.joeloewi.croissant.state.rememberLoginHoYoLABState +import com.joeloewi.croissant.state.LCE import com.joeloewi.croissant.util.LocalActivity import com.joeloewi.croissant.viewmodel.LoginHoYoLABViewModel import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.filter +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext const val COOKIE = "cookie" @Composable fun LoginHoYoLABScreen( - navController: NavHostController, - loginHoYoLABViewModel: LoginHoYoLABViewModel + loginHoYoLABViewModel: LoginHoYoLABViewModel = hiltViewModel(), + onNavigateUp: () -> Unit, + onNavigateUpWithResult: (cookie: String) -> Unit ) { - val loginHoYoLABState = rememberLoginHoYoLABState( - navController = navController, - loginHoYoLABViewModel = loginHoYoLABViewModel, - hoyolabUrl = remember { "https://m.hoyolab.com" }, - excludedUrls = remember { - listOf("www.webstatic-sea.mihoyo.com", "www.webstatic-sea.hoyolab.com") - }.toImmutableList(), - securityPopUpUrls = remember { - listOf( - "https://account.hoyolab.com/security.html?origin=hoyolab", - "https://m.hoyolab.com/account-system-sea/security.html?origin=hoyolab", - "about:blank" - ) - }.toImmutableList(), - webViewNavigator = rememberWebViewNavigator() - ) + val removeAllCookiesState by loginHoYoLABViewModel.removeAllCookies.collectAsStateWithLifecycle() + val currentCookie by loginHoYoLABViewModel.currentCookie.collectAsStateWithLifecycle() LoginHoYoLABContent( - loginHoYoLABState = loginHoYoLABState + removeAllCookiesState = { removeAllCookiesState }, + currentCookie = { currentCookie }, + onNavigateUp = onNavigateUp, + onNavigateUpWithResult = onNavigateUpWithResult, + onCurrentCookieChange = loginHoYoLABViewModel::setCurrentCookie ) } -@OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) +@OptIn(ExperimentalMaterial3Api::class) @SuppressLint("SetJavaScriptEnabled") @Composable fun LoginHoYoLABContent( - loginHoYoLABState: LoginHoYoLABState + removeAllCookiesState: () -> LCE, + currentCookie: () -> String, + onNavigateUp: () -> Unit, + onNavigateUpWithResult: (cookie: String) -> Unit, + onCurrentCookieChange: (String) -> Unit ) { val incorrectSession = stringResource(id = R.string.incorrect_session) val context = LocalContext.current val activity = LocalActivity.current + val hoyolabUrl = remember { "https://m.hoyolab.com" } + val webViewState = rememberWebViewState(url = hoyolabUrl) + val webViewNavigator = rememberWebViewNavigator() + val coroutineScope = rememberCoroutineScope() + val snackbarHostState = remember { SnackbarHostState() } + val cookieKeys = remember { listOf("ltoken_v2", "ltmid_v2").toImmutableList() } + val securityPopUpUrls = remember { + listOf( + "https://account.hoyolab.com/security.html", + "https://m.hoyolab.com/account-system-sea/security.html", + "about:blank", + "https://account.hoyolab.com/single-page/cross-login.html" + ) + }.toImmutableList() + val excludedUrls = remember { + listOf("www.webstatic-sea.mihoyo.com", "www.webstatic-sea.hoyolab.com") + }.toImmutableList() + var showSslErrorDialog by remember { mutableStateOf?>(null) } + + LaunchedEffect(Unit) { + snapshotFlow(currentCookie).catch { }.flowOn(Dispatchers.IO).filter { it.isNotEmpty() } + .collect { + onNavigateUpWithResult(it) + } + } Scaffold( topBar = { Column { TopAppBar( navigationIcon = { - IconButton(onClick = loginHoYoLABState::onClickClose) { + IconButton(onClick = onNavigateUp) { Icon( imageVector = Icons.Default.Close, contentDescription = Icons.Default.Close.name @@ -92,11 +123,11 @@ fun LoginHoYoLABContent( }, actions = { ReloadOrStopLoading( - isLoading = loginHoYoLABState.webViewState.isLoading, + isLoading = webViewState.isLoading, reload = { IconButton( onClick = { - loginHoYoLABState.webViewNavigator.reload() + webViewNavigator.reload() } ) { Icon( @@ -108,7 +139,7 @@ fun LoginHoYoLABContent( stopLoading = { IconButton( onClick = { - loginHoYoLABState.webViewNavigator.stopLoading() + webViewNavigator.stopLoading() } ) { Icon( @@ -121,7 +152,20 @@ fun LoginHoYoLABContent( IconButton( onClick = { - loginHoYoLABState.tryToCatchCookie(failureMessage = incorrectSession) + coroutineScope.launch(Dispatchers.IO) { + val hoyolabCookie = + CookieManager.getInstance().getCookie(hoyolabUrl) + + if (cookieKeys.map { hoyolabCookie.contains(it) }.all { it }) { + withContext(Dispatchers.Main) { + onNavigateUpWithResult(hoyolabCookie) + } + } else { + snackbarHostState.showSnackbar( + message = incorrectSession + ) + } + } } ) { Icon( @@ -133,13 +177,13 @@ fun LoginHoYoLABContent( title = { Column { Text( - text = loginHoYoLABState.pageTitle, + text = webViewState.pageTitle ?: "Title", style = MaterialTheme.typography.titleMedium, overflow = TextOverflow.Ellipsis, maxLines = 1 ) Text( - text = loginHoYoLABState.currentUrl, + text = webViewState.lastLoadedUrl ?: "", style = MaterialTheme.typography.bodyMedium, overflow = TextOverflow.Ellipsis, maxLines = 1 @@ -147,7 +191,7 @@ fun LoginHoYoLABContent( } } ) - with(loginHoYoLABState.webViewState.loadingState) { + with(webViewState.loadingState) { when (this) { is LoadingState.Loading -> { LinearProgressIndicator( @@ -168,18 +212,18 @@ fun LoginHoYoLABContent( } }, snackbarHost = { - SnackbarHost(hostState = loginHoYoLABState.snackbarHostState) + SnackbarHost(hostState = snackbarHostState) }, contentWindowInsets = WindowInsets.safeDrawing.exclude(WindowInsets.navigationBars) ) { innerPadding -> - when (loginHoYoLABState.removeAllCookiesState) { - is Lce.Content -> { + when (removeAllCookiesState()) { + is LCE.Content -> { WebView( modifier = Modifier .fillMaxSize() .padding(innerPadding), - state = loginHoYoLABState.webViewState, - navigator = loginHoYoLABState.webViewNavigator, + state = webViewState, + navigator = webViewNavigator, onCreated = { webView -> with(webView) { settings.apply { @@ -233,7 +277,7 @@ fun LoginHoYoLABContent( error: SslError? ) { super.onReceivedSslError(view, handler, error) - loginHoYoLABState.onShowSslErrorDialogChange(handler to error) + showSslErrorDialog = handler to error } override fun shouldInterceptRequest( @@ -241,38 +285,46 @@ fun LoginHoYoLABContent( request: WebResourceRequest? ): WebResourceResponse? { //in this block, codes are executed in io thread. - //checkAndCatchCookieOnlyOnce callback's role is to execute navController.navigateUp() - //which is must executed in main thread. - //in addition, shouldInterceptRequest() callback is called many times - //but navController.navigateUp() has to be called only once + //and called multiple times. + //but we only need first value. + //use stateflow in view model to distinct and get first value - //so, after switching context to main thread, store that job in variable - //if the variable is null to ensure execute only once - loginHoYoLABState.checkAndCatchCookieOnlyOnce() + coroutineScope.launch(Dispatchers.IO) { + val cookie = + CookieManager.getInstance().getCookie(hoyolabUrl) - return super.shouldInterceptRequest(view, request) + if (cookieKeys.map { cookie?.contains(it) == true } + .all { it }) { + onCurrentCookieChange(cookie) + } + } + + return super.shouldInterceptRequest( + view, + request + ) } override fun shouldOverrideUrlLoading( view: WebView?, request: WebResourceRequest? - ): Boolean = - loginHoYoLABState.shouldOverrideUrlLoading( - request = request, - runOuterApplication = { uri -> - if (uri != null) { - activity.startActivity( - Intent( - Intent.ACTION_VIEW, - uri - ) + ): Boolean = if ((mutableListOf(hoyolabUrl) + excludedUrls).all { + (request?.url?.toString()?.contains(it) == false) + }) { + coroutineScope.launch { + request?.url?.let { + activity.startActivity( + Intent( + Intent.ACTION_VIEW, + it ) - } - }, - processOnWebView = { - super.shouldOverrideUrlLoading(view, request) + ) } - ) + } + true + } else { + super.shouldOverrideUrlLoading(view, request) + } } }, chromeClient = remember { @@ -346,7 +398,7 @@ fun LoginHoYoLABContent( url: String?, favicon: Bitmap? ) { - if (loginHoYoLABState.securityPopUpUrls.contains(url)) { + if (securityPopUpUrls.any { url?.contains(it) == true }) { dialog.dismiss() } else { dialog.show() @@ -369,11 +421,11 @@ fun LoginHoYoLABContent( ) } - is Lce.Error -> { + is LCE.Error -> { } - Lce.Loading -> { + LCE.Loading -> { Column( modifier = Modifier .fillMaxSize() @@ -387,10 +439,10 @@ fun LoginHoYoLABContent( } } - if (loginHoYoLABState.showSslErrorDialog != null) { + if (showSslErrorDialog != null) { AlertDialog( onDismissRequest = { - loginHoYoLABState.onShowSslErrorDialogChange(null) + showSslErrorDialog = null }, properties = DialogProperties( dismissOnClickOutside = false, @@ -398,14 +450,14 @@ fun LoginHoYoLABContent( ), confirmButton = { TextButton( - onClick = loginHoYoLABState::onConfirmSslErrorDialog + onClick = { showSslErrorDialog?.first?.proceed() } ) { Text(text = stringResource(id = R.string.confirm)) } }, dismissButton = { TextButton( - onClick = loginHoYoLABState::onCancelSslErrorDialog + onClick = { showSslErrorDialog?.first?.cancel() } ) { Text(text = stringResource(id = R.string.dismiss)) } @@ -423,7 +475,7 @@ fun LoginHoYoLABContent( Text( text = buildAnnotatedString { append(stringResource(id = R.string.website_user_try_to_access)) - loginHoYoLABState.showSslErrorDialog?.second?.url?.let { + showSslErrorDialog?.second?.url?.let { append("(${it})") } append(stringResource(id = R.string.has_error_in_certification)) diff --git a/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/CreateAttendanceScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/CreateAttendanceScreen.kt new file mode 100644 index 00000000..0b782292 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/CreateAttendanceScreen.kt @@ -0,0 +1,260 @@ +package com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance + +import androidx.activity.compose.BackHandler +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.exclude +import androidx.compose.foundation.layout.navigationBars +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.systemBars +import androidx.compose.foundation.pager.HorizontalPager +import androidx.compose.foundation.pager.rememberPagerState +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Warning +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TopAppBar +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.runtime.snapshotFlow +import androidx.compose.runtime.snapshots.SnapshotStateList +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.window.DialogProperties +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner +import com.joeloewi.croissant.R +import com.joeloewi.croissant.domain.entity.Attendance +import com.joeloewi.croissant.domain.entity.Game +import com.joeloewi.croissant.domain.entity.GameRecord +import com.joeloewi.croissant.state.ILCE +import com.joeloewi.croissant.state.LCE +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance.composable.GetSession +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance.composable.SelectGames +import com.joeloewi.croissant.ui.navigation.main.attendances.screen.createattendance.composable.SetTime +import com.joeloewi.croissant.util.ProgressDialog +import com.joeloewi.croissant.util.navigationIconButton +import com.joeloewi.croissant.viewmodel.CreateAttendanceViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext + +@Composable +fun CreateAttendanceScreen( + createAttendanceViewModel: CreateAttendanceViewModel = hiltViewModel(), + newCookie: () -> String, + onLoginHoYoLAB: () -> Unit, + onNavigateUp: () -> Unit +) { + val insertAttendanceState by createAttendanceViewModel.insertAttendanceState.collectAsStateWithLifecycle() + val connectedGames by createAttendanceViewModel.connectedGames.collectAsStateWithLifecycle() + val duplicateAttendance by createAttendanceViewModel.duplicatedAttendance.collectAsStateWithLifecycle() + val checkedGames = remember { createAttendanceViewModel.checkedGames } + val hourOfDay by createAttendanceViewModel.hourOfDay.collectAsStateWithLifecycle() + val minute by createAttendanceViewModel.minute.collectAsStateWithLifecycle() + + CreateAttendanceContent( + newCookie = newCookie, + insertAttendanceState = { insertAttendanceState }, + connectedGames = { connectedGames }, + duplicateAttendance = { duplicateAttendance }, + checkedGames = { checkedGames }, + hourOfDay = { hourOfDay }, + minute = { minute }, + onLoginHoYoLAB = onLoginHoYoLAB, + onCookieChange = createAttendanceViewModel::setCookie, + onHourOfDayChange = createAttendanceViewModel::setHourOfDay, + onMinuteChange = createAttendanceViewModel::setMinute, + onCreateAttendance = createAttendanceViewModel::createAttendance, + onNavigateUp = onNavigateUp + ) +} + +@OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) +@Composable +fun CreateAttendanceContent( + newCookie: () -> String, + insertAttendanceState: () -> ILCE>, + connectedGames: () -> LCE>, + duplicateAttendance: () -> Attendance?, + checkedGames: () -> SnapshotStateList, + hourOfDay: () -> Int, + minute: () -> Int, + onLoginHoYoLAB: () -> Unit, + onCookieChange: (String) -> Unit, + onHourOfDayChange: (Int) -> Unit, + onMinuteChange: (Int) -> Unit, + onCreateAttendance: () -> Unit, + onNavigateUp: () -> Unit +) { + val pagerState = rememberPagerState { 3 } + val coroutineScope = rememberCoroutineScope() + val viewModelStoreOwner = LocalViewModelStoreOwner.current + var showCancelConfirmationDialog by remember { mutableStateOf(false) } + + LaunchedEffect(Unit) { + snapshotFlow(newCookie).catch { }.collect { + if (it.isNotEmpty()) { + onCookieChange(it) + pagerState.scrollToPage(1) + } + } + } + + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + snapshotFlow(insertAttendanceState).catch { }.collect { + when (it) { + is ILCE.Content -> { + withContext(Dispatchers.Main) { + if (it.content.isNotEmpty()) { + onNavigateUp() + } + } + } + + else -> { + + } + } + } + } + } + + BackHandler( + enabled = pagerState.currentPage <= 1 + ) { + showCancelConfirmationDialog = true + } + + BackHandler( + enabled = pagerState.currentPage > 1 + ) { + coroutineScope.launch { + pagerState.scrollToPage(pagerState.currentPage - 1) + } + } + + Scaffold( + topBar = { + TopAppBar( + title = { + Text(text = stringResource(id = R.string.create_attendance)) + }, + navigationIcon = viewModelStoreOwner.navigationIconButton( + onClick = { + showCancelConfirmationDialog = true + } + ) + ) + }, + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.navigationBars) + ) { innerPadding -> + + HorizontalPager( + modifier = Modifier.padding(innerPadding), + state = pagerState + ) { page -> + when (page) { + 0 -> { + GetSession( + onLoginHoYoLAB = onLoginHoYoLAB + ) + } + + 1 -> { + SelectGames( + connectedGames = connectedGames, + duplicatedAttendance = duplicateAttendance, + checkedGames = checkedGames, + onNextButtonClick = { + coroutineScope.launch { + pagerState.scrollToPage(page + 1) + } + }, + onNavigateToAttendanceDetailScreen = { + + }, + onCancelCreateAttendance = { + + } + ) + } + + 2 -> { + SetTime( + hourOfDay = hourOfDay, + minute = minute, + onHourOfDayChange = onHourOfDayChange, + onMinuteChange = onMinuteChange, + onNextButtonClick = onCreateAttendance + ) + } + } + } + + if (showCancelConfirmationDialog) { + AlertDialog( + onDismissRequest = { + showCancelConfirmationDialog = false + }, + confirmButton = { + TextButton( + onClick = { + showCancelConfirmationDialog = false + onNavigateUp() + } + ) { + Text(text = stringResource(id = R.string.confirm)) + } + }, + dismissButton = { + TextButton( + onClick = { + showCancelConfirmationDialog = false + } + ) { + Text(text = stringResource(id = R.string.dismiss)) + } + }, + icon = { + Icon( + imageVector = Icons.Default.Warning, + contentDescription = Icons.Default.Warning.name + ) + }, + title = { + Text(text = stringResource(id = R.string.caution)) + }, + text = { + Text( + text = stringResource(id = R.string.unsaved_contents_will_be_disappeared), + textAlign = TextAlign.Center + ) + }, + properties = DialogProperties( + dismissOnClickOutside = false, + dismissOnBackPress = false + ) + ) + } + + if (insertAttendanceState().isLoading) { + ProgressDialog( + onDismissRequest = {} + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/GetSession.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/GetSession.kt similarity index 91% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/GetSession.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/GetSession.kt index 4e82232b..37b2bcb5 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/GetSession.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/GetSession.kt @@ -7,21 +7,22 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.WindowInsetsSides import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.layout.exclude import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.only +import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.safeDrawing +import androidx.compose.foundation.layout.statusBars +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.pager.HorizontalPager +import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Login import androidx.compose.material.icons.filled.Star import androidx.compose.material3.Card -import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme @@ -47,12 +48,10 @@ import coil.request.ImageRequest import com.joeloewi.croissant.R import com.joeloewi.croissant.ui.theme.DefaultDp -@OptIn( - ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class -) +@OptIn(ExperimentalFoundationApi::class) @Composable fun GetSession( - modifier: Modifier, + modifier: Modifier = Modifier, onLoginHoYoLAB: () -> Unit, ) { val configuration = LocalConfiguration.current @@ -66,7 +65,8 @@ fun GetSession( FilledTonalButton( modifier = Modifier .fillMaxWidth() - .padding(horizontal = DefaultDp), + .padding(horizontal = DefaultDp) + .navigationBarsPadding(), onClick = onLoginHoYoLAB ) { Row( @@ -87,7 +87,7 @@ fun GetSession( } } }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal) + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.statusBars) ) { innerPadding -> Column( modifier = Modifier @@ -108,7 +108,7 @@ fun GetSession( ) HorizontalPager( - pageCount = 3, + state = rememberPagerState { 3 }, contentPadding = PaddingValues(horizontal = responsiveHorizontalPadding), key = { it } ) { page -> diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SelectGames.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SelectGames.kt similarity index 66% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SelectGames.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SelectGames.kt index e7b30744..396b3da5 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SelectGames.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SelectGames.kt @@ -4,7 +4,18 @@ import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.exclude +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.statusBars +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState @@ -13,11 +24,29 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowForward import androidx.compose.material.icons.filled.Error import androidx.compose.material.icons.filled.Warning -import androidx.compose.material3.* -import androidx.compose.runtime.* +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Checkbox +import androidx.compose.material3.FilledTonalButton +import androidx.compose.material3.Icon +import androidx.compose.material3.ListItem +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarDuration +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.runtime.snapshotFlow import androidx.compose.runtime.snapshots.SnapshotStateList import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.composed import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.clip import androidx.compose.ui.platform.LocalContext @@ -32,97 +61,112 @@ import com.google.accompanist.placeholder.fade import com.google.accompanist.placeholder.placeholder import com.joeloewi.croissant.R import com.joeloewi.croissant.domain.common.HoYoLABGame +import com.joeloewi.croissant.domain.entity.Attendance import com.joeloewi.croissant.domain.entity.Game import com.joeloewi.croissant.domain.entity.GameRecord -import com.joeloewi.croissant.state.CreateAttendanceState -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.state.rememberSelectGamesState +import com.joeloewi.croissant.state.LCE +import com.joeloewi.croissant.state.StableWrapper import com.joeloewi.croissant.ui.theme.DefaultDp import com.joeloewi.croissant.ui.theme.IconDp import com.joeloewi.croissant.util.gameNameStringResId import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.withContext -@OptIn( - ExperimentalMaterial3Api::class, - ExperimentalFoundationApi::class -) +@OptIn(ExperimentalFoundationApi::class) @Composable fun SelectGames( - modifier: Modifier, - createAttendanceState: CreateAttendanceState + modifier: Modifier = Modifier, + connectedGames: () -> LCE>, + duplicatedAttendance: () -> Attendance?, + checkedGames: () -> SnapshotStateList, + onNextButtonClick: () -> Unit, + onNavigateToAttendanceDetailScreen: (Long) -> Unit, + onCancelCreateAttendance: () -> Unit ) { - val selectGamesState = rememberSelectGamesState( - createAttendanceState = createAttendanceState, - supportedGames = listOf( + val snackbarHostState = remember { SnackbarHostState() } + val supportedGames = remember { + listOf( HoYoLABGame.HonkaiImpact3rd, HoYoLABGame.GenshinImpact, HoYoLABGame.TearsOfThemis, HoYoLABGame.HonkaiStarRail ).toImmutableList() - ) - val connectedGames = selectGamesState.connectedGames - val duplicatedAttendance = selectGamesState.duplicatedAttendance + } val containsNotSupportedGame = stringResource(id = R.string.contains_not_supported_game) val chooseAtLeastOneGame = stringResource(id = R.string.choose_at_least_one_game) val lazyListState = rememberLazyListState() - LaunchedEffect(connectedGames) { - when (connectedGames) { - is Lce.Content -> { - if (connectedGames.content.any { !selectGamesState.isSupportedGame(it.gameId) }) { - selectGamesState.snackbarHostState.apply { - currentSnackbarData?.dismiss() - showSnackbar(message = containsNotSupportedGame) + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + snapshotFlow(connectedGames).catch { }.collect { + when (it) { + is LCE.Content -> { + if ( + it.content.any { + supportedGames.find { game -> game.gameId == it.gameId } == null + } + ) { + snackbarHostState.apply { + currentSnackbarData?.dismiss() + showSnackbar(message = containsNotSupportedGame) + } + } } - } - } - is Lce.Error -> { - connectedGames.error.message?.let { - selectGamesState.snackbarHostState.apply { - currentSnackbarData?.dismiss() - showSnackbar(it) + is LCE.Error -> { + it.error.message?.let { + snackbarHostState.apply { + currentSnackbarData?.dismiss() + showSnackbar(it) + } + } + } + + LCE.Loading -> { + } } } + } + } - Lce.Loading -> { + LaunchedEffect(checkedGames().isEmpty()) { + val isEmpty = checkedGames().isEmpty() + if (isEmpty) { + snackbarHostState.apply { + currentSnackbarData?.dismiss() + showSnackbar( + message = chooseAtLeastOneGame, + duration = SnackbarDuration.Indefinite + ) } + } else { + snackbarHostState.currentSnackbarData?.dismiss() } } Scaffold( modifier = modifier, snackbarHost = { - SnackbarHost(hostState = selectGamesState.snackbarHostState) + SnackbarHost(hostState = snackbarHostState) }, bottomBar = { AnimatedVisibility( - visible = !connectedGames.isLoading && connectedGames.error == null, + modifier = Modifier.navigationBarsPadding(), + visible = !connectedGames().isLoading && connectedGames().error == null, enter = fadeIn(), exit = fadeOut() ) { - LaunchedEffect(selectGamesState.noGamesSelected) { - if (selectGamesState.noGamesSelected) { - selectGamesState.snackbarHostState.apply { - currentSnackbarData?.dismiss() - showSnackbar( - message = chooseAtLeastOneGame, - duration = SnackbarDuration.Indefinite - ) - } - } else { - selectGamesState.snackbarHostState.currentSnackbarData?.dismiss() - } - } FilledTonalButton( modifier = Modifier .fillMaxWidth() .padding(horizontal = DefaultDp), - enabled = !selectGamesState.noGamesSelected, - onClick = selectGamesState::onNextButtonClick + enabled = checkedGames().isNotEmpty(), + onClick = onNextButtonClick ) { Row( horizontalArrangement = Arrangement.spacedBy( @@ -140,7 +184,7 @@ fun SelectGames( } } }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal) + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.statusBars) ) { innerPadding -> Column( modifier = Modifier @@ -164,31 +208,31 @@ fun SelectGames( style = MaterialTheme.typography.bodyMedium ) - when (connectedGames) { - is Lce.Content -> { + when (connectedGames()) { + is LCE.Content -> { LazyColumn( state = lazyListState, modifier = Modifier .fillMaxSize() ) { items( - items = selectGamesState.supportedGames, + items = supportedGames, key = { it.name } ) { item -> ConnectedGamesContentListItem( modifier = Modifier.animateItemPlacement(), - checkedGames = selectGamesState.checkedGames, + checkedGames = checkedGames, hoYoLABGame = item, gameRecord = { - connectedGames.content.find { it.gameId == item.gameId } - ?: GameRecord() + StableWrapper(connectedGames().content?.find { it.gameId == item.gameId } + ?: GameRecord()) } ) } } } - is Lce.Error -> { + is LCE.Error -> { Column( modifier = Modifier .fillMaxSize(), @@ -203,7 +247,7 @@ fun SelectGames( } } - Lce.Loading -> { + LCE.Loading -> { LazyColumn( state = lazyListState, modifier = Modifier @@ -221,13 +265,15 @@ fun SelectGames( } } - if (duplicatedAttendance != null) { + if (duplicatedAttendance() != null) { AlertDialog( onDismissRequest = { }, confirmButton = { TextButton( onClick = { - selectGamesState.onNavigateToAttendanceDetailScreen(duplicatedAttendance.id) + duplicatedAttendance()?.id?.let { + onNavigateToAttendanceDetailScreen(it) + } } ) { Text(text = stringResource(id = R.string.confirm)) @@ -236,7 +282,7 @@ fun SelectGames( dismissButton = { TextButton( onClick = { - selectGamesState.onCancelCreateAttendance() + onCancelCreateAttendance() } ) { Text(text = stringResource(id = R.string.dismiss)) @@ -266,11 +312,10 @@ fun SelectGames( } } -@OptIn(ExperimentalMaterial3Api::class) @Composable fun ConnectedGamesListItemPlaceholder() { ListItem( - headlineText = { + headlineContent = { Text( modifier = Modifier .fillMaxWidth() @@ -300,7 +345,7 @@ fun ConnectedGamesListItemPlaceholder() { onCheckedChange = null ) }, - supportingText = { + supportingContent = { Text( modifier = Modifier .fillMaxWidth() @@ -338,21 +383,20 @@ fun ConnectedGamesListItemPlaceholder() { ) } -@OptIn(ExperimentalMaterial3Api::class) @Composable fun ConnectedGamesContentListItem( modifier: Modifier, - checkedGames: SnapshotStateList, + checkedGames: () -> SnapshotStateList, hoYoLABGame: HoYoLABGame, - gameRecord: (HoYoLABGame) -> GameRecord + gameRecord: (HoYoLABGame) -> StableWrapper ) { val currentGameRecord by rememberUpdatedState(newValue = gameRecord(hoYoLABGame)) val game by remember(hoYoLABGame, gameRecord) { derivedStateOf { Game( - roleId = currentGameRecord.gameRoleId, + roleId = currentGameRecord.value.gameRoleId, type = hoYoLABGame, - region = currentGameRecord.region + region = currentGameRecord.value.region ) } } @@ -360,7 +404,7 @@ fun ConnectedGamesContentListItem( val enabled by remember(hoYoLABGame, gameRecord) { derivedStateOf { hoYoLABGame == HoYoLABGame.TearsOfThemis || hoYoLABGame == HoYoLABGame.HonkaiStarRail || - currentGameRecord.gameId != GameRecord.INVALID_GAME_ID + (hoYoLABGame != HoYoLABGame.GenshinImpact && currentGameRecord.value.gameId != GameRecord.INVALID_GAME_ID) } } @@ -371,21 +415,25 @@ fun ConnectedGamesContentListItem( if (enabled) { 1.0f } else { - 0.3f + 0.38f } ) - .toggleable( - value = checkedGames.contains(game), - enabled = enabled, - role = Role.Checkbox, - onValueChange = { checked -> - if (checked) { - checkedGames.add(game) - } else { - checkedGames.remove(game) - } + .composed { + remember(checkedGames().contains(game), enabled) { + toggleable( + value = checkedGames().contains(game), + enabled = enabled, + role = Role.Checkbox, + onValueChange = { checked -> + if (checked) { + checkedGames().add(game) + } else { + checkedGames().remove(game) + } + } + ) } - ), + }, leadingContent = { Row( verticalAlignment = Alignment.CenterVertically @@ -405,15 +453,15 @@ fun ConnectedGamesContentListItem( }, trailingContent = { Checkbox( - checked = checkedGames.contains(game), + checked = checkedGames().contains(game), onCheckedChange = null ) }, - headlineText = { + headlineContent = { Text(text = stringResource(id = hoYoLABGame.gameNameStringResId())) }, - supportingText = { - with(currentGameRecord) { + supportingContent = { + with(currentGameRecord.value) { if (regionName.isNotEmpty() && region.isNotEmpty()) { Text( text = "$regionName (${region})" diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SetTime.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SetTime.kt similarity index 70% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SetTime.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SetTime.kt index 36fe3e98..dc2b3113 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SetTime.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/attendances/screen/createattendance/composable/SetTime.kt @@ -2,54 +2,64 @@ package com.joeloewi.croissant.ui.navigation.main.attendances.screen.createatten import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.WindowInsetsSides +import androidx.compose.foundation.layout.exclude import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.only +import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.safeDrawing +import androidx.compose.foundation.layout.statusBars +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Done import androidx.compose.material.icons.filled.Star import androidx.compose.material3.Card -import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.derivedStateOf 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.platform.LocalLifecycleOwner import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.withStyle +import androidx.lifecycle.flowWithLifecycle import com.joeloewi.croissant.R -import com.joeloewi.croissant.state.CreateAttendanceState import com.joeloewi.croissant.ui.theme.DefaultDp import com.joeloewi.croissant.util.LocalHourFormat -import com.joeloewi.croissant.util.TimePicker +import com.joeloewi.croissant.util.TimeAndTimePicker import com.joeloewi.croissant.util.dateTimeFormatterPerHourFormat +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.currentCoroutineContext +import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.isActive import java.time.ZonedDateTime -@OptIn( - ExperimentalMaterial3Api::class, - ExperimentalLayoutApi::class, -) @Composable fun SetTime( - modifier: Modifier, - createAttendanceState: CreateAttendanceState, + modifier: Modifier = Modifier, + hourOfDay: () -> Int, + minute: () -> Int, + onHourOfDayChange: (Int) -> Unit, + onMinuteChange: (Int) -> Unit, + onNextButtonClick: () -> Unit ) { Scaffold( modifier = modifier, @@ -57,8 +67,9 @@ fun SetTime( FilledTonalButton( modifier = Modifier .padding(horizontal = DefaultDp) - .fillMaxWidth(), - onClick = createAttendanceState::onNextButtonClick + .fillMaxWidth() + .navigationBarsPadding(), + onClick = onNextButtonClick ) { Row( horizontalArrangement = Arrangement.spacedBy( @@ -75,7 +86,7 @@ fun SetTime( } } }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Bottom) + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.statusBars) ) { innerPadding -> Column( modifier = Modifier @@ -100,7 +111,12 @@ fun SetTime( style = MaterialTheme.typography.bodyMedium ) - TimePickerWithState(createAttendanceState = createAttendanceState) + TimePickerWithState( + hourOfDay = hourOfDay, + minute = minute, + onHourOfDayChange = onHourOfDayChange, + onMinuteChange = onMinuteChange + ) Row( modifier = Modifier.fillMaxWidth(), @@ -116,7 +132,10 @@ fun SetTime( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center ) { - FirstExecutionTime(createAttendanceState = createAttendanceState) + FirstExecutionTime( + hourOfDay = hourOfDay, + minute = minute + ) } Card( @@ -149,34 +168,29 @@ fun SetTime( @Composable private fun TimePickerWithState( - createAttendanceState: CreateAttendanceState + hourOfDay: () -> Int, + minute: () -> Int, + onHourOfDayChange: (Int) -> Unit, + onMinuteChange: (Int) -> Unit ) { - TimePicker( + TimeAndTimePicker( modifier = Modifier.fillMaxWidth(), - hourOfDay = createAttendanceState.hourOfDay, - minute = createAttendanceState.minute, - onHourOfDayChange = remember(createAttendanceState) { - createAttendanceState::onHourOfDayChange - }, - onMinuteChange = remember(createAttendanceState) { createAttendanceState::onMinuteChange } + hourOfDay = hourOfDay, + minute = minute, + onHourOfDayChange = onHourOfDayChange, + onMinuteChange = onMinuteChange ) } @Composable private fun FirstExecutionTime( - createAttendanceState: CreateAttendanceState + hourOfDay: () -> Int, + minute: () -> Int ) { - val hourOfDay = createAttendanceState.hourOfDay - val minute = createAttendanceState.minute - val currentTickPerSecond = createAttendanceState.tickPerSecond - val canExecuteToday by remember(currentTickPerSecond, hourOfDay, minute) { - derivedStateOf { - (currentTickPerSecond.hour < hourOfDay) || (currentTickPerSecond.hour == hourOfDay && currentTickPerSecond.minute < minute) - } - } + val lifecycleOwner = LocalLifecycleOwner.current + var canExecuteToday by remember { mutableStateOf(false) } val today = stringResource(id = R.string.today) val tomorrow = stringResource(id = R.string.tomorrow) - val todayOrTomorrow by remember(canExecuteToday) { derivedStateOf { if (canExecuteToday) { @@ -195,8 +209,8 @@ private fun FirstExecutionTime( ) { derivedStateOf { ZonedDateTime.now() - .withHour(hourOfDay) - .withMinute(minute) + .withHour(hourOfDay()) + .withMinute(minute()) .format( dateTimeFormatterPerHourFormat(hourFormat) ) @@ -208,6 +222,18 @@ private fun FirstExecutionTime( } } + LaunchedEffect(Unit) { + flow { + while (currentCoroutineContext().isActive) { + emit(ZonedDateTime.now()) + delay(1000) + } + }.catch {}.flowWithLifecycle(lifecycleOwner.lifecycle).flowOn(Dispatchers.IO).collect { + canExecuteToday = + (it.hour < hourOfDay()) || (it.hour == hourOfDay() && it.minute < minute()) + } + } + Text( text = firstExecutionTime, style = MaterialTheme.typography.headlineMedium diff --git a/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/GlobalDestination.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/GlobalDestination.kt new file mode 100644 index 00000000..3bdab030 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/GlobalDestination.kt @@ -0,0 +1,29 @@ +package com.joeloewi.croissant.ui.navigation.main.global + +import androidx.navigation.NavType + +sealed class GlobalDestination { + abstract val arguments: List>> + abstract val plainRoute: String + open val route: String + get() = "${plainRoute}${ + arguments.map { it.first }.joinToString( + separator = "/", + prefix = if (arguments.isEmpty()) { + "" + } else { + "/" + } + ) { "{$it}" } + }" + + data object EmptyScreen : GlobalDestination() { + override val arguments: List>> = emptyList() + override val plainRoute: String = "EmptyScreen" + } + + data object FirstLaunchScreen : GlobalDestination() { + override val arguments: List>> = listOf() + override val plainRoute = "firstLaunchScreen" + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/screen/EmptyScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/screen/EmptyScreen.kt new file mode 100644 index 00000000..7c2aab2d --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/screen/EmptyScreen.kt @@ -0,0 +1,63 @@ +package com.joeloewi.croissant.ui.navigation.main.global.screen + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Scaffold +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.snapshotFlow +import androidx.compose.ui.Modifier +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.joeloewi.croissant.viewmodel.EmptyViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.filterNotNull +import kotlinx.coroutines.withContext + +@Composable +fun EmptyScreen( + emptyViewModel: EmptyViewModel = hiltViewModel(), + onShowFirstLaunchScreen: () -> Unit, + onShowDefaultScreen: () -> Unit, +) { + val isFirstLaunch by emptyViewModel.isFirstLaunch.collectAsStateWithLifecycle() + + EmptyContent( + isFirstLaunch = { isFirstLaunch }, + onShowFirstLaunchScreen = onShowFirstLaunchScreen, + onShowDefaultScreen = onShowDefaultScreen + ) +} + +@Composable +private fun EmptyContent( + isFirstLaunch: () -> Boolean?, + onShowFirstLaunchScreen: () -> Unit, + onShowDefaultScreen: () -> Unit +) { + + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + snapshotFlow { isFirstLaunch() }.catch { }.filterNotNull() + .collect { showFirstLaunchScreen -> + withContext(Dispatchers.Main) { + if (showFirstLaunchScreen) { + onShowFirstLaunchScreen() + } else { + onShowDefaultScreen() + } + } + } + } + } + + Scaffold { innerPadding -> + Column( + modifier = Modifier.padding(innerPadding) + ) { + + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/firstlaunch/screen/FirstLaunchScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/screen/FirstLaunchScreen.kt similarity index 62% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/firstlaunch/screen/FirstLaunchScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/screen/FirstLaunchScreen.kt index 8f84ce4e..1ea84cb8 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/firstlaunch/screen/FirstLaunchScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/global/screen/FirstLaunchScreen.kt @@ -14,20 +14,38 @@ * limitations under the License. */ -package com.joeloewi.croissant.ui.navigation.main.firstlaunch.screen +package com.joeloewi.croissant.ui.navigation.main.global.screen -import android.annotation.SuppressLint import android.content.Intent import android.os.Build import android.provider.Settings -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.CheckCircle import androidx.compose.material.icons.filled.Checklist import androidx.compose.material.icons.filled.Star -import androidx.compose.material3.* -import androidx.compose.runtime.* +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.FilledTonalButton +import androidx.compose.material3.Icon +import androidx.compose.material3.ListItem +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember +import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -39,69 +57,74 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp -import androidx.core.net.toUri -import androidx.navigation.NavHostController +import androidx.hilt.navigation.compose.hiltViewModel import coil.compose.AsyncImage import coil.request.ImageRequest import com.google.accompanist.permissions.ExperimentalPermissionsApi +import com.google.accompanist.permissions.PermissionStatus import com.google.accompanist.permissions.rememberMultiplePermissionsState import com.joeloewi.croissant.R -import com.joeloewi.croissant.state.FirstLaunchState -import com.joeloewi.croissant.state.rememberFirstLaunchState import com.joeloewi.croissant.ui.theme.DefaultDp import com.joeloewi.croissant.ui.theme.DoubleDp import com.joeloewi.croissant.util.CroissantPermission -import com.joeloewi.croissant.util.createNotificationChannels +import com.joeloewi.croissant.util.SpecialPermission +import com.joeloewi.croissant.util.rememberSpecialPermissionState import com.joeloewi.croissant.viewmodel.FirstLaunchViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.flowOn @Composable fun FirstLaunchScreen( - navController: NavHostController, - firstLaunchViewModel: FirstLaunchViewModel + firstLaunchViewModel: FirstLaunchViewModel = hiltViewModel(), + onNavigateToAttendances: () -> Unit ) { - val firstLaunchState = rememberFirstLaunchState( - navController = navController, - firstLaunchViewModel = firstLaunchViewModel - ) - FirstLaunchContent( - firstLaunchState = firstLaunchState + onFirstLaunchChange = firstLaunchViewModel::setIsFirstLaunch, + onNavigateToAttendances = onNavigateToAttendances ) } -@SuppressLint("BatteryLife") -@OptIn(ExperimentalMaterial3Api::class, ExperimentalPermissionsApi::class) +@OptIn(ExperimentalPermissionsApi::class) @Composable private fun FirstLaunchContent( - firstLaunchState: FirstLaunchState + onFirstLaunchChange: (Boolean) -> Unit, + onNavigateToAttendances: () -> Unit ) { val context = LocalContext.current + val scheduleExactAlarmPermissionState = + rememberSpecialPermissionState(specialPermission = SpecialPermission.ScheduleExactAlarms) val multiplePermissionsState = rememberMultiplePermissionsState( permissions = listOf( CroissantPermission.AccessHoYoLABSession.permission, - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT - ) - ) - val isAllPermissionsGranted by remember(multiplePermissionsState) { - derivedStateOf { - multiplePermissionsState.allPermissionsGranted - } - } - val croissantPermissions = remember { CroissantPermission.values() } - - LaunchedEffect(isAllPermissionsGranted) { - if (isAllPermissionsGranted) { - firstLaunchState.onFirstLaunchChange(false) - context.createNotificationChannels() - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - Intent( - Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, - "package:${context.packageName}".toUri() - ).also { - context.startActivity(it) + CroissantPermission.PostNotifications.permission + ), + onPermissionsResult = { + if (scheduleExactAlarmPermissionState.status != PermissionStatus.Granted) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + val intent = Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM) + + if (intent.resolveActivity(context.packageManager) != null) { + context.startActivity(intent) + } } } - firstLaunchState.navigateToAttendancesScreen() + } + ) + val croissantPermissions = remember { CroissantPermission.entries } + + LaunchedEffect(Unit) { + combine( + snapshotFlow { multiplePermissionsState.allPermissionsGranted }, + snapshotFlow { scheduleExactAlarmPermissionState.status == PermissionStatus.Granted } + ) { allNormalPermissionsGranted, isScheduleExactAlarmPermitted -> + allNormalPermissionsGranted && isScheduleExactAlarmPermitted + }.catch { }.flowOn(Dispatchers.IO).collect { + if (it) { + onFirstLaunchChange(false) + onNavigateToAttendances() + } } } @@ -130,8 +153,7 @@ private fun FirstLaunchContent( Text(text = stringResource(id = R.string.grant_permissions_and_start)) } } - }, - contentWindowInsets = WindowInsets.safeDrawing + } ) { innerPadding -> Column( modifier = Modifier @@ -190,7 +212,7 @@ private fun FirstLaunchContent( key = "permissionsHeader" ) { ListItem( - headlineText = { + headlineContent = { Text( text = stringResource(id = R.string.permissions), color = MaterialTheme.colorScheme.primary @@ -205,7 +227,7 @@ private fun FirstLaunchContent( ) { item -> ListItem( - headlineText = { + headlineContent = { Text(text = stringResource(id = item.label)) }, leadingContent = { @@ -214,10 +236,31 @@ private fun FirstLaunchContent( contentDescription = item.icon.name ) }, - supportingText = { + supportingContent = { Text( text = stringResource(id = item.detailedDescription) ) + }, + trailingContent = { + when (item) { + CroissantPermission.AccessHoYoLABSession, CroissantPermission.PostNotifications -> { + if (multiplePermissionsState.permissions.find { it.permission == item.permission }?.status == PermissionStatus.Granted) { + Icon( + imageVector = Icons.Default.CheckCircle, + contentDescription = Icons.Default.CheckCircle.name + ) + } + } + + CroissantPermission.ScheduleExactAlarms -> { + if (scheduleExactAlarmPermissionState.status == PermissionStatus.Granted) { + Icon( + imageVector = Icons.Default.CheckCircle, + contentDescription = Icons.Default.CheckCircle.name + ) + } + } + } } ) } diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/RedemptionCodesDestination.kt diff --git a/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/screen/RedemptionCodesScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/screen/RedemptionCodesScreen.kt new file mode 100644 index 00000000..75964910 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/redemptioncodes/screen/RedemptionCodesScreen.kt @@ -0,0 +1,427 @@ +package com.joeloewi.croissant.ui.navigation.main.redemptioncodes.screen + +import android.content.Intent +import android.net.Uri +import androidx.compose.animation.animateContentSize +import androidx.compose.animation.core.LinearEasing +import androidx.compose.animation.core.tween +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.exclude +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.navigationBars +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.systemBars +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.text.ClickableText +import androidx.compose.foundation.text.selection.SelectionContainer +import androidx.compose.material.ExperimentalMaterialApi +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Error +import androidx.compose.material.icons.filled.ExpandLess +import androidx.compose.material.icons.filled.ExpandMore +import androidx.compose.material.icons.filled.Refresh +import androidx.compose.material.pullrefresh.PullRefreshIndicator +import androidx.compose.material.pullrefresh.pullRefresh +import androidx.compose.material.pullrefresh.rememberPullRefreshState +import androidx.compose.material3.Button +import androidx.compose.material3.Card +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.LocalContentColor +import androidx.compose.material3.LocalTextStyle +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.material3.contentColorFor +import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.snapshots.SnapshotStateList +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.composed +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.takeOrElse +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.ExperimentalTextApi +import androidx.compose.ui.text.rememberTextMeasurer +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import coil.compose.AsyncImage +import coil.request.ImageRequest +import com.google.accompanist.placeholder.PlaceholderHighlight +import com.google.accompanist.placeholder.fade +import com.google.accompanist.placeholder.placeholder +import com.joeloewi.croissant.R +import com.joeloewi.croissant.domain.common.HoYoLABGame +import com.joeloewi.croissant.state.LCE +import com.joeloewi.croissant.ui.navigation.main.CroissantNavigation +import com.joeloewi.croissant.ui.theme.DefaultDp +import com.joeloewi.croissant.ui.theme.DoubleDp +import com.joeloewi.croissant.ui.theme.HalfDp +import com.joeloewi.croissant.ui.theme.IconDp +import com.joeloewi.croissant.util.gameNameStringResId +import com.joeloewi.croissant.viewmodel.RedemptionCodesViewModel +import kotlinx.collections.immutable.ImmutableList + +@Composable +fun RedemptionCodesScreen( + redemptionCodesViewModel: RedemptionCodesViewModel = hiltViewModel() +) { + val hoYoLABGameRedemptionCodesState by redemptionCodesViewModel.hoYoLABGameRedemptionCodesState.collectAsStateWithLifecycle() + val expandedItems = remember { redemptionCodesViewModel.expandedItems } + + RedemptionCodesContent( + hoYoLABGameRedemptionCodesState = { hoYoLABGameRedemptionCodesState }, + expandedItems = { expandedItems }, + onRefresh = { redemptionCodesViewModel.getRedemptionCodes() } + ) +} + +@OptIn( + ExperimentalMaterial3Api::class, + ExperimentalMaterialApi::class, ExperimentalFoundationApi::class +) +@Composable +private fun RedemptionCodesContent( + hoYoLABGameRedemptionCodesState: () -> LCE>>, + expandedItems: () -> SnapshotStateList, + onRefresh: () -> Unit +) { + val snackbarHostState = remember { SnackbarHostState() } + val pullRefreshState = rememberPullRefreshState( + refreshing = hoYoLABGameRedemptionCodesState().isLoading, + onRefresh = onRefresh + ) + + Scaffold( + snackbarHost = { + SnackbarHost(hostState = snackbarHostState) + }, + topBar = { + TopAppBar( + title = { + Text(text = stringResource(id = CroissantNavigation.RedemptionCodes.resourceId)) + } + ) + }, + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.navigationBars) + ) { innerPadding -> + Box( + modifier = Modifier + .fillMaxSize() + .padding(innerPadding) + .pullRefresh(pullRefreshState) + ) { + LazyColumn( + modifier = Modifier + .fillMaxSize(), + ) { + when (val state = hoYoLABGameRedemptionCodesState()) { + is LCE.Content -> { + items( + items = state.content, + key = { it.first.name } + ) { item -> + RedemptionCodeListItem( + modifier = Modifier.animateItemPlacement(), + item = item, + expandedItems = expandedItems + ) + } + } + + is LCE.Error -> { + item(key = "redemptionCodesError") { + Column( + modifier = Modifier + .fillParentMaxSize() + .then(Modifier.padding(DoubleDp)), + verticalArrangement = Arrangement.spacedBy( + DefaultDp, + Alignment.CenterVertically + ), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Icon( + modifier = Modifier + .fillMaxSize(0.3f), + imageVector = Icons.Default.Error, + contentDescription = Icons.Default.Error.name, + tint = MaterialTheme.colorScheme.primaryContainer + ) + Text( + text = stringResource(id = R.string.error_occurred), + style = MaterialTheme.typography.titleMedium, + textAlign = TextAlign.Center + ) + Text( + text = stringResource(id = R.string.due_to_site_policy), + style = MaterialTheme.typography.titleMedium, + textAlign = TextAlign.Center + ) + Button(onClick = onRefresh) { + Row( + horizontalArrangement = Arrangement.spacedBy( + DefaultDp, + Alignment.CenterHorizontally + ), + verticalAlignment = Alignment.CenterVertically + ) { + Icon( + imageVector = Icons.Default.Refresh, + contentDescription = Icons.Default.Refresh.name + ) + Text(text = stringResource(id = R.string.retry)) + } + } + } + } + } + + LCE.Loading -> { + items( + items = IntArray(3) { it }.toTypedArray(), + key = { "placeholder${it}" } + ) { + RedemptionCodeListItemPlaceholder() + } + } + } + } + + PullRefreshIndicator( + refreshing = hoYoLABGameRedemptionCodesState().isLoading, + state = pullRefreshState, + modifier = Modifier.align(Alignment.TopCenter), + backgroundColor = MaterialTheme.colorScheme.surface, + contentColor = contentColorFor(backgroundColor = MaterialTheme.colorScheme.surface) + ) + } + } +} + +@OptIn(ExperimentalMaterial3Api::class, ExperimentalTextApi::class) +@Composable +private fun RedemptionCodeListItem( + modifier: Modifier, + expandedItems: () -> SnapshotStateList, + item: Pair +) { + val foldedHeight = 216.dp + val context = LocalContext.current + val textStyle = LocalTextStyle.current + val textColor = textStyle.color.takeOrElse { + LocalContentColor.current + } + val density = LocalDensity.current + val contentTextMeasurer = rememberTextMeasurer() + val isContentCanBeFolded by remember { + derivedStateOf { + with(density) { + contentTextMeasurer.measure( + text = item.second, + style = textStyle.copy(color = textColor) + ).size.height.toDp() + } > foldedHeight + } + } + + Card( + modifier = modifier + .animateContentSize( + animationSpec = tween( + durationMillis = 300, + easing = LinearEasing + ) + ) + .fillMaxWidth() + .padding(horizontal = DefaultDp, vertical = HalfDp), + ) { + Column { + TopAppBar( + colors = TopAppBarDefaults.smallTopAppBarColors( + containerColor = MaterialTheme.colorScheme.surfaceVariant + ), + navigationIcon = { + AsyncImage( + modifier = Modifier + .padding(12.dp) + .size(IconDp) + .clip(MaterialTheme.shapes.extraSmall), + model = ImageRequest.Builder(LocalContext.current) + .data(item.first.gameIconUrl) + .build(), + contentDescription = null + ) + }, + title = { + Text(text = stringResource(id = item.first.gameNameStringResId())) + }, + actions = { + if (isContentCanBeFolded) { + IconButton( + onClick = { + if (!expandedItems().contains(item.first)) { + expandedItems().add(item.first) + } else { + expandedItems().remove(item.first) + } + } + ) { + if (expandedItems().contains(item.first)) { + Icon( + imageVector = Icons.Default.ExpandLess, + contentDescription = Icons.Default.ExpandLess.name + ) + } else { + Icon( + imageVector = Icons.Default.ExpandMore, + contentDescription = Icons.Default.ExpandMore.name + ) + } + } + } + }, + windowInsets = WindowInsets(0, 0, 0, 0) + ) + + Row( + modifier = Modifier + .composed { + val measureHeight by remember( + isContentCanBeFolded, + expandedItems, + item.first + ) { + derivedStateOf { + if (!isContentCanBeFolded) { + return@derivedStateOf Dp.Unspecified + } + + if (expandedItems().contains(item.first)) { + return@derivedStateOf Dp.Unspecified + } + + return@derivedStateOf foldedHeight + } + } + + remember(measureHeight) { + height(measureHeight) + } + } + .padding(horizontal = DefaultDp), + ) { + SelectionContainer { + ClickableText( + text = item.second, + style = textStyle.copy(color = textColor), + onClick = { offset -> + item.second.getUrlAnnotations(offset, offset).firstOrNull()?.let { + context.startActivity( + Intent( + Intent.ACTION_VIEW, + Uri.parse(it.item.url) + ) + ) + } + } + ) + } + } + } + } +} + +@Composable +private fun RedemptionCodeListItemPlaceholder() { + Card( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = DefaultDp, vertical = HalfDp), + ) { + Column( + modifier = Modifier + .padding(DefaultDp), + verticalArrangement = Arrangement.spacedBy( + space = DefaultDp + ) + ) { + Row( + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically + ) { + AsyncImage( + modifier = Modifier + .size(IconDp) + .placeholder( + visible = true, + shape = MaterialTheme.shapes.extraSmall, + color = MaterialTheme.colorScheme.outline, + highlight = PlaceholderHighlight.fade( + highlightColor = MaterialTheme.colorScheme.surfaceVariant, + ) + ), + model = ImageRequest.Builder(LocalContext.current) + .build(), + contentDescription = null + ) + + Spacer(modifier = Modifier.padding(DefaultDp)) + + Text( + modifier = Modifier + .fillMaxWidth() + .placeholder( + visible = true, + shape = MaterialTheme.shapes.extraSmall, + color = MaterialTheme.colorScheme.outline, + highlight = PlaceholderHighlight.fade( + highlightColor = MaterialTheme.colorScheme.surfaceVariant, + ) + ), + text = "" + ) + } + + repeat(3) { + Text( + modifier = Modifier + .fillMaxWidth() + .placeholder( + visible = true, + shape = MaterialTheme.shapes.extraSmall, + color = MaterialTheme.colorScheme.outline, + highlight = PlaceholderHighlight.fade( + highlightColor = MaterialTheme.colorScheme.surfaceVariant, + ) + ), + text = "" + ) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/settings/SettingsDestination.kt diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/settings/screen/DeveloperInfoScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/settings/screen/DeveloperInfoScreen.kt similarity index 81% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/settings/screen/DeveloperInfoScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/settings/screen/DeveloperInfoScreen.kt index 8e924dd0..829ad0b9 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/settings/screen/DeveloperInfoScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/settings/screen/DeveloperInfoScreen.kt @@ -5,14 +5,14 @@ import android.net.Uri import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.WindowInsetsSides +import androidx.compose.foundation.layout.asPaddingValues +import androidx.compose.foundation.layout.exclude import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.only +import androidx.compose.foundation.layout.navigationBars import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.safeDrawing import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.icons.Icons @@ -27,6 +27,7 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment @@ -36,63 +37,63 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import androidx.navigation.NavHostController +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner import coil.compose.AsyncImage import coil.request.ImageRequest import com.joeloewi.croissant.R -import com.joeloewi.croissant.state.DeveloperInfoState -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.state.rememberDeveloperInfoState +import com.joeloewi.croissant.state.LCE import com.joeloewi.croissant.util.LocalActivity import com.joeloewi.croissant.util.navigationIconButton import com.joeloewi.croissant.viewmodel.DeveloperInfoViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import nl.marc_apps.tts.TextToSpeechInstance @Composable fun DeveloperInfoScreen( - navController: NavHostController, - developerInfoViewModel: DeveloperInfoViewModel + developerInfoViewModel: DeveloperInfoViewModel = hiltViewModel(), + onNavigateUp: () -> Unit ) { - val developerInfoState = rememberDeveloperInfoState( - navController = navController, - developerInfoViewModel = developerInfoViewModel - ) + val textToSpeech by developerInfoViewModel.textToSpeech.collectAsStateWithLifecycle(context = Dispatchers.IO) DeveloperInfoContent( - developerInfoState = developerInfoState + textToSpeech = { textToSpeech }, + onNavigateUp = onNavigateUp ) } -@OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) +@OptIn(ExperimentalMaterial3Api::class) @Composable private fun DeveloperInfoContent( - developerInfoState: DeveloperInfoState + textToSpeech: () -> LCE, + onNavigateUp: () -> Unit ) { val activity = LocalActivity.current val context = LocalContext.current + val viewModelStoreOwner = LocalViewModelStoreOwner.current val coroutineScope = rememberCoroutineScope() - val textToSpeech = developerInfoState.textToSpeech Scaffold( topBar = { TopAppBar( - navigationIcon = navigationIconButton( - previousBackStackEntry = developerInfoState.previousBackStackEntry, - onClick = developerInfoState::onNavigateUp + navigationIcon = viewModelStoreOwner.navigationIconButton( + onClick = onNavigateUp ), title = { Text(text = stringResource(id = R.string.developer_info)) } ) }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Top) + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.navigationBars) ) { innerPadding -> LazyColumn( modifier = Modifier .padding(innerPadding) .fillMaxSize(), - horizontalAlignment = Alignment.CenterHorizontally + horizontalAlignment = Alignment.CenterHorizontally, + contentPadding = WindowInsets.navigationBars.asPaddingValues() ) { item( key = "baseInfo" @@ -106,10 +107,10 @@ private fun DeveloperInfoContent( .clip(CircleShape) .size(64.dp) .clickable( - enabled = textToSpeech is Lce.Content + enabled = textToSpeech() is LCE.Content ) { - coroutineScope.launch(Dispatchers.Default) { - textToSpeech.content?.runCatching { + coroutineScope.launch(Dispatchers.IO) { + textToSpeech().content?.runCatching { say("안아줘요", true) } } @@ -133,7 +134,7 @@ private fun DeveloperInfoContent( key = "websitesHeader" ) { ListItem( - headlineText = { + headlineContent = { Text( text = stringResource(id = R.string.websites), color = MaterialTheme.colorScheme.primary @@ -173,10 +174,10 @@ private fun DeveloperInfoContent( contentDescription = Icons.Default.OpenInNew.name ) }, - overlineText = { + overlineContent = { Text(text = "Github") }, - headlineText = { + headlineContent = { Text(text = developerGithub) } ) @@ -186,7 +187,7 @@ private fun DeveloperInfoContent( key = "contactsHeader" ) { ListItem( - headlineText = { + headlineContent = { Text( text = stringResource(id = R.string.contacts), color = MaterialTheme.colorScheme.primary @@ -227,10 +228,10 @@ private fun DeveloperInfoContent( contentDescription = Icons.Default.OpenInNew.name ) }, - overlineText = { + overlineContent = { Text(text = stringResource(id = R.string.email)) }, - headlineText = { + headlineContent = { Text(text = developerEmail) } ) diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/settings/screen/SettingsScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/settings/screen/SettingsScreen.kt similarity index 79% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/main/settings/screen/SettingsScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/settings/screen/SettingsScreen.kt index 5bc878ac..7c8575aa 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/main/settings/screen/SettingsScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/main/settings/screen/SettingsScreen.kt @@ -2,13 +2,12 @@ package com.joeloewi.croissant.ui.navigation.main.settings.screen import android.content.Intent import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.WindowInsetsSides +import androidx.compose.foundation.layout.exclude import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.only +import androidx.compose.foundation.layout.navigationBars import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.safeDrawing +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.selection.toggleable import androidx.compose.material.icons.Icons @@ -23,6 +22,7 @@ import androidx.compose.material3.Switch import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.rememberVectorPainter @@ -30,34 +30,33 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource import androidx.compose.ui.semantics.Role import androidx.hilt.navigation.compose.hiltViewModel -import androidx.navigation.NavHostController +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.android.gms.oss.licenses.OssLicensesMenuActivity import com.joeloewi.croissant.R -import com.joeloewi.croissant.state.SettingsState -import com.joeloewi.croissant.state.rememberSettingsState import com.joeloewi.croissant.ui.navigation.main.CroissantNavigation import com.joeloewi.croissant.util.LocalActivity import com.joeloewi.croissant.viewmodel.SettingsViewModel @Composable fun SettingsScreen( - navController: NavHostController, - settingsViewModel: SettingsViewModel = hiltViewModel() + settingsViewModel: SettingsViewModel = hiltViewModel(), + onDeveloperInfoClick: () -> Unit ) { - val settingsState = rememberSettingsState( - navController = navController, - settingsViewModel = settingsViewModel - ) + val darkThemeEnabled by settingsViewModel.darkThemeEnabled.collectAsStateWithLifecycle() SettingsContent( - settingsState = settingsState + darkThemeEnabled = { darkThemeEnabled }, + onDarkThemeEnabled = settingsViewModel::setDarkThemeEnabled, + onDeveloperInfoClick = onDeveloperInfoClick ) } -@OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) +@OptIn(ExperimentalMaterial3Api::class) @Composable fun SettingsContent( - settingsState: SettingsState, + darkThemeEnabled: () -> Boolean, + onDarkThemeEnabled: (Boolean) -> Unit, + onDeveloperInfoClick: () -> Unit ) { val activity = LocalActivity.current @@ -69,7 +68,7 @@ fun SettingsContent( } ) }, - contentWindowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Top) + contentWindowInsets = WindowInsets.systemBars.exclude(WindowInsets.navigationBars) ) { innerPadding -> LazyColumn( modifier = Modifier @@ -80,7 +79,7 @@ fun SettingsContent( key = "themeHeader" ) { ListItem( - headlineText = { + headlineContent = { Text( text = stringResource(id = R.string.theme), color = MaterialTheme.colorScheme.primary @@ -94,9 +93,9 @@ fun SettingsContent( ) { ListItem( modifier = Modifier.toggleable( - value = settingsState.settings.darkThemeEnabled, + value = darkThemeEnabled(), role = Role.Switch, - onValueChange = settingsState::setDarkThemeEnabled + onValueChange = onDarkThemeEnabled ), leadingContent = { Icon( @@ -104,17 +103,17 @@ fun SettingsContent( contentDescription = Icons.Default.DarkMode.name ) }, - headlineText = { + headlineContent = { Text(text = stringResource(id = R.string.dark_theme)) }, - supportingText = { + supportingContent = { Text( text = stringResource(id = R.string.always_use_dark_theme) ) }, trailingContent = { Switch( - checked = settingsState.settings.darkThemeEnabled, + checked = darkThemeEnabled(), onCheckedChange = null ) } @@ -125,7 +124,7 @@ fun SettingsContent( key = "othersHeader" ) { ListItem( - headlineText = { + headlineContent = { Text( text = stringResource(id = R.string.others), color = MaterialTheme.colorScheme.primary @@ -139,7 +138,7 @@ fun SettingsContent( ) { ListItem( modifier = Modifier.clickable { - settingsState.onDeveloperInfoClick() + onDeveloperInfoClick() }, leadingContent = { Icon( @@ -147,7 +146,7 @@ fun SettingsContent( contentDescription = Icons.Default.Person.name ) }, - headlineText = { + headlineContent = { Text(text = stringResource(id = R.string.developer_info)) } ) @@ -172,7 +171,7 @@ fun SettingsContent( contentDescription = null ) }, - headlineText = { + headlineContent = { Text(text = stringResource(id = R.string.open_source_licenses)) } ) diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/ResinStatusWidgetConfigurationNavigation.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/ResinStatusWidgetConfigurationNavigation.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/ResinStatusWidgetConfigurationNavigation.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/ResinStatusWidgetConfigurationNavigation.kt diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/ResinStatusWidgetConfigurationDestination.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/ResinStatusWidgetConfigurationDestination.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/ResinStatusWidgetConfigurationDestination.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/ResinStatusWidgetConfigurationDestination.kt diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/CreateResinStatusWidgetScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/CreateResinStatusWidgetScreen.kt similarity index 58% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/CreateResinStatusWidgetScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/CreateResinStatusWidgetScreen.kt index b08a5dd6..bf4e3fdc 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/CreateResinStatusWidgetScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/CreateResinStatusWidgetScreen.kt @@ -4,7 +4,13 @@ import android.app.Activity import android.appwidget.AppWidgetManager import android.content.Intent import androidx.activity.compose.BackHandler -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState @@ -13,112 +19,155 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Done import androidx.compose.material.icons.filled.Warning -import androidx.compose.material3.* -import androidx.compose.runtime.* +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.FilledTonalButton +import androidx.compose.material3.FloatingActionButton +import androidx.compose.material3.Icon +import androidx.compose.material3.ListItem +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.RadioButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.runtime.snapshotFlow +import androidx.compose.runtime.snapshots.SnapshotStateList import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.text.style.TextAlign -import androidx.navigation.NavHostController -import com.google.accompanist.placeholder.PlaceholderHighlight -import com.google.accompanist.placeholder.fade -import com.google.accompanist.placeholder.placeholder +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.joeloewi.croissant.R import com.joeloewi.croissant.domain.entity.UserInfo -import com.joeloewi.croissant.state.CreateResinStatusWidgetState -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.state.rememberCreateResinStatusWidgetState -import com.joeloewi.croissant.ui.navigation.main.attendances.screen.COOKIE +import com.joeloewi.croissant.state.ILCE import com.joeloewi.croissant.ui.theme.DefaultDp import com.joeloewi.croissant.ui.theme.DoubleDp import com.joeloewi.croissant.util.LocalActivity import com.joeloewi.croissant.util.ProgressDialog -import com.joeloewi.croissant.util.getResultFromPreviousComposable import com.joeloewi.croissant.viewmodel.CreateResinStatusWidgetViewModel +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.withContext @Composable fun CreateResinStatusWidgetScreen( - navController: NavHostController, - createResinStatusWidgetViewModel: CreateResinStatusWidgetViewModel + createResinStatusWidgetViewModel: CreateResinStatusWidgetViewModel = hiltViewModel(), + newCookie: () -> String, + onClickAdd: () -> Unit ) { - val context = LocalContext.current - val activity = LocalActivity.current - val createResinStatusWidgetState = - rememberCreateResinStatusWidgetState( - navController = navController, - createResinStatusWidgetViewModel = createResinStatusWidgetViewModel - ) - val getUserInfoState = createResinStatusWidgetState.getUserInfoState - - LaunchedEffect(activity) { - with(activity) { - val resultValue = Intent().apply { - putExtra( - AppWidgetManager.EXTRA_APPWIDGET_ID, - createResinStatusWidgetState.appWidgetId - ) - } - setResult(Activity.RESULT_CANCELED, resultValue) - } - } - - LaunchedEffect(createResinStatusWidgetState) { - getResultFromPreviousComposable( - navController = navController, - key = COOKIE - )?.let { - createResinStatusWidgetState.onReceiveCookie(cookie = it) - } - } - - LaunchedEffect(getUserInfoState) { - with(getUserInfoState) { - when (this) { - is Lce.Error -> { - createResinStatusWidgetState.snackbarHostState.showSnackbar(context.getString(R.string.error_occurred)) - } - - else -> {} - } - } - } + val getInfoUserState by createResinStatusWidgetViewModel.getUserInfoState.collectAsStateWithLifecycle() + val insertResinStatusWidgetState by createResinStatusWidgetViewModel.createResinStatusWidgetState.collectAsStateWithLifecycle() + val appWidgetId by createResinStatusWidgetViewModel.appWidgetId.collectAsStateWithLifecycle() + val userInfos = remember { createResinStatusWidgetViewModel.userInfos } + val selectableIntervals = + remember { createResinStatusWidgetViewModel.selectableIntervals.toImmutableList() } + val interval by createResinStatusWidgetViewModel.interval.collectAsStateWithLifecycle() CreateResinStatusWidgetContent( - createResinStatusWidgetState = createResinStatusWidgetState, + getInfoUserState = { getInfoUserState }, + insertResinStatusWidgetState = { insertResinStatusWidgetState }, + appWidgetId = { appWidgetId }, + userInfos = userInfos, + selectableIntervals = selectableIntervals, + interval = { interval }, + newCookie = newCookie, + onIntervalChange = createResinStatusWidgetViewModel::setInterval, + onClickAdd = onClickAdd, + onClickDone = createResinStatusWidgetViewModel::configureAppWidget, + onReceiveCookie = createResinStatusWidgetViewModel::onReceiveCookie ) } -@OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) +@OptIn(ExperimentalMaterial3Api::class) @Composable fun CreateResinStatusWidgetContent( - createResinStatusWidgetState: CreateResinStatusWidgetState, + getInfoUserState: () -> ILCE, + insertResinStatusWidgetState: () -> ILCE>, + appWidgetId: () -> Int, + userInfos: SnapshotStateList>, + selectableIntervals: ImmutableList, + interval: () -> Long, + newCookie: () -> String, + onIntervalChange: (Long) -> Unit, + onClickAdd: () -> Unit, + onClickDone: () -> Unit, + onReceiveCookie: (String) -> Unit ) { + val context = LocalContext.current val activity = LocalActivity.current - val insertResinStatusWidgetState = createResinStatusWidgetState.insertResinStatusWidgetState val lazyListState = rememberLazyListState() + val snackbarHostState = remember { SnackbarHostState() } - LaunchedEffect(insertResinStatusWidgetState) { - when (insertResinStatusWidgetState) { - is Lce.Content -> { - if (insertResinStatusWidgetState.content.isNotEmpty()) { - val resultValue = Intent().apply { - putExtra( - AppWidgetManager.EXTRA_APPWIDGET_ID, - createResinStatusWidgetState.appWidgetId - ) + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + snapshotFlow(insertResinStatusWidgetState).catch { }.collect { + when (it) { + is ILCE.Content -> { + if (it.content.isNotEmpty()) { + val resultValue = Intent().apply { + putExtra( + AppWidgetManager.EXTRA_APPWIDGET_ID, + appWidgetId() + ) + } + with(activity) { + setResult(Activity.RESULT_OK, resultValue) + finish() + } + } + } + + else -> { + + } + } + } + } + } + + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + snapshotFlow(getInfoUserState).catch { }.collect { + when (it) { + is ILCE.Error -> { + snackbarHostState.showSnackbar(context.getString(R.string.error_occurred)) } - with(activity) { - setResult(Activity.RESULT_OK, resultValue) - finish() + + else -> { + } } } + } + } - else -> { + LaunchedEffect(newCookie()) { + if (newCookie().isNotEmpty()) { + onReceiveCookie(newCookie()) + } + } + LaunchedEffect(activity) { + with(activity) { + val resultValue = Intent().apply { + putExtra( + AppWidgetManager.EXTRA_APPWIDGET_ID, + appWidgetId() + ) } + setResult(Activity.RESULT_CANCELED, resultValue) } } @@ -127,7 +176,7 @@ fun CreateResinStatusWidgetContent( val resultValue = Intent().apply { putExtra( AppWidgetManager.EXTRA_APPWIDGET_ID, - createResinStatusWidgetState.appWidgetId + appWidgetId() ) } setResult(Activity.RESULT_CANCELED, resultValue) @@ -144,11 +193,11 @@ fun CreateResinStatusWidgetContent( ) }, snackbarHost = { - SnackbarHost(hostState = createResinStatusWidgetState.snackbarHostState) + SnackbarHost(hostState = snackbarHostState) }, floatingActionButton = { FloatingActionButton( - onClick = createResinStatusWidgetState::onClickAdd + onClick = onClickAdd ) { Icon( imageVector = Icons.Default.Add, @@ -160,9 +209,10 @@ fun CreateResinStatusWidgetContent( FilledTonalButton( modifier = Modifier .fillMaxWidth() - .padding(DefaultDp), - enabled = createResinStatusWidgetState.userInfos.isNotEmpty(), - onClick = createResinStatusWidgetState::onClickDone + .padding(DefaultDp) + .navigationBarsPadding(), + enabled = userInfos.isNotEmpty(), + onClick = onClickDone ) { Row( horizontalArrangement = Arrangement.spacedBy( @@ -182,7 +232,7 @@ fun CreateResinStatusWidgetContent( } } ) { innerPadding -> - if (createResinStatusWidgetState.userInfos.isEmpty()) { + if (userInfos.isEmpty()) { Column( modifier = Modifier .padding(innerPadding) @@ -230,8 +280,10 @@ fun CreateResinStatusWidgetContent( alignment = Alignment.CenterHorizontally ) ) { - createResinStatusWidgetState.selectableIntervals.forEach { - val isSelected = createResinStatusWidgetState.interval == it + selectableIntervals.forEach { + val isSelected by remember(it) { + derivedStateOf { interval() == it } + } Row( modifier = Modifier.toggleable( @@ -239,7 +291,7 @@ fun CreateResinStatusWidgetContent( role = Role.RadioButton, onValueChange = { checked -> if (checked) { - createResinStatusWidgetState.onIntervalChange(it) + onIntervalChange(it) } } ), @@ -268,7 +320,7 @@ fun CreateResinStatusWidgetContent( } items( - items = createResinStatusWidgetState.userInfos, + items = userInfos, key = { it.first } ) { item -> UserInfoListItem( @@ -278,13 +330,13 @@ fun CreateResinStatusWidgetContent( } } - if (createResinStatusWidgetState.showProgressDialog) { + if (insertResinStatusWidgetState().isLoading) { ProgressDialog( onDismissRequest = {} ) } - if (createResinStatusWidgetState.showUserInfoProgressDialog) { + if (getInfoUserState().isLoading) { ProgressDialog( title = { Text(text = stringResource(id = R.string.retrieving_data)) }, onDismissRequest = {} @@ -293,7 +345,6 @@ fun CreateResinStatusWidgetContent( } } -@OptIn(ExperimentalMaterial3Api::class) @Composable fun UserInfoListItem( item: () -> Pair, @@ -303,45 +354,6 @@ fun UserInfoListItem( ListItem( modifier = Modifier .fillMaxWidth(), - headlineText = { Text(text = currentItem.second.nickname) }, - ) -} - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun GameRecordListItemPlaceholder() { - ListItem( - modifier = Modifier - .fillMaxWidth(), - headlineText = { - Text( - modifier = Modifier - .fillMaxWidth() - .placeholder( - visible = true, - shape = MaterialTheme.shapes.extraSmall, - color = MaterialTheme.colorScheme.outline, - highlight = PlaceholderHighlight.fade( - highlightColor = MaterialTheme.colorScheme.background, - ) - ), - text = "" - ) - }, - trailingContent = { - Checkbox( - modifier = Modifier - .placeholder( - visible = true, - shape = MaterialTheme.shapes.extraSmall, - color = MaterialTheme.colorScheme.outline, - highlight = PlaceholderHighlight.fade( - highlightColor = MaterialTheme.colorScheme.background, - ) - ), - checked = false, - onCheckedChange = null - ) - } + headlineContent = { Text(text = currentItem.second.nickname) }, ) } \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/LoadingScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/LoadingScreen.kt similarity index 93% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/LoadingScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/LoadingScreen.kt index 6e332638..a220d924 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/LoadingScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/LoadingScreen.kt @@ -14,8 +14,9 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.NavHostController -import com.google.firebase.crashlytics.FirebaseCrashlytics -import com.joeloewi.croissant.state.Lce +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics +import com.joeloewi.croissant.state.LCE import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resinstatuswidgetconfiguration.ResinStatusWidgetConfigurationDestination import com.joeloewi.croissant.viewmodel.LoadingViewModel @@ -29,7 +30,7 @@ fun LoadingScreen( LaunchedEffect(isAppWidgetConfigured) { when (isAppWidgetConfigured) { - is Lce.Content -> { + is LCE.Content -> { runCatching { if (isAppWidgetConfigured.content == true) { navController.navigate( @@ -55,7 +56,7 @@ fun LoadingScreen( } } }.onFailure { cause -> - FirebaseCrashlytics.getInstance().apply { + Firebase.crashlytics.apply { log(ResinStatusWidgetConfigurationDestination.LoadingScreen().route) recordException(cause) } diff --git a/app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/ResinStatusWidgetDetailScreen.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/ResinStatusWidgetDetailScreen.kt similarity index 69% rename from app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/ResinStatusWidgetDetailScreen.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/ResinStatusWidgetDetailScreen.kt index 610e2f96..3c63ad99 100644 --- a/app/src/main/java/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/ResinStatusWidgetDetailScreen.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/navigation/widgetconfiguration/resinstatus/resinstatuswidgetconfiguration/screen/ResinStatusWidgetDetailScreen.kt @@ -2,7 +2,6 @@ package com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.res import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth @@ -23,52 +22,72 @@ import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role import androidx.hilt.navigation.compose.hiltViewModel -import androidx.navigation.NavHostController +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.joeloewi.croissant.R -import com.joeloewi.croissant.state.Lce -import com.joeloewi.croissant.state.ResinStatusWidgetDetailState -import com.joeloewi.croissant.state.rememberResinStatusWidgetDetailState +import com.joeloewi.croissant.state.ILCE import com.joeloewi.croissant.ui.theme.DefaultDp import com.joeloewi.croissant.util.LocalActivity import com.joeloewi.croissant.util.ProgressDialog import com.joeloewi.croissant.viewmodel.ResinStatusWidgetDetailViewModel +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.withContext @Composable fun ResinStatusWidgetDetailScreen( - navController: NavHostController, resinStatusWidgetDetailViewModel: ResinStatusWidgetDetailViewModel = hiltViewModel() ) { - val resinStatusWidgetDetailState = rememberResinStatusWidgetDetailState( - resinStatusWidgetDetailViewModel = resinStatusWidgetDetailViewModel - ) + val updateResinStatusWidgetState by resinStatusWidgetDetailViewModel.updateResinStatusWidgetState.collectAsStateWithLifecycle() + val interval by resinStatusWidgetDetailViewModel.interval.collectAsStateWithLifecycle() + val selectableIntervals = + remember { resinStatusWidgetDetailViewModel.selectableIntervals.toImmutableList() } ResinStatusWidgetDetailContent( - resinStatusWidgetDetailState = resinStatusWidgetDetailState + updateResinStatusWidgetState = { updateResinStatusWidgetState }, + selectableIntervals = selectableIntervals, + interval = interval, + onUpdateResinStatusWidget = resinStatusWidgetDetailViewModel::updateResinStatusWidget, + onIntervalChange = resinStatusWidgetDetailViewModel::setInterval ) } -@OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) +@OptIn(ExperimentalMaterial3Api::class) @Composable fun ResinStatusWidgetDetailContent( - resinStatusWidgetDetailState: ResinStatusWidgetDetailState + updateResinStatusWidgetState: () -> ILCE, + selectableIntervals: ImmutableList, + interval: Long, + onUpdateResinStatusWidget: () -> Unit, + onIntervalChange: (Long) -> Unit ) { val activity = LocalActivity.current - val updateResinStatusWidgetState = resinStatusWidgetDetailState.updateResinStatusWidgetState - LaunchedEffect(updateResinStatusWidgetState) { - when (updateResinStatusWidgetState) { - is Lce.Content -> { - if (updateResinStatusWidgetState.content != 0) { - activity.finish() + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + snapshotFlow { updateResinStatusWidgetState() }.catch { }.collect { + when (it) { + is ILCE.Content -> { + if (it.content != 0) { + activity.finish() + } + } + + else -> { + + } } } - - else -> {} } } @@ -86,7 +105,7 @@ fun ResinStatusWidgetDetailContent( .fillMaxWidth() .navigationBarsPadding() .padding(DefaultDp), - onClick = resinStatusWidgetDetailState::updateResinStatusWidget + onClick = onUpdateResinStatusWidget ) { Row( horizontalArrangement = Arrangement.spacedBy( @@ -125,8 +144,10 @@ fun ResinStatusWidgetDetailContent( alignment = Alignment.CenterHorizontally ) ) { - resinStatusWidgetDetailState.selectableIntervals.forEach { - val isSelected = resinStatusWidgetDetailState.interval == it + selectableIntervals.forEach { + val isSelected by remember(it) { + derivedStateOf { interval == it } + } Row( modifier = Modifier.toggleable( @@ -134,7 +155,7 @@ fun ResinStatusWidgetDetailContent( role = Role.RadioButton, onValueChange = { checked -> if (checked) { - resinStatusWidgetDetailState.onIntervalChange(it) + onIntervalChange(it) } } ), @@ -155,7 +176,7 @@ fun ResinStatusWidgetDetailContent( } } - if (resinStatusWidgetDetailState.showProgressDialog) { + if (updateResinStatusWidgetState().isLoading) { ProgressDialog( onDismissRequest = {} ) diff --git a/app/src/main/kotlin/com/joeloewi/croissant/ui/theme/Color.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/theme/Color.kt new file mode 100644 index 00000000..217375a0 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/theme/Color.kt @@ -0,0 +1,66 @@ +package com.joeloewi.croissant.ui.theme + +import androidx.compose.ui.graphics.Color + +val md_theme_light_primary = Color(0xFF3852CB) +val md_theme_light_onPrimary = Color(0xFFFFFFFF) +val md_theme_light_primaryContainer = Color(0xFFDEE1FF) +val md_theme_light_onPrimaryContainer = Color(0xFF001258) +val md_theme_light_secondary = Color(0xFF5A5D72) +val md_theme_light_onSecondary = Color(0xFFFFFFFF) +val md_theme_light_secondaryContainer = Color(0xFFDFE1F9) +val md_theme_light_onSecondaryContainer = Color(0xFF171A2C) +val md_theme_light_tertiary = Color(0xFF76546E) +val md_theme_light_onTertiary = Color(0xFFFFFFFF) +val md_theme_light_tertiaryContainer = Color(0xFFFFD7F2) +val md_theme_light_onTertiaryContainer = Color(0xFF2D1228) +val md_theme_light_error = Color(0xFFBA1A1A) +val md_theme_light_errorContainer = Color(0xFFFFDAD6) +val md_theme_light_onError = Color(0xFFFFFFFF) +val md_theme_light_onErrorContainer = Color(0xFF410002) +val md_theme_light_background = Color(0xFFFEFBFF) +val md_theme_light_onBackground = Color(0xFF1B1B1F) +val md_theme_light_outline = Color(0xFF767680) +val md_theme_light_inverseOnSurface = Color(0xFFF3F0F4) +val md_theme_light_inverseSurface = Color(0xFF303034) +val md_theme_light_inversePrimary = Color(0xFFB9C3FF) +val md_theme_light_surfaceTint = Color(0xFF3852CB) +val md_theme_light_outlineVariant = Color(0xFFC6C5D0) +val md_theme_light_scrim = Color(0xFF000000) +val md_theme_light_surface = Color(0xFFFBF8FD) +val md_theme_light_onSurface = Color(0xFF1B1B1F) +val md_theme_light_surfaceVariant = Color(0xFFE3E1EC) +val md_theme_light_onSurfaceVariant = Color(0xFF46464F) + +val md_theme_dark_primary = Color(0xFFB9C3FF) +val md_theme_dark_onPrimary = Color(0xFF00218C) +val md_theme_dark_primaryContainer = Color(0xFF1838B3) +val md_theme_dark_onPrimaryContainer = Color(0xFFDEE1FF) +val md_theme_dark_secondary = Color(0xFFC3C5DD) +val md_theme_dark_onSecondary = Color(0xFF2C2F42) +val md_theme_dark_secondaryContainer = Color(0xFF434659) +val md_theme_dark_onSecondaryContainer = Color(0xFFDFE1F9) +val md_theme_dark_tertiary = Color(0xFFE5BAD8) +val md_theme_dark_onTertiary = Color(0xFF44263E) +val md_theme_dark_tertiaryContainer = Color(0xFF5D3C55) +val md_theme_dark_onTertiaryContainer = Color(0xFFFFD7F2) +val md_theme_dark_error = Color(0xFFFFB4AB) +val md_theme_dark_errorContainer = Color(0xFF93000A) +val md_theme_dark_onError = Color(0xFF690005) +val md_theme_dark_onErrorContainer = Color(0xFFFFDAD6) +val md_theme_dark_background = Color(0xFF1B1B1F) +val md_theme_dark_onBackground = Color(0xFFE4E1E6) +val md_theme_dark_outline = Color(0xFF90909A) +val md_theme_dark_inverseOnSurface = Color(0xFF1B1B1F) +val md_theme_dark_inverseSurface = Color(0xFFE4E1E6) +val md_theme_dark_inversePrimary = Color(0xFF3852CB) +val md_theme_dark_surfaceTint = Color(0xFFB9C3FF) +val md_theme_dark_outlineVariant = Color(0xFF46464F) +val md_theme_dark_scrim = Color(0xFF000000) +val md_theme_dark_surface = Color(0xFF131316) +val md_theme_dark_onSurface = Color(0xFFC8C6CA) +val md_theme_dark_surfaceVariant = Color(0xFF46464F) +val md_theme_dark_onSurfaceVariant = Color(0xFFC6C5D0) + + +val seed = Color(0xFF657EF8) diff --git a/app/src/main/java/com/joeloewi/croissant/ui/theme/Dp.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/theme/Dp.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/ui/theme/Dp.kt rename to app/src/main/kotlin/com/joeloewi/croissant/ui/theme/Dp.kt diff --git a/app/src/main/kotlin/com/joeloewi/croissant/ui/theme/Theme.kt b/app/src/main/kotlin/com/joeloewi/croissant/ui/theme/Theme.kt new file mode 100644 index 00000000..df794ecb --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/ui/theme/Theme.kt @@ -0,0 +1,140 @@ +/* + * Copyright 2023. joeloewi + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.joeloewi.croissant.ui.theme + +import android.os.Build +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.dynamicDarkColorScheme +import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalContext + +private val LightColorScheme = lightColorScheme( + primary = md_theme_light_primary, + onPrimary = md_theme_light_onPrimary, + primaryContainer = md_theme_light_primaryContainer, + onPrimaryContainer = md_theme_light_onPrimaryContainer, + secondary = md_theme_light_secondary, + onSecondary = md_theme_light_onSecondary, + secondaryContainer = md_theme_light_secondaryContainer, + onSecondaryContainer = md_theme_light_onSecondaryContainer, + tertiary = md_theme_light_tertiary, + onTertiary = md_theme_light_onTertiary, + tertiaryContainer = md_theme_light_tertiaryContainer, + onTertiaryContainer = md_theme_light_onTertiaryContainer, + error = md_theme_light_error, + errorContainer = md_theme_light_errorContainer, + onError = md_theme_light_onError, + onErrorContainer = md_theme_light_onErrorContainer, + background = md_theme_light_background, + onBackground = md_theme_light_onBackground, + outline = md_theme_light_outline, + inverseOnSurface = md_theme_light_inverseOnSurface, + inverseSurface = md_theme_light_inverseSurface, + inversePrimary = md_theme_light_inversePrimary, + surfaceTint = md_theme_light_surfaceTint, + outlineVariant = md_theme_light_outlineVariant, + scrim = md_theme_light_scrim, + surface = md_theme_light_surface, + onSurface = md_theme_light_onSurface, + surfaceVariant = md_theme_light_surfaceVariant, + onSurfaceVariant = md_theme_light_onSurfaceVariant, +) + + +private val DarkColorScheme = darkColorScheme( + primary = md_theme_dark_primary, + onPrimary = md_theme_dark_onPrimary, + primaryContainer = md_theme_dark_primaryContainer, + onPrimaryContainer = md_theme_dark_onPrimaryContainer, + secondary = md_theme_dark_secondary, + onSecondary = md_theme_dark_onSecondary, + secondaryContainer = md_theme_dark_secondaryContainer, + onSecondaryContainer = md_theme_dark_onSecondaryContainer, + tertiary = md_theme_dark_tertiary, + onTertiary = md_theme_dark_onTertiary, + tertiaryContainer = md_theme_dark_tertiaryContainer, + onTertiaryContainer = md_theme_dark_onTertiaryContainer, + error = md_theme_dark_error, + errorContainer = md_theme_dark_errorContainer, + onError = md_theme_dark_onError, + onErrorContainer = md_theme_dark_onErrorContainer, + background = md_theme_dark_background, + onBackground = md_theme_dark_onBackground, + outline = md_theme_dark_outline, + inverseOnSurface = md_theme_dark_inverseOnSurface, + inverseSurface = md_theme_dark_inverseSurface, + inversePrimary = md_theme_dark_inversePrimary, + surfaceTint = md_theme_dark_surfaceTint, + outlineVariant = md_theme_dark_outlineVariant, + scrim = md_theme_dark_scrim, + surface = md_theme_dark_surface, + onSurface = md_theme_dark_onSurface, + surfaceVariant = md_theme_dark_surfaceVariant, + onSurfaceVariant = md_theme_dark_onSurfaceVariant, +) + +@Composable +fun CroissantTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + // Dynamic color is available on Android 12+ + dynamicColor: Boolean = true, + content: @Composable() () -> Unit +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + + MaterialTheme( + colorScheme = colorScheme, + content = content + ) +} + +val successContainerColor + @Composable + get() = if (isSystemInDarkTheme()) { + Color(0xFF00522C) + } else { + Color(0xFF97F7B6) + } + +val onSuccessContainerColor + @Composable + get() = if (isSystemInDarkTheme()) { + Color(0xFF7CDA9C) + } else { + Color(0xFF006D3C) + } + +val warningContainerColor + @Composable + get() = if (isSystemInDarkTheme()) { + Color(0xFF564500) + } else { + Color(0xFFFFE083) + } \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/util/AlarmManagerExtensions.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/AlarmManagerExtensions.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/AlarmManagerExtensions.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/AlarmManagerExtensions.kt diff --git a/app/src/main/kotlin/com/joeloewi/croissant/util/AlarmScheduler.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/AlarmScheduler.kt new file mode 100644 index 00000000..b74f922f --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/AlarmScheduler.kt @@ -0,0 +1,13 @@ +package com.joeloewi.croissant.util + +interface AlarmScheduler { + fun scheduleCheckInAlarm( + attendanceId: Long, + hourOfDay: Int, + minute: Int + ) + + fun cancelCheckInAlarm( + attendanceId: Long, + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/util/CompositionLocals.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/CompositionLocals.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/CompositionLocals.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/CompositionLocals.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/CroissantPermission.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/CroissantPermission.kt similarity index 60% rename from app/src/main/java/com/joeloewi/croissant/util/CroissantPermission.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/CroissantPermission.kt index 5642aec1..7c72a1da 100644 --- a/app/src/main/java/com/joeloewi/croissant/util/CroissantPermission.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/CroissantPermission.kt @@ -6,41 +6,37 @@ import androidx.annotation.StringRes import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Cookie import androidx.compose.material.icons.filled.Notifications +import androidx.compose.material.icons.filled.Schedule import androidx.compose.ui.graphics.vector.ImageVector import com.joeloewi.croissant.BuildConfig import com.joeloewi.croissant.R -sealed class CroissantPermission( +enum class CroissantPermission( val permission: String, val icon: ImageVector, @StringRes val label: Int, @StringRes val detailedDescription: Int, ) { - object AccessHoYoLABSession : CroissantPermission( + AccessHoYoLABSession( permission = "${BuildConfig.APPLICATION_ID}.permission.ACCESS_HOYOLAB_SESSION", icon = Icons.Default.Cookie, label = R.string.permission_access_hoyolab_session_label, detailedDescription = R.string.permission_access_hoyolab_session_detailed_description - ) - - object PostNotifications : CroissantPermission( - permission = "${BuildConfig.APPLICATION_ID}.permission.POST_NOTIFICATIONS", + ), + PostNotifications( + permission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + Manifest.permission.POST_NOTIFICATIONS + } else { + "${BuildConfig.APPLICATION_ID}.permission.POST_NOTIFICATIONS" + }, icon = Icons.Default.Notifications, label = R.string.permission_post_notification_label, detailedDescription = R.string.permission_post_notification_detailed_description - ) - - companion object { - fun values() = listOf( - AccessHoYoLABSession, - PostNotifications - ) - - val POST_NOTIFICATIONS_PERMISSION_COMPAT = - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - Manifest.permission.POST_NOTIFICATIONS - } else { - PostNotifications.permission - } - } + ), + ScheduleExactAlarms( + permission = "ScheduleExactAlarms", + icon = Icons.Default.Schedule, + label = R.string.permission_schedule_exact_alarms_label, + detailedDescription = R.string.permission_schedule_exact_alarms_detailed_description + ); } diff --git a/app/src/main/java/com/joeloewi/croissant/util/DateTimeFormatterPerHourFormat.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/DateTimeFormatterPerHourFormat.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/DateTimeFormatterPerHourFormat.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/DateTimeFormatterPerHourFormat.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/HoYoLABGameNames.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/HoYoLABGameNames.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/HoYoLABGameNames.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/HoYoLABGameNames.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/HourFormat.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/HourFormat.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/HourFormat.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/HourFormat.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/LazyPagingItemsExtensions.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/LazyPagingItemsExtensions.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/LazyPagingItemsExtensions.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/LazyPagingItemsExtensions.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/LifecycleExtensions.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/LifecycleExtensions.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/LifecycleExtensions.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/LifecycleExtensions.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/ListRemoteViewsFactory.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/ListRemoteViewsFactory.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/ListRemoteViewsFactory.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/ListRemoteViewsFactory.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/NavControllerUtils.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/NavControllerUtils.kt similarity index 50% rename from app/src/main/java/com/joeloewi/croissant/util/NavControllerUtils.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/NavControllerUtils.kt index a2bc32a2..f8f78b61 100644 --- a/app/src/main/java/com/joeloewi/croissant/util/NavControllerUtils.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/NavControllerUtils.kt @@ -4,43 +4,37 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material3.Icon import androidx.compose.material3.IconButton +import androidx.compose.material3.LocalContentColor import androidx.compose.runtime.Composable -import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue -import androidx.compose.runtime.remember import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.ui.graphics.Color +import androidx.lifecycle.ViewModelStoreOwner import androidx.navigation.NavBackStackEntry import androidx.navigation.NavHostController @Composable -fun navigationIconButton( - previousBackStackEntry: NavBackStackEntry?, - onClick: () -> Unit +fun ViewModelStoreOwner?.navigationIconButton( + onClick: () -> Unit, + tint: Color = LocalContentColor.current ): @Composable () -> Unit { val currentOnClick by rememberUpdatedState(newValue = onClick) - val disappearableIconButton: @Composable (() -> Unit) by remember( - previousBackStackEntry, - currentOnClick - ) { - derivedStateOf { - if (previousBackStackEntry != null) { - { - IconButton(onClick = currentOnClick) { - Icon( - imageVector = Icons.Default.ArrowBack, - contentDescription = Icons.Default.ArrowBack.name - ) - } - } - } else { - { - } + return if (this is NavBackStackEntry) { + { + IconButton(onClick = currentOnClick) { + Icon( + imageVector = Icons.Default.ArrowBack, + contentDescription = Icons.Default.ArrowBack.name, + tint = tint + ) } } - } + } else { + { - return disappearableIconButton + } + } } diff --git a/app/src/main/kotlin/com/joeloewi/croissant/util/NotificationGenerator.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/NotificationGenerator.kt new file mode 100644 index 00000000..a82390bb --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/NotificationGenerator.kt @@ -0,0 +1,274 @@ +package com.joeloewi.croissant.util + +import android.app.Notification +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.content.pm.PackageManager +import android.content.pm.ServiceInfo +import android.net.Uri +import android.os.Build +import androidx.core.app.NotificationChannelCompat +import androidx.core.app.NotificationCompat +import androidx.core.app.NotificationManagerCompat +import androidx.core.app.TaskStackBuilder +import androidx.core.graphics.drawable.toBitmap +import androidx.work.ForegroundInfo +import coil.imageLoader +import coil.request.ImageRequest +import com.joeloewi.croissant.R +import com.joeloewi.croissant.data.common.generateGameIntent +import com.joeloewi.croissant.domain.common.HoYoLABGame +import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination + +class NotificationGenerator( + private val context: Context, +) { + private val _notificationManagerCompat by lazy { + NotificationManagerCompat.from(context) + } + private val _attendanceNotificationChannel by lazy { + NotificationChannelCompat.Builder( + context.getString(R.string.attendance_notification_channel_id), + NotificationManagerCompat.IMPORTANCE_MAX + ) + .setName(context.getString(R.string.attendance_notification_channel_name)) + .build() + } + + private val _checkSessionNotificationChannel by lazy { + NotificationChannelCompat.Builder( + context.getString(R.string.check_session_notification_channel_id), + NotificationManagerCompat.IMPORTANCE_MAX + ) + .setName(context.getString(R.string.check_session_notification_channel_name)) + .build() + } + + private val _timeZoneChangedNotificationChannel by lazy { + NotificationChannelCompat.Builder( + context.getString(R.string.time_zone_changed_notification_channel_id), + NotificationManagerCompat.IMPORTANCE_MAX + ) + .setName(context.getString(R.string.time_zone_changed_notification_channel_name)) + .build() + } + + private val _attendanceForegroundNotificationChannel by lazy { + NotificationChannelCompat.Builder( + context.getString(R.string.attendance_foreground_notification_channel_id), + NotificationManagerCompat.IMPORTANCE_MIN + ) + .setName(context.getString(R.string.attendance_foreground_notification_channel_name)) + .setVibrationPattern(null) + .build() + } + + fun createNotificationChannels() = _notificationManagerCompat.createNotificationChannelsCompat( + listOf( + _attendanceNotificationChannel, + _checkSessionNotificationChannel, + _timeZoneChangedNotificationChannel, + _attendanceForegroundNotificationChannel + ) + ) + + fun createTimezoneChangedNotification(): Notification = NotificationCompat + .Builder(context, _timeZoneChangedNotificationChannel.id) + .setContentTitle(context.getString(R.string.time_zone_changed_notification_title)) + .setContentText(context.getString(R.string.time_zone_changed_notification_description)) + .setAutoCancel(true) + .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) + .apply { + val pendingIntent = + PendingIntent.getActivity( + context, + 0, + context.packageManager.getLaunchIntentForPackage(context.packageName) + ?: Intent(Intent.ACTION_VIEW).apply { + addCategory(Intent.CATEGORY_DEFAULT) + data = Uri.parse("market://details?id=${context.packageName}") + }, + pendingIntentFlagUpdateCurrent + ) + + setContentIntent(pendingIntent) + } + .build() + + suspend fun createSuccessfulAttendanceNotification( + nickname: String, + hoYoLABGame: HoYoLABGame, + region: String, + message: String, + retCode: Int + ): Notification = NotificationCompat + .Builder(context, _attendanceNotificationChannel.id) + .setContentTitle( + "${ + context.getString( + R.string.attendance_of_nickname, + nickname + ) + } - ${context.getString(hoYoLABGame.gameNameStringResId())}" + ) + .setContentText("$message (${retCode})") + .setAutoCancel(true) + .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) + .apply { + context.imageLoader.runCatching { + execute( + ImageRequest.Builder(context = context) + .data(hoYoLABGame.gameIconUrl) + .build() + ).drawable + }.getOrNull()?.run { + setLargeIcon(toBitmap()) + } + } + .apply { + val pendingIntentFlag = pendingIntentFlagUpdateCurrent + + val pendingIntent = + PendingIntent.getActivity( + context, + 0, + generateGameIntent( + context = context, + hoYoLABGame = hoYoLABGame, + region = region + ), + pendingIntentFlag + ) + + setContentIntent(pendingIntent) + } + .build() + + suspend fun createUnsuccessfulAttendanceNotification( + nickname: String, + hoYoLABGame: HoYoLABGame, + attendanceId: Long + ): Notification = NotificationCompat + .Builder(context, _attendanceNotificationChannel.id) + .setContentTitle( + "${ + context.getString( + R.string.attendance_of_nickname, + nickname + ) + } - ${context.getString(hoYoLABGame.gameNameStringResId())}" + ) + .setContentText(context.getString(R.string.attendance_failed)) + .setAutoCancel(true) + .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) + .apply { + context.imageLoader.runCatching { + execute( + ImageRequest.Builder(context = context) + .data(hoYoLABGame.gameIconUrl) + .build() + ).drawable + }.getOrNull()?.run { + setLargeIcon(toBitmap()) + } + } + .apply { + val pendingIntent = TaskStackBuilder.create(context).run { + addNextIntentWithParentStack( + Intent( + Intent.ACTION_VIEW, + Uri.Builder() + .scheme(context.getString(R.string.deep_link_scheme)) + .authority(context.packageName) + .appendEncodedPath( + AttendancesDestination.AttendanceDetailScreen() + .generateRoute(attendanceId) + ) + .build() + ) + ) + getPendingIntent(0, pendingIntentFlagUpdateCurrent) + } + + setContentIntent(pendingIntent) + } + .build() + + fun createForegroundInfo(notificationId: Int): ForegroundInfo = NotificationCompat + .Builder( + context, + _attendanceForegroundNotificationChannel.id + ) + .setContentTitle(context.getString(R.string.attendance_foreground_notification_title)) + .setContentText(context.getString(R.string.wait_for_a_moment)) + .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) + .apply { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + foregroundServiceBehavior = Notification.FOREGROUND_SERVICE_IMMEDIATE + } + } + .build() + .run { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + ForegroundInfo( + notificationId, + this, + ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC + ) + } else { + ForegroundInfo( + notificationId, + this + ) + } + } + + fun createCheckSessionNotification( + attendanceId: Long + ): Notification = NotificationCompat + .Builder(context, _checkSessionNotificationChannel.id) + .setContentTitle(context.getString(R.string.check_session_notification_title)) + .setContentText(context.getString(R.string.check_session_notification_description)) + .setAutoCancel(true) + .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) + .apply { + val pendingIntent = TaskStackBuilder.create(context).run { + addNextIntentWithParentStack( + Intent( + Intent.ACTION_VIEW, + Uri.Builder() + .scheme(context.getString(R.string.deep_link_scheme)) + .authority(context.packageName) + .appendEncodedPath( + AttendancesDestination.AttendanceDetailScreen() + .generateRoute(attendanceId) + ) + .build() + ) + ) + getPendingIntent(0, pendingIntentFlagUpdateCurrent) + } + + setContentIntent(pendingIntent) + } + .build() + + fun safeNotify( + tag: String, + notificationId: Int, + notification: Notification + ) { + if (context.packageManager.checkPermission( + CroissantPermission.PostNotifications.permission, + context.packageName + ) == PackageManager.PERMISSION_GRANTED + ) { + NotificationManagerCompat.from(context).notify( + tag, + notificationId, + notification + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/util/PagingDataFlowExtensions.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/PagingDataFlowExtensions.kt new file mode 100644 index 00000000..bf82f205 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/PagingDataFlowExtensions.kt @@ -0,0 +1,21 @@ +package com.joeloewi.croissant.util + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.platform.LocalLifecycleOwner +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.flowWithLifecycle +import androidx.paging.PagingData +import androidx.paging.compose.collectAsLazyPagingItems +import kotlinx.coroutines.flow.Flow +import kotlin.coroutines.CoroutineContext +import kotlin.coroutines.EmptyCoroutineContext + +@Composable +fun Flow>.collectAsLazyPagingItemsWithLifecycle( + context: CoroutineContext = EmptyCoroutineContext, + lifecycle: Lifecycle = LocalLifecycleOwner.current.lifecycle, + minActiveState: Lifecycle.State = Lifecycle.State.STARTED +) = remember(this, lifecycle) { + flowWithLifecycle(lifecycle, minActiveState) +}.collectAsLazyPagingItems(context) \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/util/PendingIntentFlag.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/PendingIntentFlag.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/PendingIntentFlag.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/PendingIntentFlag.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/PowerManagerExtensions.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/PowerManagerExtensions.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/PowerManagerExtensions.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/PowerManagerExtensions.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/ProgressDialog.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/ProgressDialog.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/ProgressDialog.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/ProgressDialog.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/RequireAppUpdate.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/RequireAppUpdate.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/RequireAppUpdate.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/RequireAppUpdate.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/ResinStatus.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/ResinStatus.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/ResinStatus.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/ResinStatus.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/ReviewManagerUtil.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/ReviewManagerUtil.kt similarity index 83% rename from app/src/main/java/com/joeloewi/croissant/util/ReviewManagerUtil.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/ReviewManagerUtil.kt index fe5ec161..d7c8f249 100644 --- a/app/src/main/java/com/joeloewi/croissant/util/ReviewManagerUtil.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/ReviewManagerUtil.kt @@ -1,16 +1,15 @@ package com.joeloewi.croissant.util import android.app.Activity -import android.content.Context import android.os.Build import com.google.android.play.core.ktx.launchReview import com.google.android.play.core.ktx.requestReview import com.google.android.play.core.review.ReviewManagerFactory -import com.google.firebase.crashlytics.FirebaseCrashlytics +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics import kotlinx.coroutines.CancellationException suspend fun requestReview( - context: Context, activity: Activity, logMessage: String? ) { @@ -19,7 +18,7 @@ suspend fun requestReview( //Review Error(-1): The Play Store app is either not installed or not the official version if (!listOf("LG-H790", "LG-H791").contains(Build.MODEL.uppercase())) { runCatching { - ReviewManagerFactory.create(context) + ReviewManagerFactory.create(activity.applicationContext) }.mapCatching { reviewManager -> with(reviewManager) { launchReview(activity, requestReview()) @@ -29,7 +28,7 @@ suspend fun requestReview( throw cause } - FirebaseCrashlytics.getInstance().apply { + Firebase.crashlytics.apply { log(Build.MODEL) logMessage?.let { log(it) } recordException(cause) diff --git a/app/src/main/java/com/joeloewi/croissant/util/SpannedExtensions.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/SpannedExtensions.kt similarity index 95% rename from app/src/main/java/com/joeloewi/croissant/util/SpannedExtensions.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/SpannedExtensions.kt index f0c26f96..3e2f986e 100644 --- a/app/src/main/java/com/joeloewi/croissant/util/SpannedExtensions.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/SpannedExtensions.kt @@ -3,10 +3,25 @@ package com.joeloewi.croissant.util import android.graphics.Typeface import android.text.Layout import android.text.Spanned -import android.text.style.* +import android.text.style.AbsoluteSizeSpan +import android.text.style.AlignmentSpan +import android.text.style.BackgroundColorSpan +import android.text.style.ForegroundColorSpan +import android.text.style.RelativeSizeSpan +import android.text.style.StrikethroughSpan +import android.text.style.StyleSpan +import android.text.style.SubscriptSpan +import android.text.style.SuperscriptSpan +import android.text.style.TypefaceSpan +import android.text.style.URLSpan +import android.text.style.UnderlineSpan import androidx.compose.ui.graphics.Color -import androidx.compose.ui.text.* +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.ExperimentalTextApi import androidx.compose.ui.text.ParagraphStyle +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.UrlAnnotation +import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight @@ -16,13 +31,12 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.em import androidx.compose.ui.unit.sp -import java.util.* @OptIn(ExperimentalTextApi::class) fun Spanned.toAnnotatedString(): AnnotatedString = buildAnnotatedString { val spanned = this@toAnnotatedString append(spanned.toString()) - getSpans(0, spanned.length, Any::class.java).forEachIndexed { index, span -> + getSpans(0, spanned.length, Any::class.java).forEachIndexed { _, span -> val start = getSpanStart(span) val end = getSpanEnd(span) diff --git a/app/src/main/kotlin/com/joeloewi/croissant/util/SpecialPermissionState.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/SpecialPermissionState.kt new file mode 100644 index 00000000..f0789d35 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/SpecialPermissionState.kt @@ -0,0 +1,122 @@ +package com.joeloewi.croissant.util + +import android.app.AlarmManager +import android.content.Context +import android.content.Intent +import android.os.Build +import android.provider.Settings +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.Stable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalLifecycleOwner +import androidx.core.content.getSystemService +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleEventObserver +import com.google.accompanist.permissions.ExperimentalPermissionsApi +import com.google.accompanist.permissions.PermissionState +import com.google.accompanist.permissions.PermissionStatus + +enum class SpecialPermission( + val intent: Intent +) { + ScheduleExactAlarms( + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM) + } else { + //this intent won't be launched + Intent() + } + ) +} + +@OptIn(ExperimentalPermissionsApi::class) +@Composable +fun rememberSpecialPermissionState( + specialPermission: SpecialPermission, + intentForRequestPermission: Intent = specialPermission.intent, + onPermissionResult: (Boolean) -> Unit = {} +): SpecialPermissionState { + val context = LocalContext.current + val lifecycle = LocalLifecycleOwner.current.lifecycle + val permissionState = remember(specialPermission) { + SpecialPermissionState(specialPermission.name, context) + } + // Refresh the permission status when the lifecycle is resumed + val permissionCheckerObserver = remember(permissionState) { + LifecycleEventObserver { _, event -> + if (event == Lifecycle.Event.ON_RESUME) { + val hasPermission = when (specialPermission) { + SpecialPermission.ScheduleExactAlarms -> { + context.getSystemService()!!.canScheduleExactAlarmsCompat() + } + } + + onPermissionResult(hasPermission) + // If the permission is revoked, check again. + // We don't check if the permission was denied as that triggers a process restart. + if (permissionState.status != PermissionStatus.Granted) { + permissionState.refreshPermissionStatus() + } + } + } + } + + DisposableEffect(lifecycle, permissionCheckerObserver) { + lifecycle.addObserver(permissionCheckerObserver) + onDispose { lifecycle.removeObserver(permissionCheckerObserver) } + } + + DisposableEffect(permissionState, intentForRequestPermission) { + permissionState.intent = intentForRequestPermission + onDispose { + permissionState.intent = null + } + } + + return permissionState +} + +@OptIn(ExperimentalPermissionsApi::class) +@Stable +class SpecialPermissionState( + override val permission: String, + private val context: Context +) : PermissionState { + + override var status: PermissionStatus by mutableStateOf(getPermissionStatus()) + + override fun launchPermissionRequest() { + val tempIntent = intent + if (tempIntent != null) { + if (tempIntent.resolveActivity(context.packageManager) != null) { + context.startActivity(tempIntent) + } + return + } + } + + internal var intent: Intent? = null + + internal fun refreshPermissionStatus() { + status = getPermissionStatus() + } + + private fun getPermissionStatus(): PermissionStatus { + val hasPermission = when (SpecialPermission.valueOf(permission)) { + SpecialPermission.ScheduleExactAlarms -> { + context.getSystemService()!!.canScheduleExactAlarmsCompat() + } + } + + return if (hasPermission) { + PermissionStatus.Granted + } else { + PermissionStatus.Denied(false) + } + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/util/TimeAndTimePicker.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/TimeAndTimePicker.kt new file mode 100644 index 00000000..0f46f05a --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/TimeAndTimePicker.kt @@ -0,0 +1,169 @@ +package com.joeloewi.croissant.util + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Keyboard +import androidx.compose.material.icons.outlined.Schedule +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TimeInput +import androidx.compose.material3.TimePicker +import androidx.compose.material3.rememberTimePickerState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +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.platform.LocalConfiguration +import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.Dialog +import androidx.compose.ui.window.DialogProperties +import java.time.ZonedDateTime +import java.time.format.DateTimeFormatter +import java.time.format.FormatStyle + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun TimeAndTimePicker( + modifier: Modifier = Modifier, + hourOfDay: () -> Int, + minute: () -> Int, + onHourOfDayChange: (Int) -> Unit, + onMinuteChange: (Int) -> Unit +) { + var showTimePicker by remember { mutableStateOf(false) } + val state = rememberTimePickerState( + initialHour = hourOfDay(), + initialMinute = minute() + ) + val configuration = LocalConfiguration.current + var showingPicker by remember { mutableStateOf(true) } + val localTime by remember { + derivedStateOf { + ZonedDateTime.now().withHour(hourOfDay()).withMinute(minute()) + .toLocalTime() + .format(DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT)) + } + } + + TextButton( + modifier = modifier, + onClick = { showTimePicker = true } + ) { + Text(text = localTime) + } + + if (showTimePicker) { + TimePickerDialog( + onCancel = { showTimePicker = false }, + onConfirm = { + onHourOfDayChange(state.hour) + onMinuteChange(state.minute) + + showTimePicker = false + }, + toggle = { + if (configuration.screenHeightDp > 400) { + IconButton(onClick = { showingPicker = !showingPicker }) { + val icon = if (showingPicker) { + Icons.Outlined.Keyboard + } else { + Icons.Outlined.Schedule + } + Icon( + icon, + contentDescription = if (showingPicker) { + "Switch to Text Input" + } else { + "Switch to Touch Input" + } + ) + } + } + } + ) { + if (showingPicker && configuration.screenHeightDp > 400) { + TimePicker(state = state) + } else { + TimeInput(state = state) + } + } + } +} + +@Composable +fun TimePickerDialog( + title: String = "Select Time", + onCancel: () -> Unit, + onConfirm: () -> Unit, + toggle: @Composable () -> Unit = {}, + content: @Composable () -> Unit, +) { + Dialog( + onDismissRequest = onCancel, + properties = DialogProperties( + usePlatformDefaultWidth = false + ), + ) { + Surface( + shape = MaterialTheme.shapes.extraLarge, + tonalElevation = 6.dp, + modifier = Modifier + .width(IntrinsicSize.Min) + .height(IntrinsicSize.Min) + .background( + shape = MaterialTheme.shapes.extraLarge, + color = MaterialTheme.colorScheme.surface + ), + ) { + Column( + modifier = Modifier.padding(24.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + modifier = Modifier + .fillMaxWidth() + .padding(bottom = 20.dp), + text = title, + style = MaterialTheme.typography.labelMedium + ) + content() + Row( + modifier = Modifier + .height(40.dp) + .fillMaxWidth() + ) { + toggle() + Spacer(modifier = Modifier.weight(1f)) + TextButton( + onClick = onCancel + ) { + Text("Cancel") + } + TextButton( + onClick = onConfirm + ) { + Text("OK") + } + } + } + } + } +} + diff --git a/app/src/main/java/com/joeloewi/croissant/util/WindowSizeClassExtensions.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/WindowSizeClassExtensions.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/WindowSizeClassExtensions.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/WindowSizeClassExtensions.kt diff --git a/app/src/main/java/com/joeloewi/croissant/util/YearMonthExtensions.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/YearMonthExtensions.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/util/YearMonthExtensions.kt rename to app/src/main/kotlin/com/joeloewi/croissant/util/YearMonthExtensions.kt diff --git a/app/src/main/kotlin/com/joeloewi/croissant/util/impl/AlarmSchedulerImpl.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/impl/AlarmSchedulerImpl.kt new file mode 100644 index 00000000..2c528752 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/impl/AlarmSchedulerImpl.kt @@ -0,0 +1,84 @@ +package com.joeloewi.croissant.util.impl + +import android.app.AlarmManager +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import androidx.core.app.AlarmManagerCompat +import com.joeloewi.croissant.receiver.AlarmReceiver +import com.joeloewi.croissant.util.AlarmScheduler +import com.joeloewi.croissant.util.canScheduleExactAlarmsCompat +import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent +import dagger.hilt.android.qualifiers.ApplicationContext +import java.time.ZoneId +import java.time.ZonedDateTime +import javax.inject.Inject + +class AlarmSchedulerImpl @Inject constructor( + private val alarmManager: AlarmManager, + @ApplicationContext private val context: Context +) : AlarmScheduler { + + override fun scheduleCheckInAlarm( + attendanceId: Long, + hourOfDay: Int, + minute: Int + ) { + val timeZoneId = ZoneId.systemDefault().id + val now = ZonedDateTime.now(ZoneId.of(timeZoneId)) + val canExecuteToday = + (now.hour < hourOfDay) || (now.hour == hourOfDay && now.minute < minute) + val alarmPendingIntent = PendingIntent.getBroadcast( + context, + attendanceId.toInt(), + Intent(context, AlarmReceiver::class.java).apply { + action = AlarmReceiver.RECEIVE_ATTEND_CHECK_IN_ALARM + putExtra(AlarmReceiver.ATTENDANCE_ID, attendanceId) + }, + pendingIntentFlagUpdateCurrent + ) + val targetTime = ZonedDateTime.now(ZoneId.of(timeZoneId)) + .plusDays( + if (!canExecuteToday) { + 1 + } else { + 0 + } + ) + .withHour(hourOfDay) + .withMinute(minute) + .withSecond(30) + + with(alarmManager) { + cancel(alarmPendingIntent) + if (canScheduleExactAlarmsCompat()) { + AlarmManagerCompat.setExactAndAllowWhileIdle( + this, + AlarmManager.RTC_WAKEUP, + targetTime.toInstant().toEpochMilli(), + alarmPendingIntent + ) + } else { + alarmManager.set( + AlarmManager.RTC_WAKEUP, + targetTime.toInstant().toEpochMilli(), + alarmPendingIntent + ) + } + } + } + + override fun cancelCheckInAlarm(attendanceId: Long) { + val alarmPendingIntent = PendingIntent.getBroadcast( + context, + attendanceId.toInt(), + Intent(context, AlarmReceiver::class.java).apply { + action = AlarmReceiver.RECEIVE_ATTEND_CHECK_IN_ALARM + putExtra(AlarmReceiver.ATTENDANCE_ID, attendanceId) + }, + pendingIntentFlagUpdateCurrent + ) + + alarmManager.cancel(alarmPendingIntent) + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/util/impl/RunnableSchedulerImpl.kt b/app/src/main/kotlin/com/joeloewi/croissant/util/impl/RunnableSchedulerImpl.kt new file mode 100644 index 00000000..d5ff27d0 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/util/impl/RunnableSchedulerImpl.kt @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2023. Mobidays + * DO NOT LEAK OUTSIDE + */ + +package com.joeloewi.croissant.util.impl + +import android.os.Handler +import androidx.work.RunnableScheduler +import javax.inject.Inject + +class RunnableSchedulerImpl @Inject constructor( + private val applicationHandler: Handler +) : RunnableScheduler { + override fun scheduleWithDelay(delayInMillis: Long, runnable: Runnable) { + applicationHandler.postDelayed(runnable, delayInMillis) + } + + override fun cancel(runnable: Runnable) { + applicationHandler.removeCallbacks(runnable) + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AppViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AppViewModel.kt new file mode 100644 index 00000000..da782137 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AppViewModel.kt @@ -0,0 +1,8 @@ +package com.joeloewi.croissant.viewmodel + +import androidx.lifecycle.ViewModel +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject + +@HiltViewModel +class AppViewModel @Inject constructor() : ViewModel() \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendanceDetailViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendanceDetailViewModel.kt new file mode 100644 index 00000000..9d3ee167 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendanceDetailViewModel.kt @@ -0,0 +1,260 @@ +package com.joeloewi.croissant.viewmodel + +import androidx.compose.runtime.mutableStateListOf +import androidx.lifecycle.SavedStateHandle +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import androidx.work.Constraints +import androidx.work.ExistingPeriodicWorkPolicy +import androidx.work.NetworkType +import androidx.work.PeriodicWorkRequest +import androidx.work.WorkManager +import androidx.work.workDataOf +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.common.WorkerExecutionLogState +import com.joeloewi.croissant.domain.entity.Game +import com.joeloewi.croissant.domain.entity.relational.AttendanceWithGames +import com.joeloewi.croissant.domain.usecase.AttendanceUseCase +import com.joeloewi.croissant.domain.usecase.GameUseCase +import com.joeloewi.croissant.domain.usecase.WorkerExecutionLogUseCase +import com.joeloewi.croissant.state.ILCE +import com.joeloewi.croissant.state.LCE +import com.joeloewi.croissant.state.foldAsILCE +import com.joeloewi.croissant.state.foldAsLce +import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination +import com.joeloewi.croissant.util.AlarmScheduler +import com.joeloewi.croissant.worker.CheckSessionWorker +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import java.time.ZoneId +import java.time.ZonedDateTime +import java.util.concurrent.TimeUnit +import javax.inject.Inject + +@HiltViewModel +class AttendanceDetailViewModel @Inject constructor( + private val workManager: WorkManager, + private val alarmScheduler: AlarmScheduler, + private val getOneAttendanceUseCase: AttendanceUseCase.GetOne, + private val updateAttendanceUseCase: AttendanceUseCase.Update, + private val deleteAttendanceUseCase: AttendanceUseCase.Delete, + private val deleteGameUseCase: GameUseCase.Delete, + private val insertGameUseCase: GameUseCase.Insert, + getCountByStateWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.GetCountByState, + savedStateHandle: SavedStateHandle +) : ViewModel() { + //parameter + private val _attendanceIdKey = AttendancesDestination.AttendanceDetailScreen.ATTENDANCE_ID + val attendanceId = savedStateHandle.get(_attendanceIdKey) ?: Long.MIN_VALUE + + private val _attendanceWithGamesState = MutableStateFlow>(LCE.Loading) + private val _cookie = MutableStateFlow("") + private val _hourOfDay = MutableStateFlow(ZonedDateTime.now().hour) + private val _minute = MutableStateFlow(ZonedDateTime.now().minute) + private val _nickname = MutableStateFlow("") + private val _uid = MutableStateFlow(0L) + private val _updateAttendanceState = MutableStateFlow>(ILCE.Idle) + private val _deleteAttendanceState = MutableStateFlow>(ILCE.Idle) + + val checkedGames = mutableStateListOf() + val attendanceWithGamesState = _attendanceWithGamesState.asStateFlow() + val hourOfDay = _hourOfDay.asStateFlow() + val minute = _minute.asStateFlow() + val nickname = _nickname.asStateFlow() + val uid = _uid.asStateFlow() + + //log count + val checkSessionWorkerSuccessLogCount = + getCountByStateWorkerExecutionLogUseCase( + attendanceId = attendanceId, + loggableWorker = LoggableWorker.CHECK_SESSION, + state = WorkerExecutionLogState.SUCCESS + ).catch { }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.WhileSubscribed(), + initialValue = 0L + ) + val checkSessionWorkerFailureLogCount = + getCountByStateWorkerExecutionLogUseCase( + attendanceId = attendanceId, + loggableWorker = LoggableWorker.CHECK_SESSION, + state = WorkerExecutionLogState.FAILURE + ).catch { }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.WhileSubscribed(), + initialValue = 0L + ) + val attendCheckInEventWorkerSuccessLogCount = + getCountByStateWorkerExecutionLogUseCase( + attendanceId = attendanceId, + loggableWorker = LoggableWorker.ATTEND_CHECK_IN_EVENT, + state = WorkerExecutionLogState.SUCCESS + ).catch { }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.WhileSubscribed(), + initialValue = 0L + ) + val attendCheckInEventWorkerFailureLogCount = + getCountByStateWorkerExecutionLogUseCase( + attendanceId = attendanceId, + loggableWorker = LoggableWorker.ATTEND_CHECK_IN_EVENT, + state = WorkerExecutionLogState.FAILURE + ).catch { }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.WhileSubscribed(), + initialValue = 0L + ) + val updateAttendanceState = _updateAttendanceState.asStateFlow() + val deleteAttendanceState = _deleteAttendanceState.asStateFlow() + + fun setCookie(cookie: String) { + _cookie.value = cookie + } + + fun setHourOfDay(hourOfDay: Int) { + _hourOfDay.value = hourOfDay + } + + fun setMinute(minute: Int) { + _minute.value = minute + } + + init { + _attendanceWithGamesState.value = LCE.Loading + viewModelScope.launch(Dispatchers.IO) { + _attendanceWithGamesState.value = getOneAttendanceUseCase.runCatching { + invoke(attendanceId) + }.mapCatching { attendanceWithGames -> + attendanceWithGames.also { + with(attendanceWithGames) { + with(attendance) { + _cookie.value = cookie + _hourOfDay.value = hourOfDay + _minute.value = minute + _nickname.value = nickname + _uid.value = uid + } + + withContext(Dispatchers.Main) { + checkedGames.addAll(games.map { + Game( + type = it.type + ) + }) + } + } + } + }.foldAsLce() + } + } + + fun updateAttendance() { + _updateAttendanceState.value = ILCE.Loading + viewModelScope.launch(Dispatchers.IO) { + _updateAttendanceState.value = getOneAttendanceUseCase.runCatching { + invoke(attendanceId) + }.mapCatching { attendanceWithGames -> + val attendance = attendanceWithGames.attendance + + workManager.cancelUniqueWork(attendance.attendCheckInEventWorkerName.toString()) + + alarmScheduler.scheduleCheckInAlarm( + attendanceId = attendance.id, + hourOfDay = _hourOfDay.value, + minute = _minute.value + ) + + val periodicCheckSessionWork = PeriodicWorkRequest.Builder( + CheckSessionWorker::class.java, + 6L, + TimeUnit.HOURS + ) + .setInputData(workDataOf(CheckSessionWorker.ATTENDANCE_ID to attendance.id)) + .setConstraints( + Constraints.Builder() + .setRequiredNetworkType(NetworkType.CONNECTED) + .build() + ) + .build() + + workManager.enqueueUniquePeriodicWork( + attendance.checkSessionWorkerName.toString(), + ExistingPeriodicWorkPolicy.UPDATE, + periodicCheckSessionWork + ) + + updateAttendanceUseCase( + attendance.copy( + modifiedAt = System.currentTimeMillis(), + cookie = _cookie.value, + nickname = _nickname.value, + uid = _uid.value, + hourOfDay = _hourOfDay.value, + minute = _minute.value, + timezoneId = ZoneId.systemDefault().id, + checkSessionWorkerId = periodicCheckSessionWork.id + ) + ) + + val games = attendanceWithGames.games + val originalGames = arrayListOf() + val newGames = arrayListOf() + + if (checkedGames.isEmpty()) { + deleteGameUseCase(*games.toTypedArray()) + } else { + games.forEach { game -> + if (!checkedGames.contains( + Game( + type = game.type + ) + ) + ) { + deleteGameUseCase(game) + } else { + originalGames.add( + Game( + type = game.type + ) + ) + } + } + + checkedGames.forEach { game -> + if (!originalGames.any { it == game }) { + newGames.add( + Game( + attendanceId = attendance.id, + roleId = game.roleId, + type = game.type, + region = game.region + ) + ) + } + } + } + + insertGameUseCase(*newGames.toTypedArray()) + Unit + }.foldAsILCE() + } + } + + fun deleteAttendance() { + viewModelScope.launch(Dispatchers.IO) { + _deleteAttendanceState.value = ILCE.Loading + _deleteAttendanceState.value = runCatching { + deleteAttendanceUseCase(getOneAttendanceUseCase(attendanceId).attendance) + Unit + }.foldAsILCE() + } + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendanceLogsCalendarViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendanceLogsCalendarViewModel.kt new file mode 100644 index 00000000..c09c4099 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendanceLogsCalendarViewModel.kt @@ -0,0 +1,82 @@ +package com.joeloewi.croissant.viewmodel + +import androidx.lifecycle.SavedStateHandle +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.usecase.ResultCountUseCase +import com.joeloewi.croissant.domain.usecase.WorkerExecutionLogUseCase +import com.joeloewi.croissant.state.ILCE +import com.joeloewi.croissant.state.foldAsILCE +import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.collections.immutable.persistentListOf +import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.flatMapLatest +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch +import java.time.Instant +import java.time.Year +import java.time.ZoneId +import java.time.ZonedDateTime +import javax.inject.Inject + +@HiltViewModel +class AttendanceLogsCalendarViewModel @Inject constructor( + private val deleteAllPagedWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.DeleteAll, + getStartToEndWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.GetStartToEnd, + getAllResultCountUseCase: ResultCountUseCase.GetAll, + savedStateHandle: SavedStateHandle +) : ViewModel() { + //parameter + private val _attendanceIdKey = AttendancesDestination.AttendanceLogsCalendarScreen.ATTENDANCE_ID + private val _loggableWorkerKey = + AttendancesDestination.AttendanceLogsCalendarScreen.LOGGABLE_WORKER + private val _deleteAllState = MutableStateFlow>(ILCE.Idle) + + val loggableWorker = + savedStateHandle.getStateFlow(_loggableWorkerKey, LoggableWorker.UNKNOWN) + val deleteAllState = _deleteAllState.asStateFlow() + val attendanceId = savedStateHandle.get(_attendanceIdKey) ?: Long.MIN_VALUE + val resultCounts = loggableWorker.flatMapLatest { + getAllResultCountUseCase(it) + }.map { + it.toImmutableList() + }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.Eagerly, + initialValue = persistentListOf() + ) + val startToEnd = getStartToEndWorkerExecutionLogUseCase().map { + ZonedDateTime.ofInstant( + Instant.ofEpochMilli(it.first), + ZoneId.systemDefault() + ) to ZonedDateTime.ofInstant(Instant.ofEpochMilli(it.second), ZoneId.systemDefault()) + }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.WhileSubscribed(), + initialValue = with(ZonedDateTime.now()) { + withDayOfMonth(1) to withDayOfMonth( + Year.of(year).atMonth(month).atEndOfMonth().dayOfMonth + ) + } + ) + + fun deleteAll() { + _deleteAllState.value = ILCE.Loading + viewModelScope.launch(Dispatchers.IO) { + _deleteAllState.value = deleteAllPagedWorkerExecutionLogUseCase.runCatching { + invoke( + attendanceId = attendanceId, + loggableWorker = loggableWorker.value + ) + }.foldAsILCE() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/AttendanceLogsDayViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendanceLogsDayViewModel.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/AttendanceLogsDayViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendanceLogsDayViewModel.kt diff --git a/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendancesViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendancesViewModel.kt new file mode 100644 index 00000000..f5252b1f --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/AttendancesViewModel.kt @@ -0,0 +1,45 @@ +package com.joeloewi.croissant.viewmodel + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import androidx.paging.cachedIn +import androidx.work.WorkManager +import com.joeloewi.croissant.domain.entity.Attendance +import com.joeloewi.croissant.domain.usecase.AttendanceUseCase +import com.joeloewi.croissant.util.AlarmScheduler +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import javax.inject.Inject + +@HiltViewModel +class AttendancesViewModel @Inject constructor( + private val workManager: WorkManager, + private val alarmScheduler: AlarmScheduler, + private val deleteAttendanceUseCase: AttendanceUseCase.Delete, + getAllPagedAttendanceWithGamesUseCase: AttendanceUseCase.GetAllPaged, +) : ViewModel() { + val pagedAttendanceWithGames = getAllPagedAttendanceWithGamesUseCase().cachedIn(viewModelScope) + + fun deleteAttendance(attendance: Attendance) { + viewModelScope.launch(Dispatchers.IO) { + runCatching { + listOf( + attendance.checkSessionWorkerName, + attendance.attendCheckInEventWorkerName, + attendance.oneTimeAttendCheckInEventWorkerName + ).map { it.toString() }.map { uniqueWorkName -> + workManager.cancelUniqueWork(uniqueWorkName) + } + + alarmScheduler.cancelCheckInAlarm(attendance.id) + + deleteAttendanceUseCase(attendance) + }.onSuccess { + + }.onFailure { + + } + } + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/CreateAttendanceViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/CreateAttendanceViewModel.kt new file mode 100644 index 00000000..e0cd22f2 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/CreateAttendanceViewModel.kt @@ -0,0 +1,191 @@ +package com.joeloewi.croissant.viewmodel + +import androidx.compose.runtime.mutableStateListOf +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import androidx.work.Constraints +import androidx.work.ExistingPeriodicWorkPolicy +import androidx.work.NetworkType +import androidx.work.PeriodicWorkRequest +import androidx.work.WorkManager +import androidx.work.workDataOf +import com.joeloewi.croissant.domain.common.HoYoLABGame +import com.joeloewi.croissant.domain.entity.Attendance +import com.joeloewi.croissant.domain.entity.Game +import com.joeloewi.croissant.domain.usecase.AttendanceUseCase +import com.joeloewi.croissant.domain.usecase.GameUseCase +import com.joeloewi.croissant.domain.usecase.HoYoLABUseCase +import com.joeloewi.croissant.state.ILCE +import com.joeloewi.croissant.state.LCE +import com.joeloewi.croissant.state.foldAsILCE +import com.joeloewi.croissant.state.foldAsLce +import com.joeloewi.croissant.util.AlarmScheduler +import com.joeloewi.croissant.worker.CheckSessionWorker +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.filter +import kotlinx.coroutines.flow.filterNotNull +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import java.time.ZoneId +import java.time.ZonedDateTime +import java.util.concurrent.TimeUnit +import javax.inject.Inject + +@HiltViewModel +class CreateAttendanceViewModel @Inject constructor( + private val alarmScheduler: AlarmScheduler, + private val workManager: WorkManager, + private val getUserFullInfoHoYoLABUseCase: HoYoLABUseCase.GetUserFullInfo, + private val getGameRecordCardHoYoLABUseCase: HoYoLABUseCase.GetGameRecordCard, + private val insertAttendanceUseCase: AttendanceUseCase.Insert, + private val updateAttendanceUseCase: AttendanceUseCase.Update, + private val insertGameUseCase: GameUseCase.Insert, + private val getOneByUidAttendanceUseCase: AttendanceUseCase.GetOneByUid +) : ViewModel() { + private val _cookie = MutableStateFlow("") + private val _hourOfDay = MutableStateFlow(ZonedDateTime.now().hour) + private val _minute = MutableStateFlow(ZonedDateTime.now().minute) + private val _insertAttendanceState = MutableStateFlow>>(ILCE.Idle) + private val _userInfo = _cookie + .filter { it.isNotEmpty() } + .map { cookie -> + getUserFullInfoHoYoLABUseCase(cookie = cookie).getOrThrow().data?.userInfo + }.flowOn(Dispatchers.IO).catch { + + }.stateIn( + scope = viewModelScope, + started = SharingStarted.Lazily, + initialValue = null + ) + val duplicatedAttendance = _userInfo + .filterNotNull() + .map { + getOneByUidAttendanceUseCase(it.uid) + }.flowOn(Dispatchers.IO).catch { + + }.stateIn( + scope = viewModelScope, + started = SharingStarted.Lazily, + initialValue = null + ) + val connectedGames = _userInfo + .filterNotNull() + .combine(_cookie) { userInfo, cookie -> + userInfo to cookie + }.map { pair -> + checkedGames.clear() + getGameRecordCardHoYoLABUseCase.runCatching { + invoke( + pair.second, + pair.first.uid + ).getOrThrow()!!.list.onEach { gameRecord -> + withContext(Dispatchers.Main) { + val type = HoYoLABGame.findByGameId(gameId = gameRecord.gameId) + + if (type != HoYoLABGame.GenshinImpact) { + checkedGames.add( + Game( + roleId = gameRecord.gameRoleId, + type = type, + region = gameRecord.region + ) + ) + } + } + } + }.foldAsLce() + }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.Lazily, + initialValue = LCE.Loading + ) + val cookie = _cookie.asStateFlow() + val checkedGames = mutableStateListOf() + val hourOfDay = _hourOfDay.asStateFlow() + val minute = _minute.asStateFlow() + val insertAttendanceState = _insertAttendanceState.asStateFlow() + + fun setCookie(cookie: String) { + _cookie.value = cookie + } + + fun setHourOfDay(hourOfDay: Int) { + _hourOfDay.value = hourOfDay + } + + fun setMinute(minute: Int) { + _minute.value = minute + } + + fun createAttendance() { + _insertAttendanceState.value = ILCE.Loading + viewModelScope.launch(Dispatchers.IO) { + _insertAttendanceState.value = insertAttendanceUseCase.runCatching { + val hourOfDay = _hourOfDay.value + val minute = _minute.value + val attendance = Attendance( + cookie = _cookie.value, + nickname = _userInfo.value!!.nickname, + uid = _userInfo.value!!.uid, + hourOfDay = hourOfDay, + minute = minute, + timezoneId = ZoneId.systemDefault().id + ) + + with(attendance) { + copy( + id = invoke(attendance) + ) + } + }.mapCatching { attendance -> + alarmScheduler.scheduleCheckInAlarm( + attendanceId = attendance.id, + hourOfDay = attendance.hourOfDay, + minute = attendance.minute + ) + + val periodicCheckSessionWork = PeriodicWorkRequest.Builder( + CheckSessionWorker::class.java, + 6L, + TimeUnit.HOURS + ) + .setInputData(workDataOf(CheckSessionWorker.ATTENDANCE_ID to attendance.id)) + .setConstraints( + Constraints.Builder() + .setRequiredNetworkType(NetworkType.CONNECTED) + .build() + ) + .build() + + workManager.enqueueUniquePeriodicWork( + attendance.checkSessionWorkerName.toString(), + ExistingPeriodicWorkPolicy.UPDATE, + periodicCheckSessionWork + ) + + updateAttendanceUseCase( + attendance.copy( + checkSessionWorkerId = periodicCheckSessionWork.id + ) + ) + + attendance.id + }.mapCatching { attendanceId -> + insertGameUseCase( + *checkedGames.map { + it.copy(attendanceId = attendanceId) + }.toTypedArray() + ) + }.foldAsILCE() + } + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/CreateResinStatusWidgetViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/CreateResinStatusWidgetViewModel.kt new file mode 100644 index 00000000..616b2458 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/CreateResinStatusWidgetViewModel.kt @@ -0,0 +1,122 @@ +package com.joeloewi.croissant.viewmodel + +import android.appwidget.AppWidgetManager +import androidx.compose.runtime.snapshots.SnapshotStateList +import androidx.lifecycle.SavedStateHandle +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import androidx.work.Constraints +import androidx.work.ExistingPeriodicWorkPolicy +import androidx.work.NetworkType +import androidx.work.PeriodicWorkRequest +import androidx.work.WorkManager +import androidx.work.await +import androidx.work.workDataOf +import com.joeloewi.croissant.domain.entity.Account +import com.joeloewi.croissant.domain.entity.ResinStatusWidget +import com.joeloewi.croissant.domain.entity.UserInfo +import com.joeloewi.croissant.domain.usecase.AccountUseCase +import com.joeloewi.croissant.domain.usecase.HoYoLABUseCase +import com.joeloewi.croissant.domain.usecase.ResinStatusWidgetUseCase +import com.joeloewi.croissant.state.ILCE +import com.joeloewi.croissant.state.foldAsILCE +import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resinstatuswidgetconfiguration.ResinStatusWidgetConfigurationDestination +import com.joeloewi.croissant.worker.RefreshResinStatusWorker +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import java.util.concurrent.TimeUnit +import javax.inject.Inject + +@HiltViewModel +class CreateResinStatusWidgetViewModel @Inject constructor( + private val workManager: WorkManager, + private val getUserFullInfoHoYoLABUseCase: HoYoLABUseCase.GetUserFullInfo, + private val insertResinStatusWidgetUseCase: ResinStatusWidgetUseCase.Insert, + private val insertAccountUseCase: AccountUseCase.Insert, + savedStateHandle: SavedStateHandle, +) : ViewModel() { + private val _appWidgetIdKey = + ResinStatusWidgetConfigurationDestination.CreateResinStatusWidgetScreen.APP_WIDGET_ID + val selectableIntervals = listOf(15L, 30L) + + private val _createResinStatusWidgetState = MutableStateFlow>>(ILCE.Idle) + private val _getUserInfoState = MutableStateFlow>(ILCE.Idle) + private val _interval = MutableStateFlow(selectableIntervals.first()) + + val appWidgetId = + savedStateHandle.getStateFlow(_appWidgetIdKey, AppWidgetManager.INVALID_APPWIDGET_ID) + val createResinStatusWidgetState = _createResinStatusWidgetState.asStateFlow() + val getUserInfoState = _getUserInfoState.asStateFlow() + val interval = _interval.asStateFlow() + val userInfos = SnapshotStateList>() + + fun onReceiveCookie(cookie: String) { + _getUserInfoState.value = ILCE.Loading + viewModelScope.launch(Dispatchers.IO) { + _getUserInfoState.value = getUserFullInfoHoYoLABUseCase(cookie).mapCatching { + it.data?.userInfo!! + }.mapCatching { + withContext(Dispatchers.Main) { + userInfos.add(cookie to it) + } + it + }.foldAsILCE() + } + } + + fun setInterval(interval: Long) { + _interval.update { interval } + } + + fun configureAppWidget() { + _createResinStatusWidgetState.value = ILCE.Loading + viewModelScope.launch(Dispatchers.IO) { + _createResinStatusWidgetState.value = runCatching { + val appWidgetId = appWidgetId.value + + val resinStatusWidget = ResinStatusWidget( + appWidgetId = appWidgetId, + interval = _interval.value, + ) + + val resinStatusWidgetId = insertResinStatusWidgetUseCase( + resinStatusWidget = resinStatusWidget + ) + + val accounts = userInfos + .map { + Account( + resinStatusWidgetId = resinStatusWidgetId, + cookie = it.first, + uid = it.second.uid + ) + } + + val periodicWorkRequest = PeriodicWorkRequest.Builder( + RefreshResinStatusWorker::class.java, + _interval.value, + TimeUnit.MINUTES + ).setInputData( + workDataOf(RefreshResinStatusWorker.APP_WIDGET_ID to appWidgetId) + ).setConstraints( + Constraints.Builder() + .setRequiredNetworkType(NetworkType.CONNECTED) + .build() + ).build() + + workManager.enqueueUniquePeriodicWork( + resinStatusWidget.refreshGenshinResinStatusWorkerName.toString(), + ExistingPeriodicWorkPolicy.UPDATE, + periodicWorkRequest + ).await() + + insertAccountUseCase(*accounts.toTypedArray()) + }.foldAsILCE() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/DeveloperInfoViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/DeveloperInfoViewModel.kt similarity index 62% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/DeveloperInfoViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/DeveloperInfoViewModel.kt index 33037e85..6908a93c 100644 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/DeveloperInfoViewModel.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/DeveloperInfoViewModel.kt @@ -1,42 +1,41 @@ package com.joeloewi.croissant.viewmodel -import android.app.Application import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.joeloewi.croissant.state.Lce +import com.joeloewi.croissant.state.LCE import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.callbackFlow +import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.stateIn -import nl.marc_apps.tts.TextToSpeech -import okhttp3.internal.closeQuietly +import nl.marc_apps.tts.TextToSpeechFactory import javax.inject.Inject @HiltViewModel class DeveloperInfoViewModel @Inject constructor( - private val application: Application + private val textToSpeechFactory: TextToSpeechFactory ) : ViewModel() { val textToSpeech = callbackFlow { - val textToSpeech = TextToSpeech.runCatching { - createOrThrow(application) + val textToSpeech = textToSpeechFactory.runCatching { + createOrThrow() }.fold( onSuccess = { - Lce.Content(it) + LCE.Content(it) }, onFailure = { - Lce.Error(it) + LCE.Error(it) } ) trySend(textToSpeech) - awaitClose { textToSpeech.content?.closeQuietly() } - }.flowOn(Dispatchers.Default).stateIn( + awaitClose { textToSpeech.content?.close() } + }.catch { }.flowOn(Dispatchers.IO).stateIn( scope = viewModelScope, started = SharingStarted.WhileSubscribed(), - initialValue = Lce.Loading + initialValue = LCE.Loading ) } \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/EmptyViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/EmptyViewModel.kt new file mode 100644 index 00000000..c8a3cec2 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/EmptyViewModel.kt @@ -0,0 +1,23 @@ +package com.joeloewi.croissant.viewmodel + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.joeloewi.croissant.domain.usecase.SettingsUseCase +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn +import javax.inject.Inject + +@HiltViewModel +class EmptyViewModel @Inject constructor( + getSettings: SettingsUseCase.GetSettings +) : ViewModel() { + val isFirstLaunch = getSettings().map { it.isFirstLaunch }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.WhileSubscribed(), + initialValue = null + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/FirstLaunchViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/FirstLaunchViewModel.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/FirstLaunchViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/FirstLaunchViewModel.kt diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/LoadingViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/LoadingViewModel.kt similarity index 88% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/LoadingViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/LoadingViewModel.kt index 7f06c0df..439763bf 100644 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/LoadingViewModel.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/LoadingViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.joeloewi.croissant.domain.usecase.ResinStatusWidgetUseCase -import com.joeloewi.croissant.state.Lce +import com.joeloewi.croissant.state.LCE import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resinstatuswidgetconfiguration.ResinStatusWidgetConfigurationDestination import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers @@ -25,23 +25,23 @@ class LoadingViewModel @Inject constructor( val appWidgetId = savedStateHandle.get(_appWidgetIdKey) ?: AppWidgetManager.INVALID_APPWIDGET_ID - val isAppWidgetInitialized = flow> { + val isAppWidgetInitialized = flow> { emit( getOneByAppWidgetIdResinStatusWidgetUseCase .runCatching { invoke(appWidgetId).resinStatusWidget.id }.fold( onSuccess = { - Lce.Content(true) + LCE.Content(true) }, onFailure = { - Lce.Content(false) + LCE.Content(false) } ) ) }.flowOn(Dispatchers.IO).stateIn( scope = viewModelScope, started = SharingStarted.WhileSubscribed(), - initialValue = Lce.Loading + initialValue = LCE.Loading ) } \ No newline at end of file diff --git a/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/LoginHoYoLABViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/LoginHoYoLABViewModel.kt new file mode 100644 index 00000000..84a6123f --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/LoginHoYoLABViewModel.kt @@ -0,0 +1,55 @@ +package com.joeloewi.croissant.viewmodel + +import android.os.Handler +import android.webkit.CookieManager +import android.webkit.ValueCallback +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.joeloewi.croissant.state.LCE +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.android.asCoroutineDispatcher +import kotlinx.coroutines.channels.awaitClose +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.callbackFlow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.withContext +import javax.inject.Inject + +@HiltViewModel +class LoginHoYoLABViewModel @Inject constructor( + private val applicationHandler: Handler +) : ViewModel() { + private val _currentCookie = MutableStateFlow("") + + val removeAllCookies = callbackFlow> { + var valueCallback: ValueCallback? = ValueCallback { hasRemoved -> + CookieManager.getInstance().flush() + trySend(LCE.Content(hasRemoved)) + } + + CookieManager.getInstance().runCatching { + withContext(applicationHandler.asCoroutineDispatcher(name = "applicationHandlerDispatcher")) { + removeAllCookies(valueCallback) + } + }.onFailure { cause -> + close(cause) + } + + awaitClose { valueCallback = null } + }.catch { }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.Lazily, + initialValue = LCE.Loading + ) + + val currentCookie = _currentCookie.asStateFlow() + + fun setCurrentCookie(currentCookie: String) { + _currentCookie.value = currentCookie + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/MainActivityViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/MainActivityViewModel.kt similarity index 63% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/MainActivityViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/MainActivityViewModel.kt index 051b2222..6b916bab 100644 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/MainActivityViewModel.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/MainActivityViewModel.kt @@ -1,17 +1,16 @@ package com.joeloewi.croissant.viewmodel -import android.app.Application import android.os.Build -import android.text.format.DateFormat import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.google.android.play.core.appupdate.AppUpdateManagerFactory +import com.google.android.play.core.appupdate.AppUpdateManager import com.google.android.play.core.ktx.AppUpdateResult import com.google.android.play.core.ktx.requestUpdateFlow -import com.google.firebase.crashlytics.FirebaseCrashlytics +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics import com.joeloewi.croissant.domain.usecase.SettingsUseCase +import com.joeloewi.croissant.domain.usecase.SystemUseCase import com.joeloewi.croissant.util.HourFormat -import com.joeloewi.croissant.util.is24HourFormat import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.FlowPreview @@ -28,31 +27,34 @@ import javax.inject.Inject @FlowPreview @HiltViewModel class MainActivityViewModel @Inject constructor( - private val application: Application, + private val appUpdateManager: AppUpdateManager, + is24HourFormatImmediate: Boolean, getSettingsUseCase: SettingsUseCase.GetSettings, + is24HourFormat: SystemUseCase.Is24HourFormat, + isDeviceRooted: SystemUseCase.IsDeviceRooted ) : ViewModel() { private val _settings = getSettingsUseCase() - val hourFormat = application.is24HourFormat.flowOn(Dispatchers.Default).stateIn( + val hourFormat = is24HourFormat().map { + HourFormat.fromSystemHourFormat(it) + }.catch { }.flowOn(Dispatchers.IO).stateIn( scope = viewModelScope, started = SharingStarted.Lazily, - initialValue = HourFormat.fromSystemHourFormat(DateFormat.is24HourFormat(application)) + initialValue = HourFormat.fromSystemHourFormat(is24HourFormatImmediate) ) val appUpdateResultState = flow { emit(Build.MODEL) }.filter { !listOf("LG-H790", "LG-H791").contains(it.uppercase()) - }.map { - AppUpdateManagerFactory.create(application) }.flatMapConcat { - it.requestUpdateFlow() - }.flowOn(Dispatchers.Default).catch { cause -> - FirebaseCrashlytics.getInstance().apply { + appUpdateManager.requestUpdateFlow() + }.catch { cause -> + Firebase.crashlytics.apply { log("AppUpdateManager") recordException(cause) } - }.stateIn( + }.flowOn(Dispatchers.IO).stateIn( scope = viewModelScope, started = SharingStarted.Lazily, initialValue = AppUpdateResult.NotAvailable @@ -62,4 +64,11 @@ class MainActivityViewModel @Inject constructor( started = SharingStarted.WhileSubscribed(), initialValue = false ) + val isDeviceRooted = flow { + emit(isDeviceRooted()) + }.catch { }.flowOn(Dispatchers.IO).stateIn( + scope = viewModelScope, + started = SharingStarted.Lazily, + initialValue = false + ) } \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/RedemptionCodesViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/RedemptionCodesViewModel.kt similarity index 84% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/RedemptionCodesViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/RedemptionCodesViewModel.kt index 8fff4455..0ae595c4 100644 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/RedemptionCodesViewModel.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/RedemptionCodesViewModel.kt @@ -7,9 +7,11 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.joeloewi.croissant.domain.common.HoYoLABGame import com.joeloewi.croissant.domain.usecase.ArcaLiveAppUseCase -import com.joeloewi.croissant.state.Lce +import com.joeloewi.croissant.state.LCE import com.joeloewi.croissant.util.toAnnotatedString import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.async @@ -27,7 +29,7 @@ class RedemptionCodesViewModel @Inject constructor( private val getArticleArcaLiveAppUseCase: ArcaLiveAppUseCase.GetArticle ) : ViewModel() { private val _hoYoLABGameRedemptionCodesState = - MutableStateFlow>>>(Lce.Loading) + MutableStateFlow>>>(LCE.Loading) val hoYoLABGameRedemptionCodesState = _hoYoLABGameRedemptionCodesState.asStateFlow() val expandedItems = mutableStateListOf() @@ -37,10 +39,12 @@ class RedemptionCodesViewModel @Inject constructor( } fun getRedemptionCodes() { - _hoYoLABGameRedemptionCodesState.update { Lce.Loading } + _hoYoLABGameRedemptionCodesState.update { LCE.Loading } viewModelScope.launch(Dispatchers.IO) { _hoYoLABGameRedemptionCodesState.update { - HoYoLABGame.values().runCatching { + HoYoLABGame.entries.filter { + !listOf(HoYoLABGame.Unknown, HoYoLABGame.TearsOfThemis).contains(it) + }.runCatching { map { async(SupervisorJob() + Dispatchers.IO) { it to HtmlCompat.fromHtml( @@ -50,13 +54,13 @@ class RedemptionCodesViewModel @Inject constructor( } } }.mapCatching { - it.awaitAll() + it.awaitAll().toImmutableList() }.fold( onSuccess = { - Lce.Content(it) + LCE.Content(it) }, onFailure = { - Lce.Error(it) + LCE.Error(it) } ) } @@ -70,7 +74,7 @@ class RedemptionCodesViewModel @Inject constructor( HoYoLABGame.HonkaiImpact3rd -> { getArticleArcaLiveAppUseCase( slug = "hk3rd", - articleId = 7334792 + articleId = 85815048 ).mapCatching { content -> Jsoup.parse(content).apply { select("*:has(> img)").remove() @@ -103,7 +107,7 @@ class RedemptionCodesViewModel @Inject constructor( repeat(9) { select("p:last-child").remove() } - }.select("p:nth-child(n+48)").html().replace("https://oo.pe/", "") + }.select("p:nth-child(n+49)").html().replace("https://oo.pe/", "") } } diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/ResinStatusWidgetDetailViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/ResinStatusWidgetDetailViewModel.kt similarity index 76% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/ResinStatusWidgetDetailViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/ResinStatusWidgetDetailViewModel.kt index bb5fcd20..1e822966 100644 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/ResinStatusWidgetDetailViewModel.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/ResinStatusWidgetDetailViewModel.kt @@ -1,6 +1,5 @@ package com.joeloewi.croissant.viewmodel -import android.app.Application import android.appwidget.AppWidgetManager import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel @@ -13,21 +12,21 @@ import androidx.work.WorkManager import androidx.work.await import androidx.work.workDataOf import com.joeloewi.croissant.domain.usecase.ResinStatusWidgetUseCase -import com.joeloewi.croissant.state.Lce +import com.joeloewi.croissant.state.ILCE +import com.joeloewi.croissant.state.foldAsILCE import com.joeloewi.croissant.ui.navigation.widgetconfiguration.resinstatus.resinstatuswidgetconfiguration.ResinStatusWidgetConfigurationDestination import com.joeloewi.croissant.worker.RefreshResinStatusWorker import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow -import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import java.util.concurrent.TimeUnit import javax.inject.Inject @HiltViewModel class ResinStatusWidgetDetailViewModel @Inject constructor( - private val application: Application, + private val workManager: WorkManager, private val getOneByAppWidgetIdResinStatusWidgetUseCase: ResinStatusWidgetUseCase.GetOneByAppWidgetId, private val updateResinStatusWidgetUseCase: ResinStatusWidgetUseCase.Update, savedStateHandle: SavedStateHandle, @@ -38,7 +37,7 @@ class ResinStatusWidgetDetailViewModel @Inject constructor( savedStateHandle.get(_appWidgetIdKey) ?: AppWidgetManager.INVALID_APPWIDGET_ID val selectableIntervals = listOf(15L, 30L) - private val _updateResinStatusWidgetState = MutableStateFlow>(Lce.Content(0)) + private val _updateResinStatusWidgetState = MutableStateFlow>(ILCE.Idle) private val _interval = MutableStateFlow(selectableIntervals.first()) val updateResinStatusWidgetState = _updateResinStatusWidgetState.asStateFlow() @@ -49,19 +48,19 @@ class ResinStatusWidgetDetailViewModel @Inject constructor( getOneByAppWidgetIdResinStatusWidgetUseCase.runCatching { invoke(appWidgetId = _appWidgetId) }.mapCatching { resinStatusWidgetWithAccounts -> - _interval.update { resinStatusWidgetWithAccounts.resinStatusWidget.interval } + _interval.value = resinStatusWidgetWithAccounts.resinStatusWidget.interval } } } fun setInterval(interval: Long) { - _interval.update { interval } + _interval.value = interval } fun updateResinStatusWidget() { - _updateResinStatusWidgetState.update { Lce.Loading } + _updateResinStatusWidgetState.value = ILCE.Loading viewModelScope.launch(Dispatchers.IO) { - _updateResinStatusWidgetState.update { + _updateResinStatusWidgetState.value = getOneByAppWidgetIdResinStatusWidgetUseCase.runCatching { invoke(appWidgetId = _appWidgetId) }.mapCatching { @@ -79,27 +78,18 @@ class ResinStatusWidgetDetailViewModel @Inject constructor( .build() ).build() - WorkManager.getInstance(application) - .enqueueUniquePeriodicWork( - resinStatusWidget.refreshGenshinResinStatusWorkerName.toString(), - ExistingPeriodicWorkPolicy.UPDATE, - periodicWorkRequest - ).await() + workManager.enqueueUniquePeriodicWork( + resinStatusWidget.refreshGenshinResinStatusWorkerName.toString(), + ExistingPeriodicWorkPolicy.UPDATE, + periodicWorkRequest + ).await() it.resinStatusWidget.copy( interval = _interval.value ) }.mapCatching { updateResinStatusWidgetUseCase(it) - }.fold( - onSuccess = { - Lce.Content(it) - }, - onFailure = { - Lce.Error(it) - } - ) - } + }.foldAsILCE() } } } \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/SettingsViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/SettingsViewModel.kt similarity index 83% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/SettingsViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/SettingsViewModel.kt index fbfd90f8..bf2f2595 100644 --- a/app/src/main/java/com/joeloewi/croissant/viewmodel/SettingsViewModel.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/SettingsViewModel.kt @@ -2,12 +2,12 @@ package com.joeloewi.croissant.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.joeloewi.croissant.domain.entity.Settings import com.joeloewi.croissant.domain.usecase.SettingsUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch import javax.inject.Inject @@ -17,12 +17,11 @@ class SettingsViewModel @Inject constructor( getSettingsUseCase: SettingsUseCase.GetSettings, private val setDarkThemeEnabledSettingUseCase: SettingsUseCase.SetDarkThemeEnabled ) : ViewModel() { - val settings = getSettingsUseCase() - .flowOn(Dispatchers.IO) - .stateIn( + val darkThemeEnabled = + getSettingsUseCase().map { it.darkThemeEnabled }.flowOn(Dispatchers.IO).stateIn( scope = viewModelScope, started = SharingStarted.WhileSubscribed(), - initialValue = Settings() + initialValue = false ) fun setDarkThemeEnabled(darkThemeEnabled: Boolean) { diff --git a/app/src/main/java/com/joeloewi/croissant/viewmodel/WidgetConfigurationActivityViewModel.kt b/app/src/main/kotlin/com/joeloewi/croissant/viewmodel/WidgetConfigurationActivityViewModel.kt similarity index 100% rename from app/src/main/java/com/joeloewi/croissant/viewmodel/WidgetConfigurationActivityViewModel.kt rename to app/src/main/kotlin/com/joeloewi/croissant/viewmodel/WidgetConfigurationActivityViewModel.kt diff --git a/app/src/main/kotlin/com/joeloewi/croissant/worker/AttendCheckInEventWorker.kt b/app/src/main/kotlin/com/joeloewi/croissant/worker/AttendCheckInEventWorker.kt new file mode 100644 index 00000000..e78f7ba6 --- /dev/null +++ b/app/src/main/kotlin/com/joeloewi/croissant/worker/AttendCheckInEventWorker.kt @@ -0,0 +1,235 @@ +package com.joeloewi.croissant.worker + +import android.content.Context +import androidx.hilt.work.HiltWorker +import androidx.work.CoroutineWorker +import androidx.work.ForegroundInfo +import androidx.work.WorkerParameters +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics +import com.joeloewi.croissant.domain.common.HoYoLABGame +import com.joeloewi.croissant.domain.common.HoYoLABRetCode +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.common.WorkerExecutionLogState +import com.joeloewi.croissant.domain.common.exception.HoYoLABUnsuccessfulResponseException +import com.joeloewi.croissant.domain.entity.FailureLog +import com.joeloewi.croissant.domain.entity.SuccessLog +import com.joeloewi.croissant.domain.entity.WorkerExecutionLog +import com.joeloewi.croissant.domain.usecase.AttendanceUseCase +import com.joeloewi.croissant.domain.usecase.CheckInUseCase +import com.joeloewi.croissant.domain.usecase.FailureLogUseCase +import com.joeloewi.croissant.domain.usecase.SuccessLogUseCase +import com.joeloewi.croissant.domain.usecase.WorkerExecutionLogUseCase +import com.joeloewi.croissant.util.NotificationGenerator +import dagger.assisted.Assisted +import dagger.assisted.AssistedInject +import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext +import java.util.UUID + +@HiltWorker +class AttendCheckInEventWorker @AssistedInject constructor( + @Assisted private val context: Context, + @Assisted private val params: WorkerParameters, + private val getOneAttendanceUseCase: AttendanceUseCase.GetOne, + private val attendCheckInGenshinImpactUseCase: CheckInUseCase.AttendCheckInGenshinImpact, + private val attendCheckInHonkaiImpact3rdUseCase: CheckInUseCase.AttendCheckInHonkaiImpact3rd, + private val attendCheckInTearsOfThemisUseCase: CheckInUseCase.AttendCheckInTearsOfThemis, + private val attendCheckInHonkaiStarRail: CheckInUseCase.AttendCheckInHonkaiStarRail, + private val insertWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.Insert, + private val insertSuccessLogUseCase: SuccessLogUseCase.Insert, + private val insertFailureLogUseCase: FailureLogUseCase.Insert, + private val notificationGenerator: NotificationGenerator +) : CoroutineWorker( + appContext = context, + params = params +) { + private val _attendanceId = inputData.getLong(ATTENDANCE_ID, Long.MIN_VALUE) + + override suspend fun getForegroundInfo(): ForegroundInfo = + notificationGenerator.createForegroundInfo(_attendanceId.toInt()) + + //with known error + private suspend fun createUnsuccessfulAttendanceNotification( + nickname: String, + hoYoLABGame: HoYoLABGame, + region: String, + hoYoLABUnsuccessfulResponseException: HoYoLABUnsuccessfulResponseException + ) = notificationGenerator.createSuccessfulAttendanceNotification( + nickname = nickname, + hoYoLABGame = hoYoLABGame, + region = region, + message = hoYoLABUnsuccessfulResponseException.responseMessage, + retCode = hoYoLABUnsuccessfulResponseException.retCode + ) + + private suspend fun addFailureLog( + attendanceId: Long, + cause: Throwable + ) { + val executionLogId = insertWorkerExecutionLogUseCase( + WorkerExecutionLog( + attendanceId = attendanceId, + state = WorkerExecutionLogState.FAILURE, + loggableWorker = LoggableWorker.ATTEND_CHECK_IN_EVENT + ) + ) + + insertFailureLogUseCase( + FailureLog( + executionLogId = executionLogId, + failureMessage = cause.message ?: "", + failureStackTrace = cause.stackTraceToString() + ) + ) + } + + override suspend fun doWork(): Result = withContext(Dispatchers.IO) { + setForeground(notificationGenerator.createForegroundInfo(_attendanceId.toInt())) + _attendanceId.runCatching { + takeIf { it != Long.MIN_VALUE }!! + }.mapCatching { attendanceId -> + //check session is valid + val attendanceWithGames = getOneAttendanceUseCase(attendanceId) + val cookie = attendanceWithGames.attendance.cookie + + //attend check in events + attendanceWithGames.games.forEach { game -> + try { + when (game.type) { + HoYoLABGame.HonkaiImpact3rd -> { + attendCheckInHonkaiImpact3rdUseCase(cookie = cookie) + } + + HoYoLABGame.GenshinImpact -> { + attendCheckInGenshinImpactUseCase(cookie = cookie) + } + + HoYoLABGame.TearsOfThemis -> { + attendCheckInTearsOfThemisUseCase(cookie = cookie) + } + + HoYoLABGame.HonkaiStarRail -> { + attendCheckInHonkaiStarRail(cookie = cookie) + } + + HoYoLABGame.Unknown -> { + throw Exception() + } + }.getOrThrow().also { response -> + notificationGenerator.createSuccessfulAttendanceNotification( + nickname = attendanceWithGames.attendance.nickname, + hoYoLABGame = game.type, + region = game.region, + message = response.message, + retCode = response.retCode + ).let { notification -> + notificationGenerator.safeNotify( + UUID.randomUUID().toString(), + game.type.gameId, + notification + ) + } + + val executionLogId = insertWorkerExecutionLogUseCase( + WorkerExecutionLog( + attendanceId = attendanceId, + state = WorkerExecutionLogState.SUCCESS, + loggableWorker = LoggableWorker.ATTEND_CHECK_IN_EVENT + ) + ) + + insertSuccessLogUseCase( + SuccessLog( + executionLogId = executionLogId, + gameName = game.type, + retCode = response.retCode, + message = response.message + ) + ) + } + } catch (cause: CancellationException) { + throw cause + } catch (cause: Throwable) { + if (cause is HoYoLABUnsuccessfulResponseException) { + when (HoYoLABRetCode.findByCode(cause.retCode)) { + HoYoLABRetCode.AlreadyCheckedIn -> { + //do not log to crashlytics + } + + else -> { + Firebase.crashlytics.apply { + log(this@AttendCheckInEventWorker.javaClass.simpleName) + recordException(cause) + } + } + } + + createUnsuccessfulAttendanceNotification( + nickname = attendanceWithGames.attendance.nickname, + hoYoLABGame = game.type, + region = game.region, + hoYoLABUnsuccessfulResponseException = cause + ).let { notification -> + notificationGenerator.safeNotify( + UUID.randomUUID().toString(), + game.type.gameId, + notification + ) + } + } else { + //if result is unsuccessful with unknown error + //retry for three times + + /*if (runAttemptCount > 3) { + addFailureLog(attendanceId, cause) + } else { + + }*/ + Firebase.crashlytics.apply { + log(this@AttendCheckInEventWorker.javaClass.simpleName) + recordException(cause) + } + + notificationGenerator.createUnsuccessfulAttendanceNotification( + nickname = attendanceWithGames.attendance.nickname, + hoYoLABGame = game.type, + attendanceId = _attendanceId + ).let { notification -> + notificationGenerator.safeNotify( + UUID.randomUUID().toString(), + game.type.gameId, + notification + ) + } + } + + addFailureLog(attendanceId, cause) + } + } + }.fold( + onSuccess = { + Result.success() + }, + onFailure = { cause -> + if (cause is CancellationException) { + throw cause + } + + Firebase.crashlytics.apply { + log(this@AttendCheckInEventWorker.javaClass.simpleName) + recordException(cause) + } + + addFailureLog(_attendanceId, cause) + + Result.failure() + } + ) + } + + companion object { + const val ATTENDANCE_ID = "attendanceId" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/worker/CheckSessionWorker.kt b/app/src/main/kotlin/com/joeloewi/croissant/worker/CheckSessionWorker.kt similarity index 59% rename from app/src/main/java/com/joeloewi/croissant/worker/CheckSessionWorker.kt rename to app/src/main/kotlin/com/joeloewi/croissant/worker/CheckSessionWorker.kt index 8e14d0fe..46308c9b 100644 --- a/app/src/main/java/com/joeloewi/croissant/worker/CheckSessionWorker.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/worker/CheckSessionWorker.kt @@ -1,18 +1,11 @@ package com.joeloewi.croissant.worker -import android.app.Notification import android.content.Context -import android.content.Intent -import android.content.pm.PackageManager -import android.net.Uri -import androidx.core.app.NotificationCompat -import androidx.core.app.NotificationManagerCompat -import androidx.core.app.TaskStackBuilder import androidx.hilt.work.HiltWorker import androidx.work.CoroutineWorker import androidx.work.WorkerParameters -import com.google.firebase.crashlytics.FirebaseCrashlytics -import com.joeloewi.croissant.R +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics import com.joeloewi.croissant.domain.common.HoYoLABRetCode import com.joeloewi.croissant.domain.common.LoggableWorker import com.joeloewi.croissant.domain.common.WorkerExecutionLogState @@ -25,9 +18,7 @@ import com.joeloewi.croissant.domain.usecase.FailureLogUseCase import com.joeloewi.croissant.domain.usecase.HoYoLABUseCase import com.joeloewi.croissant.domain.usecase.SuccessLogUseCase import com.joeloewi.croissant.domain.usecase.WorkerExecutionLogUseCase -import com.joeloewi.croissant.ui.navigation.main.attendances.AttendancesDestination -import com.joeloewi.croissant.util.CroissantPermission -import com.joeloewi.croissant.util.pendingIntentFlagUpdateCurrent +import com.joeloewi.croissant.util.NotificationGenerator import dagger.assisted.Assisted import dagger.assisted.AssistedInject import kotlinx.coroutines.CancellationException @@ -43,46 +34,14 @@ class CheckSessionWorker @AssistedInject constructor( private val getUserFullInfoHoYoLABUseCase: HoYoLABUseCase.GetUserFullInfo, private val insertWorkerExecutionLogUseCase: WorkerExecutionLogUseCase.Insert, private val insertSuccessLogUseCase: SuccessLogUseCase.Insert, - private val insertFailureLogUseCase: FailureLogUseCase.Insert + private val insertFailureLogUseCase: FailureLogUseCase.Insert, + private val notificationGenerator: NotificationGenerator ) : CoroutineWorker( appContext = context, params = params ) { private val _attendanceId = inputData.getLong(ATTENDANCE_ID, Long.MIN_VALUE) - private fun generateAttendanceDetailDeepLinkUri(attendanceId: Long) = - Uri.Builder() - .scheme(context.getString(R.string.deep_link_scheme)) - .authority(context.packageName) - .appendEncodedPath( - AttendancesDestination.AttendanceDetailScreen().generateRoute(attendanceId) - ) - .build() - - private fun getAttendanceDetailIntent(attendanceId: Long): Intent = Intent( - Intent.ACTION_VIEW, - generateAttendanceDetailDeepLinkUri(attendanceId) - ) - - private fun createCheckSessionNotification( - context: Context, - channelId: String, - ): Notification = NotificationCompat - .Builder(context, channelId) - .setContentTitle(context.getString(R.string.check_session_notification_title)) - .setContentText(context.getString(R.string.check_session_notification_description)) - .setAutoCancel(true) - .setSmallIcon(R.drawable.ic_baseline_bakery_dining_24) - .apply { - val pendingIntent = TaskStackBuilder.create(context).run { - addNextIntentWithParentStack(getAttendanceDetailIntent(_attendanceId)) - getPendingIntent(0, pendingIntentFlagUpdateCurrent) - } - - setContentIntent(pendingIntent) - } - .build() - override suspend fun doWork(): Result = withContext(Dispatchers.IO) { _attendanceId.runCatching { takeIf { it != Long.MIN_VALUE }!! @@ -114,21 +73,12 @@ class CheckSessionWorker @AssistedInject constructor( when (cause) { is HoYoLABUnsuccessfulResponseException -> { if (HoYoLABRetCode.findByCode(cause.retCode) == HoYoLABRetCode.LoginFailed) { - createCheckSessionNotification( - context = context, - channelId = context.getString(R.string.check_session_notification_channel_id), - ).let { notification -> - if (context.packageManager.checkPermission( - CroissantPermission.POST_NOTIFICATIONS_PERMISSION_COMPAT, - context.packageName - ) == PackageManager.PERMISSION_GRANTED - ) { - NotificationManagerCompat.from(context).notify( - UUID.randomUUID().toString(), - 0, - notification - ) - } + with(notificationGenerator) { + safeNotify( + UUID.randomUUID().toString(), + 0, + createCheckSessionNotification(_attendanceId) + ) } } } @@ -138,7 +88,7 @@ class CheckSessionWorker @AssistedInject constructor( } } - FirebaseCrashlytics.getInstance().apply { + Firebase.crashlytics.apply { log(this@CheckSessionWorker.javaClass.simpleName) recordException(cause) } diff --git a/app/src/main/java/com/joeloewi/croissant/worker/RefreshResinStatusWorker.kt b/app/src/main/kotlin/com/joeloewi/croissant/worker/RefreshResinStatusWorker.kt similarity index 99% rename from app/src/main/java/com/joeloewi/croissant/worker/RefreshResinStatusWorker.kt rename to app/src/main/kotlin/com/joeloewi/croissant/worker/RefreshResinStatusWorker.kt index 1293cb5f..c68055d3 100644 --- a/app/src/main/java/com/joeloewi/croissant/worker/RefreshResinStatusWorker.kt +++ b/app/src/main/kotlin/com/joeloewi/croissant/worker/RefreshResinStatusWorker.kt @@ -13,7 +13,8 @@ import androidx.core.os.bundleOf import androidx.hilt.work.HiltWorker import androidx.work.CoroutineWorker import androidx.work.WorkerParameters -import com.google.firebase.crashlytics.FirebaseCrashlytics +import com.google.firebase.Firebase +import com.google.firebase.crashlytics.crashlytics import com.joeloewi.croissant.R import com.joeloewi.croissant.domain.common.HoYoLABGame import com.joeloewi.croissant.domain.entity.DataSwitch @@ -228,7 +229,7 @@ class RefreshResinStatusWorker @AssistedInject constructor( //hoyoverse api rarely throws timeout error //even though this worker has constraints on connection - FirebaseCrashlytics.getInstance().apply { + Firebase.crashlytics.apply { log(this@RefreshResinStatusWorker.javaClass.simpleName) recordException(cause) } diff --git a/app/src/main/res/values-en-rUS/strings.xml b/app/src/main/res/values-en-rUS/strings.xml index 7f0c2233..7d6976ae 100644 --- a/app/src/main/res/values-en-rUS/strings.xml +++ b/app/src/main/res/values-en-rUS/strings.xml @@ -128,4 +128,7 @@ Permissions Retrieving data Honkai: Star Rail + Are you sure you want to delete this attendance job? + Schedule exact alarms + Perform the check-in event in exact time \ No newline at end of file diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 8e2b6cc2..95471e82 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -127,4 +127,7 @@ 권한 정보 조회 중 붕괴: 스타레일 + 이 출석작업을 삭제하시겠습니까? + 정확한 알람 예약 + "출석을 정확히 지정한 시간에 실행합니다. " \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 369cd6cd..9f117d14 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -132,4 +132,7 @@ Permissions Retrieving data Honkai: Star Rail + Are you sure you want to delete this attendance job? + Schedule exact alarms + Perform the check-in event in exact time \ No newline at end of file diff --git a/app/src/test/java/com/joeloewi/croissant/ExampleUnitTest.kt b/app/src/test/kotlin/com/joeloewi/croissant/ExampleUnitTest.kt similarity index 100% rename from app/src/test/java/com/joeloewi/croissant/ExampleUnitTest.kt rename to app/src/test/kotlin/com/joeloewi/croissant/ExampleUnitTest.kt diff --git a/benchmark/.gitignore b/baselineprofile/.gitignore similarity index 100% rename from benchmark/.gitignore rename to baselineprofile/.gitignore diff --git a/baselineprofile/build.gradle.kts b/baselineprofile/build.gradle.kts new file mode 100644 index 00000000..9598d129 --- /dev/null +++ b/baselineprofile/build.gradle.kts @@ -0,0 +1,53 @@ +import com.android.build.api.dsl.ManagedVirtualDevice + +@Suppress("DSL_SCOPE_VIOLATION") +plugins { + alias(libs.plugins.android.test) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.androidx.baselineprofile) +} + +kotlin { + jvmToolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } +} + +android { + namespace = "com.joeloewi.croissant.baselineprofile" + compileSdk = 34 + + defaultConfig { + minSdk = 28 + targetSdk = 34 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + targetProjectPath = ":app" + + testOptions { + managedDevices { + devices { + create("pixel2Api34") { + device = "Pixel 2" + apiLevel = 34 + } + } + } + } +} + +// This is the configuration block for the Baseline Profile plugin. +// You can specify to run the generators on a managed devices or connected devices. +baselineProfile { + managedDevices += "pixel2Api34" + useConnectedDevices = false +} + +dependencies { + implementation(libs.androidx.test.ext.junit.ktx) + implementation(libs.androidx.test.espresso.core) + implementation(libs.androidx.test.uiautomator) + implementation(libs.androidx.benchmark.macro.junit4) +} \ No newline at end of file diff --git a/baselineprofile/src/main/AndroidManifest.xml b/baselineprofile/src/main/AndroidManifest.xml new file mode 100644 index 00000000..227314ee --- /dev/null +++ b/baselineprofile/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/baselineprofile/src/main/kotlin/com/joeloewi/croissant/baselineprofile/BaselineProfileGenerator.kt b/baselineprofile/src/main/kotlin/com/joeloewi/croissant/baselineprofile/BaselineProfileGenerator.kt new file mode 100644 index 00000000..ad3f740a --- /dev/null +++ b/baselineprofile/src/main/kotlin/com/joeloewi/croissant/baselineprofile/BaselineProfileGenerator.kt @@ -0,0 +1,67 @@ +package com.joeloewi.croissant.baselineprofile + +import androidx.benchmark.macro.junit4.BaselineProfileRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.LargeTest +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +/** + * This test class generates a basic startup baseline profile for the target package. + * + * We recommend you start with this but add important user flows to the profile to improve their performance. + * Refer to the [baseline profile documentation](https://d.android.com/topic/performance/baselineprofiles) + * for more information. + * + * You can run the generator with the Generate Baseline Profile run configuration, + * or directly with `generateBaselineProfile` Gradle task: + * ``` + * ./gradlew :app:generateReleaseBaselineProfile -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile + * ``` + * The run configuration runs the Gradle task and applies filtering to run only the generators. + * + * Check [documentation](https://d.android.com/topic/performance/benchmarking/macrobenchmark-instrumentation-args) + * for more information about available instrumentation arguments. + * + * After you run the generator, you can verify the improvements running the [StartupBenchmarks] benchmark. + * + * When using this class to generate a baseline profile, only API 33+ or rooted API 26+ are supported. + **/ +@RunWith(AndroidJUnit4::class) +@LargeTest +class BaselineProfileGenerator { + + @get:Rule + val rule = BaselineProfileRule() + + @Test + fun generate() { + rule.collect( + packageName = "com.zerodesktop.appdetox.qualitytime", + includeInStartupProfile = true + ) { + pressHome() + startActivityAndWait() + } + + rule.collect("com.zerodesktop.appdetox.qualitytime") { + // This block defines the app's critical user journey. Here we are interested in + // optimizing for app startup. But you can also navigate and scroll + // through your most important UI. + + // Start default activity for your app + pressHome() + startActivityAndWait() + + // TODO Write more interactions to optimize advanced journeys of your app. + // For example: + // 1. Wait until the content is asynchronously loaded + // 2. Scroll the feed content + // 3. Navigate to detail screen + + // Check UiAutomator documentation for more information how to interact with the app. + // https://d.android.com/training/testing/other-components/ui-automator + } + } +} \ No newline at end of file diff --git a/baselineprofile/src/main/kotlin/com/joeloewi/croissant/baselineprofile/StartupBenchmarks.kt b/baselineprofile/src/main/kotlin/com/joeloewi/croissant/baselineprofile/StartupBenchmarks.kt new file mode 100644 index 00000000..897ea929 --- /dev/null +++ b/baselineprofile/src/main/kotlin/com/joeloewi/croissant/baselineprofile/StartupBenchmarks.kt @@ -0,0 +1,72 @@ +package com.joeloewi.croissant.baselineprofile + +import androidx.benchmark.macro.BaselineProfileMode +import androidx.benchmark.macro.CompilationMode +import androidx.benchmark.macro.StartupMode +import androidx.benchmark.macro.StartupTimingMetric +import androidx.benchmark.macro.junit4.MacrobenchmarkRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.LargeTest +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +/** + * This test class benchmarks the speed of app startup. + * Run this benchmark to verify how effective a Baseline Profile is. + * It does this by comparing [CompilationMode.None], which represents the app with no Baseline + * Profiles optimizations, and [CompilationMode.Partial], which uses Baseline Profiles. + * + * Run this benchmark to see startup measurements and captured system traces for verifying + * the effectiveness of your Baseline Profiles. You can run it directly from Android + * Studio as an instrumentation test, or run all benchmarks with this Gradle task: + * ``` + * ./gradlew :baselineprofile:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=Macrobenchmark + * ``` + * + * You should run the benchmarks on a physical device, not an Android emulator, because the + * emulator doesn't represent real world performance and shares system resources with its host. + * + * For more information, see the [Macrobenchmark documentation](https://d.android.com/macrobenchmark#create-macrobenchmark) + * and the [instrumentation arguments documentation](https://d.android.com/topic/performance/benchmarking/macrobenchmark-instrumentation-args). + **/ +@RunWith(AndroidJUnit4::class) +@LargeTest +class StartupBenchmarks { + + @get:Rule + val rule = MacrobenchmarkRule() + + @Test + fun startupCompilationNone() = + benchmark(CompilationMode.None()) + + @Test + fun startupCompilationBaselineProfiles() = + benchmark(CompilationMode.Partial(BaselineProfileMode.Require)) + + private fun benchmark(compilationMode: CompilationMode) { + rule.measureRepeated( + packageName = "com.joeloewi.croissant", + metrics = listOf(StartupTimingMetric()), + compilationMode = compilationMode, + startupMode = StartupMode.COLD, + iterations = 10, + setupBlock = { + pressHome() + }, + measureBlock = { + startActivityAndWait() + + // TODO Add interactions to wait for when your app is fully drawn. + // The app is fully drawn when Activity.reportFullyDrawn is called. + // For Jetpack Compose, you can use ReportDrawn, ReportDrawnWhen and ReportDrawnAfter + // from the AndroidX Activity library. + + // Check the UiAutomator documentation for more information on how to + // interact with the app. + // https://d.android.com/training/testing/other-components/ui-automator + } + ) + } +} \ No newline at end of file diff --git a/benchmark/build.gradle.kts b/benchmark/build.gradle.kts deleted file mode 100644 index 4046bf5f..00000000 --- a/benchmark/build.gradle.kts +++ /dev/null @@ -1,79 +0,0 @@ -import com.android.build.api.dsl.ManagedVirtualDevice - -plugins { - id("com.android.test") - id("org.jetbrains.kotlin.android") -} - -kotlin { - jvmToolchain { - languageVersion.set(JavaLanguageVersion.of(17)) - } -} - -android { - namespace = "com.joeloewi.croissant.benchmark" - compileSdk = 33 - - defaultConfig { - minSdk = 23 - targetSdk = 33 - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - } - - buildFeatures { - buildConfig = true - } - - testOptions { - managedDevices { - devices { - create("pixel2Api33") { - device = "Pixel 2" - apiLevel = 33 - } - } - } - } - - buildTypes { - // This benchmark buildType is used for benchmarking, and should function like your - // release build (for example, with minification on). It"s signed with a debug key - // for easy local/CI testing. - val benchmark by creating { - isDebuggable = true - signingConfig = getByName("debug").signingConfig - matchingFallbacks += listOf("release") - } - } - - targetProjectPath = ":app" - experimentalProperties["android.experimental.self-instrumenting"] = true -} - -dependencies { - implementation(libs.androidx.test.core) - implementation(libs.androidx.test.espresso.core) - implementation(libs.androidx.test.ext.junit.ktx) - implementation(libs.androidx.test.runner) - implementation(libs.androidx.test.rules) - implementation(libs.androidx.test.uiautomator) - implementation(libs.androidx.benchmark.macro.junit4) - implementation(libs.androidx.profileinstaller) -} - -androidComponents { - beforeVariants(selector().all()) { - it.enable = it.buildType == "benchmark" - } -} \ No newline at end of file diff --git a/benchmark/src/main/AndroidManifest.xml b/benchmark/src/main/AndroidManifest.xml deleted file mode 100644 index abdb9c34..00000000 --- a/benchmark/src/main/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/benchmark/src/main/java/com/joeloewi/croissant/benchmark/BaselineProfileGenerator.kt b/benchmark/src/main/java/com/joeloewi/croissant/benchmark/BaselineProfileGenerator.kt deleted file mode 100644 index e4edfdf9..00000000 --- a/benchmark/src/main/java/com/joeloewi/croissant/benchmark/BaselineProfileGenerator.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.joeloewi.croissant.benchmark - -import androidx.benchmark.macro.junit4.BaselineProfileRule -import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner -import androidx.test.uiautomator.By -import androidx.test.uiautomator.Until -import org.junit.Rule -import org.junit.Test -import org.junit.runner.RunWith - -@RunWith(AndroidJUnit4ClassRunner::class) -class BaselineProfileGenerator { - - @get:Rule - val rule = BaselineProfileRule() - - @Test - fun generate() = rule.collectBaselineProfile( - "com.joeloewi.croissant" - ) { - startActivityAndWait() - - device.wait(Until.hasObject(By.textContains("HoYoLAB")), 30_000) - } -} \ No newline at end of file diff --git a/benchmark/src/main/java/com/joeloewi/croissant/benchmark/ExampleStartupBenchmark.kt b/benchmark/src/main/java/com/joeloewi/croissant/benchmark/ExampleStartupBenchmark.kt deleted file mode 100644 index df0f9bd6..00000000 --- a/benchmark/src/main/java/com/joeloewi/croissant/benchmark/ExampleStartupBenchmark.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.joeloewi.croissant.benchmark - -import androidx.benchmark.macro.BaselineProfileMode -import androidx.benchmark.macro.CompilationMode -import androidx.benchmark.macro.StartupMode -import androidx.benchmark.macro.StartupTimingMetric -import androidx.benchmark.macro.junit4.MacrobenchmarkRule -import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner -import androidx.test.uiautomator.By -import androidx.test.uiautomator.Until -import org.junit.Rule -import org.junit.Test -import org.junit.runner.RunWith - -/** - * This is an example startup benchmark. - * - * It navigates to the device's home screen, and launches the default activity. - * - * Before running this benchmark: - * 1) switch your app's active build variant in the Studio (affects Studio runs only) - * 2) add `` to your app's manifest, within the `` tag - * - * Run this benchmark from Studio to see startup measurements, and captured system traces - * for investigating your app's performance. - */ -/** - * Run this benchmark from Studio to see startup measurements, and captured system traces - * for investigating your app's performance from a cold state. - */ -@RunWith(AndroidJUnit4ClassRunner::class) -class ColdStartupBenchmark : AbstractStartupBenchmark(StartupMode.COLD) - -/** - * Run this benchmark from Studio to see startup measurements, and captured system traces - * for investigating your app's performance from a warm state. - */ -@RunWith(AndroidJUnit4ClassRunner::class) -class WarmStartupBenchmark : AbstractStartupBenchmark(StartupMode.WARM) - -/** - * Run this benchmark from Studio to see startup measurements, and captured system traces - * for investigating your app's performance from a hot state. - */ -@RunWith(AndroidJUnit4ClassRunner::class) -class HotStartupBenchmark : AbstractStartupBenchmark(StartupMode.HOT) - -/** - * Base class for benchmarks with different startup modes. - * Enables app startups from various states of baseline profile or [CompilationMode]s. - */ -abstract class AbstractStartupBenchmark(private val startupMode: StartupMode) { - @get:Rule - val benchmarkRule = MacrobenchmarkRule() - - @Test - fun startupNoCompilation() = startup(CompilationMode.None()) - - @Test - fun startupBaselineProfileDisabled() = startup( - CompilationMode.Partial( - baselineProfileMode = BaselineProfileMode.Disable, - warmupIterations = 1 - ) - ) - - @Test - fun startupBaselineProfile() = - startup(CompilationMode.Partial(baselineProfileMode = BaselineProfileMode.Require)) - - @Test - fun startupFullCompilation() = startup(CompilationMode.Full()) - - private fun startup( - compilationMode: CompilationMode - ) = benchmarkRule.measureRepeated( - packageName = "com.joeloewi.croissant", - metrics = listOf(StartupTimingMetric()), - compilationMode = compilationMode, - iterations = 10, - startupMode = startupMode, - setupBlock = { - pressHome() - } - ) { - startActivityAndWait() - - device.wait(Until.hasObject(By.textContains("HoYoLAB")), 30_000) - } -} \ No newline at end of file diff --git a/build-logic/.gitignore b/build-logic/.gitignore index 1b5e8563..81552383 100644 --- a/build-logic/.gitignore +++ b/build-logic/.gitignore @@ -78,7 +78,7 @@ captures/ *.keystore # Google Services (e.g. APIs or Firebase) -google-services.json +# google-services.json # Android Patch gen-external-apklibs diff --git a/build-logic/convention/build.gradle.kts b/build-logic/convention/build.gradle.kts index c8b73c4b..dee31752 100644 --- a/build-logic/convention/build.gradle.kts +++ b/build-logic/convention/build.gradle.kts @@ -6,13 +6,23 @@ group = "com.joeloewi.croissant.buildlogic" kotlin { jvmToolchain { - languageVersion.set(JavaLanguageVersion.of(11)) + languageVersion.set(JavaLanguageVersion.of(17)) } } dependencies { compileOnly(libs.android.gradlePlugin) + compileOnly(libs.android.tools.common) + compileOnly(libs.firebase.crashlytics.gradlePlugin) compileOnly(libs.kotlin.gradlePlugin) + compileOnly(libs.ksp.gradlePlugin) +} + +tasks { + validatePlugins { + enableStricterValidation = true + failOnWarning = true + } } gradlePlugin { @@ -25,6 +35,10 @@ gradlePlugin { id = "croissant.android.application" implementationClass = "AndroidApplicationConventionPlugin" } + register("androidApplicationFirebase") { + id = "croissant.android.application.firebase" + implementationClass = "AndroidApplicationFirebaseConventionPlugin" + } register("androidLibrary") { id = "croissant.android.library" implementationClass = "AndroidLibraryConventionPlugin" @@ -33,5 +47,9 @@ gradlePlugin { id = "croissant.android.hilt" implementationClass = "AndroidHiltConventionPlugin" } + register("androidRoom") { + id = "croissant.android.room" + implementationClass = "AndroidRoomConventionPlugin" + } } } \ No newline at end of file diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt index f89ca0e3..2e9103b5 100644 --- a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt @@ -14,7 +14,6 @@ class AndroidApplicationConventionPlugin : Plugin { extensions.configure { configureKotlinAndroid(this) - defaultConfig.targetSdk = 33 } } } diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt new file mode 100644 index 00000000..fb6511a2 --- /dev/null +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt @@ -0,0 +1,49 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import com.android.build.api.dsl.ApplicationExtension +import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension +import com.joeloewi.croissant.libs +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.dependencies + +class AndroidApplicationFirebaseConventionPlugin : Plugin { + override fun apply(target: Project) { + with(target) { + with(pluginManager) { + apply("com.google.gms.google-services") + apply("com.google.firebase.crashlytics") + } + + dependencies { + val firebaseBom = libs.findLibrary("firebase-bom").get() + "implementation"(platform(firebaseBom)) + "implementation"(libs.findLibrary("firebase.analytics").get()) + "implementation"(libs.findLibrary("firebase.crashlytics").get()) + } + + extensions.configure { + buildTypes.configureEach { + configure { + mappingFileUploadEnabled = isMinifyEnabled + } + } + } + } + } +} diff --git a/build-logic/convention/src/main/kotlin/AndroidHiltConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidHiltConventionPlugin.kt index ef69baaa..6d288083 100644 --- a/build-logic/convention/src/main/kotlin/AndroidHiltConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidHiltConventionPlugin.kt @@ -1,28 +1,21 @@ +import com.joeloewi.croissant.libs import org.gradle.api.Plugin import org.gradle.api.Project -import org.gradle.api.artifacts.VersionCatalogsExtension import org.gradle.kotlin.dsl.dependencies -import org.gradle.kotlin.dsl.getByType -import org.jetbrains.kotlin.gradle.plugin.KaptExtension class AndroidHiltConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { with(pluginManager) { - apply("org.jetbrains.kotlin.kapt") apply("dagger.hilt.android.plugin") + apply("com.google.devtools.ksp") } - val libs = extensions.getByType().named("libs") dependencies { "implementation"(libs.findLibrary("hilt.android").get()) - "kapt"(libs.findLibrary("hilt.compiler").get()) - "kaptAndroidTest"(libs.findLibrary("hilt.compiler").get()) - } - - val kapt = extensions.getByType() - kapt.apply { - correctErrorTypes = true + "ksp"(libs.findLibrary("hilt.compiler").get()) + "ksp"(libs.findLibrary("hilt.ext.compiler").get()) + "kspAndroidTest"(libs.findLibrary("hilt.compiler").get()) } } } diff --git a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt index 73683d1e..e7d94720 100644 --- a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt @@ -30,7 +30,6 @@ class AndroidLibraryConventionPlugin : Plugin { extensions.configure { configureKotlinAndroid(this) - defaultConfig.targetSdk = 33 } } } diff --git a/build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt new file mode 100644 index 00000000..9a0a3ba0 --- /dev/null +++ b/build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt @@ -0,0 +1,63 @@ +import com.google.devtools.ksp.gradle.KspExtension +import com.joeloewi.croissant.libs +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.tasks.InputDirectory +import org.gradle.api.tasks.PathSensitive +import org.gradle.api.tasks.PathSensitivity +import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.dependencies +import org.gradle.process.CommandLineArgumentProvider +import java.io.File + +/* + * Copyright 2023. joeloewi + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +class AndroidRoomConventionPlugin : Plugin { + + override fun apply(target: Project) { + with(target) { + pluginManager.apply("com.google.devtools.ksp") + + extensions.configure { + // The schemas directory contains a schema file for each version of the Room database. + // This is required to enable Room auto migrations. + // See https://developer.android.com/reference/kotlin/androidx/room/AutoMigration. + arg(RoomSchemaArgProvider(File(projectDir, "schemas"))) + } + + dependencies { + "implementation"(libs.findLibrary("room.runtime").get()) + "implementation"(libs.findLibrary("room.ktx").get()) + "implementation"(libs.findLibrary("room.paging").get()) + "ksp"(libs.findLibrary("room.compiler").get()) + } + } + } + + /** + * https://issuetracker.google.com/issues/132245929 + * [Export schemas](https://developer.android.com/training/data-storage/room/migrating-db-versions#export-schemas) + */ + class RoomSchemaArgProvider( + @get:InputDirectory + @get:PathSensitive(PathSensitivity.RELATIVE) + val schemaDir: File, + ) : CommandLineArgumentProvider { + override fun asArguments() = + listOf("room.schemaLocation=${schemaDir.path}", "room.generateKotlin=true") + } +} \ No newline at end of file diff --git a/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/AndroidCompose.kt b/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/AndroidCompose.kt index 7fac86e8..7662e69b 100644 --- a/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/AndroidCompose.kt +++ b/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/AndroidCompose.kt @@ -11,7 +11,7 @@ import java.io.File * Configure Compose-specific options */ internal fun Project.configureAndroidCompose( - commonExtension: CommonExtension<*, *, *, *>, + commonExtension: CommonExtension<*, *, *, *, *>, ) { val libs = extensions.getByType().named("libs") @@ -35,8 +35,8 @@ internal fun Project.configureAndroidCompose( "androidTestImplementation"(platform(androidxComposeBom)) val coilKtBom = libs.findLibrary("coil-kt-bom").get() - "implementation"(coilKtBom) - "androidTestImplementation"(coilKtBom) + "implementation"(platform(coilKtBom)) + "androidTestImplementation"(platform(coilKtBom)) } } } @@ -46,7 +46,7 @@ private fun Project.buildComposeMetricsParameters(): List { val enableMetricsProvider = project.providers.gradleProperty("enableComposeCompilerMetrics") val enableMetrics = (enableMetricsProvider.orNull == "true") if (enableMetrics) { - val metricsFolder = File(project.buildDir, "compose-metrics") + val metricsFolder = File(project.layout.buildDirectory.get().asFile, "compose-metrics") metricParameters.add("-P") metricParameters.add( "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" + metricsFolder.absolutePath @@ -56,7 +56,7 @@ private fun Project.buildComposeMetricsParameters(): List { val enableReportsProvider = project.providers.gradleProperty("enableComposeCompilerReports") val enableReports = (enableReportsProvider.orNull == "true") if (enableReports) { - val reportsFolder = File(project.buildDir, "compose-reports") + val reportsFolder = File(project.layout.buildDirectory.get().asFile, "compose-reports") metricParameters.add("-P") metricParameters.add( "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" + reportsFolder.absolutePath diff --git a/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/KotlinAndroid.kt b/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/KotlinAndroid.kt index edba10aa..14413a7e 100644 --- a/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/KotlinAndroid.kt +++ b/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/KotlinAndroid.kt @@ -13,10 +13,10 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions * Configure base Kotlin with Android options */ internal fun Project.configureKotlinAndroid( - commonExtension: CommonExtension<*, *, *, *>, + commonExtension: CommonExtension<*, *, *, *, *>, ) { commonExtension.apply { - compileSdk = 33 + compileSdk = 34 defaultConfig { minSdk = 21 @@ -58,6 +58,6 @@ internal fun Project.configureKotlinAndroid( } } -fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) { +fun CommonExtension<*, *, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) { (this as ExtensionAware).extensions.configure("kotlinOptions", block) } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/CommonCheckInDataSource.kt b/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/ProjectExtensions.kt similarity index 66% rename from data/src/main/java/com/joeloewi/croissant/data/repository/remote/CommonCheckInDataSource.kt rename to build-logic/convention/src/main/kotlin/com/joeloewi/croissant/ProjectExtensions.kt index 9bf40278..31489e4a 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/CommonCheckInDataSource.kt +++ b/build-logic/convention/src/main/kotlin/com/joeloewi/croissant/ProjectExtensions.kt @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.joeloewi.croissant.data.repository.remote +package com.joeloewi.croissant -import com.joeloewi.croissant.data.api.model.response.AttendanceResponse -import com.skydoves.sandwich.ApiResponse +import org.gradle.api.Project +import org.gradle.api.artifacts.VersionCatalog +import org.gradle.api.artifacts.VersionCatalogsExtension +import org.gradle.kotlin.dsl.getByType -interface CommonCheckInDataSource { - - suspend fun attend(actId: String, cookie: String): ApiResponse -} \ No newline at end of file +val Project.libs + get(): VersionCatalog = extensions.getByType().named("libs") \ No newline at end of file diff --git a/build-logic/gradle/wrapper/gradle-wrapper.jar b/build-logic/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c0..00000000 Binary files a/build-logic/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/build-logic/gradle/wrapper/gradle-wrapper.properties b/build-logic/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 10670e6c..00000000 --- a/build-logic/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Feb 25 18:56:53 KST 2022 -distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip -distributionPath=wrapper/dists -zipStorePath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME diff --git a/build.gradle.kts b/build.gradle.kts index 87cd7f00..3f278248 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,8 +13,12 @@ buildscript { plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.jvm) apply false + alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.hilt) apply false alias(libs.plugins.android.test) apply false alias(libs.plugins.gms.google.services) apply false alias(libs.plugins.firebase.crashlytics) apply false + alias(libs.plugins.protobuf) apply false + alias(libs.plugins.androidx.baselineprofile) apply false + alias(libs.plugins.ksp) apply false } \ No newline at end of file diff --git a/data/build.gradle.kts b/data/build.gradle.kts index 54418a15..19a0b530 100644 --- a/data/build.gradle.kts +++ b/data/build.gradle.kts @@ -1,27 +1,20 @@ @Suppress("DSL_SCOPE_VIOLATION") plugins { - id("croissant.android.library") - id("croissant.android.hilt") + alias(libs.plugins.croissant.android.library) + alias(libs.plugins.croissant.android.hilt) + alias(libs.plugins.croissant.android.room) alias(libs.plugins.protobuf) alias(libs.plugins.ksp) } -kotlin { - jvmToolchain { - languageVersion.set(JavaLanguageVersion.of(17)) - } -} - android { defaultConfig { testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-proguard-rules.pro") + } - ksp { - arg("room.schemaLocation", "$projectDir/schemas") - arg("room.incremental", "true") - arg("room.expandProjection", "true") - } + buildFeatures { + buildConfig = true } namespace = "com.joeloewi.croissant.data" @@ -37,12 +30,6 @@ dependencies { androidTestImplementation(libs.androidx.test.ext.junit.ktx) androidTestImplementation(libs.androidx.test.espresso.core) - //room - implementation(libs.room.runtime) - ksp(libs.room.compiler) - implementation(libs.room.ktx) - implementation(libs.room.paging) - //retrofit2 implementation(libs.retrofit) implementation(libs.retrofit.converter.moshi) @@ -63,6 +50,7 @@ dependencies { implementation(libs.androidx.dataStore.core) implementation(libs.sandwich) + implementation(libs.sandwich.retrofit) implementation(libs.kotlinx.coroutines.android) } @@ -85,8 +73,4 @@ protobuf { } } } -} - -hilt { - enableAggregatingTask = true } \ No newline at end of file diff --git a/data/consumer-proguard-rules.pro b/data/consumer-proguard-rules.pro index b93e4e37..4fe77fe7 100644 --- a/data/consumer-proguard-rules.pro +++ b/data/consumer-proguard-rules.pro @@ -3,15 +3,4 @@ -dontwarn okhttp3.internal.platform.** -dontwarn org.conscrypt.** -dontwarn org.bouncycastle.** --dontwarn org.openjsse.** - -# Keep generic signature of Call, Response (R8 full mode strips signatures from non-kept items). --keep,allowobfuscation,allowshrinking interface retrofit2.Call --keep,allowobfuscation,allowshrinking class retrofit2.Response - -# With R8 full mode generic signatures are stripped for classes that are not -# kept. Suspend functions are wrapped in continuations where the type argument -# is used. --keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation - --keep,allowobfuscation,allowshrinking class com.skydoves.sandwich.ApiResponse \ No newline at end of file +-dontwarn org.openjsse.** \ No newline at end of file diff --git a/data/schemas/com.joeloewi.croissant.data.database.CroissantDatabase/1.json b/data/schemas/com.joeloewi.croissant.data.database.CroissantDatabase/1.json new file mode 100644 index 00000000..4d7fade1 --- /dev/null +++ b/data/schemas/com.joeloewi.croissant.data.database.CroissantDatabase/1.json @@ -0,0 +1,474 @@ +{ + "formatVersion": 1, + "database": { + "version": 1, + "identityHash": "e8846f98a8a1b614fd7d0c623c759c3e", + "entities": [ + { + "tableName": "AttendanceEntity", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `createdAt` INTEGER NOT NULL, `modifiedAt` INTEGER NOT NULL, `cookie` TEXT NOT NULL, `nickname` TEXT NOT NULL, `uid` INTEGER NOT NULL, `hourOfDay` INTEGER NOT NULL, `minute` INTEGER NOT NULL, `timezoneId` TEXT NOT NULL, `attendCheckInEventWorkerName` BLOB NOT NULL, `attendCheckInEventWorkerId` BLOB NOT NULL, `checkSessionWorkerName` BLOB NOT NULL, `checkSessionWorkerId` BLOB NOT NULL, `oneTimeAttendCheckInEventWorkerName` BLOB NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "createdAt", + "columnName": "createdAt", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "modifiedAt", + "columnName": "modifiedAt", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "cookie", + "columnName": "cookie", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "nickname", + "columnName": "nickname", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "uid", + "columnName": "uid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "hourOfDay", + "columnName": "hourOfDay", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "minute", + "columnName": "minute", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "timezoneId", + "columnName": "timezoneId", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "attendCheckInEventWorkerName", + "columnName": "attendCheckInEventWorkerName", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "attendCheckInEventWorkerId", + "columnName": "attendCheckInEventWorkerId", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "checkSessionWorkerName", + "columnName": "checkSessionWorkerName", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "checkSessionWorkerId", + "columnName": "checkSessionWorkerId", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "oneTimeAttendCheckInEventWorkerName", + "columnName": "oneTimeAttendCheckInEventWorkerName", + "affinity": "BLOB", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "WorkerExecutionLogEntity", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `attendanceId` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, `timezoneId` TEXT NOT NULL, `state` TEXT NOT NULL, `loggableWorker` TEXT NOT NULL, FOREIGN KEY(`attendanceId`) REFERENCES `AttendanceEntity`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "attendanceId", + "columnName": "attendanceId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "createdAt", + "columnName": "createdAt", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "timezoneId", + "columnName": "timezoneId", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "state", + "columnName": "state", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "loggableWorker", + "columnName": "loggableWorker", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_WorkerExecutionLogEntity_attendanceId", + "unique": false, + "columnNames": [ + "attendanceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_WorkerExecutionLogEntity_attendanceId` ON `${TABLE_NAME}` (`attendanceId`)" + } + ], + "foreignKeys": [ + { + "table": "AttendanceEntity", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "attendanceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "GameEntity", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `attendanceId` INTEGER NOT NULL, `roleId` INTEGER NOT NULL, `type` TEXT NOT NULL, `region` TEXT NOT NULL, FOREIGN KEY(`attendanceId`) REFERENCES `AttendanceEntity`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "attendanceId", + "columnName": "attendanceId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "roleId", + "columnName": "roleId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "type", + "columnName": "type", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "region", + "columnName": "region", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_GameEntity_attendanceId", + "unique": false, + "columnNames": [ + "attendanceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_GameEntity_attendanceId` ON `${TABLE_NAME}` (`attendanceId`)" + } + ], + "foreignKeys": [ + { + "table": "AttendanceEntity", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "attendanceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "SuccessLogEntity", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `executionLogId` INTEGER NOT NULL, `gameName` TEXT NOT NULL, `retCode` INTEGER NOT NULL, `message` TEXT NOT NULL, FOREIGN KEY(`executionLogId`) REFERENCES `WorkerExecutionLogEntity`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "executionLogId", + "columnName": "executionLogId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "gameName", + "columnName": "gameName", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "retCode", + "columnName": "retCode", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "message", + "columnName": "message", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_SuccessLogEntity_executionLogId", + "unique": false, + "columnNames": [ + "executionLogId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_SuccessLogEntity_executionLogId` ON `${TABLE_NAME}` (`executionLogId`)" + } + ], + "foreignKeys": [ + { + "table": "WorkerExecutionLogEntity", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "executionLogId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "FailureLogEntity", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `executionLogId` INTEGER NOT NULL, `failureMessage` TEXT NOT NULL, `failureStackTrace` TEXT NOT NULL, FOREIGN KEY(`executionLogId`) REFERENCES `WorkerExecutionLogEntity`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "executionLogId", + "columnName": "executionLogId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "failureMessage", + "columnName": "failureMessage", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "failureStackTrace", + "columnName": "failureStackTrace", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_FailureLogEntity_executionLogId", + "unique": false, + "columnNames": [ + "executionLogId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_FailureLogEntity_executionLogId` ON `${TABLE_NAME}` (`executionLogId`)" + } + ], + "foreignKeys": [ + { + "table": "WorkerExecutionLogEntity", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "executionLogId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "ResinStatusWidgetEntity", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `appWidgetId` INTEGER NOT NULL, `interval` INTEGER NOT NULL, `refreshGenshinResinStatusWorkerName` BLOB NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "appWidgetId", + "columnName": "appWidgetId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interval", + "columnName": "interval", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "refreshGenshinResinStatusWorkerName", + "columnName": "refreshGenshinResinStatusWorkerName", + "affinity": "BLOB", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "AccountEntity", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `resinStatusWidgetId` INTEGER NOT NULL, `cookie` TEXT NOT NULL, `uid` INTEGER NOT NULL, FOREIGN KEY(`resinStatusWidgetId`) REFERENCES `ResinStatusWidgetEntity`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "resinStatusWidgetId", + "columnName": "resinStatusWidgetId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "cookie", + "columnName": "cookie", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "uid", + "columnName": "uid", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_AccountEntity_resinStatusWidgetId", + "unique": false, + "columnNames": [ + "resinStatusWidgetId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_AccountEntity_resinStatusWidgetId` ON `${TABLE_NAME}` (`resinStatusWidgetId`)" + } + ], + "foreignKeys": [ + { + "table": "ResinStatusWidgetEntity", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "resinStatusWidgetId" + ], + "referencedColumns": [ + "id" + ] + } + ] + } + ], + "views": [], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'e8846f98a8a1b614fd7d0c623c759c3e')" + ] + } +} \ No newline at end of file diff --git a/data/src/androidTest/java/com/joeloewi/croissant/data/ExampleInstrumentedTest.kt b/data/src/androidTest/kotlin/com/joeloewi/croissant/data/ExampleInstrumentedTest.kt similarity index 100% rename from data/src/androidTest/java/com/joeloewi/croissant/data/ExampleInstrumentedTest.kt rename to data/src/androidTest/kotlin/com/joeloewi/croissant/data/ExampleInstrumentedTest.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/dao/CommonCheckInService.kt b/data/src/main/java/com/joeloewi/croissant/data/api/dao/CommonCheckInService.kt deleted file mode 100644 index bfee9635..00000000 --- a/data/src/main/java/com/joeloewi/croissant/data/api/dao/CommonCheckInService.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.data.api.dao - -import com.joeloewi.croissant.data.api.model.response.AttendanceResponse -import com.skydoves.sandwich.ApiResponse -import retrofit2.http.Header -import retrofit2.http.POST -import retrofit2.http.Query -import java.util.Locale - -interface CommonCheckInService { - - @POST("event/luna/os/sign") - suspend fun attend( - @Query("act_id") actId: String = "e202303301540311", - @Query("lang") language: String = Locale.getDefault().toLanguageTag().lowercase(), - @Header("Cookie") cookie: String - ): ApiResponse -} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/dao/GenshinImpactCheckInService.kt b/data/src/main/java/com/joeloewi/croissant/data/api/dao/GenshinImpactCheckInService.kt deleted file mode 100644 index bb761b54..00000000 --- a/data/src/main/java/com/joeloewi/croissant/data/api/dao/GenshinImpactCheckInService.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.data.api.dao - -import com.joeloewi.croissant.data.api.model.response.AttendanceResponse -import com.skydoves.sandwich.ApiResponse -import retrofit2.http.Header -import retrofit2.http.POST -import retrofit2.http.Query -import java.util.* - -interface GenshinImpactCheckInService { - @POST("event/sol/sign") - suspend fun attendCheckInGenshinImpact( - @Query("act_id") actId: String = "e202102251931481", - @Query("lang") language: String = Locale.getDefault().toLanguageTag().lowercase(), - @Header("Cookie") cookie: String - ): ApiResponse -} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/db/dao/WorkerExecutionLogDao.kt b/data/src/main/java/com/joeloewi/croissant/data/db/dao/WorkerExecutionLogDao.kt deleted file mode 100644 index bad2d31a..00000000 --- a/data/src/main/java/com/joeloewi/croissant/data/db/dao/WorkerExecutionLogDao.kt +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.data.db.dao - -import androidx.paging.PagingSource -import androidx.room.* -import com.joeloewi.croissant.data.entity.local.WorkerExecutionLogEntity -import com.joeloewi.croissant.data.entity.local.relational.WorkerExecutionLogWithStateEntity -import com.joeloewi.croissant.domain.common.LoggableWorker -import com.joeloewi.croissant.domain.common.WorkerExecutionLogState -import kotlinx.coroutines.flow.Flow - -@Dao -interface WorkerExecutionLogDao { - - @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun insert(workerExecutionLogEntity: WorkerExecutionLogEntity): Long - - @Delete - suspend fun delete(vararg workerExecutionLogEntities: WorkerExecutionLogEntity): Int - - @Transaction - @Query("DELETE FROM WorkerExecutionLogEntity WHERE attendanceId = :attendanceId AND loggableWorker = :loggableWorker") - suspend fun deleteAll( - attendanceId: Long, - loggableWorker: LoggableWorker - ): Int - - @Transaction - @Query("SELECT * FROM WorkerExecutionLogEntity WHERE attendanceId = :attendanceId AND loggableWorker = :loggableWorker AND DATE(createdAt / 1000, 'unixepoch', 'localtime') = :localDate ORDER BY createdAt DESC") - fun getByDatePaged( - attendanceId: Long, - loggableWorker: LoggableWorker, - localDate: String, - ): PagingSource - - @Transaction - @Query("SELECT COUNT(*) FROM WorkerExecutionLogEntity WHERE attendanceId = :attendanceId AND loggableWorker = :loggableWorker AND state = :state AND DATE(createdAt / 1000, 'unixepoch', 'localtime') = :localDate") - fun getCountByStateAndDate( - attendanceId: Long, - loggableWorker: LoggableWorker, - state: WorkerExecutionLogState, - localDate: String, - ): Flow - - @Transaction - @Query("SELECT COUNT(*) FROM WorkerExecutionLogEntity WHERE attendanceId = :attendanceId AND loggableWorker = :loggableWorker AND state = :state") - fun getCountByState( - attendanceId: Long, - loggableWorker: LoggableWorker, - state: WorkerExecutionLogState - ): Flow -} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/GenshinImpactCheckInRepositoryImpl.kt b/data/src/main/java/com/joeloewi/croissant/data/repository/GenshinImpactCheckInRepositoryImpl.kt deleted file mode 100644 index fcee8cae..00000000 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/GenshinImpactCheckInRepositoryImpl.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.data.repository - -import com.joeloewi.croissant.data.repository.remote.GenshinImpactCheckInDataSource -import com.joeloewi.croissant.domain.common.HoYoLABRetCode -import com.joeloewi.croissant.domain.common.exception.HoYoLABUnsuccessfulResponseException -import com.joeloewi.croissant.domain.entity.BaseResponse -import com.joeloewi.croissant.domain.repository.GenshinImpactCheckInRepository -import com.skydoves.sandwich.getOrThrow -import javax.inject.Inject - -class GenshinImpactCheckInRepositoryImpl @Inject constructor( - private val genshinImpactCheckInDataSource: GenshinImpactCheckInDataSource -) : GenshinImpactCheckInRepository { - - override suspend fun attendCheckInGenshinImpact(cookie: String): Result = - genshinImpactCheckInDataSource.runCatching { - attendCheckInGenshinImpact(cookie).getOrThrow().also { response -> - if (HoYoLABRetCode.findByCode(response.retCode) != HoYoLABRetCode.OK) { - throw HoYoLABUnsuccessfulResponseException( - responseMessage = response.message, - retCode = response.retCode - ) - } - } - } -} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/HonkaiImpact3rdCheckInRepositoryImpl.kt b/data/src/main/java/com/joeloewi/croissant/data/repository/HonkaiImpact3rdCheckInRepositoryImpl.kt deleted file mode 100644 index 7358c7f9..00000000 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/HonkaiImpact3rdCheckInRepositoryImpl.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.data.repository - -import com.joeloewi.croissant.data.repository.remote.HonkaiImpact3rdCheckInDataSource -import com.joeloewi.croissant.domain.common.HoYoLABRetCode -import com.joeloewi.croissant.domain.common.exception.HoYoLABUnsuccessfulResponseException -import com.joeloewi.croissant.domain.entity.BaseResponse -import com.joeloewi.croissant.domain.repository.HonkaiImpact3rdCheckInRepository -import com.skydoves.sandwich.getOrThrow -import javax.inject.Inject - -class HonkaiImpact3rdCheckInRepositoryImpl @Inject constructor( - private val honkaiImpact3rdCheckInDataSource: HonkaiImpact3rdCheckInDataSource -) : HonkaiImpact3rdCheckInRepository { - - override suspend fun attendCheckInHonkaiImpact3rd(cookie: String): Result = - honkaiImpact3rdCheckInDataSource.runCatching { - attendCheckInHonkaiImpact3rd(cookie = cookie).getOrThrow().also { response -> - if (HoYoLABRetCode.findByCode(response.retCode) != HoYoLABRetCode.OK) { - throw HoYoLABUnsuccessfulResponseException( - responseMessage = response.message, - retCode = response.retCode - ) - } - } - } -} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/GenshinImpactCheckInDataSource.kt b/data/src/main/java/com/joeloewi/croissant/data/repository/remote/GenshinImpactCheckInDataSource.kt deleted file mode 100644 index a9c30d95..00000000 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/GenshinImpactCheckInDataSource.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.data.repository.remote - -import com.joeloewi.croissant.data.api.model.response.AttendanceResponse -import com.skydoves.sandwich.ApiResponse - -interface GenshinImpactCheckInDataSource { - suspend fun attendCheckInGenshinImpact(cookie: String): ApiResponse -} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/GenshinImpactCheckInDataSourceImpl.kt b/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/GenshinImpactCheckInDataSourceImpl.kt deleted file mode 100644 index df3ece4d..00000000 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/GenshinImpactCheckInDataSourceImpl.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.data.repository.remote.impl - -import com.joeloewi.croissant.data.api.dao.GenshinImpactCheckInService -import com.joeloewi.croissant.data.api.model.response.AttendanceResponse -import com.joeloewi.croissant.data.repository.remote.GenshinImpactCheckInDataSource -import com.skydoves.sandwich.ApiResponse -import javax.inject.Inject - -class GenshinImpactCheckInDataSourceImpl @Inject constructor( - private val genshinImpactCheckInService: GenshinImpactCheckInService, -) : GenshinImpactCheckInDataSource { - override suspend fun attendCheckInGenshinImpact(cookie: String): ApiResponse = - genshinImpactCheckInService.attendCheckInGenshinImpact(cookie = cookie) -} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/HonkaiImpact3rdCheckInDataSourceImpl.kt b/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/HonkaiImpact3rdCheckInDataSourceImpl.kt deleted file mode 100644 index a8f66d32..00000000 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/HonkaiImpact3rdCheckInDataSourceImpl.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.data.repository.remote.impl - -import com.joeloewi.croissant.data.api.dao.HonkaiImpact3rdCheckInService -import com.joeloewi.croissant.data.api.model.response.AttendanceResponse -import com.joeloewi.croissant.data.repository.remote.HonkaiImpact3rdCheckInDataSource -import com.skydoves.sandwich.ApiResponse -import javax.inject.Inject - -class HonkaiImpact3rdCheckInDataSourceImpl @Inject constructor( - private val honkaiImpact3rdCheckInService: HonkaiImpact3rdCheckInService, -) : HonkaiImpact3rdCheckInDataSource { - override suspend fun attendCheckInHonkaiImpact3rd(cookie: String): ApiResponse = - honkaiImpact3rdCheckInService.attendCheckInHonkaiImpact3rd(cookie = cookie) -} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/dao/ArcaLiveAppService.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/ArcaLiveAppService.kt similarity index 93% rename from data/src/main/java/com/joeloewi/croissant/data/api/dao/ArcaLiveAppService.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/ArcaLiveAppService.kt index ba122f87..7bd4c243 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/api/dao/ArcaLiveAppService.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/ArcaLiveAppService.kt @@ -18,6 +18,7 @@ package com.joeloewi.croissant.data.api.dao import com.joeloewi.croissant.data.api.model.response.ArticleResponse import com.skydoves.sandwich.ApiResponse +import retrofit2.Call import retrofit2.http.GET import retrofit2.http.Header import retrofit2.http.Path @@ -25,10 +26,10 @@ import retrofit2.http.Query interface ArcaLiveAppService { @GET("view/article/{slug}/{articleId}") - suspend fun getArticle( + fun getArticle( @Header("User-Agent") userAgent: String = "live.arca.android.playstore/0.8.331-playstore", @Path("slug") slug: String, @Path("articleId") articleId: Long, @Query("viewCount") viewCount: Boolean = false - ): ApiResponse + ): Call> } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/dao/HonkaiImpact3rdCheckInService.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/CheckInService.kt similarity index 59% rename from data/src/main/java/com/joeloewi/croissant/data/api/dao/HonkaiImpact3rdCheckInService.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/CheckInService.kt index 9e14f439..13106310 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/api/dao/HonkaiImpact3rdCheckInService.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/CheckInService.kt @@ -18,16 +18,32 @@ package com.joeloewi.croissant.data.api.dao import com.joeloewi.croissant.data.api.model.response.AttendanceResponse import com.skydoves.sandwich.ApiResponse +import retrofit2.Call import retrofit2.http.Header import retrofit2.http.POST import retrofit2.http.Query -import java.util.* +import java.util.Locale + +interface CheckInService { + + @POST("event/luna/os/sign") + fun attendCommon( + @Query("act_id") actId: String, + @Query("lang") language: String = Locale.getDefault().toLanguageTag().lowercase(), + @Header("Cookie") cookie: String + ): Call> + + @POST("event/sol/sign") + fun attendCheckInGenshinImpact( + @Query("act_id") actId: String = "e202102251931481", + @Query("lang") language: String = Locale.getDefault().toLanguageTag().lowercase(), + @Header("Cookie") cookie: String + ): Call> -interface HonkaiImpact3rdCheckInService { @POST("event/mani/sign") - suspend fun attendCheckInHonkaiImpact3rd( + fun attendCheckInHonkaiImpact3rd( @Query("act_id") actId: String = "e202110291205111", @Query("lang") language: String = Locale.getDefault().toLanguageTag().lowercase(), @Header("Cookie") cookie: String - ): ApiResponse + ): Call> } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/dao/HoYoLABService.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/HoYoLABService.kt similarity index 85% rename from data/src/main/java/com/joeloewi/croissant/data/api/dao/HoYoLABService.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/HoYoLABService.kt index fd88dc17..f95b5899 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/api/dao/HoYoLABService.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/api/dao/HoYoLABService.kt @@ -24,32 +24,33 @@ import com.joeloewi.croissant.data.api.model.response.UserFullInfoResponse import com.joeloewi.croissant.data.common.HeaderInformation import com.joeloewi.croissant.data.common.generateDS import com.skydoves.sandwich.ApiResponse +import retrofit2.Call import retrofit2.http.* interface HoYoLABService { @GET("community/user/wapi/getUserFullInfo") - suspend fun getUserFullInfo(@Header("Cookie") cookie: String): ApiResponse + fun getUserFullInfo(@Header("Cookie") cookie: String): Call> @GET("game_record/card/wapi/getGameRecordCard") - suspend fun getGameRecordCard( + fun getGameRecordCard( @Header("Cookie") cookie: String, @Query("uid") uid: Long - ): ApiResponse + ): Call> @POST("game_record/card/wapi/changeDataSwitch") - suspend fun changeDataSwitch( + fun changeDataSwitch( @Header("Cookie") cookie: String, @Body dataSwitchRequest: DataSwitchRequest - ): ApiResponse + ): Call> @GET("game_record/genshin/api/dailyNote") - suspend fun getGenshinDailyNote( + fun getGenshinDailyNote( @Header("DS") ds: String = generateDS(headerInformation = HeaderInformation.OS), @Header("Cookie") cookie: String, @Header("x-rpc-app_version") xRpcAppVersion: String = HeaderInformation.OS.xRpcAppVersion, @Header("x-rpc-client_type") xRpcClientType: String = HeaderInformation.OS.xRpcClientType, @Query("role_id") roleId: Long, @Query("server") server: String, - ): ApiResponse + ): Call> } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/model/request/DataSwitchRequest.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/model/request/DataSwitchRequest.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/api/model/request/DataSwitchRequest.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/model/request/DataSwitchRequest.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/model/response/ArticleResponse.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/ArticleResponse.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/api/model/response/ArticleResponse.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/ArticleResponse.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/model/response/AttendanceResponse.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/AttendanceResponse.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/api/model/response/AttendanceResponse.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/AttendanceResponse.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/model/response/ChangeDataSwitchResponse.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/ChangeDataSwitchResponse.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/api/model/response/ChangeDataSwitchResponse.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/ChangeDataSwitchResponse.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/model/response/GameRecordCardResponse.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/GameRecordCardResponse.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/api/model/response/GameRecordCardResponse.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/GameRecordCardResponse.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/model/response/GenshinDailyNoteResponse.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/GenshinDailyNoteResponse.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/api/model/response/GenshinDailyNoteResponse.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/GenshinDailyNoteResponse.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/api/model/response/UserFullInfoResponse.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/UserFullInfoResponse.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/api/model/response/UserFullInfoResponse.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/api/model/response/UserFullInfoResponse.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/common/DsGenerator.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/common/DsGenerator.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/common/DsGenerator.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/common/DsGenerator.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/common/GameIntentGenerator.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/common/GameIntentGenerator.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/common/GameIntentGenerator.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/common/GameIntentGenerator.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/common/GenshinImpactServer.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/common/GenshinImpactServer.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/common/GenshinImpactServer.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/common/GenshinImpactServer.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/common/HeaderInformation.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/common/HeaderInformation.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/common/HeaderInformation.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/common/HeaderInformation.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/common/HonkaiImpact3rdServer.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/common/HonkaiImpact3rdServer.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/common/HonkaiImpact3rdServer.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/common/HonkaiImpact3rdServer.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/db/CroissantDatabase.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/CroissantDatabase.kt similarity index 76% rename from data/src/main/java/com/joeloewi/croissant/data/db/CroissantDatabase.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/database/CroissantDatabase.kt index 86cb59ee..8ae64ada 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/db/CroissantDatabase.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/CroissantDatabase.kt @@ -14,17 +14,18 @@ * limitations under the License. */ -package com.joeloewi.croissant.data.db +package com.joeloewi.croissant.data.database import androidx.room.Database import androidx.room.RoomDatabase -import com.joeloewi.croissant.data.db.dao.AccountDao -import com.joeloewi.croissant.data.db.dao.AttendanceDao -import com.joeloewi.croissant.data.db.dao.FailureLogDao -import com.joeloewi.croissant.data.db.dao.GameDao -import com.joeloewi.croissant.data.db.dao.ResinStatusWidgetDao -import com.joeloewi.croissant.data.db.dao.SuccessLogDao -import com.joeloewi.croissant.data.db.dao.WorkerExecutionLogDao +import com.joeloewi.croissant.data.database.dao.AccountDao +import com.joeloewi.croissant.data.database.dao.AttendanceDao +import com.joeloewi.croissant.data.database.dao.FailureLogDao +import com.joeloewi.croissant.data.database.dao.GameDao +import com.joeloewi.croissant.data.database.dao.ResinStatusWidgetDao +import com.joeloewi.croissant.data.database.dao.ResultCountDao +import com.joeloewi.croissant.data.database.dao.SuccessLogDao +import com.joeloewi.croissant.data.database.dao.WorkerExecutionLogDao import com.joeloewi.croissant.data.entity.local.AccountEntity import com.joeloewi.croissant.data.entity.local.AttendanceEntity import com.joeloewi.croissant.data.entity.local.FailureLogEntity @@ -54,6 +55,7 @@ abstract class CroissantDatabase : RoomDatabase() { abstract fun failureLogDao(): FailureLogDao abstract fun resinStatusWidgetDao(): ResinStatusWidgetDao abstract fun accountDao(): AccountDao + abstract fun resultCountDao(): ResultCountDao companion object { const val LATEST_VERSION = 1 diff --git a/data/src/main/java/com/joeloewi/croissant/data/db/dao/AccountDao.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/AccountDao.kt similarity index 95% rename from data/src/main/java/com/joeloewi/croissant/data/db/dao/AccountDao.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/AccountDao.kt index 037786af..d42b9894 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/db/dao/AccountDao.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/AccountDao.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.joeloewi.croissant.data.db.dao +package com.joeloewi.croissant.data.database.dao import androidx.room.Dao import androidx.room.Insert diff --git a/data/src/main/java/com/joeloewi/croissant/data/db/dao/AttendanceDao.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/AttendanceDao.kt similarity index 60% rename from data/src/main/java/com/joeloewi/croissant/data/db/dao/AttendanceDao.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/AttendanceDao.kt index c49bf3e4..9d3626e9 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/db/dao/AttendanceDao.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/AttendanceDao.kt @@ -14,10 +14,16 @@ * limitations under the License. */ -package com.joeloewi.croissant.data.db.dao +package com.joeloewi.croissant.data.database.dao import androidx.paging.PagingSource -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Transaction +import androidx.room.Update import com.joeloewi.croissant.data.entity.local.AttendanceEntity import com.joeloewi.croissant.data.entity.local.relational.AttendanceWithGamesEntity import kotlinx.coroutines.flow.Flow @@ -33,26 +39,62 @@ interface AttendanceDao { @Delete suspend fun delete(vararg attendanceEntities: AttendanceEntity): Int - @Query("SELECT * FROM AttendanceEntity WHERE uid = :uid") + @Query( + """ + SELECT * + FROM AttendanceEntity + WHERE uid = :uid + """ + ) suspend fun getOneByUid(uid: Long): AttendanceEntity @Transaction - @Query("SELECT * FROM AttendanceEntity WHERE id = :id") + @Query( + """ + SELECT * + FROM AttendanceEntity + WHERE id = :id + """ + ) suspend fun getOne(id: Long): AttendanceWithGamesEntity @Transaction - @Query("SELECT * FROM AttendanceEntity WHERE id IN (:ids)") + @Query( + """ + SELECT * + FROM AttendanceEntity + WHERE id IN (:ids) + """ + ) suspend fun getByIds(vararg ids: Long): List @Transaction - @Query("SELECT * FROM AttendanceEntity ORDER BY createdAt DESC") + @Query( + """ + SELECT * + FROM AttendanceEntity + ORDER BY createdAt DESC + """ + ) fun getAllPaged(): PagingSource @Transaction - @Query("SELECT * FROM AttendanceEntity ORDER BY createdAt DESC") + @Query( + """ + SELECT * + FROM AttendanceEntity + ORDER BY createdAt DESC + """ + ) fun getAll(): Flow> @Transaction - @Query("SELECT * FROM AttendanceEntity ORDER BY createdAt DESC") + @Query( + """ + SELECT * + FROM AttendanceEntity + ORDER BY createdAt DESC + """ + ) suspend fun getAllOneShot(): List } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/db/dao/FailureLogDao.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/FailureLogDao.kt similarity index 95% rename from data/src/main/java/com/joeloewi/croissant/data/db/dao/FailureLogDao.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/FailureLogDao.kt index 90907930..d4118ff2 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/db/dao/FailureLogDao.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/FailureLogDao.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.joeloewi.croissant.data.db.dao +package com.joeloewi.croissant.data.database.dao import androidx.room.Dao import androidx.room.Insert diff --git a/data/src/main/java/com/joeloewi/croissant/data/db/dao/GameDao.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/GameDao.kt similarity index 95% rename from data/src/main/java/com/joeloewi/croissant/data/db/dao/GameDao.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/GameDao.kt index baca2718..a1138ccf 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/db/dao/GameDao.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/GameDao.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.joeloewi.croissant.data.db.dao +package com.joeloewi.croissant.data.database.dao import androidx.room.Dao import androidx.room.Delete diff --git a/data/src/main/java/com/joeloewi/croissant/data/db/dao/ResinStatusWidgetDao.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/ResinStatusWidgetDao.kt similarity index 65% rename from data/src/main/java/com/joeloewi/croissant/data/db/dao/ResinStatusWidgetDao.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/ResinStatusWidgetDao.kt index 659b3b70..13b10ff5 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/db/dao/ResinStatusWidgetDao.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/ResinStatusWidgetDao.kt @@ -14,16 +14,27 @@ * limitations under the License. */ -package com.joeloewi.croissant.data.db.dao +package com.joeloewi.croissant.data.database.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Transaction +import androidx.room.Update import com.joeloewi.croissant.data.entity.local.ResinStatusWidgetEntity import com.joeloewi.croissant.data.entity.local.relational.ResinStatusWidgetWithAccountsEntity @Dao interface ResinStatusWidgetDao { - @Query("SELECT * FROM ResinStatusWidgetEntity") + @Query( + """ + SELECT * + FROM ResinStatusWidgetEntity + """ + ) suspend fun getAll(): List @Insert(onConflict = OnConflictStrategy.REPLACE) @@ -36,14 +47,32 @@ interface ResinStatusWidgetDao { suspend fun update(resinStatusWidgetEntity: ResinStatusWidgetEntity): Int @Transaction - @Query("SELECT * FROM ResinStatusWidgetEntity WHERE id = :id") + @Query( + """ + SELECT * + FROM ResinStatusWidgetEntity + WHERE id = :id + """ + ) suspend fun getOne(id: Long): ResinStatusWidgetWithAccountsEntity @Transaction - @Query("DELETE FROM ResinStatusWidgetEntity WHERE appWidgetId IN (:appWidgetIds)") + @Query( + """ + DELETE + FROM ResinStatusWidgetEntity + WHERE appWidgetId IN (:appWidgetIds) + """ + ) suspend fun deleteByAppWidgetId(vararg appWidgetIds: Int): Int @Transaction - @Query("SELECT * FROM ResinStatusWidgetEntity WHERE appWidgetId = :appWidgetId") + @Query( + """ + SELECT * + FROM ResinStatusWidgetEntity + WHERE appWidgetId = :appWidgetId + """ + ) suspend fun getOneByAppWidgetId(appWidgetId: Int): ResinStatusWidgetWithAccountsEntity } \ No newline at end of file diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/ResultCountDao.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/ResultCountDao.kt new file mode 100644 index 00000000..f0da7a15 --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/ResultCountDao.kt @@ -0,0 +1,21 @@ +package com.joeloewi.croissant.data.database.dao + +import androidx.room.Dao +import androidx.room.RawQuery +import androidx.sqlite.db.SupportSQLiteQuery +import com.joeloewi.croissant.data.entity.local.WorkerExecutionLogEntity +import com.joeloewi.croissant.domain.entity.ResultCount +import kotlinx.coroutines.flow.Flow + +@Dao +interface ResultCountDao { + + @RawQuery( + observedEntities = [ + WorkerExecutionLogEntity::class + ] + ) + fun getAll( + query: SupportSQLiteQuery + ): Flow> +} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/db/dao/SuccessLogDao.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/SuccessLogDao.kt similarity index 95% rename from data/src/main/java/com/joeloewi/croissant/data/db/dao/SuccessLogDao.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/SuccessLogDao.kt index bcec8d19..eb792a39 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/db/dao/SuccessLogDao.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/SuccessLogDao.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.joeloewi.croissant.data.db.dao +package com.joeloewi.croissant.data.database.dao import androidx.room.Dao import androidx.room.Insert diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/WorkerExecutionLogDao.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/WorkerExecutionLogDao.kt new file mode 100644 index 00000000..89e40e9e --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/database/dao/WorkerExecutionLogDao.kt @@ -0,0 +1,143 @@ +/* + * Copyright 2023. joeloewi + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.joeloewi.croissant.data.database.dao + +import androidx.paging.PagingSource +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Transaction +import com.joeloewi.croissant.data.entity.local.WorkerExecutionLogEntity +import com.joeloewi.croissant.data.entity.local.relational.WorkerExecutionLogWithStateEntity +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.common.WorkerExecutionLogState +import kotlinx.coroutines.flow.Flow + +@Dao +interface WorkerExecutionLogDao { + + @Insert(onConflict = OnConflictStrategy.REPLACE) + suspend fun insert(workerExecutionLogEntity: WorkerExecutionLogEntity): Long + + @Delete + suspend fun delete(vararg workerExecutionLogEntities: WorkerExecutionLogEntity): Int + + @Transaction + @Query( + """ + DELETE + FROM WorkerExecutionLogEntity + WHERE + attendanceId = :attendanceId + AND loggableWorker = :loggableWorker + """ + ) + suspend fun deleteAll( + attendanceId: Long, + loggableWorker: LoggableWorker + ): Int + + @Transaction + @Query( + """ + SELECT * + FROM WorkerExecutionLogEntity + WHERE + attendanceId = :attendanceId + AND loggableWorker = :loggableWorker + AND DATE(createdAt / 1000, 'unixepoch', 'localtime') = :localDate + ORDER BY createdAt DESC + """ + ) + fun getByDatePaged( + attendanceId: Long, + loggableWorker: LoggableWorker, + localDate: String, + ): PagingSource + + @Transaction + @Query( + """ + SELECT COUNT(*) + FROM WorkerExecutionLogEntity + WHERE + attendanceId = :attendanceId + AND loggableWorker = :loggableWorker + AND state = :state + AND DATE(createdAt / 1000, 'unixepoch', 'localtime') = :localDate + """ + ) + fun getCountByStateAndDate( + attendanceId: Long, + loggableWorker: LoggableWorker, + state: WorkerExecutionLogState, + localDate: String, + ): Flow + + @Transaction + @Query( + """ + SELECT COUNT(*) + FROM WorkerExecutionLogEntity + WHERE + attendanceId = :attendanceId + AND loggableWorker = :loggableWorker + AND state = :state + """ + ) + fun getCountByState( + attendanceId: Long, + loggableWorker: LoggableWorker, + state: WorkerExecutionLogState + ): Flow + + @Transaction + @Query( + """ + SELECT( + MIN( + IFNULL( + MIN(createdAt), + CAST (ROUND((julianday('now', 'localtime', 'start of month', 'start of day', 'utc') - 2440587.5) * 86400.0 * 1000) AS INTEGER) + ), + CAST (ROUND((julianday('now', 'localtime', 'start of month', 'start of day', 'utc') - 2440587.5) * 86400.0 * 1000) AS INTEGER) + ) + ) + FROM WorkerExecutionLogEntity + """ + ) + fun getStartOfRange(): Flow + + @Transaction + @Query( + """ + SELECT( + MAX( + IFNULL( + MAX(createdAt), + CAST (ROUND((julianday('now', 'localtime', '+1 month', 'start of month', 'start of day', '-0.001 second', 'utc') - 2440587.5) * 86400.0 * 1000) AS INTEGER) + ), + CAST (ROUND((julianday('now', 'localtime', '+1 month', 'start of month', 'start of day', '-0.001 second', 'utc') - 2440587.5) * 86400.0 * 1000) AS INTEGER) + ) + ) + FROM WorkerExecutionLogEntity + """ + ) + fun getEndOfRange(): Flow +} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/datastore/DataStores.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/datastore/DataStores.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/datastore/DataStores.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/datastore/DataStores.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/datastore/SettingsSerializer.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/datastore/SettingsSerializer.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/datastore/SettingsSerializer.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/datastore/SettingsSerializer.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/di/ApiModule.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/ApiModule.kt similarity index 53% rename from data/src/main/java/com/joeloewi/croissant/data/di/ApiModule.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/di/ApiModule.kt index ea7b9fb4..2b2ce5fe 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/di/ApiModule.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/ApiModule.kt @@ -16,10 +16,11 @@ package com.joeloewi.croissant.data.di +import com.joeloewi.croissant.data.BuildConfig import com.joeloewi.croissant.data.api.dao.* import com.joeloewi.croissant.data.api.model.response.* import com.joeloewi.croissant.domain.entity.BaseResponse -import com.skydoves.sandwich.adapters.ApiResponseCallAdapterFactory +import com.skydoves.sandwich.retrofit.adapters.ApiResponseCallAdapterFactory import com.squareup.moshi.Moshi import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory import dagger.Module @@ -27,10 +28,17 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.converter.moshi.MoshiConverterFactory import retrofit2.converter.scalars.ScalarsConverterFactory import retrofit2.create +import java.io.IOException +import java.net.Proxy +import java.net.ProxySelector +import java.net.SocketAddress +import java.net.URI +import java.util.concurrent.Executor import java.util.concurrent.TimeUnit import javax.inject.Singleton @@ -38,55 +46,67 @@ import javax.inject.Singleton @InstallIn(SingletonComponent::class) object ApiModule { - @Singleton - @Provides - fun providePolymorphicJsonAdapterFactory(): PolymorphicJsonAdapterFactory = - PolymorphicJsonAdapterFactory.of( - BaseResponse::class.java, - "type" - ).withSubtype( - UserFullInfoResponse::class.java, - "userFullInfoResponse" - ).withSubtype( - GameRecordCardResponse::class.java, - "gameRecordCardResponse" - ).withSubtype( - AttendanceResponse::class.java, - "attendanceResponse" - ).withSubtype( - GenshinDailyNoteResponse::class.java, - "genshinDailyNoteResponse" - ).withSubtype( - ChangeDataSwitchResponse::class.java, - "changeDataSwitchResponse" - ) - - @Singleton - @Provides - fun provideMoshi( - polymorphicJsonAdapterFactory: PolymorphicJsonAdapterFactory - ): Moshi = Moshi.Builder() - .add(polymorphicJsonAdapterFactory) - .build() - @Singleton @Provides fun provideOkHttpClient(): OkHttpClient = OkHttpClient.Builder() .connectTimeout(1, TimeUnit.MINUTES) .readTimeout(1, TimeUnit.MINUTES) .writeTimeout(1, TimeUnit.MINUTES) + .proxySelector(object : ProxySelector() { + override fun select(p0: URI?): MutableList = runCatching { + getDefault().select(p0) + }.getOrNull() ?: mutableListOf(Proxy.NO_PROXY) + + override fun connectFailed(p0: URI?, p1: SocketAddress?, p2: IOException?) { + getDefault().connectFailed(p0, p1, p2) + } + }) + .run { + if (BuildConfig.DEBUG) { + addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)) + } else { + this + } + } .build() @Singleton @Provides fun provideRetrofitBuilder( - okHttpClient: OkHttpClient, - moshi: Moshi + @IoDispatcherExecutor executor: Executor, + okHttpClient: OkHttpClient ): Retrofit.Builder = Retrofit.Builder() .client(okHttpClient) .addConverterFactory(ScalarsConverterFactory.create()) .addCallAdapterFactory(ApiResponseCallAdapterFactory.create()) - .addConverterFactory(MoshiConverterFactory.create(moshi)) + .callbackExecutor(executor) + .addConverterFactory( + MoshiConverterFactory.create( + Moshi.Builder() + .add( + PolymorphicJsonAdapterFactory.of( + BaseResponse::class.java, + "type" + ).withSubtype( + UserFullInfoResponse::class.java, + "userFullInfoResponse" + ).withSubtype( + GameRecordCardResponse::class.java, + "gameRecordCardResponse" + ).withSubtype( + AttendanceResponse::class.java, + "attendanceResponse" + ).withSubtype( + GenshinDailyNoteResponse::class.java, + "genshinDailyNoteResponse" + ).withSubtype( + ChangeDataSwitchResponse::class.java, + "changeDataSwitchResponse" + ) + ) + .build() + ) + ) .validateEagerly(true) @Singleton @@ -99,23 +119,7 @@ object ApiModule { @Singleton @Provides - fun provideGenshinImpactCheckInService(retrofitBuilder: Retrofit.Builder): GenshinImpactCheckInService = - retrofitBuilder - .baseUrl("https://hk4e-api-os.mihoyo.com/") - .build() - .create() - - @Singleton - @Provides - fun provideHonkaiImpact3rdCheckInService(retrofitBuilder: Retrofit.Builder): HonkaiImpact3rdCheckInService = - retrofitBuilder - .baseUrl("https://api-os-takumi.mihoyo.com/") - .build() - .create() - - @Singleton - @Provides - fun provideCommonCheckInService(retrofitBuilder: Retrofit.Builder): CommonCheckInService = + fun provideCommonCheckInService(retrofitBuilder: Retrofit.Builder): CheckInService = retrofitBuilder .baseUrl("https://sg-public-api.hoyolab.com/") .build() diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineDispatcherExecutorsModule.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineDispatcherExecutorsModule.kt new file mode 100644 index 00000000..de050503 --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineDispatcherExecutorsModule.kt @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2023. Mobidays + * DO NOT LEAK OUTSIDE + */ + +package com.joeloewi.croissant.data.di + +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.asExecutor +import java.util.concurrent.Executor +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +object CoroutineDispatcherExecutorsModule { + + @Singleton + @DefaultDispatcherExecutor + @Provides + fun providesDefaultDispatcherExecutor( + @DefaultDispatcher coroutineDispatcher: CoroutineDispatcher + ): Executor = coroutineDispatcher.asExecutor() + + @Singleton + @IoDispatcherExecutor + @Provides + fun providesIoDispatcherExecutor( + @IoDispatcher coroutineDispatcher: CoroutineDispatcher + ): Executor = coroutineDispatcher.asExecutor() + + @Singleton + @MainDispatcherExecutor + @Provides + fun providesMainDispatcherExecutor( + @MainDispatcher coroutineDispatcher: CoroutineDispatcher + ): Executor = coroutineDispatcher.asExecutor() + + @Singleton + @MainImmediateDispatcherExecutor + @Provides + fun providesMainImmediateDispatcherExecutor( + @MainImmediateDispatcher coroutineDispatcher: CoroutineDispatcher + ): Executor = coroutineDispatcher.asExecutor() +} \ No newline at end of file diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineDispatchersModule.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineDispatchersModule.kt new file mode 100644 index 00000000..851213a2 --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineDispatchersModule.kt @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2023. Mobidays + * DO NOT LEAK OUTSIDE + */ + +package com.joeloewi.croissant.data.di + +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers + +@Module +@InstallIn(SingletonComponent::class) +object CoroutineDispatchersModule { + + @DefaultDispatcher + @Provides + fun providesDefaultDispatcher(): CoroutineDispatcher = Dispatchers.Default + + @IoDispatcher + @Provides + fun providesIoDispatcher(): CoroutineDispatcher = Dispatchers.IO + + @MainDispatcher + @Provides + fun providesMainDispatcher(): CoroutineDispatcher = Dispatchers.Main + + @MainImmediateDispatcher + @Provides + fun providesMainImmediateDispatcher(): CoroutineDispatcher = Dispatchers.Main.immediate +} \ No newline at end of file diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineQualifiers.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineQualifiers.kt new file mode 100644 index 00000000..7088cf67 --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/CoroutineQualifiers.kt @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2023. Mobidays + * DO NOT LEAK OUTSIDE + */ + +package com.joeloewi.croissant.data.di + +import javax.inject.Qualifier + +/** + * Dispatchers + */ +@Retention(AnnotationRetention.RUNTIME) +@Qualifier +annotation class DefaultDispatcher + +@Retention(AnnotationRetention.RUNTIME) +@Qualifier +annotation class IoDispatcher + +@Retention(AnnotationRetention.RUNTIME) +@Qualifier +annotation class MainDispatcher + +@Retention(AnnotationRetention.BINARY) +@Qualifier +annotation class MainImmediateDispatcher + +/** + * Executors + */ + +@Retention(AnnotationRetention.RUNTIME) +@Qualifier +annotation class DefaultDispatcherExecutor + +@Retention(AnnotationRetention.RUNTIME) +@Qualifier +annotation class IoDispatcherExecutor + +@Retention(AnnotationRetention.RUNTIME) +@Qualifier +annotation class MainDispatcherExecutor + +@Retention(AnnotationRetention.BINARY) +@Qualifier +annotation class MainImmediateDispatcherExecutor \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/di/DataSourceModule.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/DataSourceModule.kt similarity index 80% rename from data/src/main/java/com/joeloewi/croissant/data/di/DataSourceModule.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/di/DataSourceModule.kt index 4157a36f..339294c6 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/di/DataSourceModule.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/DataSourceModule.kt @@ -20,65 +20,53 @@ import com.joeloewi.croissant.data.repository.local.* import com.joeloewi.croissant.data.repository.local.impl.* import com.joeloewi.croissant.data.repository.remote.* import com.joeloewi.croissant.data.repository.remote.impl.* +import com.joeloewi.croissant.data.repository.system.SystemDataSource +import com.joeloewi.croissant.data.repository.system.impl.SystemDataSourceImpl import dagger.Binds import dagger.Module import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) interface DataSourceModule { @Binds - @Singleton fun bindAccountDataSource(accountDataSourceImpl: AccountDataSourceImpl): AccountDataSource @Binds - @Singleton fun bindAttendanceDataSource(attendanceDataSourceImpl: AttendanceDataSourceImpl): AttendanceDataSource @Binds - @Singleton fun bindFailureLogDataSource(failureLogDataSourceImpl: FailureLogDataSourceImpl): FailureLogDataSource @Binds - @Singleton fun bindGameDataSource(gameDataSourceImpl: GameDataSourceImpl): GameDataSource @Binds - @Singleton fun bindResinStatusWidgetDataSource(resinStatusWidgetDataSourceImpl: ResinStatusWidgetDataSourceImpl): ResinStatusWidgetDataSource @Binds - @Singleton fun bindSuccessLogDataSource(successLogDataSourceImpl: SuccessLogDataSourceImpl): SuccessLogDataSource @Binds - @Singleton fun bindWorkerExecutionLogDataSource(workerExecutionLogDataSourceImpl: WorkerExecutionLogDataSourceImpl): WorkerExecutionLogDataSource @Binds - @Singleton - fun bindSettingsDataSource(settingsDataSourceImpl: SettingsDataSourceImpl): SettingsDataSource + fun bindResultCountDataSource(resultCountDataSourceImpl: ResultCountDataSourceImpl): ResultCountDataSource @Binds - @Singleton - fun bindHoYoLABDataSource(hoYoLABDataSourceImpl: HoYoLABDataSourceImpl): HoYoLABDataSource + fun bindSettingsDataSource(settingsDataSourceImpl: SettingsDataSourceImpl): SettingsDataSource @Binds - @Singleton - fun bindGenshinImpactCheckInDataSource(genshinImpactCheckInDataSourceImpl: GenshinImpactCheckInDataSourceImpl): GenshinImpactCheckInDataSource + fun bindHoYoLABDataSource(hoYoLABDataSourceImpl: HoYoLABDataSourceImpl): HoYoLABDataSource @Binds - @Singleton - fun bindHonkaiImpact3rdCheckInDataSource(honkaiImpact3rdCheckInDataSourceImpl: HonkaiImpact3rdCheckInDataSourceImpl): HonkaiImpact3rdCheckInDataSource + fun bindCommonCheckInDataSource(commonCheckInDataSourceImpl: CheckInDataSourceImpl): CheckInDataSource @Binds - @Singleton - fun bindCommonCheckInDataSource(commonCheckInDataSourceImpl: CommonCheckInDataSourceImpl): CommonCheckInDataSource + fun bindArcaLiveAppDataSource(arcaLiveAppAppDataSourceImpl: ArcaLiveAppDataSourceImpl): ArcaLiveAppDataSource @Binds - @Singleton - fun bindArcaLiveAppDataSource(arcaLiveAppAppDataSourceImpl: ArcaLiveAppDataSourceImpl): ArcaLiveAppDataSource + fun bindSystemDataSource(systemDataSourceImpl: SystemDataSourceImpl): SystemDataSource } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/di/DataBaseModule.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/DatabaseModule.kt similarity index 72% rename from data/src/main/java/com/joeloewi/croissant/data/di/DataBaseModule.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/di/DatabaseModule.kt index 1a67141f..48710431 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/di/DataBaseModule.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/DatabaseModule.kt @@ -16,60 +16,66 @@ package com.joeloewi.croissant.data.di -import android.app.Application +import android.content.Context import androidx.room.Room -import com.joeloewi.croissant.data.db.CroissantDatabase -import com.joeloewi.croissant.data.db.dao.* +import com.joeloewi.croissant.data.database.CroissantDatabase +import com.joeloewi.croissant.data.database.dao.* import dagger.Module import dagger.Provides import dagger.hilt.InstallIn +import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent +import java.util.concurrent.Executor import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) -object DataBaseModule { +object DatabaseModule { - @Provides @Singleton - fun provideCroissantDataBase(application: Application): CroissantDatabase = + @Provides + fun provideCroissantDatabase( + @IoDispatcherExecutor ioDispatcherExecutor: Executor, + @ApplicationContext context: Context + ): CroissantDatabase = Room.databaseBuilder( - application, + context, CroissantDatabase::class.java, "croissant" - ).build() + ) + .setQueryExecutor(ioDispatcherExecutor) + .setTransactionExecutor(ioDispatcherExecutor) + .enableMultiInstanceInvalidation() + .build() @Provides - @Singleton fun provideAccountDao(croissantDatabase: CroissantDatabase): AccountDao = croissantDatabase.accountDao() @Provides - @Singleton fun provideAttendanceDao(croissantDatabase: CroissantDatabase): AttendanceDao = croissantDatabase.attendanceDao() @Provides - @Singleton fun provideFailureLogDao(croissantDatabase: CroissantDatabase): FailureLogDao = croissantDatabase.failureLogDao() @Provides - @Singleton fun provideGameDao(croissantDatabase: CroissantDatabase): GameDao = croissantDatabase.gameDao() @Provides - @Singleton fun provideResinStatusWidgetDao(croissantDatabase: CroissantDatabase): ResinStatusWidgetDao = croissantDatabase.resinStatusWidgetDao() @Provides - @Singleton fun provideSuccessLogDao(croissantDatabase: CroissantDatabase): SuccessLogDao = croissantDatabase.successLogDao() @Provides - @Singleton fun provideWorkerExecutionLogDao(croissantDatabase: CroissantDatabase): WorkerExecutionLogDao = croissantDatabase.workerExecutionLogDao() + + @Provides + fun provideResultCountDao(croissantDatabase: CroissantDatabase): ResultCountDao = + croissantDatabase.resultCountDao() } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/di/MapperModule.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/MapperModule.kt similarity index 92% rename from data/src/main/java/com/joeloewi/croissant/data/di/MapperModule.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/di/MapperModule.kt index 1752ced9..d9ddc55b 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/di/MapperModule.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/MapperModule.kt @@ -21,40 +21,32 @@ import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) object MapperModule { - @Singleton @Provides fun provideAccountMapper(): AccountMapper = AccountMapper() - @Singleton @Provides fun provideAttendanceMapper(): AttendanceMapper = AttendanceMapper() - @Singleton @Provides fun provideGameMapper(): GameMapper = GameMapper() - @Singleton @Provides fun provideFailureLogMapper(): FailureLogMapper = FailureLogMapper() - @Singleton @Provides fun provideAttendanceWithGamesMapper( attendanceMapper: AttendanceMapper, gameMapper: GameMapper ): AttendanceWithGamesMapper = AttendanceWithGamesMapper(attendanceMapper, gameMapper) - @Singleton @Provides fun provideResinStatusWidgetMapper(): ResinStatusWidgetMapper = ResinStatusWidgetMapper() - @Singleton @Provides fun provideResinStatusWidgetWithAccountsMapper( resinStatusWidgetMapper: ResinStatusWidgetMapper, @@ -62,19 +54,15 @@ object MapperModule { ): ResinStatusWithAccountsMapper = ResinStatusWithAccountsMapper(resinStatusWidgetMapper, accountMapper) - @Singleton @Provides fun provideSettingsMapper(): SettingsMapper = SettingsMapper() - @Singleton @Provides fun provideSuccessLogMapper(): SuccessLogMapper = SuccessLogMapper() - @Singleton @Provides fun provideWorkerExecutionMapper(): WorkerExecutionLogMapper = WorkerExecutionLogMapper() - @Singleton @Provides fun provideWorkerExecutionWithState( workerExecutionLogMapper: WorkerExecutionLogMapper, @@ -86,39 +74,32 @@ object MapperModule { failureLogMapper ) - @Singleton @Provides fun provideUserInfoMapper(): UserInfoMapper = UserInfoMapper() - @Singleton @Provides fun provideUserFullInfoDataMapper( userInfoMapper: UserInfoMapper ): UserFullInfoDataMapper = UserFullInfoDataMapper(userInfoMapper) - @Singleton @Provides fun provideUserFullInfoMapper( userFullInfoDataMapper: UserFullInfoDataMapper ): UserFullInfoMapper = UserFullInfoMapper(userFullInfoDataMapper) - @Singleton @Provides fun provideDataSwitchMapper(): DataSwitchMapper = DataSwitchMapper() - @Singleton @Provides fun provideGameRecordMapper( dataSwitchMapper: DataSwitchMapper ): GameRecordMapper = GameRecordMapper(dataSwitchMapper) - @Singleton @Provides fun provideGameRecordCardDataMapper( gameRecordMapper: GameRecordMapper ): GameRecordCardDataMapper = GameRecordCardDataMapper(gameRecordMapper) - @Singleton @Provides fun provideGenshinDailyNoteDataMapper(): GenshinDailyNoteDataMapper = GenshinDailyNoteDataMapper() diff --git a/data/src/main/java/com/joeloewi/croissant/data/di/RepositoryModule.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/RepositoryModule.kt similarity index 77% rename from data/src/main/java/com/joeloewi/croissant/data/di/RepositoryModule.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/di/RepositoryModule.kt index 9bbc44c8..e4b59947 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/di/RepositoryModule.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/RepositoryModule.kt @@ -22,61 +22,47 @@ import dagger.Binds import dagger.Module import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) interface RepositoryModule { @Binds - @Singleton fun bindAccountRepository(accountRepositoryImpl: AccountRepositoryImpl): AccountRepository @Binds - @Singleton fun bindAttendanceRepository(attendanceRepositoryImpl: AttendanceRepositoryImpl): AttendanceRepository @Binds - @Singleton fun bindFailureLogRepository(failureLogRepositoryImpl: FailureLogRepositoryImpl): FailureLogRepository @Binds - @Singleton fun bindGameRepository(gameRepositoryImpl: GameRepositoryImpl): GameRepository @Binds - @Singleton fun bindResinStatusRepository(resinStatusWidgetRepositoryImpl: ResinStatusWidgetRepositoryImpl): ResinStatusWidgetRepository @Binds - @Singleton fun bindSuccessLogRepository(successLogRepositoryImpl: SuccessLogRepositoryImpl): SuccessLogRepository @Binds - @Singleton fun bindWorkerExecutionLogRepository(workerExecutionLogRepositoryImpl: WorkerExecutionLogRepositoryImpl): WorkerExecutionLogRepository @Binds - @Singleton - fun bindSettingsRepository(settingsRepositoryImpl: SettingsRepositoryImpl): SettingsRepository + fun bindResultCountRepository(resultCountRepositoryImpl: ResultCountRepositoryImpl): ResultCountRepository @Binds - @Singleton - fun bindHoYoLABRepository(hoYoLABRepositoryImpl: HoYoLABRepositoryImpl): HoYoLABRepository + fun bindSettingsRepository(settingsRepositoryImpl: SettingsRepositoryImpl): SettingsRepository @Binds - @Singleton - fun bindGenshinImpactCheckInRepository(genshinImpactCheckInRepositoryImpl: GenshinImpactCheckInRepositoryImpl): GenshinImpactCheckInRepository + fun bindHoYoLABRepository(hoYoLABRepositoryImpl: HoYoLABRepositoryImpl): HoYoLABRepository @Binds - @Singleton - fun bindHonkaiImpact3rdCheckInRepository(honkaiImpact3rdCheckInRepositoryImpl: HonkaiImpact3rdCheckInRepositoryImpl): HonkaiImpact3rdCheckInRepository + fun bindCommonCheckInRepository(checkInRepositoryImpl: CheckInRepositoryImpl): CheckInRepository @Binds - @Singleton - fun bindCommonCheckInRepository(commonCheckInRepositoryImpl: CommonCheckInRepositoryImpl): CommonCheckInRepository + fun bindArcaLiveAppRepository(arcaLiveAppRepositoryImpl: ArcaLiveAppRepositoryImpl): ArcaLiveAppRepository @Binds - @Singleton - fun bindArcaLiveAppRepository(arcaLiveAppRepositoryImpl: ArcaLiveAppRepositoryImpl): ArcaLiveAppRepository + fun bindSystemRepository(systemRepositoryImpl: SystemRepositoryImpl): SystemRepository } \ No newline at end of file diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/di/SystemModule.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/di/SystemModule.kt new file mode 100644 index 00000000..82a3b97f --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/di/SystemModule.kt @@ -0,0 +1,53 @@ +package com.joeloewi.croissant.data.di + +import android.app.AlarmManager +import android.app.AppOpsManager +import android.content.Context +import android.os.Handler +import android.os.HandlerThread +import android.os.PowerManager +import android.os.Process +import androidx.core.content.getSystemService +import androidx.core.os.HandlerCompat +import com.joeloewi.croissant.data.system.RootChecker +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.qualifiers.ApplicationContext +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +object SystemModule { + @Singleton + @Provides + fun provideApplicationHandler(): Handler = + HandlerThread("ApplicationHandlerThread", Process.THREAD_PRIORITY_DEFAULT).apply { + isDaemon = true + start() + }.let { + HandlerCompat.createAsync(it.looper) + } + + @Provides + fun provideAppOpsManager( + @ApplicationContext context: Context + ): AppOpsManager = context.getSystemService()!! + + @Provides + fun provideAlarmManager( + @ApplicationContext context: Context + ): AlarmManager = context.getSystemService()!! + + @Provides + fun providePowerManager( + @ApplicationContext context: Context + ): PowerManager = context.getSystemService()!! + + @Singleton + @Provides + fun provideRootChecker( + @ApplicationContext context: Context + ): RootChecker = RootChecker(context) +} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/AccountEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/AccountEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/AccountEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/AccountEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/AttendanceEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/AttendanceEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/AttendanceEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/AttendanceEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/FailureLogEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/FailureLogEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/FailureLogEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/FailureLogEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/GameEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/GameEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/GameEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/GameEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/ResinStatusWidgetEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/ResinStatusWidgetEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/ResinStatusWidgetEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/ResinStatusWidgetEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/SuccessLogEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/SuccessLogEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/SuccessLogEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/SuccessLogEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/WorkerExecutionLogEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/WorkerExecutionLogEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/WorkerExecutionLogEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/WorkerExecutionLogEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/relational/AttendanceWithGamesEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/relational/AttendanceWithGamesEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/relational/AttendanceWithGamesEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/relational/AttendanceWithGamesEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/relational/ResinStatusWidgetWithAccountsEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/relational/ResinStatusWidgetWithAccountsEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/relational/ResinStatusWidgetWithAccountsEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/relational/ResinStatusWidgetWithAccountsEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/local/relational/WorkerExecutionLogWithStateEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/relational/WorkerExecutionLogWithStateEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/local/relational/WorkerExecutionLogWithStateEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/local/relational/WorkerExecutionLogWithStateEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/remote/DataSwitchEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/DataSwitchEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/remote/DataSwitchEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/DataSwitchEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/remote/GameRecordCardDataEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/GameRecordCardDataEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/remote/GameRecordCardDataEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/GameRecordCardDataEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/remote/GameRecordEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/GameRecordEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/remote/GameRecordEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/GameRecordEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/remote/GenshinDailyNoteDataEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/GenshinDailyNoteDataEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/remote/GenshinDailyNoteDataEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/GenshinDailyNoteDataEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/remote/UserFullInfoDataEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/UserFullInfoDataEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/remote/UserFullInfoDataEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/UserFullInfoDataEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/entity/remote/UserInfoEntity.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/UserInfoEntity.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/entity/remote/UserInfoEntity.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/entity/remote/UserInfoEntity.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/AccountMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/AccountMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/AccountMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/AccountMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/AttendanceMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/AttendanceMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/AttendanceMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/AttendanceMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/AttendanceWithGamesMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/AttendanceWithGamesMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/AttendanceWithGamesMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/AttendanceWithGamesMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/DataSwitchMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/DataSwitchMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/DataSwitchMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/DataSwitchMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/FailureLogMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/FailureLogMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/FailureLogMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/FailureLogMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/GameMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/GameMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/GameMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/GameMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/GameRecordCardDataMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/GameRecordCardDataMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/GameRecordCardDataMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/GameRecordCardDataMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/GameRecordMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/GameRecordMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/GameRecordMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/GameRecordMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/GenshinDailyNoteDataMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/GenshinDailyNoteDataMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/GenshinDailyNoteDataMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/GenshinDailyNoteDataMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/ResinStatusWidgetMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/ResinStatusWidgetMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/ResinStatusWidgetMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/ResinStatusWidgetMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/ResinStatusWithAccountsMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/ResinStatusWithAccountsMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/ResinStatusWithAccountsMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/ResinStatusWithAccountsMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/SettingsMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/SettingsMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/SettingsMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/SettingsMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/SuccessLogMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/SuccessLogMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/SuccessLogMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/SuccessLogMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/UserFullInfoDataMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/UserFullInfoDataMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/UserFullInfoDataMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/UserFullInfoDataMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/UserFullInfoMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/UserFullInfoMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/UserFullInfoMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/UserFullInfoMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/UserInfoMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/UserInfoMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/UserInfoMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/UserInfoMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/WorkerExecutionLogMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/WorkerExecutionLogMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/WorkerExecutionLogMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/WorkerExecutionLogMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/WorkerExecutionLogWithStateMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/WorkerExecutionLogWithStateMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/WorkerExecutionLogWithStateMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/WorkerExecutionLogWithStateMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/base/Mapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/base/Mapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/base/Mapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/base/Mapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/mapper/base/ReadOnlyMapper.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/mapper/base/ReadOnlyMapper.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/mapper/base/ReadOnlyMapper.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/mapper/base/ReadOnlyMapper.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/AccountRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/AccountRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/AccountRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/AccountRepositoryImpl.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/ArcaLiveAppRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/ArcaLiveAppRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/ArcaLiveAppRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/ArcaLiveAppRepositoryImpl.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/AttendanceRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/AttendanceRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/AttendanceRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/AttendanceRepositoryImpl.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/CommonCheckInRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/CheckInRepositoryImpl.kt similarity index 51% rename from data/src/main/java/com/joeloewi/croissant/data/repository/CommonCheckInRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/CheckInRepositoryImpl.kt index 5ef265bd..62dbd57a 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/CommonCheckInRepositoryImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/CheckInRepositoryImpl.kt @@ -16,20 +16,20 @@ package com.joeloewi.croissant.data.repository -import com.joeloewi.croissant.data.repository.remote.CommonCheckInDataSource +import com.joeloewi.croissant.data.repository.remote.CheckInDataSource import com.joeloewi.croissant.domain.common.HoYoLABRetCode import com.joeloewi.croissant.domain.common.exception.HoYoLABUnsuccessfulResponseException import com.joeloewi.croissant.domain.entity.BaseResponse -import com.joeloewi.croissant.domain.repository.CommonCheckInRepository +import com.joeloewi.croissant.domain.repository.CheckInRepository import com.skydoves.sandwich.getOrThrow import javax.inject.Inject -class CommonCheckInRepositoryImpl @Inject constructor( - private val commonCheckInDataSource: CommonCheckInDataSource -): CommonCheckInRepository { +class CheckInRepositoryImpl @Inject constructor( + private val checkInDataSource: CheckInDataSource +) : CheckInRepository { override suspend fun attend(actId: String, cookie: String): Result = - commonCheckInDataSource.runCatching { + checkInDataSource.runCatching { attend(actId, cookie).getOrThrow().also { response -> if (HoYoLABRetCode.findByCode(response.retCode) != HoYoLABRetCode.OK) { throw HoYoLABUnsuccessfulResponseException( @@ -39,4 +39,30 @@ class CommonCheckInRepositoryImpl @Inject constructor( } } } + + override suspend fun attendCheckInGenshinImpact( + cookie: String + ): Result = checkInDataSource.runCatching { + attendCheckInGenshinImpact(cookie).getOrThrow().also { response -> + if (HoYoLABRetCode.findByCode(response.retCode) != HoYoLABRetCode.OK) { + throw HoYoLABUnsuccessfulResponseException( + responseMessage = response.message, + retCode = response.retCode + ) + } + } + } + + override suspend fun attendCheckInHonkaiImpact3rd( + cookie: String + ): Result = checkInDataSource.runCatching { + attendCheckInHonkaiImpact3rd(cookie).getOrThrow().also { response -> + if (HoYoLABRetCode.findByCode(response.retCode) != HoYoLABRetCode.OK) { + throw HoYoLABUnsuccessfulResponseException( + responseMessage = response.message, + retCode = response.retCode + ) + } + } + } } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/FailureLogRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/FailureLogRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/FailureLogRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/FailureLogRepositoryImpl.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/GameRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/GameRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/GameRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/GameRepositoryImpl.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/HoYoLABRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/HoYoLABRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/HoYoLABRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/HoYoLABRepositoryImpl.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/ResinStatusWidgetRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/ResinStatusWidgetRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/ResinStatusWidgetRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/ResinStatusWidgetRepositoryImpl.kt diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/repository/ResultCountRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/ResultCountRepositoryImpl.kt new file mode 100644 index 00000000..d4ede906 --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/ResultCountRepositoryImpl.kt @@ -0,0 +1,16 @@ +package com.joeloewi.croissant.data.repository + +import com.joeloewi.croissant.data.repository.local.ResultCountDataSource +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.entity.ResultCount +import com.joeloewi.croissant.domain.repository.ResultCountRepository +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject + +class ResultCountRepositoryImpl @Inject constructor( + private val resultCountDataSource: ResultCountDataSource +) : ResultCountRepository { + + override fun getAll(loggableWorker: LoggableWorker): Flow> = + resultCountDataSource.getAll(loggableWorker) +} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/SettingsRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/SettingsRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/SettingsRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/SettingsRepositoryImpl.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/SuccessLogRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/SuccessLogRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/SuccessLogRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/SuccessLogRepositoryImpl.kt diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/repository/SystemRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/SystemRepositoryImpl.kt new file mode 100644 index 00000000..7738c8ba --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/SystemRepositoryImpl.kt @@ -0,0 +1,15 @@ +package com.joeloewi.croissant.data.repository + +import com.joeloewi.croissant.data.repository.system.SystemDataSource +import com.joeloewi.croissant.domain.repository.SystemRepository +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject + +class SystemRepositoryImpl @Inject constructor( + private val systemDataSource: SystemDataSource +) : SystemRepository { + + override fun is24HourFormat(): Flow = systemDataSource.is24HourFormat() + + override suspend fun isDeviceRooted(): Boolean = systemDataSource.isDeviceRooted() +} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/WorkerExecutionLogRepositoryImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/WorkerExecutionLogRepositoryImpl.kt similarity index 96% rename from data/src/main/java/com/joeloewi/croissant/data/repository/WorkerExecutionLogRepositoryImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/WorkerExecutionLogRepositoryImpl.kt index e9d5e04a..2cd7b8f8 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/WorkerExecutionLogRepositoryImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/WorkerExecutionLogRepositoryImpl.kt @@ -69,4 +69,7 @@ class WorkerExecutionLogRepositoryImpl @Inject constructor( state: WorkerExecutionLogState ): Flow = workerExecutionLogDataSource.getCountByState(attendanceId, loggableWorker, state) + + override fun getStartToEnd(): Flow> = + workerExecutionLogDataSource.getStartToEnd() } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/AccountDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/AccountDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/AccountDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/AccountDataSource.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/AttendanceDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/AttendanceDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/AttendanceDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/AttendanceDataSource.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/FailureLogDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/FailureLogDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/FailureLogDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/FailureLogDataSource.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/GameDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/GameDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/GameDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/GameDataSource.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/ResinStatusWidgetDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/ResinStatusWidgetDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/ResinStatusWidgetDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/ResinStatusWidgetDataSource.kt diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/ResultCountDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/ResultCountDataSource.kt new file mode 100644 index 00000000..f845591f --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/ResultCountDataSource.kt @@ -0,0 +1,12 @@ +package com.joeloewi.croissant.data.repository.local + +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.entity.ResultCount +import kotlinx.coroutines.flow.Flow + +interface ResultCountDataSource { + + fun getAll( + loggableWorker: LoggableWorker + ): Flow> +} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/SettingsDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/SettingsDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/SettingsDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/SettingsDataSource.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/SuccessLogDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/SuccessLogDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/SuccessLogDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/SuccessLogDataSource.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/WorkerExecutionLogDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/WorkerExecutionLogDataSource.kt similarity index 97% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/WorkerExecutionLogDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/WorkerExecutionLogDataSource.kt index d050a1ca..e8f23489 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/local/WorkerExecutionLogDataSource.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/WorkerExecutionLogDataSource.kt @@ -49,4 +49,6 @@ interface WorkerExecutionLogDataSource { loggableWorker: LoggableWorker, state: WorkerExecutionLogState ): Flow + + fun getStartToEnd(): Flow> } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/AccountDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/AccountDataSourceImpl.kt similarity index 95% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/AccountDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/AccountDataSourceImpl.kt index 2f65436c..26304722 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/AccountDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/AccountDataSourceImpl.kt @@ -16,7 +16,7 @@ package com.joeloewi.croissant.data.repository.local.impl -import com.joeloewi.croissant.data.db.dao.AccountDao +import com.joeloewi.croissant.data.database.dao.AccountDao import com.joeloewi.croissant.data.mapper.AccountMapper import com.joeloewi.croissant.data.repository.local.AccountDataSource import com.joeloewi.croissant.domain.entity.Account diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/AttendanceDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/AttendanceDataSourceImpl.kt similarity index 97% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/AttendanceDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/AttendanceDataSourceImpl.kt index 64c7466b..3e3dd177 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/AttendanceDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/AttendanceDataSourceImpl.kt @@ -20,7 +20,7 @@ import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData import androidx.paging.map -import com.joeloewi.croissant.data.db.dao.AttendanceDao +import com.joeloewi.croissant.data.database.dao.AttendanceDao import com.joeloewi.croissant.data.mapper.AttendanceMapper import com.joeloewi.croissant.data.mapper.AttendanceWithGamesMapper import com.joeloewi.croissant.data.repository.local.AttendanceDataSource diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/FailureLogDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/FailureLogDataSourceImpl.kt similarity index 95% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/FailureLogDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/FailureLogDataSourceImpl.kt index 9ede11e0..091e01c9 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/FailureLogDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/FailureLogDataSourceImpl.kt @@ -16,7 +16,7 @@ package com.joeloewi.croissant.data.repository.local.impl -import com.joeloewi.croissant.data.db.dao.FailureLogDao +import com.joeloewi.croissant.data.database.dao.FailureLogDao import com.joeloewi.croissant.data.mapper.FailureLogMapper import com.joeloewi.croissant.data.repository.local.FailureLogDataSource import com.joeloewi.croissant.domain.entity.FailureLog diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/GameDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/GameDataSourceImpl.kt similarity index 96% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/GameDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/GameDataSourceImpl.kt index 1ff628a2..5a3ce4ee 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/GameDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/GameDataSourceImpl.kt @@ -16,7 +16,7 @@ package com.joeloewi.croissant.data.repository.local.impl -import com.joeloewi.croissant.data.db.dao.GameDao +import com.joeloewi.croissant.data.database.dao.GameDao import com.joeloewi.croissant.data.mapper.GameMapper import com.joeloewi.croissant.data.repository.local.GameDataSource import com.joeloewi.croissant.domain.entity.Game diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/ResinStatusWidgetDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/ResinStatusWidgetDataSourceImpl.kt similarity index 97% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/ResinStatusWidgetDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/ResinStatusWidgetDataSourceImpl.kt index 4997c1a0..8aee16d5 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/ResinStatusWidgetDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/ResinStatusWidgetDataSourceImpl.kt @@ -16,7 +16,7 @@ package com.joeloewi.croissant.data.repository.local.impl -import com.joeloewi.croissant.data.db.dao.ResinStatusWidgetDao +import com.joeloewi.croissant.data.database.dao.ResinStatusWidgetDao import com.joeloewi.croissant.data.mapper.ResinStatusWidgetMapper import com.joeloewi.croissant.data.mapper.ResinStatusWithAccountsMapper import com.joeloewi.croissant.data.repository.local.ResinStatusWidgetDataSource diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/ResultCountDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/ResultCountDataSourceImpl.kt new file mode 100644 index 00000000..afb2a869 --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/ResultCountDataSourceImpl.kt @@ -0,0 +1,37 @@ +package com.joeloewi.croissant.data.repository.local.impl + +import androidx.sqlite.db.SimpleSQLiteQuery +import com.joeloewi.croissant.data.database.dao.ResultCountDao +import com.joeloewi.croissant.data.repository.local.ResultCountDataSource +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.common.WorkerExecutionLogState +import com.joeloewi.croissant.domain.entity.ResultCount +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flowOn +import javax.inject.Inject + +class ResultCountDataSourceImpl @Inject constructor( + private val resultCountDao: ResultCountDao +) : ResultCountDataSource { + override fun getAll( + loggableWorker: LoggableWorker + ): Flow> { + val query = """ + SELECT + DATE(createdAt / 1000, 'unixepoch', 'localtime') as date, + COUNT(CASE state WHEN "${WorkerExecutionLogState.SUCCESS.name}" THEN 1 ELSE NULL END) as successCount, + COUNT(CASE state WHEN "${WorkerExecutionLogState.FAILURE.name}" THEN 1 ELSE NULL END) as failureCount + FROM (SELECT * FROM WorkerExecutionLogEntity ORDER BY attendanceId) + WHERE loggableWorker = "${loggableWorker.name}" + GROUP BY DATE((createdAt + 0.00) / 1000, 'unixepoch', 'localtime') + """.trimIndent() + + return resultCountDao.getAll( + SimpleSQLiteQuery( + query, + arrayOf() + ) + ).flowOn(Dispatchers.IO) + } +} \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/SettingsDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/SettingsDataSourceImpl.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/SettingsDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/SettingsDataSourceImpl.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/SuccessLogDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/SuccessLogDataSourceImpl.kt similarity index 95% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/SuccessLogDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/SuccessLogDataSourceImpl.kt index 3493cce5..1394b182 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/SuccessLogDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/SuccessLogDataSourceImpl.kt @@ -16,7 +16,7 @@ package com.joeloewi.croissant.data.repository.local.impl -import com.joeloewi.croissant.data.db.dao.SuccessLogDao +import com.joeloewi.croissant.data.database.dao.SuccessLogDao import com.joeloewi.croissant.data.mapper.SuccessLogMapper import com.joeloewi.croissant.data.repository.local.SuccessLogDataSource import com.joeloewi.croissant.domain.entity.SuccessLog diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/WorkerExecutionLogDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/WorkerExecutionLogDataSourceImpl.kt similarity index 89% rename from data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/WorkerExecutionLogDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/WorkerExecutionLogDataSourceImpl.kt index 6a943f33..89bcb6f0 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/local/impl/WorkerExecutionLogDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/local/impl/WorkerExecutionLogDataSourceImpl.kt @@ -20,7 +20,7 @@ import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData import androidx.paging.map -import com.joeloewi.croissant.data.db.dao.WorkerExecutionLogDao +import com.joeloewi.croissant.data.database.dao.WorkerExecutionLogDao import com.joeloewi.croissant.data.mapper.WorkerExecutionLogMapper import com.joeloewi.croissant.data.mapper.WorkerExecutionLogWithStateMapper import com.joeloewi.croissant.data.repository.local.WorkerExecutionLogDataSource @@ -28,7 +28,10 @@ import com.joeloewi.croissant.domain.common.LoggableWorker import com.joeloewi.croissant.domain.common.WorkerExecutionLogState import com.joeloewi.croissant.domain.entity.WorkerExecutionLog import com.joeloewi.croissant.domain.entity.relational.WorkerExecutionLogWithState +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import javax.inject.Inject @@ -87,4 +90,11 @@ class WorkerExecutionLogDataSourceImpl @Inject constructor( loggableWorker: LoggableWorker, state: WorkerExecutionLogState ): Flow = workerExecutionLogDao.getCountByState(attendanceId, loggableWorker, state) + + override fun getStartToEnd(): Flow> = combine( + workerExecutionLogDao.getStartOfRange(), + workerExecutionLogDao.getEndOfRange() + ) { start, end -> + start to end + }.flowOn(Dispatchers.IO) } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/ArcaLiveAppDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/ArcaLiveAppDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/remote/ArcaLiveAppDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/ArcaLiveAppDataSource.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/HonkaiImpact3rdCheckInDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/CheckInDataSource.kt similarity index 80% rename from data/src/main/java/com/joeloewi/croissant/data/repository/remote/HonkaiImpact3rdCheckInDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/CheckInDataSource.kt index 47e31339..d24dd85e 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/HonkaiImpact3rdCheckInDataSource.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/CheckInDataSource.kt @@ -19,6 +19,11 @@ package com.joeloewi.croissant.data.repository.remote import com.joeloewi.croissant.data.api.model.response.AttendanceResponse import com.skydoves.sandwich.ApiResponse -interface HonkaiImpact3rdCheckInDataSource { +interface CheckInDataSource { + + suspend fun attend(actId: String, cookie: String): ApiResponse + + suspend fun attendCheckInGenshinImpact(cookie: String): ApiResponse + suspend fun attendCheckInHonkaiImpact3rd(cookie: String): ApiResponse } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/HoYoLABDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/HoYoLABDataSource.kt similarity index 100% rename from data/src/main/java/com/joeloewi/croissant/data/repository/remote/HoYoLABDataSource.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/HoYoLABDataSource.kt diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/ArcaLiveAppDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/ArcaLiveAppDataSourceImpl.kt similarity index 93% rename from data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/ArcaLiveAppDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/ArcaLiveAppDataSourceImpl.kt index e64ef96b..78bca293 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/ArcaLiveAppDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/ArcaLiveAppDataSourceImpl.kt @@ -19,6 +19,7 @@ package com.joeloewi.croissant.data.repository.remote.impl import com.joeloewi.croissant.data.api.dao.ArcaLiveAppService import com.joeloewi.croissant.data.api.model.response.ArticleResponse import com.joeloewi.croissant.data.repository.remote.ArcaLiveAppDataSource +import com.joeloewi.croissant.data.util.executeAndAwait import com.skydoves.sandwich.ApiResponse import javax.inject.Inject @@ -29,5 +30,5 @@ class ArcaLiveAppDataSourceImpl @Inject constructor( arcaLiveAppService.getArticle( slug = slug, articleId = articleId - ) + ).executeAndAwait() } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/CommonCheckInDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/CheckInDataSourceImpl.kt similarity index 53% rename from data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/CommonCheckInDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/CheckInDataSourceImpl.kt index 05cb6574..e3e3a1bd 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/CommonCheckInDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/CheckInDataSourceImpl.kt @@ -16,16 +16,27 @@ package com.joeloewi.croissant.data.repository.remote.impl -import com.joeloewi.croissant.data.api.dao.CommonCheckInService +import com.joeloewi.croissant.data.api.dao.CheckInService import com.joeloewi.croissant.data.api.model.response.AttendanceResponse -import com.joeloewi.croissant.data.repository.remote.CommonCheckInDataSource +import com.joeloewi.croissant.data.repository.remote.CheckInDataSource +import com.joeloewi.croissant.data.util.executeAndAwait import com.skydoves.sandwich.ApiResponse import javax.inject.Inject -class CommonCheckInDataSourceImpl @Inject constructor( - private val commonCheckInService: CommonCheckInService -) : CommonCheckInDataSource { +class CheckInDataSourceImpl @Inject constructor( + private val checkInService: CheckInService +) : CheckInDataSource { override suspend fun attend(actId: String, cookie: String): ApiResponse = - commonCheckInService.attend(actId = actId, cookie = cookie) + checkInService.attendCommon(actId = actId, cookie = cookie).executeAndAwait() + + override suspend fun attendCheckInGenshinImpact( + cookie: String + ): ApiResponse = + checkInService.attendCheckInGenshinImpact(cookie = cookie).executeAndAwait() + + override suspend fun attendCheckInHonkaiImpact3rd( + cookie: String + ): ApiResponse = + checkInService.attendCheckInHonkaiImpact3rd(cookie = cookie).executeAndAwait() } \ No newline at end of file diff --git a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/HoYoLABDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/HoYoLABDataSourceImpl.kt similarity index 91% rename from data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/HoYoLABDataSourceImpl.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/HoYoLABDataSourceImpl.kt index 7fa0184e..815df3e0 100644 --- a/data/src/main/java/com/joeloewi/croissant/data/repository/remote/impl/HoYoLABDataSourceImpl.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/remote/impl/HoYoLABDataSourceImpl.kt @@ -26,6 +26,7 @@ import com.joeloewi.croissant.data.common.GenshinImpactServer import com.joeloewi.croissant.data.common.HeaderInformation import com.joeloewi.croissant.data.common.generateDS import com.joeloewi.croissant.data.repository.remote.HoYoLABDataSource +import com.joeloewi.croissant.data.util.executeAndAwait import com.skydoves.sandwich.ApiResponse import javax.inject.Inject @@ -33,12 +34,13 @@ class HoYoLABDataSourceImpl @Inject constructor( private val hoYoLABService: HoYoLABService, ) : HoYoLABDataSource { override suspend fun getUserFullInfo(cookie: String): ApiResponse = - hoYoLABService.getUserFullInfo(cookie) + hoYoLABService.getUserFullInfo(cookie).executeAndAwait() override suspend fun getGameRecordCard( cookie: String, uid: Long - ): ApiResponse = hoYoLABService.getGameRecordCard(cookie, uid) + ): ApiResponse = + hoYoLABService.getGameRecordCard(cookie, uid).executeAndAwait() override suspend fun getGenshinDailyNote( ds: String, @@ -69,7 +71,7 @@ class HoYoLABDataSourceImpl @Inject constructor( xRpcClientType = headerInformation.xRpcClientType, roleId, server - ) + ).executeAndAwait() } override suspend fun changeDataSwitch( @@ -81,5 +83,5 @@ class HoYoLABDataSourceImpl @Inject constructor( cookie, DataSwitchRequest( switchId, isPublic, gameId ) - ) + ).executeAndAwait() } \ No newline at end of file diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/repository/system/SystemDataSource.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/system/SystemDataSource.kt new file mode 100644 index 00000000..02bcf2f0 --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/system/SystemDataSource.kt @@ -0,0 +1,9 @@ +package com.joeloewi.croissant.data.repository.system + +import kotlinx.coroutines.flow.Flow + +interface SystemDataSource { + fun is24HourFormat(): Flow + + suspend fun isDeviceRooted(): Boolean +} \ No newline at end of file diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/repository/system/impl/SystemDataSourceImpl.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/system/impl/SystemDataSourceImpl.kt new file mode 100644 index 00000000..aaf7249a --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/repository/system/impl/SystemDataSourceImpl.kt @@ -0,0 +1,40 @@ +package com.joeloewi.croissant.data.repository.system.impl + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.os.Handler +import android.text.format.DateFormat +import com.joeloewi.croissant.data.repository.system.SystemDataSource +import com.joeloewi.croissant.data.system.RootChecker +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.channels.awaitClose +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.callbackFlow +import kotlinx.coroutines.flow.flowOn +import javax.inject.Inject + +class SystemDataSourceImpl @Inject constructor( + @ApplicationContext private val context: Context, + private val applicationHandler: Handler, + private val rootChecker: RootChecker +) : SystemDataSource { + + override fun is24HourFormat(): Flow = callbackFlow { + val broadcastReceiver = object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + trySend(DateFormat.is24HourFormat(context)) + } + } + + val intentFilter = IntentFilter(Intent.ACTION_TIME_CHANGED) + + context.registerReceiver(broadcastReceiver, intentFilter, null, applicationHandler) + + awaitClose { context.unregisterReceiver(broadcastReceiver) } + }.flowOn(Dispatchers.IO) + + override suspend fun isDeviceRooted(): Boolean = rootChecker.isDeviceRooted() +} \ No newline at end of file diff --git a/app/src/main/java/com/joeloewi/croissant/util/RootChecker.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/system/RootChecker.kt similarity index 72% rename from app/src/main/java/com/joeloewi/croissant/util/RootChecker.kt rename to data/src/main/kotlin/com/joeloewi/croissant/data/system/RootChecker.kt index 66f93ca5..508d2f35 100644 --- a/app/src/main/java/com/joeloewi/croissant/util/RootChecker.kt +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/system/RootChecker.kt @@ -1,9 +1,12 @@ -package com.joeloewi.croissant.util +package com.joeloewi.croissant.data.system import android.content.Context import android.content.pm.PackageManager import android.os.Build import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.async +import kotlinx.coroutines.awaitAll import kotlinx.coroutines.withContext import java.io.File import java.nio.charset.Charset @@ -11,7 +14,6 @@ import java.nio.charset.Charset class RootChecker( private val context: Context ) { - private val rootFiles = arrayOf( "/system/app/Superuser.apk", "/sbin/su", @@ -56,10 +58,33 @@ class RootChecker( Runtime.getRuntime() } - suspend fun isDeviceRooted(): Boolean = - checkRootFiles() || checkSUExist() || checkRootPackages() + suspend fun isDeviceRooted(): Boolean = withContext(Dispatchers.IO) { + awaitAll( + async(SupervisorJob()) { + try { + isRootFilesExists() + } catch (_: Throwable) { + false + } + }, + async(SupervisorJob()) { + try { + isSUExists() + } catch (_: Throwable) { + false + } + }, + async(SupervisorJob()) { + try { + hasRootPackages() + } catch (_: Throwable) { + false + } + }, + ).any { it } + } - private suspend fun checkRootFiles(): Boolean = withContext(Dispatchers.IO) { + private suspend fun isRootFilesExists(): Boolean = withContext(Dispatchers.IO) { rootFiles.runCatching { any { path -> File(path).exists() } }.fold( @@ -72,7 +97,7 @@ class RootChecker( ) } - private suspend fun checkSUExist(): Boolean = withContext(Dispatchers.IO) { + private suspend fun isSUExists(): Boolean = withContext(Dispatchers.IO) { var process: Process? = null runtime.runCatching { @@ -93,7 +118,7 @@ class RootChecker( } } - private suspend fun checkRootPackages(): Boolean = withContext(Dispatchers.Default) { + private suspend fun hasRootPackages(): Boolean = withContext(Dispatchers.IO) { context.runCatching { packageManager }.mapCatching { diff --git a/data/src/main/kotlin/com/joeloewi/croissant/data/util/RetrofitCallExtensions.kt b/data/src/main/kotlin/com/joeloewi/croissant/data/util/RetrofitCallExtensions.kt new file mode 100644 index 00000000..7396c8b4 --- /dev/null +++ b/data/src/main/kotlin/com/joeloewi/croissant/data/util/RetrofitCallExtensions.kt @@ -0,0 +1,28 @@ +package com.joeloewi.croissant.data.util + +import kotlinx.coroutines.suspendCancellableCoroutine +import retrofit2.Call +import retrofit2.HttpException +import retrofit2.Invocation +import kotlin.coroutines.resume +import kotlin.coroutines.resumeWithException + +internal suspend fun Call.executeAndAwait() = suspendCancellableCoroutine { cont -> + val response = execute() + cont.invokeOnCancellation { cancel() } + + if (response.isSuccessful) { + val body = response.body() + if (body == null) { + val invocation = request().tag(Invocation::class.java)!! + val method = invocation.method() + val e = + KotlinNullPointerException("Response from ${method.declaringClass.name}.${method.name} was null but response body type was declared as non-null") + cont.resumeWithException(e) + } else { + cont.resume(body) + } + } else { + cont.resumeWithException(HttpException(response)) + } +} \ No newline at end of file diff --git a/data/src/test/java/com/joeloewi/croissant/data/ExampleUnitTest.kt b/data/src/test/kotlin/com/joeloewi/croissant/data/ExampleUnitTest.kt similarity index 100% rename from data/src/test/java/com/joeloewi/croissant/data/ExampleUnitTest.kt rename to data/src/test/kotlin/com/joeloewi/croissant/data/ExampleUnitTest.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/CommonCheckInRepository.kt b/domain/src/main/java/com/joeloewi/croissant/domain/repository/CommonCheckInRepository.kt deleted file mode 100644 index 4e36868a..00000000 --- a/domain/src/main/java/com/joeloewi/croissant/domain/repository/CommonCheckInRepository.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.domain.repository - -import com.joeloewi.croissant.domain.entity.BaseResponse - -interface CommonCheckInRepository { - - suspend fun attend(actId: String, cookie: String): Result -} \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/GenshinImpactCheckInRepository.kt b/domain/src/main/java/com/joeloewi/croissant/domain/repository/GenshinImpactCheckInRepository.kt deleted file mode 100644 index 573d9f19..00000000 --- a/domain/src/main/java/com/joeloewi/croissant/domain/repository/GenshinImpactCheckInRepository.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.domain.repository - -import com.joeloewi.croissant.domain.entity.BaseResponse - -interface GenshinImpactCheckInRepository { - suspend fun attendCheckInGenshinImpact(cookie: String): Result -} \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/GenshinImpactCheckInUseCase.kt b/domain/src/main/java/com/joeloewi/croissant/domain/usecase/GenshinImpactCheckInUseCase.kt deleted file mode 100644 index 248d5607..00000000 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/GenshinImpactCheckInUseCase.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.domain.usecase - -import com.joeloewi.croissant.domain.repository.GenshinImpactCheckInRepository -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -sealed class GenshinImpactCheckInUseCase { - class AttendCheckInGenshinImpact @Inject constructor( - private val genshinImpactCheckInRepository: GenshinImpactCheckInRepository - ) : GenshinImpactCheckInUseCase() { - suspend operator fun invoke(cookie: String) = - genshinImpactCheckInRepository.attendCheckInGenshinImpact(cookie = cookie) - } -} \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/HonkaiImpact3rdCheckInUseCase.kt b/domain/src/main/java/com/joeloewi/croissant/domain/usecase/HonkaiImpact3rdCheckInUseCase.kt deleted file mode 100644 index 48129a21..00000000 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/HonkaiImpact3rdCheckInUseCase.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2023. joeloewi - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.joeloewi.croissant.domain.usecase - -import com.joeloewi.croissant.domain.repository.HonkaiImpact3rdCheckInRepository -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -sealed class HonkaiImpact3rdCheckInUseCase { - class AttendCheckInHonkaiImpact3rd @Inject constructor( - private val honkaiImpact3rdCheckInRepository: HonkaiImpact3rdCheckInRepository - ) : HonkaiImpact3rdCheckInUseCase() { - suspend operator fun invoke(cookie: String) = - honkaiImpact3rdCheckInRepository.attendCheckInHonkaiImpact3rd(cookie = cookie) - } -} \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/common/HoYoLABGame.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/common/HoYoLABGame.kt similarity index 96% rename from domain/src/main/java/com/joeloewi/croissant/domain/common/HoYoLABGame.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/common/HoYoLABGame.kt index dfcd7e15..f9ceee51 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/common/HoYoLABGame.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/common/HoYoLABGame.kt @@ -44,6 +44,6 @@ enum class HoYoLABGame( companion object { fun findByGameId(gameId: Int): HoYoLABGame = - values().find { it.gameId == gameId } ?: Unknown + entries.find { it.gameId == gameId } ?: Unknown } } \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/common/HoYoLABRetCode.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/common/HoYoLABRetCode.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/common/HoYoLABRetCode.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/common/HoYoLABRetCode.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/common/LoggableWorker.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/common/LoggableWorker.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/common/LoggableWorker.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/common/LoggableWorker.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/common/WorkerExecutionLogState.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/common/WorkerExecutionLogState.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/common/WorkerExecutionLogState.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/common/WorkerExecutionLogState.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/common/exception/HoYoLABUnsuccessfulResponseException.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/common/exception/HoYoLABUnsuccessfulResponseException.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/common/exception/HoYoLABUnsuccessfulResponseException.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/common/exception/HoYoLABUnsuccessfulResponseException.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/Account.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/Account.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/Account.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/Account.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/Attendance.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/Attendance.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/Attendance.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/Attendance.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/BaseResponse.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/BaseResponse.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/BaseResponse.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/BaseResponse.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/DataSwitch.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/DataSwitch.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/DataSwitch.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/DataSwitch.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/FailureLog.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/FailureLog.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/FailureLog.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/FailureLog.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/Game.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/Game.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/Game.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/Game.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/GameRecord.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/GameRecord.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/GameRecord.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/GameRecord.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/GameRecordCardData.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/GameRecordCardData.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/GameRecordCardData.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/GameRecordCardData.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/GenshinDailyNoteData.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/GenshinDailyNoteData.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/GenshinDailyNoteData.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/GenshinDailyNoteData.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/ResinStatusWidget.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/ResinStatusWidget.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/ResinStatusWidget.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/ResinStatusWidget.kt diff --git a/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/ResultCount.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/ResultCount.kt new file mode 100644 index 00000000..fc5aac9d --- /dev/null +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/ResultCount.kt @@ -0,0 +1,7 @@ +package com.joeloewi.croissant.domain.entity + +data class ResultCount( + val date: String, + val successCount: Long = 0, + val failureCount: Long = 0 +) \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/Settings.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/Settings.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/Settings.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/Settings.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/SuccessLog.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/SuccessLog.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/SuccessLog.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/SuccessLog.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/UserFullInfo.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/UserFullInfo.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/UserFullInfo.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/UserFullInfo.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/UserFullInfoData.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/UserFullInfoData.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/UserFullInfoData.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/UserFullInfoData.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/UserInfo.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/UserInfo.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/UserInfo.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/UserInfo.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/WorkerExecutionLog.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/WorkerExecutionLog.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/WorkerExecutionLog.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/WorkerExecutionLog.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/relational/AttendanceWithGames.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/relational/AttendanceWithGames.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/relational/AttendanceWithGames.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/relational/AttendanceWithGames.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/relational/ResinStatusWidgetWithAccounts.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/relational/ResinStatusWidgetWithAccounts.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/relational/ResinStatusWidgetWithAccounts.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/relational/ResinStatusWidgetWithAccounts.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/entity/relational/WorkerExecutionLogWithState.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/relational/WorkerExecutionLogWithState.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/entity/relational/WorkerExecutionLogWithState.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/entity/relational/WorkerExecutionLogWithState.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/AccountRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/AccountRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/AccountRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/AccountRepository.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/ArcaLiveAppRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/ArcaLiveAppRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/ArcaLiveAppRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/ArcaLiveAppRepository.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/AttendanceRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/AttendanceRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/AttendanceRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/AttendanceRepository.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/HonkaiImpact3rdCheckInRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/CheckInRepository.kt similarity index 81% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/HonkaiImpact3rdCheckInRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/CheckInRepository.kt index 486920bd..5e0f0f3b 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/repository/HonkaiImpact3rdCheckInRepository.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/CheckInRepository.kt @@ -18,6 +18,11 @@ package com.joeloewi.croissant.domain.repository import com.joeloewi.croissant.domain.entity.BaseResponse -interface HonkaiImpact3rdCheckInRepository { +interface CheckInRepository { + + suspend fun attend(actId: String, cookie: String): Result + + suspend fun attendCheckInGenshinImpact(cookie: String): Result + suspend fun attendCheckInHonkaiImpact3rd(cookie: String): Result } \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/FailureLogRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/FailureLogRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/FailureLogRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/FailureLogRepository.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/GameRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/GameRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/GameRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/GameRepository.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/HoYoLABRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/HoYoLABRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/HoYoLABRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/HoYoLABRepository.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/ResinStatusWidgetRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/ResinStatusWidgetRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/ResinStatusWidgetRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/ResinStatusWidgetRepository.kt diff --git a/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/ResultCountRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/ResultCountRepository.kt new file mode 100644 index 00000000..1b362916 --- /dev/null +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/ResultCountRepository.kt @@ -0,0 +1,10 @@ +package com.joeloewi.croissant.domain.repository + +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.entity.ResultCount +import kotlinx.coroutines.flow.Flow + +interface ResultCountRepository { + + fun getAll(loggableWorker: LoggableWorker): Flow> +} \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/SettingsRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/SettingsRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/SettingsRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/SettingsRepository.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/SuccessLogRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/SuccessLogRepository.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/SuccessLogRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/SuccessLogRepository.kt diff --git a/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/SystemRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/SystemRepository.kt new file mode 100644 index 00000000..ae8cf5cf --- /dev/null +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/SystemRepository.kt @@ -0,0 +1,9 @@ +package com.joeloewi.croissant.domain.repository + +import kotlinx.coroutines.flow.Flow + +interface SystemRepository { + fun is24HourFormat(): Flow + + suspend fun isDeviceRooted(): Boolean +} \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/repository/WorkerExecutionLogRepository.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/WorkerExecutionLogRepository.kt similarity index 97% rename from domain/src/main/java/com/joeloewi/croissant/domain/repository/WorkerExecutionLogRepository.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/WorkerExecutionLogRepository.kt index 1d357762..a4bf608c 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/repository/WorkerExecutionLogRepository.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/repository/WorkerExecutionLogRepository.kt @@ -49,4 +49,6 @@ interface WorkerExecutionLogRepository { loggableWorker: LoggableWorker, state: WorkerExecutionLogState ): Flow + + fun getStartToEnd(): Flow> } \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/AccountUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/AccountUseCase.kt similarity index 96% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/AccountUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/AccountUseCase.kt index 0c64fb0d..cb8ed9a3 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/AccountUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/AccountUseCase.kt @@ -19,9 +19,7 @@ package com.joeloewi.croissant.domain.usecase import com.joeloewi.croissant.domain.entity.Account import com.joeloewi.croissant.domain.repository.AccountRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class AccountUseCase { class Insert @Inject constructor( private val accountRepository: AccountRepository diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/ArcaLiveAppUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/ArcaLiveAppUseCase.kt similarity index 100% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/ArcaLiveAppUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/ArcaLiveAppUseCase.kt diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/AttendanceUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/AttendanceUseCase.kt similarity index 98% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/AttendanceUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/AttendanceUseCase.kt index edf51fd4..06c0f339 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/AttendanceUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/AttendanceUseCase.kt @@ -19,9 +19,7 @@ package com.joeloewi.croissant.domain.usecase import com.joeloewi.croissant.domain.entity.Attendance import com.joeloewi.croissant.domain.repository.AttendanceRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class AttendanceUseCase { class Insert @Inject constructor( private val attendanceRepository: AttendanceRepository diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/CommonCheckInUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/CheckInUseCase.kt similarity index 56% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/CommonCheckInUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/CheckInUseCase.kt index 7931b18e..8debfd3e 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/CommonCheckInUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/CheckInUseCase.kt @@ -16,28 +16,42 @@ package com.joeloewi.croissant.domain.usecase -import com.joeloewi.croissant.domain.repository.CommonCheckInRepository +import com.joeloewi.croissant.domain.repository.CheckInRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton -sealed class CommonCheckInUseCase { +sealed class CheckInUseCase { class AttendCheckInTearsOfThemis @Inject constructor( - private val commonCheckInRepository: CommonCheckInRepository + private val checkInRepository: CheckInRepository ) { suspend operator fun invoke( actId: String = "e202202281857121", cookie: String - ) = commonCheckInRepository.attend(actId, cookie) + ) = checkInRepository.attend(actId, cookie) } class AttendCheckInHonkaiStarRail @Inject constructor( - private val commonCheckInRepository: CommonCheckInRepository + private val checkInRepository: CheckInRepository ) { suspend operator fun invoke( actId: String = "e202303301540311", cookie: String - ) = commonCheckInRepository.attend(actId, cookie) + ) = checkInRepository.attend(actId, cookie) + } + + class AttendCheckInHonkaiImpact3rd @Inject constructor( + private val checkInRepository: CheckInRepository + ) { + suspend operator fun invoke( + cookie: String + ) = checkInRepository.attendCheckInHonkaiImpact3rd(cookie) + } + + class AttendCheckInGenshinImpact @Inject constructor( + private val checkInRepository: CheckInRepository + ) { + suspend operator fun invoke( + cookie: String + ) = checkInRepository.attendCheckInGenshinImpact(cookie) } } \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/FailureLogUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/FailureLogUseCase.kt similarity index 96% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/FailureLogUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/FailureLogUseCase.kt index 87e0d338..3995cec3 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/FailureLogUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/FailureLogUseCase.kt @@ -19,9 +19,7 @@ package com.joeloewi.croissant.domain.usecase import com.joeloewi.croissant.domain.entity.FailureLog import com.joeloewi.croissant.domain.repository.FailureLogRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class FailureLogUseCase { class Insert @Inject constructor( private val failureLogRepository: FailureLogRepository diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/GameUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/GameUseCase.kt similarity index 97% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/GameUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/GameUseCase.kt index 89f7fe53..76ffae99 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/GameUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/GameUseCase.kt @@ -19,9 +19,7 @@ package com.joeloewi.croissant.domain.usecase import com.joeloewi.croissant.domain.entity.Game import com.joeloewi.croissant.domain.repository.GameRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class GameUseCase { class Insert @Inject constructor( private val gameRepository: GameRepository diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/HoYoLABUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/HoYoLABUseCase.kt similarity index 97% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/HoYoLABUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/HoYoLABUseCase.kt index 5f7db6b3..b98a606d 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/HoYoLABUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/HoYoLABUseCase.kt @@ -18,9 +18,7 @@ package com.joeloewi.croissant.domain.usecase import com.joeloewi.croissant.domain.repository.HoYoLABRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class HoYoLABUseCase { class GetUserFullInfo @Inject constructor( private val hoYoLABRepository: HoYoLABRepository diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/ResinStatusWidgetUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/ResinStatusWidgetUseCase.kt similarity index 98% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/ResinStatusWidgetUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/ResinStatusWidgetUseCase.kt index 59db7ae2..dbb6afa7 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/ResinStatusWidgetUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/ResinStatusWidgetUseCase.kt @@ -19,9 +19,7 @@ package com.joeloewi.croissant.domain.usecase import com.joeloewi.croissant.domain.entity.ResinStatusWidget import com.joeloewi.croissant.domain.repository.ResinStatusWidgetRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class ResinStatusWidgetUseCase { class GetAll @Inject constructor( private val resinStatusWidgetRepository: ResinStatusWidgetRepository diff --git a/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/ResultCountUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/ResultCountUseCase.kt new file mode 100644 index 00000000..864a780a --- /dev/null +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/ResultCountUseCase.kt @@ -0,0 +1,16 @@ +package com.joeloewi.croissant.domain.usecase + +import com.joeloewi.croissant.domain.common.LoggableWorker +import com.joeloewi.croissant.domain.repository.ResultCountRepository +import javax.inject.Inject + +sealed class ResultCountUseCase { + + class GetAll @Inject constructor( + private val resultCountRepository: ResultCountRepository + ) : ResultCountUseCase() { + + operator fun invoke(loggableWorker: LoggableWorker) = + resultCountRepository.getAll(loggableWorker) + } +} \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/SettingsUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SettingsUseCase.kt similarity index 97% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/SettingsUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SettingsUseCase.kt index 30f128b4..229657c8 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/SettingsUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SettingsUseCase.kt @@ -18,9 +18,7 @@ package com.joeloewi.croissant.domain.usecase import com.joeloewi.croissant.domain.repository.SettingsRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class SettingsUseCase { class GetSettings @Inject constructor( private val settingsRepository: SettingsRepository diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/SuccessLogUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SuccessLogUseCase.kt similarity index 96% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/SuccessLogUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SuccessLogUseCase.kt index 6a3c3781..4a20da2a 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/SuccessLogUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SuccessLogUseCase.kt @@ -19,9 +19,7 @@ package com.joeloewi.croissant.domain.usecase import com.joeloewi.croissant.domain.entity.SuccessLog import com.joeloewi.croissant.domain.repository.SuccessLogRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class SuccessLogUseCase { class Insert @Inject constructor( private val successLogRepository: SuccessLogRepository diff --git a/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SystemUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SystemUseCase.kt new file mode 100644 index 00000000..9bab7194 --- /dev/null +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/SystemUseCase.kt @@ -0,0 +1,19 @@ +package com.joeloewi.croissant.domain.usecase + +import com.joeloewi.croissant.domain.repository.SystemRepository +import javax.inject.Inject + +sealed class SystemUseCase { + + class Is24HourFormat @Inject constructor( + private val systemRepository: SystemRepository + ) { + operator fun invoke() = systemRepository.is24HourFormat() + } + + class IsDeviceRooted @Inject constructor( + private val systemRepository: SystemRepository + ) { + suspend operator fun invoke() = systemRepository.isDeviceRooted() + } +} \ No newline at end of file diff --git a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/WorkerExecutionLogUseCase.kt b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/WorkerExecutionLogUseCase.kt similarity index 93% rename from domain/src/main/java/com/joeloewi/croissant/domain/usecase/WorkerExecutionLogUseCase.kt rename to domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/WorkerExecutionLogUseCase.kt index 80011073..ad1b282a 100644 --- a/domain/src/main/java/com/joeloewi/croissant/domain/usecase/WorkerExecutionLogUseCase.kt +++ b/domain/src/main/kotlin/com/joeloewi/croissant/domain/usecase/WorkerExecutionLogUseCase.kt @@ -21,9 +21,7 @@ import com.joeloewi.croissant.domain.common.WorkerExecutionLogState import com.joeloewi.croissant.domain.entity.WorkerExecutionLog import com.joeloewi.croissant.domain.repository.WorkerExecutionLogRepository import javax.inject.Inject -import javax.inject.Singleton -@Singleton sealed class WorkerExecutionLogUseCase { class Insert @Inject constructor( private val workerExecutionLogRepository: WorkerExecutionLogRepository @@ -78,4 +76,11 @@ sealed class WorkerExecutionLogUseCase { state: WorkerExecutionLogState ) = workerExecutionLogRepository.getCountByState(attendanceId, loggableWorker, state) } + + class GetStartToEnd @Inject constructor( + private val workerExecutionLogRepository: WorkerExecutionLogRepository + ) { + + operator fun invoke() = workerExecutionLogRepository.getStartToEnd() + } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index d0a3daaa..20fec80c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,24 +6,29 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.configureondemand=true -org.gradle.caching=true -org.gradle.parallel=true +# Ensure important default jvmargs aren't overwritten. See https://github.com/gradle/gradle/issues/19750 org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true +org.gradle.parallel=true +# Not encouraged by Gradle and can produce weird results. Wait for isolated projects instead. +org.gradle.configureondemand=false +# Enable caching between builds. +org.gradle.caching=true +# Enable configuration caching between builds. +org.gradle.configuration-cache=true +# This option is set because of https://github.com/google/play-services-plugins/issues/246 +# to generate the Configuration Cache regardless of incompatible tasks. +# See https://github.com/android/nowinandroid/issues/1022 before using it. +org.gradle.configuration-cache.problems=warn # AndroidX package structure to make it clearer which packages are bundled with the # Android operating system, and which are packaged with your app"s APK # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official -# Enables namespacing of each library's R class so that its R class includes only the -# resources declared in the library itself and none from the library's dependencies, -# thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true -kapt.incremental.apt=true -android.defaults.buildfeatures.buildconfig=true -android.nonFinalResIds=false \ No newline at end of file +# Disable build features that are enabled by default, +# https://developer.android.com/build/releases/gradle-plugin#default-changes +android.defaults.buildfeatures.resvalues=false +android.defaults.buildfeatures.shaders=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e0046111..33742005 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -43,7 +43,8 @@ protobufPlugin = "0.9.4" retrofit = "2.9.0" room = "2.6.1" moshi = "1.15.0" -androidPlayKtx = "2.1.0" +androidPlayAppUpdateKtx = "2.1.0" +androidPlayReviewKtx = "2.0.1" firebaseCrashlyticsPlugin = "2.9.9" gmsGoogleServicesGradlePlugin = "4.4.0" firebaseBom = "32.7.0" @@ -57,6 +58,8 @@ kspPlugin = "1.9.21-1.0.16" tts = "2.3.1" gmsOssLicensesPlugin = "0.10.6" gmsPlayServicesOssLicenses = "17.0.1" +androidxBaselineProfile = "1.2.2" +androidTools = "31.2.0" [libraries] accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanist" } @@ -68,8 +71,6 @@ accompanist-pager-indicators = { group = "com.google.accompanist", name = "accom accompanist-swiperefresh = { group = "com.google.accompanist", name = "accompanist-swiperefresh", version.ref = "accompanist" } accompanist-themeadapter-material3 = { group = "com.google.accompanist", name = "accompanist-themeadapter-material3", version.ref = "accompanist" } accompanist-navigation-material = { group = "com.google.accompanist", name = "accompanist-navigation-material", version.ref = "accompanist" } -android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" } -kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" } gms-google-services-gradlePlugin = { group = "com.google.gms", name = "google-services", version.ref = "gmsGoogleServicesGradlePlugin" } android-desugarJdkLibs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "androidDesugarJdkLibs" } android-material = { group = "com.google.android.material", name = "material", version.ref = "androidMaterial" } @@ -135,23 +136,30 @@ room-paging = { group = "androidx.room", name = "room-paging", version.ref = "ro androidx-webkit = { group = "androidx.webkit", name = "webkit", version.ref = "androidxWebkit" } androidx-paging-common-ktx = { group = "androidx.paging", name = "paging-common-ktx", version.ref = "androidxPagingCommon" } androidx-paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "androidxPagingCompose" } -android-play-app-update-ktx = { group = "com.google.android.play", name = "app-update-ktx", version.ref = "androidPlayKtx" } -android-play-review-ktx = { group = "com.google.android.play", name = "review-ktx", version.ref = "androidPlayKtx" } +android-play-app-update-ktx = { group = "com.google.android.play", name = "app-update-ktx", version.ref = "androidPlayAppUpdateKtx" } +android-play-review-ktx = { group = "com.google.android.play", name = "review-ktx", version.ref = "androidPlayReviewKtx" } firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebaseBom" } -firebase-analytics-ktx = { group = "com.google.firebase", name = "firebase-analytics-ktx" } -firebase-crashlytics-ktx = { group = "com.google.firebase", name = "firebase-crashlytics-ktx" } +firebase-analytics = { group = "com.google.firebase", name = "firebase-analytics" } +firebase-crashlytics = { group = "com.google.firebase", name = "firebase-crashlytics" } leakcanary-android = { group = "com.squareup.leakcanary", name = "leakcanary-android", version.ref = "leakcanaryAndroid" } moshi = { group = "com.squareup.moshi", name = "moshi", version.ref = "moshi" } moshi-adapters = { group = "com.squareup.moshi", name = "moshi-adapters", version.ref = "moshi" } moshi-kotlin-codegen = { group = "com.squareup.moshi", name = "moshi-kotlin-codegen", version.ref = "moshi" } javax-inject = { group = "javax.inject", name = "javax.inject", version.ref = "inject" } sandwich = { group = "com.github.skydoves", name = "sandwich", version.ref = "sandwich" } +sandwich-retrofit = { group = "com.github.skydoves", name = "sandwich-retrofit", version.ref = "sandwich" } jsoup = { group = "org.jsoup", name = "jsoup", version.ref = "jsoup" } junit = { group = "junit", name = "junit", version.ref = "junit" } tts = { group = "nl.marc-apps", name = "tts", version.ref = "tts" } gms-play-services-oss-licenses = { group = "com.google.android.gms", name = "play-services-oss-licenses", version.ref = "gmsPlayServicesOssLicenses" } gms-oss-licenses-plugin = { group = "com.google.android.gms", name = "oss-licenses-plugin", version.ref = "gmsOssLicensesPlugin" } +android-tools-common = { group = "com.android.tools", name = "common", version.ref = "androidTools" } +firebase-crashlytics-gradlePlugin = { group = "com.google.firebase", name = "firebase-crashlytics-gradle", version.ref = "firebaseCrashlyticsPlugin" } +android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" } +kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" } +ksp-gradlePlugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "kspPlugin" } + [plugins] android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" } @@ -161,4 +169,14 @@ kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" } gms-google-services = { id = "com.google.gms.google-services", version.ref = "gmsGoogleServicesGradlePlugin" } firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebaseCrashlyticsPlugin" } -ksp = { id = "com.google.devtools.ksp", version.ref = "kspPlugin" } \ No newline at end of file +ksp = { id = "com.google.devtools.ksp", version.ref = "kspPlugin" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +androidx-baselineprofile = { id = "androidx.baselineprofile", version.ref = "androidxBaselineProfile" } + +#plugins from this project +croissant-android-application-compose = { id = "croissant.android.application.compose", version = "unspecified" } +croissant-android-application = { id = "croissant.android.application", version = "unspecified" } +croissant-android-library = { id = "croissant.android.library", version = "unspecified" } +croissant-android-hilt = { id = "croissant.android.hilt", version = "unspecified" } +croissant-android-room = { id = "croissant.android.room", version = "unspecified" } +croissant-android-application-firebase = { id = "croissant.android.application.firebase", version = "unspecified" } \ No newline at end of file diff --git a/gradlew b/gradlew index 65dcd68d..31042a67 100644 --- a/gradlew +++ b/gradlew @@ -83,10 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -197,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ @@ -241,4 +246,4 @@ eval "set -- $( tr '\n' ' ' )" '"$@"' -exec "$JAVACMD" "$@" +exec "$JAVACMD" "$@" \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 41725282..ec44982f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -15,8 +15,8 @@ dependencyResolutionManagement { } } +rootProject.name = "Croissant" include(":app") include(":domain") include(":data") -include(":benchmark") -rootProject.name = "Croissant" \ No newline at end of file +include(":baselineprofile") \ No newline at end of file