Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions backstack/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -69,20 +69,16 @@ kotlin {
dependencies {
implementation(libs.coroutines.test)
implementation(libs.kotlin.test)
implementation(libs.kotlin.test)
implementation(libs.molecule.runtime)
implementation(libs.testing.assertk)
implementation(libs.turbine)
implementation(projects.internalTestUtils)
}
}
get("browserCommonMain").dependsOn(commonMain.get())
get("browserCommonTest").dependsOn(commonTest.get())
androidMain {}
commonTest {
dependencies {
implementation(libs.kotlin.test)
implementation(libs.testing.assertk)
implementation(projects.internalTestUtils)
}
}
val commonJvmTest =
maybeCreate("commonJvmTest").apply {
dependsOn(commonTest.get())
Expand Down
50 changes: 50 additions & 0 deletions circuit-foundation/api/android/circuit-foundation.api
Original file line number Diff line number Diff line change
Expand Up @@ -319,3 +319,53 @@ public final class com/slack/circuit/foundation/backstack/ViewModelBackStackReco
public static final fun backStackHostViewModelStoreOwner (Landroidx/compose/runtime/Composer;I)Landroidx/lifecycle/ViewModelStoreOwner;
}

public final class com/slack/circuit/foundation/navstack/SaveableNavStack : com/slack/circuit/runtime/navigation/NavStack, java/lang/Iterable, kotlin/jvm/internal/markers/KMappedMarker {
public static final field $stable I
public fun <init> ()V
public fun <init> (Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;)V
public fun <init> (Lcom/slack/circuit/runtime/screen/Screen;)V
public fun backward ()Z
public fun containsRecord (Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;Z)Z
public synthetic fun containsRecord (Lcom/slack/circuit/runtime/navigation/NavStack$Record;Z)Z
public fun forward ()Z
public fun getCurrentRecord ()Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;
public synthetic fun getCurrentRecord ()Lcom/slack/circuit/runtime/navigation/NavStack$Record;
public fun getRootRecord ()Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;
public synthetic fun getRootRecord ()Lcom/slack/circuit/runtime/navigation/NavStack$Record;
public fun getSize ()I
public fun getTopRecord ()Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;
public synthetic fun getTopRecord ()Lcom/slack/circuit/runtime/navigation/NavStack$Record;
public fun isRecordReachable (Ljava/lang/String;IZ)Z
public fun iterator ()Ljava/util/Iterator;
public fun peekState ()Ljava/util/List;
public fun pop ()Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;
public synthetic fun pop ()Lcom/slack/circuit/runtime/navigation/NavStack$Record;
public fun push (Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;)Z
public synthetic fun push (Lcom/slack/circuit/runtime/navigation/NavStack$Record;)Z
public fun push (Lcom/slack/circuit/runtime/screen/Screen;)Z
public fun removeState (Lcom/slack/circuit/runtime/screen/Screen;)Z
public fun restoreState (Lcom/slack/circuit/runtime/screen/Screen;)Z
public fun saveState ()V
public fun snapshot ()Lcom/slack/circuit/runtime/navigation/NavStackList;
}

