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
Replace MessageComposerNotice with MessageComposerViewEvent to handle transient UI feedback as one-shot side effects.
- Rename `MessageComposerNotice` to `MessageComposerViewEvent`.
- Replace the `notices` list in `MessageComposerState` with an `events` `SharedFlow` in `MessageComposerController`.
- Remove `dismissNotice()` and `emitNotice()` in favor of direct event emission.
- Update `MessageComposerController` to emit `CommandUnavailable` events when commands are triggered in incompatible modes (e.g., during editing).
- Update unit tests to collect and verify events using the `test` library.
Copy file name to clipboardExpand all lines: stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/viewmodel/messages/MessageComposerViewModel.kt
Copy file name to clipboardExpand all lines: stream-chat-android-ui-common/api/stream-chat-android-ui-common.api
+18-21Lines changed: 18 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -2281,21 +2281,6 @@ public final class io/getstream/chat/android/ui/common/state/messages/composer/A
2281
2281
public fun toString ()Ljava/lang/String;
2282
2282
}
2283
2283
2284
-
public abstract interface class io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerNotice {
2285
-
}
2286
-
2287
-
public final class io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerNotice$CommandUnavailable : io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerNotice {
2288
-
public static final field $stable I
2289
-
public fun <init> (Lio/getstream/chat/android/ui/common/state/messages/MessageAction;)V
2290
-
public final fun component1 ()Lio/getstream/chat/android/ui/common/state/messages/MessageAction;
2291
-
public final fun copy (Lio/getstream/chat/android/ui/common/state/messages/MessageAction;)Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerNotice$CommandUnavailable;
2292
-
public static synthetic fun copy$default (Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerNotice$CommandUnavailable;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;ILjava/lang/Object;)Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerNotice$CommandUnavailable;
2293
-
public fun equals (Ljava/lang/Object;)Z
2294
-
public final fun getAction ()Lio/getstream/chat/android/ui/common/state/messages/MessageAction;
2295
-
public fun hashCode ()I
2296
-
public fun toString ()Ljava/lang/String;
2297
-
}
2298
-
2299
2284
public final class io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState {
2300
2285
public static final field $stable I
2301
2286
public fun <init> ()V
@@ -2317,8 +2302,7 @@ public final class io/getstream/chat/android/ui/common/state/messages/composer/M
2317
2302
public fun <init> (Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZ)V
2318
2303
public fun <init> (Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;)V
2319
2304
public fun <init> (Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;Lio/getstream/chat/android/models/Command;)V
2320
-
public fun <init> (Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;Lio/getstream/chat/android/models/Command;Ljava/util/List;)V
2321
-
public synthetic fun <init> (Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;Lio/getstream/chat/android/models/Command;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
2305
+
public synthetic fun <init> (Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;Lio/getstream/chat/android/models/Command;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
2322
2306
public final fun component1 ()Ljava/lang/String;
2323
2307
public final fun component10 ()Z
2324
2308
public final fun component11 ()Ljava/util/Set;
@@ -2329,7 +2313,6 @@ public final class io/getstream/chat/android/ui/common/state/messages/composer/M
2329
2313
public final fun component16 ()Z
2330
2314
public final fun component17 ()Ljava/util/Set;
2331
2315
public final fun component18 ()Lio/getstream/chat/android/models/Command;
2332
-
public final fun component19 ()Ljava/util/List;
2333
2316
public final fun component2 ()Ljava/util/List;
2334
2317
public final fun component3 ()Lio/getstream/chat/android/ui/common/state/messages/MessageAction;
2335
2318
public final fun component4 ()Ljava/util/List;
@@ -2338,8 +2321,8 @@ public final class io/getstream/chat/android/ui/common/state/messages/composer/M
2338
2321
public final fun component7 ()Lio/getstream/chat/android/models/LinkPreview;
2339
2322
public final fun component8 ()I
2340
2323
public final fun component9 ()Lio/getstream/chat/android/ui/common/state/messages/MessageMode;
2341
-
public final fun copy (Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;Lio/getstream/chat/android/models/Command;Ljava/util/List;)Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState;
2342
-
public static synthetic fun copy$default (Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState;Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;Lio/getstream/chat/android/models/Command;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState;
2324
+
public final fun copy (Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;Lio/getstream/chat/android/models/Command;)Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState;
2325
+
public static synthetic fun copy$default (Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState;Ljava/lang/String;Ljava/util/List;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lio/getstream/chat/android/models/LinkPreview;ILio/getstream/chat/android/ui/common/state/messages/MessageMode;ZLjava/util/Set;ZLio/getstream/chat/android/models/User;Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;ZZLjava/util/Set;Lio/getstream/chat/android/models/Command;ILjava/lang/Object;)Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState;
2343
2326
public fun equals (Ljava/lang/Object;)Z
2344
2327
public final fun getAction ()Lio/getstream/chat/android/ui/common/state/messages/MessageAction;
2345
2328
public final fun getActiveCommand ()Lio/getstream/chat/android/models/Command;
@@ -2353,7 +2336,6 @@ public final class io/getstream/chat/android/ui/common/state/messages/composer/M
2353
2336
public final fun getLinkPreview ()Lio/getstream/chat/android/models/LinkPreview;
2354
2337
public final fun getMentionSuggestions ()Ljava/util/List;
2355
2338
public final fun getMessageMode ()Lio/getstream/chat/android/ui/common/state/messages/MessageMode;
2356
-
public final fun getNotices ()Ljava/util/List;
2357
2339
public final fun getOwnCapabilities ()Ljava/util/Set;
2358
2340
public final fun getPollsEnabled ()Z
2359
2341
public final fun getRecording ()Lio/getstream/chat/android/ui/common/state/messages/composer/RecordingState;
@@ -2364,6 +2346,21 @@ public final class io/getstream/chat/android/ui/common/state/messages/composer/M
2364
2346
public fun toString ()Ljava/lang/String;
2365
2347
}
2366
2348
2349
+
public abstract interface class io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerViewEvent {
2350
+
}
2351
+
2352
+
public final class io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerViewEvent$CommandUnavailable : io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerViewEvent {
2353
+
public static final field $stable I
2354
+
public fun <init> (Lio/getstream/chat/android/ui/common/state/messages/MessageAction;)V
2355
+
public final fun component1 ()Lio/getstream/chat/android/ui/common/state/messages/MessageAction;
2356
+
public final fun copy (Lio/getstream/chat/android/ui/common/state/messages/MessageAction;)Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerViewEvent$CommandUnavailable;
2357
+
public static synthetic fun copy$default (Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerViewEvent$CommandUnavailable;Lio/getstream/chat/android/ui/common/state/messages/MessageAction;ILjava/lang/Object;)Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerViewEvent$CommandUnavailable;
2358
+
public fun equals (Ljava/lang/Object;)Z
2359
+
public final fun getAction ()Lio/getstream/chat/android/ui/common/state/messages/MessageAction;
2360
+
public fun hashCode ()I
2361
+
public fun toString ()Ljava/lang/String;
2362
+
}
2363
+
2367
2364
public abstract class io/getstream/chat/android/ui/common/state/messages/composer/RecordingState {
Copy file name to clipboardExpand all lines: stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/feature/messages/composer/MessageComposerController.kt
Copy file name to clipboardExpand all lines: stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState.kt
Copy file name to clipboardExpand all lines: stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/state/messages/composer/MessageComposerViewEvent.kt
0 commit comments