fix(core): use copyWith while setting controller items.

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
Sahil Kumar
2022-08-16 15:32:10 +05:30
committed by xsahil03x
parent 6afde872e5
commit 0117e4cb7c
3 changed files with 16 additions and 12 deletions
@@ -163,13 +163,14 @@ class StreamChannelListController extends PagedValueNotifier<int, Channel> {
}
}
/// Replaces the previously loaded channels with [channels] and updates
/// the nextPageKey.
/// Replaces the previously loaded channels with the passed [channels].
set channels(List<Channel> channels) {
value = PagedValue(
items: channels,
nextPageKey: channels.length,
);
if (value.isSuccess) {
final currentValue = value.asSuccess;
value = currentValue.copyWith(items: channels);
} else {
value = PagedValue(items: channels);
}
}
/// Returns/Creates a new Channel and starts watching it.
@@ -153,12 +153,13 @@ class StreamUserListController extends PagedValueNotifier<int, User> {
return super.refresh(resetValue: resetValue);
}
/// Replaces the previously loaded users with [users] and updates
/// the nextPageKey.
/// Replaces the previously loaded users with the passed [users].
set users(List<User> users) {
value = PagedValue(
items: users,
nextPageKey: users.length,
);
if (value.isSuccess) {
final currentValue = value.asSuccess;
value = currentValue.copyWith(items: users);
} else {
value = PagedValue(items: users);
}
}
}