// // GroupCallVideoCellViewModel.swift // TUICallKit // // Created by vincepzhang on 2023/3/6. // import Foundation import TUICallEngine class GroupCallVideoCellViewModel { let showLargeViewUserIdObserver = Observer() let remoteUserStatusObserver = Observer() let remoteUserVideoAvailableObserver = Observer() let remotePlayoutVolumeObserver = Observer() let remoteNetworkQualityObserver = Observer() var remoteUser = User() let isShowLargeViewUserId: Observable = Observable(false) let remoteUserStatus: Observable = Observable(.none) let remoteUserVideoAvailable: Observable = Observable(false) let remoteUserVolume: Observable = Observable(0) let remoteIsShowLowNetworkQuality: Observable = Observable(false) init(remote: User) { remoteUser = remote isShowLargeViewUserId.value = (TUICallState.instance.showLargeViewUserId.value == remote.id.value) && (remote.id.value.count > 0) registerObserve() } deinit { TUICallState.instance.showLargeViewUserId.removeObserver(showLargeViewUserIdObserver) for index in 0..