From e7935dcc521e4c6081b55311bfb7890a82befa32 Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 16:26:04 +0900 Subject: [PATCH 01/10] Add proguard rules and configure kmp hierachy for ktor --- sandwich-ktor/build.gradle.kts | 92 +++++++++++++++------------------- sandwich/build.gradle.kts | 4 ++ 2 files changed, 44 insertions(+), 52 deletions(-) diff --git a/sandwich-ktor/build.gradle.kts b/sandwich-ktor/build.gradle.kts index 421fd950..66496db4 100644 --- a/sandwich-ktor/build.gradle.kts +++ b/sandwich-ktor/build.gradle.kts @@ -17,10 +17,11 @@ import com.github.skydoves.sandwich.Configuration plugins { + id(libs.plugins.android.library.get().pluginId) id(libs.plugins.kotlin.multiplatform.get().pluginId) id(libs.plugins.kotlin.serialization.get().pluginId) id(libs.plugins.nexus.plugin.get().pluginId) - java + id(libs.plugins.baseline.profile.get().pluginId) } apply(from = "${rootDir}/scripts/publish-module.gradle.kts") @@ -33,18 +34,30 @@ mavenPublishing { } kotlin { - jvmToolchain(libs.versions.jvmTarget.get().toInt()) + listOf( + iosX64(), + iosArm64(), + iosSimulatorArm64(), + macosArm64(), + macosX64(), + ).forEach { + it.binaries.framework { + baseName = "common" + } + } + jvm { + libs.versions.jvmTarget.get().toInt() compilations.all { kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() } - withJava() } - iosX64() - iosArm64() - iosSimulatorArm64() - macosArm64() - macosX64() + + androidTarget { + publishLibraryVariants("release") + } + + applyDefaultHierarchyTemplate() sourceSets { all { @@ -57,57 +70,32 @@ kotlin { implementation(libs.coroutines) } } + } - val commonTest by getting { - dependencies { - } - } - - val jvmMain by getting - val jvmTest by getting + explicitApi() +} - val appleMain by creating { - dependsOn(commonMain) - } - val macosArm64Main by getting { - dependsOn(appleMain) - } - val macosX64Main by getting { - dependsOn(appleMain) - } - val iosSimulatorArm64Main by getting { - dependsOn(appleMain) - } - val iosArm64Main by getting { - dependsOn(appleMain) - } - val iosX64Main by getting { - dependsOn(appleMain) - } +android { + compileSdk = Configuration.compileSdk + namespace = "com.skydoves.sandwich.ktor" + defaultConfig { + minSdk = Configuration.minSdk + } - val appleTest by creating { - dependsOn(commonTest) - } - val iosArm64Test by getting { - dependsOn(appleTest) - } - val iosX64Test by getting { - dependsOn(appleTest) - } - val iosSimulatorArm64Test by getting { - dependsOn(appleTest) - } - val macosX64Test by getting { - dependsOn(appleTest) - } - val macosArm64Test by getting { - dependsOn(appleTest) - } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } +} - explicitApi() +baselineProfile { + baselineProfileOutputDir = "../../src/androidMain" + filter { + include("com.skydoves.sandwich.ktor.**") + } } + java { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 diff --git a/sandwich/build.gradle.kts b/sandwich/build.gradle.kts index 9813448c..79fc98e1 100644 --- a/sandwich/build.gradle.kts +++ b/sandwich/build.gradle.kts @@ -103,6 +103,10 @@ baselineProfile { baselineProfileOutputDir = "../../src/androidMain" filter { include("com.skydoves.sandwich.**") + exclude("com.skydoves.sandwich.sandwichdemo.**") + exclude("com.skydoves.sandwich.retrofit.**") + exclude("com.skydoves.sandwich.ktor.**") + exclude("com.skydoves.sandwich.ktorfit.**") } } From a4b08e325e7b8065fc7fb44caeb163fb1e6de7c8 Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 16:33:49 +0900 Subject: [PATCH 02/10] Update baseline profiles --- .../baselineProfiles/baseline-prof.txt | 108 ++++++++---------- sandwich-ktor/build.gradle.kts | 3 + .../src/androidMain/baseline-prof.txt | 14 +++ sandwich/src/androidMain/baseline-prof.txt | 49 -------- 4 files changed, 66 insertions(+), 108 deletions(-) create mode 100644 sandwich-ktor/src/androidMain/baseline-prof.txt diff --git a/app/src/release/generated/baselineProfiles/baseline-prof.txt b/app/src/release/generated/baselineProfiles/baseline-prof.txt index 44efba03..ac51e796 100644 --- a/app/src/release/generated/baselineProfiles/baseline-prof.txt +++ b/app/src/release/generated/baselineProfiles/baseline-prof.txt @@ -189,7 +189,7 @@ HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->installViewFactory()V HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->invalidatePanelMenu(I)V HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->mapNightMode(Landroid/content/Context;I)I HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onCreate(Landroid/os/Bundle;)V -HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; +HPLandroidx/appcompat/app/AppCompatDelegateImpl;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; PLandroidx/appcompat/app/AppCompatDelegateImpl;->onDestroy()V HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onPostCreate(Landroid/os/Bundle;)V HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onPostResume()V @@ -458,7 +458,7 @@ HSPLandroidx/appcompat/widget/AppCompatImageButton;->setBackgroundDrawable(Landr HSPLandroidx/appcompat/widget/AppCompatImageButton;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V Landroidx/appcompat/widget/AppCompatImageHelper; HSPLandroidx/appcompat/widget/AppCompatImageHelper;->(Landroid/widget/ImageView;)V -HPLandroidx/appcompat/widget/AppCompatImageHelper;->applyImageLevel()V +HSPLandroidx/appcompat/widget/AppCompatImageHelper;->applyImageLevel()V HPLandroidx/appcompat/widget/AppCompatImageHelper;->applySupportImageTint()V HSPLandroidx/appcompat/widget/AppCompatImageHelper;->hasOverlappingRendering()Z HPLandroidx/appcompat/widget/AppCompatImageHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V @@ -722,7 +722,7 @@ Landroidx/arch/core/executor/TaskExecutor; HSPLandroidx/arch/core/executor/TaskExecutor;->()V Landroidx/arch/core/internal/FastSafeIterableMap; HSPLandroidx/arch/core/internal/FastSafeIterableMap;->()V -HPLandroidx/arch/core/internal/FastSafeIterableMap;->ceil(Ljava/lang/Object;)Ljava/util/Map$Entry; +HSPLandroidx/arch/core/internal/FastSafeIterableMap;->ceil(Ljava/lang/Object;)Ljava/util/Map$Entry; HPLandroidx/arch/core/internal/FastSafeIterableMap;->contains(Ljava/lang/Object;)Z 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; @@ -750,7 +750,7 @@ HSPLandroidx/arch/core/internal/SafeIterableMap$Entry;->getKey()Ljava/lang/Objec HPLandroidx/arch/core/internal/SafeIterableMap$Entry;->getValue()Ljava/lang/Object; Landroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions; HSPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->(Landroidx/arch/core/internal/SafeIterableMap;)V -HSPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->hasNext()Z +HPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->hasNext()Z HSPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->next()Ljava/lang/Object; HPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->next()Ljava/util/Map$Entry; HSPLandroidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions;->supportRemove(Landroidx/arch/core/internal/SafeIterableMap$Entry;)V @@ -814,7 +814,7 @@ Landroidx/collection/ArraySet; HSPLandroidx/collection/ArraySet;->()V HSPLandroidx/collection/ArraySet;->()V HSPLandroidx/collection/ArraySet;->(I)V -HPLandroidx/collection/ArraySet;->add(Ljava/lang/Object;)Z +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 @@ -928,7 +928,7 @@ HPLandroidx/constraintlayout/solver/Cache;->()V Landroidx/constraintlayout/solver/LinearSystem; HSPLandroidx/constraintlayout/solver/LinearSystem;->()V HPLandroidx/constraintlayout/solver/LinearSystem;->()V -HPLandroidx/constraintlayout/solver/LinearSystem;->acquireSolverVariable(Landroidx/constraintlayout/solver/SolverVariable$Type;Ljava/lang/String;)Landroidx/constraintlayout/solver/SolverVariable; +HSPLandroidx/constraintlayout/solver/LinearSystem;->acquireSolverVariable(Landroidx/constraintlayout/solver/SolverVariable$Type;Ljava/lang/String;)Landroidx/constraintlayout/solver/SolverVariable; HPLandroidx/constraintlayout/solver/LinearSystem;->addConstraint(Landroidx/constraintlayout/solver/ArrayRow;)V HPLandroidx/constraintlayout/solver/LinearSystem;->addEquality(Landroidx/constraintlayout/solver/SolverVariable;I)V HPLandroidx/constraintlayout/solver/LinearSystem;->addEquality(Landroidx/constraintlayout/solver/SolverVariable;Landroidx/constraintlayout/solver/SolverVariable;II)Landroidx/constraintlayout/solver/ArrayRow; @@ -952,6 +952,7 @@ HPLandroidx/constraintlayout/solver/LinearSystem;->reset()V Landroidx/constraintlayout/solver/LinearSystem$Row; Landroidx/constraintlayout/solver/LinearSystem$ValuesRow; HPLandroidx/constraintlayout/solver/LinearSystem$ValuesRow;->(Landroidx/constraintlayout/solver/LinearSystem;Landroidx/constraintlayout/solver/Cache;)V +Landroidx/constraintlayout/solver/Metrics; Landroidx/constraintlayout/solver/Pools$Pool; Landroidx/constraintlayout/solver/Pools$SimplePool; HSPLandroidx/constraintlayout/solver/Pools$SimplePool;->(I)V @@ -991,7 +992,7 @@ HSPLandroidx/constraintlayout/solver/SolverVariableValues;->()V HPLandroidx/constraintlayout/solver/SolverVariableValues;->(Landroidx/constraintlayout/solver/ArrayRow;Landroidx/constraintlayout/solver/Cache;)V HPLandroidx/constraintlayout/solver/SolverVariableValues;->add(Landroidx/constraintlayout/solver/SolverVariable;FZ)V HPLandroidx/constraintlayout/solver/SolverVariableValues;->addToHashMap(Landroidx/constraintlayout/solver/SolverVariable;I)V -HSPLandroidx/constraintlayout/solver/SolverVariableValues;->addVariable(ILandroidx/constraintlayout/solver/SolverVariable;F)V +HPLandroidx/constraintlayout/solver/SolverVariableValues;->addVariable(ILandroidx/constraintlayout/solver/SolverVariable;F)V HPLandroidx/constraintlayout/solver/SolverVariableValues;->clear()V HSPLandroidx/constraintlayout/solver/SolverVariableValues;->contains(Landroidx/constraintlayout/solver/SolverVariable;)Z HPLandroidx/constraintlayout/solver/SolverVariableValues;->findEmptySlot()I @@ -1001,8 +1002,8 @@ HPLandroidx/constraintlayout/solver/SolverVariableValues;->getVariable(I)Landroi HPLandroidx/constraintlayout/solver/SolverVariableValues;->getVariableValue(I)F HPLandroidx/constraintlayout/solver/SolverVariableValues;->indexOf(Landroidx/constraintlayout/solver/SolverVariable;)I HPLandroidx/constraintlayout/solver/SolverVariableValues;->insertVariable(ILandroidx/constraintlayout/solver/SolverVariable;F)V -HSPLandroidx/constraintlayout/solver/SolverVariableValues;->put(Landroidx/constraintlayout/solver/SolverVariable;F)V -HSPLandroidx/constraintlayout/solver/SolverVariableValues;->remove(Landroidx/constraintlayout/solver/SolverVariable;Z)F +HPLandroidx/constraintlayout/solver/SolverVariableValues;->put(Landroidx/constraintlayout/solver/SolverVariable;F)V +HPLandroidx/constraintlayout/solver/SolverVariableValues;->remove(Landroidx/constraintlayout/solver/SolverVariable;Z)F HPLandroidx/constraintlayout/solver/SolverVariableValues;->removeFromHashMap(Landroidx/constraintlayout/solver/SolverVariable;)V HPLandroidx/constraintlayout/solver/SolverVariableValues;->use(Landroidx/constraintlayout/solver/ArrayRow;Z)F Landroidx/constraintlayout/solver/widgets/Barrier; @@ -1038,7 +1039,7 @@ HPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHorizontalMarg HSPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getMinHeight()I HSPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getMinWidth()I HSPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getParent()Landroidx/constraintlayout/solver/widgets/ConstraintWidget; -HPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVerticalDimensionBehaviour()Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; +HSPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVerticalDimensionBehaviour()Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; HPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVerticalMargin()I HPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I HPLandroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I @@ -1680,7 +1681,7 @@ Landroidx/emoji2/viewsintegration/EmojiInputFilter$InitCallbackImpl; HSPLandroidx/emoji2/viewsintegration/EmojiInputFilter$InitCallbackImpl;->(Landroid/widget/TextView;Landroidx/emoji2/viewsintegration/EmojiInputFilter;)V Landroidx/emoji2/viewsintegration/EmojiTextViewHelper; HPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper;->(Landroid/widget/TextView;Z)V -HPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper;->getFilters([Landroid/text/InputFilter;)[Landroid/text/InputFilter; +HSPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper;->getFilters([Landroid/text/InputFilter;)[Landroid/text/InputFilter; HSPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper;->setEnabled(Z)V Landroidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal; HSPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal;->()V @@ -1694,7 +1695,7 @@ HPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal19;->updat HPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal19;->wrapForEnabled(Landroid/text/method/TransformationMethod;)Landroid/text/method/TransformationMethod; HSPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal19;->wrapTransformationMethod(Landroid/text/method/TransformationMethod;)Landroid/text/method/TransformationMethod; Landroidx/emoji2/viewsintegration/EmojiTextViewHelper$SkippingHelper19; -HSPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$SkippingHelper19;->(Landroid/widget/TextView;)V +HPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$SkippingHelper19;->(Landroid/widget/TextView;)V HPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$SkippingHelper19;->getFilters([Landroid/text/InputFilter;)[Landroid/text/InputFilter; HSPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$SkippingHelper19;->setEnabled(Z)V HSPLandroidx/emoji2/viewsintegration/EmojiTextViewHelper$SkippingHelper19;->skipBecauseEmojiCompatNotInitialized()Z @@ -2557,7 +2558,7 @@ HSPLandroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged( HSPLandroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V HSPLandroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V HSPLandroidx/recyclerview/widget/RecyclerView;->requestLayout()V -HPLandroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V +HSPLandroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V HSPLandroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V HSPLandroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V HSPLandroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V @@ -2786,7 +2787,7 @@ HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->addFlags(I)V HPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->boundsMatch()Z HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->compare(II)I HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->resetFlags()V -HPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->setBounds(IIII)V +HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->setBounds(IIII)V Landroidx/recyclerview/widget/ViewBoundsCheck$Callback; Landroidx/recyclerview/widget/ViewInfoStore; HSPLandroidx/recyclerview/widget/ViewInfoStore;->()V @@ -5074,10 +5075,9 @@ HSPLio/ktor/client/call/HttpClientCall$bodyNullable$1;->(Lio/ktor/client/c Lio/ktor/client/call/HttpClientCallKt; HSPLio/ktor/client/call/HttpClientCallKt;->body(Lio/ktor/client/statement/HttpResponse;Lio/ktor/util/reflect/TypeInfo;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; Lio/ktor/client/call/SavedCallKt; -HPLio/ktor/client/call/SavedCallKt;->save(Lio/ktor/client/call/HttpClientCall;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +HSPLio/ktor/client/call/SavedCallKt;->save(Lio/ktor/client/call/HttpClientCall;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; Lio/ktor/client/call/SavedCallKt$save$1; HSPLio/ktor/client/call/SavedCallKt$save$1;->(Lkotlin/coroutines/Continuation;)V -HSPLio/ktor/client/call/SavedCallKt$save$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; Lio/ktor/client/call/SavedHttpCall; HSPLio/ktor/client/call/SavedHttpCall;->(Lio/ktor/client/HttpClient;Lio/ktor/client/request/HttpRequest;Lio/ktor/client/statement/HttpResponse;[B)V HSPLio/ktor/client/call/SavedHttpCall;->getAllowDoubleReceive()Z @@ -6304,7 +6304,7 @@ Lio/ktor/util/DelegatingMutableSet; HPLio/ktor/util/DelegatingMutableSet;->(Ljava/util/Set;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V HSPLio/ktor/util/DelegatingMutableSet;->access$getConvertTo$p(Lio/ktor/util/DelegatingMutableSet;)Lkotlin/jvm/functions/Function1; HSPLio/ktor/util/DelegatingMutableSet;->access$getDelegate$p(Lio/ktor/util/DelegatingMutableSet;)Ljava/util/Set; -HSPLio/ktor/util/DelegatingMutableSet;->iterator()Ljava/util/Iterator; +HPLio/ktor/util/DelegatingMutableSet;->iterator()Ljava/util/Iterator; Lio/ktor/util/DelegatingMutableSet$iterator$1; HPLio/ktor/util/DelegatingMutableSet$iterator$1;->(Lio/ktor/util/DelegatingMutableSet;)V HPLio/ktor/util/DelegatingMutableSet$iterator$1;->hasNext()Z @@ -6471,7 +6471,7 @@ HSPLio/ktor/util/pipeline/SuspendFunctionGun;->access$loop(Lio/ktor/util/pipelin HPLio/ktor/util/pipeline/SuspendFunctionGun;->addContinuation(Lkotlin/coroutines/Continuation;)V HSPLio/ktor/util/pipeline/SuspendFunctionGun;->discardLastRootContinuation()V HPLio/ktor/util/pipeline/SuspendFunctionGun;->execute$ktor_utils(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HPLio/ktor/util/pipeline/SuspendFunctionGun;->getSubject()Ljava/lang/Object; +HSPLio/ktor/util/pipeline/SuspendFunctionGun;->getSubject()Ljava/lang/Object; HPLio/ktor/util/pipeline/SuspendFunctionGun;->loop(Z)Z HPLio/ktor/util/pipeline/SuspendFunctionGun;->proceed(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; HSPLio/ktor/util/pipeline/SuspendFunctionGun;->proceedWith(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -6494,8 +6494,6 @@ HSPLio/ktor/utils/io/ByteBufferChannel;->()V HPLio/ktor/utils/io/ByteBufferChannel;->(Ljava/nio/ByteBuffer;)V HPLio/ktor/utils/io/ByteBufferChannel;->(ZLio/ktor/utils/io/pool/ObjectPool;I)V HSPLio/ktor/utils/io/ByteBufferChannel;->(ZLio/ktor/utils/io/pool/ObjectPool;IILkotlin/jvm/internal/DefaultConstructorMarker;)V -HSPLio/ktor/utils/io/ByteBufferChannel;->access$readRemainingSuspend(Lio/ktor/utils/io/ByteBufferChannel;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLio/ktor/utils/io/ByteBufferChannel;->access$readSuspendImpl(Lio/ktor/utils/io/ByteBufferChannel;ILkotlin/coroutines/Continuation;)Ljava/lang/Object; HSPLio/ktor/utils/io/ByteBufferChannel;->access$setAttachedJob$p(Lio/ktor/utils/io/ByteBufferChannel;Lkotlinx/coroutines/Job;)V HSPLio/ktor/utils/io/ByteBufferChannel;->attachJob(Lkotlinx/coroutines/Job;)V HSPLio/ktor/utils/io/ByteBufferChannel;->bytesRead(Ljava/nio/ByteBuffer;Lio/ktor/utils/io/internal/RingBufferCapacity;I)V @@ -6509,7 +6507,6 @@ HPLio/ktor/utils/io/ByteBufferChannel;->flushImpl(I)V HSPLio/ktor/utils/io/ByteBufferChannel;->getAutoFlush()Z HPLio/ktor/utils/io/ByteBufferChannel;->getClosed()Lio/ktor/utils/io/internal/ClosedElement; HSPLio/ktor/utils/io/ByteBufferChannel;->getClosedCause()Ljava/lang/Throwable; -HSPLio/ktor/utils/io/ByteBufferChannel;->getReadOp()Lkotlin/coroutines/Continuation; HPLio/ktor/utils/io/ByteBufferChannel;->getState()Lio/ktor/utils/io/internal/ReadWriteBufferState; HSPLio/ktor/utils/io/ByteBufferChannel;->getTotalBytesRead()J HSPLio/ktor/utils/io/ByteBufferChannel;->getTotalBytesWritten()J @@ -6522,11 +6519,9 @@ HSPLio/ktor/utils/io/ByteBufferChannel;->readAsMuchAsPossible$default(Lio/ktor/u HPLio/ktor/utils/io/ByteBufferChannel;->readAsMuchAsPossible(Lio/ktor/utils/io/core/Buffer;II)I HSPLio/ktor/utils/io/ByteBufferChannel;->readRemaining$suspendImpl(Lio/ktor/utils/io/ByteBufferChannel;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; HSPLio/ktor/utils/io/ByteBufferChannel;->readRemaining(JLkotlin/coroutines/Continuation;)Ljava/lang/Object; -HPLio/ktor/utils/io/ByteBufferChannel;->readRemainingSuspend(JLkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLio/ktor/utils/io/ByteBufferChannel;->readSuspend(ILkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLio/ktor/utils/io/ByteBufferChannel;->readSuspendImpl(ILkotlin/coroutines/Continuation;)Ljava/lang/Object; +HSPLio/ktor/utils/io/ByteBufferChannel;->readRemainingSuspend(JLkotlin/coroutines/Continuation;)Ljava/lang/Object; HSPLio/ktor/utils/io/ByteBufferChannel;->releaseBuffer(Lio/ktor/utils/io/internal/ReadWriteBufferState$Initial;)V -HSPLio/ktor/utils/io/ByteBufferChannel;->remainingPacket(J)Lio/ktor/utils/io/core/ByteReadPacket; +HPLio/ktor/utils/io/ByteBufferChannel;->remainingPacket(J)Lio/ktor/utils/io/core/ByteReadPacket; HSPLio/ktor/utils/io/ByteBufferChannel;->resolveChannelInstance$ktor_io()Lio/ktor/utils/io/ByteBufferChannel; HPLio/ktor/utils/io/ByteBufferChannel;->restoreStateAfterRead()V HPLio/ktor/utils/io/ByteBufferChannel;->restoreStateAfterWrite$ktor_io()V @@ -6537,7 +6532,6 @@ HSPLio/ktor/utils/io/ByteBufferChannel;->setTotalBytesRead$ktor_io(J)V HSPLio/ktor/utils/io/ByteBufferChannel;->setTotalBytesWritten$ktor_io(J)V HPLio/ktor/utils/io/ByteBufferChannel;->setupStateForRead()Ljava/nio/ByteBuffer; HPLio/ktor/utils/io/ByteBufferChannel;->setupStateForWrite$ktor_io()Ljava/nio/ByteBuffer; -HSPLio/ktor/utils/io/ByteBufferChannel;->suspensionForSize(ILkotlin/coroutines/Continuation;)Ljava/lang/Object; HPLio/ktor/utils/io/ByteBufferChannel;->tryReleaseBuffer(Z)Z HSPLio/ktor/utils/io/ByteBufferChannel;->tryTerminate$ktor_io()Z HSPLio/ktor/utils/io/ByteBufferChannel;->write$suspendImpl(Lio/ktor/utils/io/ByteBufferChannel;ILkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -6552,10 +6546,6 @@ HSPLio/ktor/utils/io/ByteBufferChannel$attachJob$1;->invoke(Ljava/lang/Object;)L HSPLio/ktor/utils/io/ByteBufferChannel$attachJob$1;->invoke(Ljava/lang/Throwable;)V Lio/ktor/utils/io/ByteBufferChannel$readRemainingSuspend$1; HSPLio/ktor/utils/io/ByteBufferChannel$readRemainingSuspend$1;->(Lio/ktor/utils/io/ByteBufferChannel;Lkotlin/coroutines/Continuation;)V -HSPLio/ktor/utils/io/ByteBufferChannel$readRemainingSuspend$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -Lio/ktor/utils/io/ByteBufferChannel$readSuspendImpl$1; -HSPLio/ktor/utils/io/ByteBufferChannel$readSuspendImpl$1;->(Lio/ktor/utils/io/ByteBufferChannel;Lkotlin/coroutines/Continuation;)V -HSPLio/ktor/utils/io/ByteBufferChannel$readSuspendImpl$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; Lio/ktor/utils/io/ByteBufferChannel$write$1; HSPLio/ktor/utils/io/ByteBufferChannel$write$1;->(Lio/ktor/utils/io/ByteBufferChannel;Lkotlin/coroutines/Continuation;)V Lio/ktor/utils/io/ByteBufferChannel$writeSuspension$1; @@ -6770,19 +6760,10 @@ HSPLio/ktor/utils/io/core/internal/UnsafeKt;->prepareWriteHead(Lio/ktor/utils/io Lio/ktor/utils/io/internal/CancellableReusableContinuation; HSPLio/ktor/utils/io/internal/CancellableReusableContinuation;->()V HSPLio/ktor/utils/io/internal/CancellableReusableContinuation;->()V -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation;->access$notParent(Lio/ktor/utils/io/internal/CancellableReusableContinuation;Lio/ktor/utils/io/internal/CancellableReusableContinuation$JobRelation;)V HPLio/ktor/utils/io/internal/CancellableReusableContinuation;->close(Ljava/lang/Object;)V HPLio/ktor/utils/io/internal/CancellableReusableContinuation;->close(Ljava/lang/Throwable;)V -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation;->completeSuspendBlock(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation;->notParent(Lio/ktor/utils/io/internal/CancellableReusableContinuation$JobRelation;)V -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation;->parent(Lkotlin/coroutines/CoroutineContext;)V HPLio/ktor/utils/io/internal/CancellableReusableContinuation;->resumeWith(Ljava/lang/Object;)V Lio/ktor/utils/io/internal/CancellableReusableContinuation$JobRelation; -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation$JobRelation;->(Lio/ktor/utils/io/internal/CancellableReusableContinuation;Lkotlinx/coroutines/Job;)V -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation$JobRelation;->dispose()V -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation$JobRelation;->getJob()Lkotlinx/coroutines/Job; -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation$JobRelation;->invoke(Ljava/lang/Object;)Ljava/lang/Object; -HSPLio/ktor/utils/io/internal/CancellableReusableContinuation$JobRelation;->invoke(Ljava/lang/Throwable;)V Lio/ktor/utils/io/internal/ClosedElement; HSPLio/ktor/utils/io/internal/ClosedElement;->()V HSPLio/ktor/utils/io/internal/ClosedElement;->(Ljava/lang/Throwable;)V @@ -6816,16 +6797,17 @@ HSPLio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty;->(Lio/kto HSPLio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty;->getInitial()Lio/ktor/utils/io/internal/ReadWriteBufferState$Initial; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty;->startReading$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$Reading; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty;->startReading$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState; -PLio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty;->startWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$Writing; -PLio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty;->startWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState; +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty;->startWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$Writing; +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty;->startWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState; Lio/ktor/utils/io/internal/ReadWriteBufferState$Initial; HPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->(Ljava/nio/ByteBuffer;I)V HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->(Ljava/nio/ByteBuffer;IILkotlin/jvm/internal/DefaultConstructorMarker;)V HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->getIdleState$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->getReadBuffer()Ljava/nio/ByteBuffer; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->getReadingState$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$Reading; +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->getReadingWritingState$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$ReadingWriting; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->getWriteBuffer()Ljava/nio/ByteBuffer; -PLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->getWritingState$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$Writing; +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->getWritingState$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$Writing; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Initial;->startWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$Writing; Lio/ktor/utils/io/internal/ReadWriteBufferState$Reading; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Reading;->(Lio/ktor/utils/io/internal/ReadWriteBufferState$Initial;)V @@ -6834,12 +6816,17 @@ HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Reading;->stopReading$ktor_io HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Reading;->stopReading$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState; Lio/ktor/utils/io/internal/ReadWriteBufferState$ReadingWriting; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$ReadingWriting;->(Lio/ktor/utils/io/internal/ReadWriteBufferState$Initial;)V +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$ReadingWriting;->getReadBuffer()Ljava/nio/ByteBuffer; +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$ReadingWriting;->stopWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$Reading; +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$ReadingWriting;->stopWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState; Lio/ktor/utils/io/internal/ReadWriteBufferState$Terminated; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Terminated;->()V HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Terminated;->()V Lio/ktor/utils/io/internal/ReadWriteBufferState$Writing; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Writing;->(Lio/ktor/utils/io/internal/ReadWriteBufferState$Initial;)V HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Writing;->getWriteBuffer()Ljava/nio/ByteBuffer; +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Writing;->startReading$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$ReadingWriting; +HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Writing;->startReading$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Writing;->stopWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState$IdleNonEmpty; HSPLio/ktor/utils/io/internal/ReadWriteBufferState$Writing;->stopWriting$ktor_io()Lio/ktor/utils/io/internal/ReadWriteBufferState; Lio/ktor/utils/io/internal/ReadWriteBufferStateKt; @@ -6851,7 +6838,7 @@ HSPLio/ktor/utils/io/internal/RingBufferCapacity;->()V HSPLio/ktor/utils/io/internal/RingBufferCapacity;->(I)V HSPLio/ktor/utils/io/internal/RingBufferCapacity;->completeRead(I)V HSPLio/ktor/utils/io/internal/RingBufferCapacity;->completeWrite(I)V -HSPLio/ktor/utils/io/internal/RingBufferCapacity;->flush()Z +HPLio/ktor/utils/io/internal/RingBufferCapacity;->flush()Z HSPLio/ktor/utils/io/internal/RingBufferCapacity;->isEmpty()Z HSPLio/ktor/utils/io/internal/RingBufferCapacity;->isFull()Z HSPLio/ktor/utils/io/internal/RingBufferCapacity;->resetForRead()V @@ -7379,8 +7366,8 @@ Lkotlin/jvm/internal/TypeIntrinsics; HSPLkotlin/jvm/internal/TypeIntrinsics;->asMutableList(Ljava/lang/Object;)Ljava/util/List; HSPLkotlin/jvm/internal/TypeIntrinsics;->beforeCheckcastToFunctionOfArity(Ljava/lang/Object;I)Ljava/lang/Object; HSPLkotlin/jvm/internal/TypeIntrinsics;->castToList(Ljava/lang/Object;)Ljava/util/List; -HPLkotlin/jvm/internal/TypeIntrinsics;->getFunctionArity(Ljava/lang/Object;)I -HPLkotlin/jvm/internal/TypeIntrinsics;->isFunctionOfArity(Ljava/lang/Object;I)Z +HSPLkotlin/jvm/internal/TypeIntrinsics;->getFunctionArity(Ljava/lang/Object;)I +HSPLkotlin/jvm/internal/TypeIntrinsics;->isFunctionOfArity(Ljava/lang/Object;I)Z Lkotlin/jvm/internal/markers/KMappedMarker; Lkotlin/jvm/internal/markers/KMutableCollection; Lkotlin/jvm/internal/markers/KMutableIterable; @@ -8682,14 +8669,14 @@ HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->access$4700(L HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->getArgument(I)Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Argument; HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->getArgumentCount()I HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->getDefaultInstance()Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation; -HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->getId()I +HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->getId()I HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->getSerializedSize()I HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->hasId()Z HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->initFields()V HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->isInitialized()Z HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->newBuilder()Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder; HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->newBuilderForType()Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder; -HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->newBuilderForType()Lkotlin/reflect/jvm/internal/impl/protobuf/MessageLite$Builder; +HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->newBuilderForType()Lkotlin/reflect/jvm/internal/impl/protobuf/MessageLite$Builder; HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation;->writeTo(Lkotlin/reflect/jvm/internal/impl/protobuf/CodedOutputStream;)V Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$1; HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$1;->()V @@ -8787,7 +8774,7 @@ Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Argument$ValueOrB Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$ArgumentOrBuilder; Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder; HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder;->()V -HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder;->access$4200()Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder; +HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder;->access$4200()Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder; HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder;->build()Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation; HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder;->build()Lkotlin/reflect/jvm/internal/impl/protobuf/MessageLite; HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder;->buildPartial()Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation; @@ -8799,7 +8786,6 @@ HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Builder;->setId Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$AnnotationOrBuilder; Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Class; HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Class;->()V -HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Class;->(Lkotlin/reflect/jvm/internal/impl/protobuf/CodedInputStream;Lkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;)V HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Class;->(Lkotlin/reflect/jvm/internal/impl/protobuf/CodedInputStream;Lkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$1;)V HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Class;->(Z)V HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Class;->getConstructor(I)Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Constructor; @@ -9010,7 +8996,7 @@ HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable;->(Lkotlin/reflect/jvm/internal/impl/protobuf/CodedInputStream;Lkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$1;)V HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable;->(Z)V HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable;->getDefaultInstance()Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable; -HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable;->getQualifiedName(I)Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable$QualifiedName; +HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable;->getQualifiedName(I)Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable$QualifiedName; HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable;->getQualifiedNameCount()I HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable;->initFields()V HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable;->isInitialized()Z @@ -9072,7 +9058,7 @@ HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type;->writeTo(Lkotlin/re Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$1; HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$1;->()V HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$1;->parsePartialFrom(Lkotlin/reflect/jvm/internal/impl/protobuf/CodedInputStream;Lkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;)Ljava/lang/Object; -HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$1;->parsePartialFrom(Lkotlin/reflect/jvm/internal/impl/protobuf/CodedInputStream;Lkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;)Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type; +HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$1;->parsePartialFrom(Lkotlin/reflect/jvm/internal/impl/protobuf/CodedInputStream;Lkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;)Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type; Lkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$Argument; HSPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$Argument;->()V HPLkotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$Argument;->(Lkotlin/reflect/jvm/internal/impl/protobuf/CodedInputStream;Lkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;)V @@ -9633,6 +9619,7 @@ HSPLkotlin/reflect/jvm/internal/impl/protobuf/CodedOutputStream;->writeRawBytes( HSPLkotlin/reflect/jvm/internal/impl/protobuf/CodedOutputStream;->writeRawBytes(Lkotlin/reflect/jvm/internal/impl/protobuf/ByteString;II)V HSPLkotlin/reflect/jvm/internal/impl/protobuf/CodedOutputStream;->writeRawVarint32(I)V HSPLkotlin/reflect/jvm/internal/impl/protobuf/CodedOutputStream;->writeTag(II)V +Lkotlin/reflect/jvm/internal/impl/protobuf/CodedOutputStream$OutOfSpaceException; Lkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite; HSPLkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;->()V HSPLkotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite;->()V @@ -10780,7 +10767,7 @@ 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 HPLkotlinx/coroutines/AbstractCoroutine;->resumeWith(Ljava/lang/Object;)V -HPLkotlinx/coroutines/AbstractCoroutine;->start(Lkotlinx/coroutines/CoroutineStart;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V +HSPLkotlinx/coroutines/AbstractCoroutine;->start(Lkotlinx/coroutines/CoroutineStart;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V Lkotlinx/coroutines/AbstractTimeSourceKt; HSPLkotlinx/coroutines/AbstractTimeSourceKt;->()V HSPLkotlinx/coroutines/AbstractTimeSourceKt;->getTimeSource()Lkotlinx/coroutines/AbstractTimeSource; @@ -10877,7 +10864,7 @@ HPLkotlinx/coroutines/CompletionHandlerBase;->()V Lkotlinx/coroutines/CompletionStateKt; PLkotlinx/coroutines/CompletionStateKt;->recoverResult(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; HSPLkotlinx/coroutines/CompletionStateKt;->toState$default(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object; -HPLkotlinx/coroutines/CompletionStateKt;->toState(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; +HSPLkotlinx/coroutines/CompletionStateKt;->toState(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; HSPLkotlinx/coroutines/CompletionStateKt;->toState(Ljava/lang/Object;Lkotlinx/coroutines/CancellableContinuation;)Ljava/lang/Object; Lkotlinx/coroutines/CopyableThreadContextElement; Lkotlinx/coroutines/CopyableThrowable; @@ -11269,7 +11256,7 @@ HSPLkotlinx/coroutines/channels/BufferedChannel;->prepareReceiverForSuspension(L HPLkotlinx/coroutines/channels/BufferedChannel;->send$suspendImpl(Lkotlinx/coroutines/channels/BufferedChannel;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; HSPLkotlinx/coroutines/channels/BufferedChannel;->send(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; HSPLkotlinx/coroutines/channels/BufferedChannel;->tryResumeReceiver(Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLkotlinx/coroutines/channels/BufferedChannel;->updateCellReceive(Lkotlinx/coroutines/channels/ChannelSegment;IJLjava/lang/Object;)Ljava/lang/Object; +HPLkotlinx/coroutines/channels/BufferedChannel;->updateCellReceive(Lkotlinx/coroutines/channels/ChannelSegment;IJLjava/lang/Object;)Ljava/lang/Object; HSPLkotlinx/coroutines/channels/BufferedChannel;->updateCellSend(Lkotlinx/coroutines/channels/ChannelSegment;ILjava/lang/Object;JLjava/lang/Object;Z)I Lkotlinx/coroutines/channels/BufferedChannel$BufferedChannelIterator; HSPLkotlinx/coroutines/channels/BufferedChannel$BufferedChannelIterator;->(Lkotlinx/coroutines/channels/BufferedChannel;)V @@ -11750,7 +11737,7 @@ HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->findPrevNonRemoved(Lkot HPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->finishAdd(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;)V HPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->getNext()Ljava/lang/Object; HPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->getNextNode()Lkotlinx/coroutines/internal/LockFreeLinkedListNode; -HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->getPrevNode()Lkotlinx/coroutines/internal/LockFreeLinkedListNode; +HPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->getPrevNode()Lkotlinx/coroutines/internal/LockFreeLinkedListNode; HPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->isRemoved()Z HSPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->remove()Z HPLkotlinx/coroutines/internal/LockFreeLinkedListNode;->removeOrNext()Lkotlinx/coroutines/internal/LockFreeLinkedListNode; @@ -11942,6 +11929,9 @@ Lkotlinx/coroutines/scheduling/WorkQueue; HSPLkotlinx/coroutines/scheduling/WorkQueue;->()V HSPLkotlinx/coroutines/scheduling/WorkQueue;->()V HSPLkotlinx/coroutines/scheduling/WorkQueue;->add(Lkotlinx/coroutines/scheduling/Task;Z)Lkotlinx/coroutines/scheduling/Task; +PLkotlinx/coroutines/scheduling/WorkQueue;->addLast(Lkotlinx/coroutines/scheduling/Task;)Lkotlinx/coroutines/scheduling/Task; +PLkotlinx/coroutines/scheduling/WorkQueue;->decrementIfBlocking(Lkotlinx/coroutines/scheduling/Task;)V +PLkotlinx/coroutines/scheduling/WorkQueue;->getBufferSize()I HSPLkotlinx/coroutines/scheduling/WorkQueue;->poll()Lkotlinx/coroutines/scheduling/Task; HPLkotlinx/coroutines/scheduling/WorkQueue;->pollBuffer()Lkotlinx/coroutines/scheduling/Task; HPLkotlinx/coroutines/scheduling/WorkQueue;->trySteal(ILkotlin/jvm/internal/Ref$ObjectRef;)J @@ -13473,7 +13463,7 @@ HPLokio/Buffer;->write(Lokio/Buffer;J)V HSPLokio/Buffer;->write(Lokio/ByteString;)Lokio/Buffer; HSPLokio/Buffer;->write([B)Lokio/Buffer; HPLokio/Buffer;->write([BII)Lokio/Buffer; -HSPLokio/Buffer;->writeAll(Lokio/Source;)J +HPLokio/Buffer;->writeAll(Lokio/Source;)J HPLokio/Buffer;->writeByte(I)Lokio/Buffer; HPLokio/Buffer;->writeByte(I)Lokio/BufferedSink; HPLokio/Buffer;->writeInt(I)Lokio/Buffer; @@ -13525,7 +13515,7 @@ HSPLokio/GzipSource;->checkEqual(Ljava/lang/String;II)V HSPLokio/GzipSource;->close()V HSPLokio/GzipSource;->consumeHeader()V HSPLokio/GzipSource;->consumeTrailer()V -HSPLokio/GzipSource;->read(Lokio/Buffer;J)J +HPLokio/GzipSource;->read(Lokio/Buffer;J)J HSPLokio/GzipSource;->updateCrc(Lokio/Buffer;JJ)V Lokio/InflaterSource; HSPLokio/InflaterSource;->(Lokio/BufferedSource;Ljava/util/zip/Inflater;)V @@ -13555,7 +13545,7 @@ HSPLokio/Options;->()V HSPLokio/Options;->([Lokio/ByteString;[I)V HSPLokio/Options;->([Lokio/ByteString;[ILkotlin/jvm/internal/DefaultConstructorMarker;)V HPLokio/Options;->getByteStrings$okio()[Lokio/ByteString; -HSPLokio/Options;->getTrie$okio()[I +HPLokio/Options;->getTrie$okio()[I HSPLokio/Options;->of([Lokio/ByteString;)Lokio/Options; Lokio/Options$Companion; HSPLokio/Options$Companion;->()V @@ -13584,7 +13574,7 @@ HPLokio/RealBufferedSource;->(Lokio/Source;)V HSPLokio/RealBufferedSource;->close()V HPLokio/RealBufferedSource;->exhausted()Z HSPLokio/RealBufferedSource;->getBuffer()Lokio/Buffer; -HSPLokio/RealBufferedSource;->indexOfElement(Lokio/ByteString;)J +HPLokio/RealBufferedSource;->indexOfElement(Lokio/ByteString;)J HPLokio/RealBufferedSource;->indexOfElement(Lokio/ByteString;J)J HSPLokio/RealBufferedSource;->isOpen()Z HSPLokio/RealBufferedSource;->rangeEquals(JLokio/ByteString;)Z diff --git a/sandwich-ktor/build.gradle.kts b/sandwich-ktor/build.gradle.kts index 66496db4..8661ce6a 100644 --- a/sandwich-ktor/build.gradle.kts +++ b/sandwich-ktor/build.gradle.kts @@ -95,6 +95,9 @@ baselineProfile { } } +dependencies { + baselineProfile(project(":baselineprofile")) +} java { sourceCompatibility = JavaVersion.VERSION_11 diff --git a/sandwich-ktor/src/androidMain/baseline-prof.txt b/sandwich-ktor/src/androidMain/baseline-prof.txt new file mode 100644 index 00000000..c5dd3e05 --- /dev/null +++ b/sandwich-ktor/src/androidMain/baseline-prof.txt @@ -0,0 +1,14 @@ +Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory; +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory;->()V +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory;->()V +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory;->suspendResponseConverter(Lde/jensklingenberg/ktorfit/internal/TypeData;Lde/jensklingenberg/ktorfit/Ktorfit;)Lde/jensklingenberg/ktorfit/converter/Converter$SuspendResponseConverter; +Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$Companion; +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$Companion;->()V +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$Companion;->create()Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory; +Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1; +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1;->(Lde/jensklingenberg/ktorfit/internal/TypeData;)V +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1;->convert(Lde/jensklingenberg/ktorfit/converter/KtorfitResult;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1;->convert(Lio/ktor/client/statement/HttpResponse;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1$convert$1; +HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1$convert$1;->(Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1;Lkotlin/coroutines/Continuation;)V \ No newline at end of file diff --git a/sandwich/src/androidMain/baseline-prof.txt b/sandwich/src/androidMain/baseline-prof.txt index 5e015d9c..ce09b1f4 100644 --- a/sandwich/src/androidMain/baseline-prof.txt +++ b/sandwich/src/androidMain/baseline-prof.txt @@ -23,55 +23,6 @@ HSPLcom/skydoves/sandwich/SandwichInitializer;->getSandwichFailureMappers()Ljava HSPLcom/skydoves/sandwich/SandwichInitializer;->getSandwichOperators()Ljava/util/List; HSPLcom/skydoves/sandwich/SandwichInitializer;->getSandwichScope()Lkotlinx/coroutines/CoroutineScope; HSPLcom/skydoves/sandwich/SandwichInitializer;->getSuccessCodeRange()Lkotlin/ranges/IntRange; -Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory; -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory;->()V -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory;->()V -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory;->suspendResponseConverter(Lde/jensklingenberg/ktorfit/internal/TypeData;Lde/jensklingenberg/ktorfit/Ktorfit;)Lde/jensklingenberg/ktorfit/converter/Converter$SuspendResponseConverter; -Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$Companion; -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$Companion;->()V -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$Companion;->create()Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory; -Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1; -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1;->(Lde/jensklingenberg/ktorfit/internal/TypeData;)V -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1;->convert(Lde/jensklingenberg/ktorfit/converter/KtorfitResult;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1;->convert(Lio/ktor/client/statement/HttpResponse;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1$convert$1; -HSPLcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1$convert$1;->(Lcom/skydoves/sandwich/ktorfit/ApiResponseConverterFactory$suspendResponseConverter$1;Lkotlin/coroutines/Continuation;)V -Lcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory; -HSPLcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory;->()V -HSPLcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory;->(Lkotlinx/coroutines/CoroutineScope;)V -HSPLcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory;->(Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/internal/DefaultConstructorMarker;)V -HSPLcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory;->get(Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Lretrofit2/Retrofit;)Lretrofit2/CallAdapter; -Lcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory$Companion; -HSPLcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory$Companion;->()V -HSPLcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V -HSPLcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory$Companion;->create$default(Lcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory$Companion;Lkotlinx/coroutines/CoroutineScope;ILjava/lang/Object;)Lcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory; -HSPLcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory$Companion;->create(Lkotlinx/coroutines/CoroutineScope;)Lcom/skydoves/sandwich/retrofit/adapters/ApiResponseCallAdapterFactory; -Lcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallAdapter; -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallAdapter;->(Ljava/lang/reflect/Type;Lkotlinx/coroutines/CoroutineScope;)V -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallAdapter;->adapt(Lretrofit2/Call;)Ljava/lang/Object; -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallAdapter;->adapt(Lretrofit2/Call;)Lretrofit2/Call; -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallAdapter;->responseType()Ljava/lang/reflect/Type; -Lcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallDelegate; -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallDelegate;->(Lretrofit2/Call;Lkotlinx/coroutines/CoroutineScope;)V -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallDelegate;->enqueueImpl(Lretrofit2/Callback;)V -Lcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallDelegate$enqueueImpl$1; -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallDelegate$enqueueImpl$1;->(Lcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallDelegate;Lretrofit2/Callback;Lkotlin/coroutines/Continuation;)V -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallDelegate$enqueueImpl$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation; -HPLcom/skydoves/sandwich/retrofit/adapters/internal/ApiResponseCallDelegate$enqueueImpl$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; -Lcom/skydoves/sandwich/retrofit/adapters/internal/CallDelegate; -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/CallDelegate;->(Lretrofit2/Call;)V -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/CallDelegate;->enqueue(Lretrofit2/Callback;)V -HSPLcom/skydoves/sandwich/retrofit/adapters/internal/CallDelegate;->getProxy()Lretrofit2/Call; -Lcom/skydoves/sandwich/retrofit/datasource/DataSource; -Lcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory; -HSPLcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory;->()V -HSPLcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory;->()V -HSPLcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V -Lcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory$Companion; -HSPLcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory$Companion;->()V -HSPLcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V -HSPLcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory$Companion;->create()Lcom/skydoves/sandwich/retrofit/datasource/adapters/DataSourceCallAdapterFactory; Lcom/skydoves/sandwichdemo/DataBinderMapperImpl; HSPLcom/skydoves/sandwichdemo/DataBinderMapperImpl;->()V HSPLcom/skydoves/sandwichdemo/DataBinderMapperImpl;->()V From 75bf1a5fd850caaacea194e173b2a1a8594dad2d Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 16:36:22 +0900 Subject: [PATCH 03/10] Add consumer rules --- sandwich-ktor/api/android/sandwich-ktor.api | 18 ++++++++++++++++++ sandwich-ktor/api/jvm/sandwich-ktor.api | 18 ++++++++++++++++++ sandwich-ktor/build.gradle.kts | 1 + .../src/androidMain/consumer-rules.pro | 2 ++ 4 files changed, 39 insertions(+) create mode 100644 sandwich-ktor/api/android/sandwich-ktor.api create mode 100644 sandwich-ktor/api/jvm/sandwich-ktor.api create mode 100644 sandwich-ktorfit/src/androidMain/consumer-rules.pro diff --git a/sandwich-ktor/api/android/sandwich-ktor.api b/sandwich-ktor/api/android/sandwich-ktor.api new file mode 100644 index 00000000..b73062a3 --- /dev/null +++ b/sandwich-ktor/api/android/sandwich-ktor.api @@ -0,0 +1,18 @@ +public final class com/skydoves/sandwich/ktor/ApiResponseExtensionKt { + public static final fun bodyChannel (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun bodyString (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;Ljava/nio/charset/Charset;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun bodyString$default (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;Ljava/nio/charset/Charset;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun getHeaders (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;)Lio/ktor/http/Headers; + public static final fun getHeaders (Lcom/skydoves/sandwich/ApiResponse$Success;)Lio/ktor/http/Headers; + public static final fun getHttpResponse (Lcom/skydoves/sandwich/ApiResponse$Success;)Lio/ktor/client/statement/HttpResponse; + public static final fun getPayloadResponse (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;)Lio/ktor/client/statement/HttpResponse; + public static final fun getStatusCode (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;)Lcom/skydoves/sandwich/StatusCode; + public static final fun getStatusCode (Lcom/skydoves/sandwich/ApiResponse$Success;)Lcom/skydoves/sandwich/StatusCode; + public static final fun getStatusCode (Lio/ktor/client/statement/HttpResponse;)Lcom/skydoves/sandwich/StatusCode; + public static final fun getTagResponse (Lcom/skydoves/sandwich/ApiResponse$Success;)Lio/ktor/client/statement/HttpResponse; +} + +public synthetic class com/skydoves/sandwich/ktor/ApiResponseExtensionKt$EntriesMappings { + public static final synthetic field entries$0 Lkotlin/enums/EnumEntries; +} + diff --git a/sandwich-ktor/api/jvm/sandwich-ktor.api b/sandwich-ktor/api/jvm/sandwich-ktor.api new file mode 100644 index 00000000..b73062a3 --- /dev/null +++ b/sandwich-ktor/api/jvm/sandwich-ktor.api @@ -0,0 +1,18 @@ +public final class com/skydoves/sandwich/ktor/ApiResponseExtensionKt { + public static final fun bodyChannel (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun bodyString (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;Ljava/nio/charset/Charset;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun bodyString$default (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;Ljava/nio/charset/Charset;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun getHeaders (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;)Lio/ktor/http/Headers; + public static final fun getHeaders (Lcom/skydoves/sandwich/ApiResponse$Success;)Lio/ktor/http/Headers; + public static final fun getHttpResponse (Lcom/skydoves/sandwich/ApiResponse$Success;)Lio/ktor/client/statement/HttpResponse; + public static final fun getPayloadResponse (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;)Lio/ktor/client/statement/HttpResponse; + public static final fun getStatusCode (Lcom/skydoves/sandwich/ApiResponse$Failure$Error;)Lcom/skydoves/sandwich/StatusCode; + public static final fun getStatusCode (Lcom/skydoves/sandwich/ApiResponse$Success;)Lcom/skydoves/sandwich/StatusCode; + public static final fun getStatusCode (Lio/ktor/client/statement/HttpResponse;)Lcom/skydoves/sandwich/StatusCode; + public static final fun getTagResponse (Lcom/skydoves/sandwich/ApiResponse$Success;)Lio/ktor/client/statement/HttpResponse; +} + +public synthetic class com/skydoves/sandwich/ktor/ApiResponseExtensionKt$EntriesMappings { + public static final synthetic field entries$0 Lkotlin/enums/EnumEntries; +} + diff --git a/sandwich-ktor/build.gradle.kts b/sandwich-ktor/build.gradle.kts index 8661ce6a..de90f988 100644 --- a/sandwich-ktor/build.gradle.kts +++ b/sandwich-ktor/build.gradle.kts @@ -80,6 +80,7 @@ android { namespace = "com.skydoves.sandwich.ktor" defaultConfig { minSdk = Configuration.minSdk + consumerProguardFiles("consumer-rules.pro") } compileOptions { diff --git a/sandwich-ktorfit/src/androidMain/consumer-rules.pro b/sandwich-ktorfit/src/androidMain/consumer-rules.pro new file mode 100644 index 00000000..835d0ba6 --- /dev/null +++ b/sandwich-ktorfit/src/androidMain/consumer-rules.pro @@ -0,0 +1,2 @@ +# R8 full mode strips signatures from non-kept items. +-dontwarn org.slf4j.impl.StaticLoggerBinder From da3d8f809cbab2c79084be9488716ec5426d1042 Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 16:45:10 +0900 Subject: [PATCH 04/10] Update proguard rules for the app module --- app/proguard-rules.pro | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 1fb4a626..6e9f93e9 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,4 +1,2 @@ -# TODO: Waiting for new retrofit release to remove these rules --keep,allowobfuscation,allowshrinking interface retrofit2.Call --keep,allowobfuscation,allowshrinking class retrofit2.Response --keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation +# R8 full mode strips signatures from non-kept items. +-dontobfuscate \ No newline at end of file From a3812582a27dd92f1a85ee47be3a876ea4c03e36 Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 16:58:21 +0900 Subject: [PATCH 05/10] Exclude dexBuilderBenchmarkRelease --- .github/workflows/build.yml | 2 +- .github/workflows/publish-snapshot.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0be4e7cc..067adedd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,5 +64,5 @@ jobs: - name: Build with Gradle run: | ./gradlew --scan --stacktrace \ - assemble -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile + assemble -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease \ No newline at end of file diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml index 071db731..ab2b452e 100644 --- a/.github/workflows/publish-snapshot.yml +++ b/.github/workflows/publish-snapshot.yml @@ -24,7 +24,7 @@ jobs: run: chmod +x gradlew - name: Release build - run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile + run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease - name: Publish to MavenCentral run: ./gradlew publishAllPublicationsToMavenCentral --no-daemon --no-parallel diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f45e8e99..d9efd91f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,7 +23,7 @@ jobs: run: chmod +x gradlew - name: Release build - run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile + run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease - name: Publish to MavenCentral run: ./gradlew publishAllPublicationsToMavenCentral --no-configuration-cache From f5d2dc32d392b2ea40d3fa2c2e30ddd89c869baa Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 17:09:38 +0900 Subject: [PATCH 06/10] Explicity define okhttp for app module --- app/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 388eef73..c8ed0543 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -72,6 +72,7 @@ dependencies { implementation(libs.moshi) ksp(libs.moshi.codegen) + implementation(libs.okhttp) implementation(libs.ktor.negotiation) implementation(libs.ktor.okhttp) implementation(libs.ktor.json) From e5fef9516a5f0925c7799db8a7e21a11b43919e7 Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 17:23:31 +0900 Subject: [PATCH 07/10] Exclude minifiying --- .github/workflows/build.yml | 2 +- .github/workflows/publish-snapshot.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 067adedd..e9ca4894 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,5 +64,5 @@ jobs: - name: Build with Gradle run: | ./gradlew --scan --stacktrace \ - assemble -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease + assemble -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease -x :app:minifyBenchmarkReleaseWithR8 -x :app:shrinkBenchmarkBenchmarkRes \ No newline at end of file diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml index ab2b452e..23fa436d 100644 --- a/.github/workflows/publish-snapshot.yml +++ b/.github/workflows/publish-snapshot.yml @@ -24,7 +24,7 @@ jobs: run: chmod +x gradlew - name: Release build - run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease + run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease -x :app:minifyBenchmarkReleaseWithR8 -x :app:shrinkBenchmarkBenchmarkRes - name: Publish to MavenCentral run: ./gradlew publishAllPublicationsToMavenCentral --no-daemon --no-parallel diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d9efd91f..a932b937 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,7 +23,7 @@ jobs: run: chmod +x gradlew - name: Release build - run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease + run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease -x :app:minifyBenchmarkReleaseWithR8 -x :app:shrinkBenchmarkBenchmarkRes - name: Publish to MavenCentral run: ./gradlew publishAllPublicationsToMavenCentral --no-configuration-cache From 45884a1677ff2dba5b0b405d4f3cc18125c81b67 Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 18:55:25 +0900 Subject: [PATCH 08/10] Run assembleDebug for build workflow --- .github/workflows/build.yml | 3 +-- .github/workflows/publish-snapshot.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e9ca4894..8a0d8eeb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,5 +64,4 @@ jobs: - name: Build with Gradle run: | ./gradlew --scan --stacktrace \ - assemble -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease -x :app:minifyBenchmarkReleaseWithR8 -x :app:shrinkBenchmarkBenchmarkRes - \ No newline at end of file + qwe assembleDebug -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml index 23fa436d..071db731 100644 --- a/.github/workflows/publish-snapshot.yml +++ b/.github/workflows/publish-snapshot.yml @@ -24,7 +24,7 @@ jobs: run: chmod +x gradlew - name: Release build - run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease -x :app:minifyBenchmarkReleaseWithR8 -x :app:shrinkBenchmarkBenchmarkRes + run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile - name: Publish to MavenCentral run: ./gradlew publishAllPublicationsToMavenCentral --no-daemon --no-parallel diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a932b937..f45e8e99 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,7 +23,7 @@ jobs: run: chmod +x gradlew - name: Release build - run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile -x :baselineprofile:dexBuilderBenchmarkRelease -x :app:minifyBenchmarkReleaseWithR8 -x :app:shrinkBenchmarkBenchmarkRes + run: ./gradlew assemble --scan -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile - name: Publish to MavenCentral run: ./gradlew publishAllPublicationsToMavenCentral --no-configuration-cache From 6d1cf240eac68bf6ecbcf8b115127f85d606f6df Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 18:56:47 +0900 Subject: [PATCH 09/10] Fix typo on workflow --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8a0d8eeb..f752e83e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,9 +59,9 @@ jobs: ${{ runner.os }}-gradle- - name: Make Gradle executable - run: chmod +x ./gradlew + run: chmod +x ./gradlewgit - name: Build with Gradle run: | ./gradlew --scan --stacktrace \ - qwe assembleDebug -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile + assembleDebug -x :baselineprofile:pixel6api31Setup -x :baselineprofile:pixel6api31NonMinifiedReleaseAndroidTest -x :baselineprofile:collectNonMinifiedReleaseBaselineProfile From 2b78677f0c9fa10d0f2410ab084cabf1182fea0a Mon Sep 17 00:00:00 2001 From: skydoves Date: Fri, 10 Nov 2023 19:03:46 +0900 Subject: [PATCH 10/10] Fix gradlew typo --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f752e83e..2a67f277 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,7 +59,7 @@ jobs: ${{ runner.os }}-gradle- - name: Make Gradle executable - run: chmod +x ./gradlewgit + run: chmod +x ./gradlew - name: Build with Gradle run: |