public final class com/slack/circuit/foundation/navstack/SaveableNavStack$Record : com/slack/circuit/runtime/navigation/NavStack$Record {
public static final field $stable I
public fun <init> (Lcom/slack/circuit/runtime/screen/Screen;Ljava/lang/String;)V
public synthetic fun <init> (Lcom/slack/circuit/runtime/screen/Screen;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Lcom/slack/circuit/runtime/screen/Screen;
public final fun component2 ()Ljava/lang/String;
public final fun copy (Lcom/slack/circuit/runtime/screen/Screen;Ljava/lang/String;)Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;
public static synthetic fun copy$default (Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;Lcom/slack/circuit/runtime/screen/Screen;Ljava/lang/String;ILjava/lang/Object;)Lcom/slack/circuit/foundation/navstack/SaveableNavStack$Record;
public fun equals (Ljava/lang/Object;)Z
public fun getKey ()Ljava/lang/String;
public fun getScreen ()Lcom/slack/circuit/runtime/screen/Screen;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/slack/circuit/foundation/navstack/SaveableNavStackKt {
public static final fun rememberSaveableNavStack (Lcom/slack/circuit/runtime/screen/Screen;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)Lcom/slack/circuit/runtime/navigation/NavStack;
public static final fun rememberSaveableNavStack (Ljava/util/List;Landroidx/compose/runtime/Composer;I)Lcom/slack/circuit/runtime/navigation/NavStack;
}

50 changes: 50 additions & 0 deletions circuit-foundation/api/circuit-foundation.klib.api
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,50 @@ final class com.slack.circuit.foundation.animation/PartialContentTransform { //
}
}

final class com.slack.circuit.foundation.navstack/SaveableNavStack : com.slack.circuit.runtime.navigation/NavStack<com.slack.circuit.foundation.navstack/SaveableNavStack.Record>, kotlin.collections/Iterable<com.slack.circuit.foundation.navstack/SaveableNavStack.Record> { // com.slack.circuit.foundation.navstack/SaveableNavStack|null[0]
constructor <init>(com.slack.circuit.foundation.navstack/SaveableNavStack.Record) // com.slack.circuit.foundation.navstack/SaveableNavStack.<init>|<init>(com.slack.circuit.foundation.navstack.SaveableNavStack.Record){}[0]
constructor <init>(com.slack.circuit.runtime.screen/Screen) // com.slack.circuit.foundation.navstack/SaveableNavStack.<init>|<init>(com.slack.circuit.runtime.screen.Screen){}[0]

final val currentRecord // com.slack.circuit.foundation.navstack/SaveableNavStack.currentRecord|{}currentRecord[0]
final fun <get-currentRecord>(): com.slack.circuit.foundation.navstack/SaveableNavStack.Record? // com.slack.circuit.foundation.navstack/SaveableNavStack.currentRecord.<get-currentRecord>|<get-currentRecord>(){}[0]
final val rootRecord // com.slack.circuit.foundation.navstack/SaveableNavStack.rootRecord|{}rootRecord[0]
final fun <get-rootRecord>(): com.slack.circuit.foundation.navstack/SaveableNavStack.Record? // com.slack.circuit.foundation.navstack/SaveableNavStack.rootRecord.<get-rootRecord>|<get-rootRecord>(){}[0]
final val size // com.slack.circuit.foundation.navstack/SaveableNavStack.size|{}size[0]
final fun <get-size>(): kotlin/Int // com.slack.circuit.foundation.navstack/SaveableNavStack.size.<get-size>|<get-size>(){}[0]
final val topRecord // com.slack.circuit.foundation.navstack/SaveableNavStack.topRecord|{}topRecord[0]
final fun <get-topRecord>(): com.slack.circuit.foundation.navstack/SaveableNavStack.Record? // com.slack.circuit.foundation.navstack/SaveableNavStack.topRecord.<get-topRecord>|<get-topRecord>(){}[0]

final fun backward(): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.backward|backward(){}[0]
final fun containsRecord(com.slack.circuit.foundation.navstack/SaveableNavStack.Record, kotlin/Boolean): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.containsRecord|containsRecord(com.slack.circuit.foundation.navstack.SaveableNavStack.Record;kotlin.Boolean){}[0]
final fun forward(): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.forward|forward(){}[0]
final fun isRecordReachable(kotlin/String, kotlin/Int, kotlin/Boolean): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.isRecordReachable|isRecordReachable(kotlin.String;kotlin.Int;kotlin.Boolean){}[0]
final fun iterator(): kotlin.collections/Iterator<com.slack.circuit.foundation.navstack/SaveableNavStack.Record> // com.slack.circuit.foundation.navstack/SaveableNavStack.iterator|iterator(){}[0]
final fun peekState(): kotlin.collections/List<com.slack.circuit.runtime.screen/Screen> // com.slack.circuit.foundation.navstack/SaveableNavStack.peekState|peekState(){}[0]
final fun pop(): com.slack.circuit.foundation.navstack/SaveableNavStack.Record? // com.slack.circuit.foundation.navstack/SaveableNavStack.pop|pop(){}[0]
final fun push(com.slack.circuit.foundation.navstack/SaveableNavStack.Record): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.push|push(com.slack.circuit.foundation.navstack.SaveableNavStack.Record){}[0]
final fun push(com.slack.circuit.runtime.screen/Screen): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.push|push(com.slack.circuit.runtime.screen.Screen){}[0]
final fun removeState(com.slack.circuit.runtime.screen/Screen): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.removeState|removeState(com.slack.circuit.runtime.screen.Screen){}[0]
final fun restoreState(com.slack.circuit.runtime.screen/Screen): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.restoreState|restoreState(com.slack.circuit.runtime.screen.Screen){}[0]
final fun saveState() // com.slack.circuit.foundation.navstack/SaveableNavStack.saveState|saveState(){}[0]
final fun snapshot(): com.slack.circuit.runtime.navigation/NavStackList<com.slack.circuit.foundation.navstack/SaveableNavStack.Record>? // com.slack.circuit.foundation.navstack/SaveableNavStack.snapshot|snapshot(){}[0]

final class Record : com.slack.circuit.runtime.navigation/NavStack.Record { // com.slack.circuit.foundation.navstack/SaveableNavStack.Record|null[0]
constructor <init>(com.slack.circuit.runtime.screen/Screen, kotlin/String = ...) // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.<init>|<init>(com.slack.circuit.runtime.screen.Screen;kotlin.String){}[0]

final val key // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.key|{}key[0]
final fun <get-key>(): kotlin/String // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.key.<get-key>|<get-key>(){}[0]
final val screen // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.screen|{}screen[0]
final fun <get-screen>(): com.slack.circuit.runtime.screen/Screen // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.screen.<get-screen>|<get-screen>(){}[0]

final fun component1(): com.slack.circuit.runtime.screen/Screen // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.component1|component1(){}[0]
final fun component2(): kotlin/String // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.component2|component2(){}[0]
final fun copy(com.slack.circuit.runtime.screen/Screen = ..., kotlin/String = ...): com.slack.circuit.foundation.navstack/SaveableNavStack.Record // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.copy|copy(com.slack.circuit.runtime.screen.Screen;kotlin.String){}[0]
final fun equals(kotlin/Any?): kotlin/Boolean // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.equals|equals(kotlin.Any?){}[0]
final fun hashCode(): kotlin/Int // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.hashCode|hashCode(){}[0]
final fun toString(): kotlin/String // com.slack.circuit.foundation.navstack/SaveableNavStack.Record.toString|toString(){}[0]
}
}

final class com.slack.circuit.foundation/Circuit { // com.slack.circuit.foundation/Circuit|null[0]
final val animatedNavDecoratorFactory // com.slack.circuit.foundation/Circuit.animatedNavDecoratorFactory|{}animatedNavDecoratorFactory[0]
final fun <get-animatedNavDecoratorFactory>(): com.slack.circuit.foundation.animation/AnimatedNavDecorator.Factory // com.slack.circuit.foundation/Circuit.animatedNavDecoratorFactory.<get-animatedNavDecoratorFactory>|<get-animatedNavDecoratorFactory>(){}[0]
Expand Down Expand Up @@ -278,6 +322,8 @@ final val com.slack.circuit.foundation.animation/com_slack_circuit_foundation_an
final val com.slack.circuit.foundation.animation/com_slack_circuit_foundation_animation_PartialContentTransform_Builder$stableprop // com.slack.circuit.foundation.animation/com_slack_circuit_foundation_animation_PartialContentTransform_Builder$stableprop|#static{}com_slack_circuit_foundation_animation_PartialContentTransform_Builder$stableprop[0]
final val com.slack.circuit.foundation.backstack/com_slack_circuit_foundation_backstack_BackStackRecordLocalProviderViewModel_Factory$stableprop // com.slack.circuit.foundation.backstack/com_slack_circuit_foundation_backstack_BackStackRecordLocalProviderViewModel_Factory$stableprop|#static{}com_slack_circuit_foundation_backstack_BackStackRecordLocalProviderViewModel_Factory$stableprop[0]
final val com.slack.circuit.foundation.backstack/com_slack_circuit_foundation_backstack_ViewModelBackStackRecordLocalProvider$stableprop // com.slack.circuit.foundation.backstack/com_slack_circuit_foundation_backstack_ViewModelBackStackRecordLocalProvider$stableprop|#static{}com_slack_circuit_foundation_backstack_ViewModelBackStackRecordLocalProvider$stableprop[0]
final val com.slack.circuit.foundation.navstack/com_slack_circuit_foundation_navstack_SaveableNavStack$stableprop // com.slack.circuit.foundation.navstack/com_slack_circuit_foundation_navstack_SaveableNavStack$stableprop|#static{}com_slack_circuit_foundation_navstack_SaveableNavStack$stableprop[0]
final val com.slack.circuit.foundation.navstack/com_slack_circuit_foundation_navstack_SaveableNavStack_Record$stableprop // com.slack.circuit.foundation.navstack/com_slack_circuit_foundation_navstack_SaveableNavStack_Record$stableprop|#static{}com_slack_circuit_foundation_navstack_SaveableNavStack_Record$stableprop[0]
final val com.slack.circuit.foundation/LocalAnsweringResultHandler // com.slack.circuit.foundation/LocalAnsweringResultHandler|{}LocalAnsweringResultHandler[0]
final fun <get-LocalAnsweringResultHandler>(): androidx.compose.runtime/ProvidableCompositionLocal<com.slack.circuit.foundation/AnsweringResultHandler?> // com.slack.circuit.foundation/LocalAnsweringResultHandler.<get-LocalAnsweringResultHandler>|<get-LocalAnsweringResultHandler>(){}[0]
final val com.slack.circuit.foundation/LocalBackStack // com.slack.circuit.foundation/LocalBackStack|{}LocalBackStack[0]
Expand Down Expand Up @@ -321,6 +367,10 @@ final fun com.slack.circuit.foundation.animation/com_slack_circuit_foundation_an
final fun com.slack.circuit.foundation.backstack/backStackHostViewModelStoreOwner(androidx.compose.runtime/Composer?, kotlin/Int): androidx.lifecycle/ViewModelStoreOwner? // com.slack.circuit.foundation.backstack/backStackHostViewModelStoreOwner|backStackHostViewModelStoreOwner(androidx.compose.runtime.Composer?;kotlin.Int){}[0]
final fun com.slack.circuit.foundation.backstack/com_slack_circuit_foundation_backstack_BackStackRecordLocalProviderViewModel_Factory$stableprop_getter(): kotlin/Int // com.slack.circuit.foundation.backstack/com_slack_circuit_foundation_backstack_BackStackRecordLocalProviderViewModel_Factory$stableprop_getter|com_slack_circuit_foundation_backstack_BackStackRecordLocalProviderViewModel_Factory$stableprop_getter(){}[0]
final fun com.slack.circuit.foundation.backstack/com_slack_circuit_foundation_backstack_ViewModelBackStackRecordLocalProvider$stableprop_getter(): kotlin/Int // com.slack.circuit.foundation.backstack/com_slack_circuit_foundation_backstack_ViewModelBackStackRecordLocalProvider$stableprop_getter|com_slack_circuit_foundation_backstack_ViewModelBackStackRecordLocalProvider$stableprop_getter(){}[0]
final fun com.slack.circuit.foundation.navstack/com_slack_circuit_foundation_navstack_SaveableNavStack$stableprop_getter(): kotlin/Int // com.slack.circuit.foundation.navstack/com_slack_circuit_foundation_navstack_SaveableNavStack$stableprop_getter|com_slack_circuit_foundation_navstack_SaveableNavStack$stableprop_getter(){}[0]
final fun com.slack.circuit.foundation.navstack/com_slack_circuit_foundation_navstack_SaveableNavStack_Record$stableprop_getter(): kotlin/Int // com.slack.circuit.foundation.navstack/com_slack_circuit_foundation_navstack_SaveableNavStack_Record$stableprop_getter|com_slack_circuit_foundation_navstack_SaveableNavStack_Record$stableprop_getter(){}[0]
final fun com.slack.circuit.foundation.navstack/rememberSaveableNavStack(com.slack.circuit.runtime.screen/Screen, kotlin/Function1<com.slack.circuit.foundation.navstack/SaveableNavStack, kotlin/Unit>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int): com.slack.circuit.runtime.navigation/NavStack<out com.slack.circuit.runtime.navigation/NavStack.Record> // com.slack.circuit.foundation.navstack/rememberSaveableNavStack|rememberSaveableNavStack(com.slack.circuit.runtime.screen.Screen;kotlin.Function1<com.slack.circuit.foundation.navstack.SaveableNavStack,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
final fun com.slack.circuit.foundation.navstack/rememberSaveableNavStack(kotlin.collections/List<com.slack.circuit.runtime.screen/Screen>, androidx.compose.runtime/Composer?, kotlin/Int): com.slack.circuit.runtime.navigation/NavStack<out com.slack.circuit.runtime.navigation/NavStack.Record> // com.slack.circuit.foundation.navstack/rememberSaveableNavStack|rememberSaveableNavStack(kotlin.collections.List<com.slack.circuit.runtime.screen.Screen>;androidx.compose.runtime.Composer?;kotlin.Int){}[0]
final fun com.slack.circuit.foundation/CircuitCompositionLocals(com.slack.circuit.foundation/Circuit, com.slack.circuit.retained/RetainedStateRegistry?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.slack.circuit.foundation/CircuitCompositionLocals|CircuitCompositionLocals(com.slack.circuit.foundation.Circuit;com.slack.circuit.retained.RetainedStateRegistry?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
final fun com.slack.circuit.foundation/CircuitContent(com.slack.circuit.runtime.screen/Screen, androidx.compose.ui/Modifier?, com.slack.circuit.foundation/Circuit?, kotlin/Function4<com.slack.circuit.runtime.screen/Screen, androidx.compose.ui/Modifier, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, kotlin/Any?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.slack.circuit.foundation/CircuitContent|CircuitContent(com.slack.circuit.runtime.screen.Screen;androidx.compose.ui.Modifier?;com.slack.circuit.foundation.Circuit?;kotlin.Function4<com.slack.circuit.runtime.screen.Screen,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Any?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
final fun com.slack.circuit.foundation/CircuitContent(com.slack.circuit.runtime.screen/Screen, androidx.compose.ui/Modifier?, kotlin/Function1<com.slack.circuit.foundation/NavEvent, kotlin/Unit>, com.slack.circuit.foundation/Circuit?, kotlin/Function4<com.slack.circuit.runtime.screen/Screen, androidx.compose.ui/Modifier, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, kotlin/Any?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.slack.circuit.foundation/CircuitContent|CircuitContent(com.slack.circuit.runtime.screen.Screen;androidx.compose.ui.Modifier?;kotlin.Function1<com.slack.circuit.foundation.NavEvent,kotlin.Unit>;com.slack.circuit.foundation.Circuit?;kotlin.Function4<com.slack.circuit.runtime.screen.Screen,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Any?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
Expand Down
Loading