You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ModalContainer provides SavedStateRegistries to each of its layers.
Without this `BackStackContainer` is the only thing that can host `ComposeView` in `Dialog` windows.
Note that we delete `BackStackStateKey`, which was a wart to get around the absence of this work.
This fixes#469, and also fixes#470.
Co-authored-by: Ray Ryan <[email protected]>
Copy file name to clipboardExpand all lines: samples/containers/android/src/main/java/com/squareup/sample/container/overviewdetail/OverviewDetailContainer.kt
Copy file name to clipboardExpand all lines: workflow-ui/compose/src/androidTest/java/com/squareup/workflow1/ui/compose/ComposeViewTreeIntegrationTest.kt
Copy file name to clipboardExpand all lines: workflow-ui/container-android/api/container-android.api
+6-34Lines changed: 6 additions & 34 deletions
Original file line number
Diff line number
Diff line change
@@ -33,33 +33,6 @@ public final class com/squareup/workflow1/ui/backstack/BackStackContainer$Compan
33
33
public fun getType ()Lkotlin/reflect/KClass;
34
34
}
35
35
36
-
public final class com/squareup/workflow1/ui/backstack/BackStackStateKeyKt {
37
-
public static final fun getGetBackStackStateKeyPrefix (Lcom/squareup/workflow1/ui/ViewEnvironment;)Ljava/lang/String;
38
-
public static final fun withBackStackStateKeyPrefix (Lcom/squareup/workflow1/ui/ViewEnvironment;Ljava/lang/String;)Lcom/squareup/workflow1/ui/ViewEnvironment;
39
-
}
40
-
41
-
public final class com/squareup/workflow1/ui/backstack/KeyedStateRegistryOwner : androidx/lifecycle/LifecycleOwner, androidx/savedstate/SavedStateRegistryOwner {
42
-
public static final field Companion Lcom/squareup/workflow1/ui/backstack/KeyedStateRegistryOwner$Companion;
43
-
public synthetic fun <init> (Ljava/lang/String;Landroidx/lifecycle/LifecycleOwner;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
44
-
public final fun getController ()Landroidx/savedstate/SavedStateRegistryController;
45
-
public final fun getKey ()Ljava/lang/String;
46
-
public fun getLifecycle ()Landroidx/lifecycle/Lifecycle;
47
-
public fun getSavedStateRegistry ()Landroidx/savedstate/SavedStateRegistry;
48
-
}
49
-
50
-
public final class com/squareup/workflow1/ui/backstack/KeyedStateRegistryOwner$Companion {
51
-
public final fun installAsSavedStateRegistryOwnerOn (Landroid/view/View;Ljava/lang/String;)Lcom/squareup/workflow1/ui/backstack/KeyedStateRegistryOwner;
52
-
}
53
-
54
-
public final class com/squareup/workflow1/ui/backstack/StateRegistryAggregator {
55
-
public fun <init> (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V
56
-
public final fun attachToParentRegistry (Ljava/lang/String;Landroidx/savedstate/SavedStateRegistryOwner;)V
57
-
public final fun detachFromParentRegistry ()V
58
-
public final fun pruneKeys (Ljava/util/Collection;)V
59
-
public final fun restoreRegistryControllerIfReady (Ljava/lang/String;Landroidx/savedstate/SavedStateRegistryController;)V
60
-
public final fun saveRegistryController (Ljava/lang/String;Landroidx/savedstate/SavedStateRegistryController;)V
61
-
}
62
-
63
36
public final class com/squareup/workflow1/ui/backstack/ViewStateCache : android/os/Parcelable {
64
37
public static final field CREATOR Lcom/squareup/workflow1/ui/backstack/ViewStateCache$CREATOR;
65
38
public fun <init> ()V
@@ -148,31 +121,30 @@ public abstract class com/squareup/workflow1/ui/modal/ModalContainer : android/w
148
121
public fun <init> (Landroid/content/Context;Landroid/util/AttributeSet;II)V
149
122
public synthetic fun <init> (Landroid/content/Context;Landroid/util/AttributeSet;IIILkotlin/jvm/internal/DefaultConstructorMarker;)V
150
123
protected abstract fun buildDialog (Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;)Lcom/squareup/workflow1/ui/modal/ModalContainer$DialogRef;
124
+
protected fun onAttachedToWindow ()V
125
+
protected fun onDetachedFromWindow ()V
151
126
protected fun onRestoreInstanceState (Landroid/os/Parcelable;)V
152
127
protected fun onSaveInstanceState ()Landroid/os/Parcelable;
153
128
protected final fun update (Lcom/squareup/workflow1/ui/modal/HasModals;Lcom/squareup/workflow1/ui/ViewEnvironment;)V
154
129
protected abstract fun updateDialog (Lcom/squareup/workflow1/ui/modal/ModalContainer$DialogRef;)V
155
130
}
156
131
157
132
protected final class com/squareup/workflow1/ui/modal/ModalContainer$DialogRef {
133
+
public field stateRegistryOwner Lcom/squareup/workflow1/ui/androidx/KeyedStateRegistryOwner;
158
134
public fun <init> (Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroid/app/Dialog;Ljava/lang/Object;)V
159
135
public synthetic fun <init> (Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroid/app/Dialog;Ljava/lang/Object;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
160
-
public final fun component1 ()Ljava/lang/Object;
161
-
public final fun component2 ()Lcom/squareup/workflow1/ui/ViewEnvironment;
162
-
public final fun component3 ()Landroid/app/Dialog;
163
-
public final fun component4 ()Ljava/lang/Object;
164
-
public final fun copy (Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroid/app/Dialog;Ljava/lang/Object;)Lcom/squareup/workflow1/ui/modal/ModalContainer$DialogRef;
165
-
public static synthetic fun copy$default (Lcom/squareup/workflow1/ui/modal/ModalContainer$DialogRef;Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroid/app/Dialog;Ljava/lang/Object;ILjava/lang/Object;)Lcom/squareup/workflow1/ui/modal/ModalContainer$DialogRef;
136
+
public final fun copy (Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;)Lcom/squareup/workflow1/ui/modal/ModalContainer$DialogRef;
166
137
public final fun dismiss$wf1_container_android ()V
167
138
public fun equals (Ljava/lang/Object;)Z
168
139
public final fun getDialog ()Landroid/app/Dialog;
169
140
public final fun getExtra ()Ljava/lang/Object;
170
141
public final fun getModalRendering ()Ljava/lang/Object;
142
+
public final fun getStateRegistryOwner$wf1_container_android ()Lcom/squareup/workflow1/ui/androidx/KeyedStateRegistryOwner;
171
143
public final fun getViewEnvironment ()Lcom/squareup/workflow1/ui/ViewEnvironment;
172
144
public fun hashCode ()I
173
145
public final fun restore$wf1_container_android (Lcom/squareup/workflow1/ui/modal/ModalContainer$KeyAndBundle;)V
174
146
public final fun save$wf1_container_android ()Lcom/squareup/workflow1/ui/modal/ModalContainer$KeyAndBundle;
175
-
public fun toString ()Ljava/lang/String;
147
+
public final fun setStateRegistryOwner$wf1_container_android (Lcom/squareup/workflow1/ui/androidx/KeyedStateRegistryOwner;)V
176
148
}
177
149
178
150
public final class com/squareup/workflow1/ui/modal/ModalContainer$KeyAndBundle : android/os/Parcelable {
Copy file name to clipboardExpand all lines: workflow-ui/container-android/src/androidTest/java/com/squareup/workflow1/ui/backstack/test/ViewStateCacheTest.kt
0 commit comments