import { Injectable } from '@angular/core' ; import { Observable , BehaviorSubject } from 'rxjs' ; import { Publisher } from 'openvidu-browser/lib/OpenVidu/Publisher' ; import { UserModel } from '../../models/user-model' ; import { AvatarType } from '../../types/chat-type' ; @ Injectable ( { providedIn : 'root' } ) export class LocalUsersServiceMock { OVUsers : Observable < UserModel [ ] > ; screenShareState : Observable < boolean > ; webcamVideoActive : Observable < boolean > ; private _OVUsers = < BehaviorSubject < UserModel [ ] > > new BehaviorSubject ( [ ] ) ; private _screenShareState = < BehaviorSubject < boolean > > new BehaviorSubject ( false ) ; private _webcamVideoActive = < BehaviorSubject < boolean > > new BehaviorSubject ( true ) ; private webcamUser : UserModel = null ; private screenUser : UserModel = null ; constructor ( ) { this . OVUsers = this . _OVUsers . asObservable ( ) ; this . screenShareState = this . _screenShareState . asObservable ( ) ; this . webcamVideoActive = this . _webcamVideoActive . asObservable ( ) ; } initialize ( ) { } getWebcamPublisher ( ) { return null ; } setWebcamPublisher ( publisher ) { } getScreenPublisher ( ) { return null ; } setScreenPublisher ( publisher ) { } enableWebcamUser ( ) { } disableWebcamUser ( ) { } enableScreenUser ( screenPublisher ) { } disableScreenUser ( ) { } updateUsersStatus ( ) { } clear ( ) { } isWebCamEnabled ( ) { return false ; } isOnlyScreenConnected ( ) { return false ; } hasWebcamVideoActive ( ) { return false ; } hasWebcamAudioActive ( ) { return false ; } hasScreenAudioActive ( ) { return false ; } areBothConnected ( ) { return false ; } isOnlyWebcamConnected ( ) { return false ; } isScreenShareEnabled ( ) { return false ; } setWebcamAvatar ( ) { } setAvatar ( option , avatar ? ) { } updateUsersNickname ( nickname ) { } getWebcamAvatar ( ) { return '' ; } getWebcamUserName ( ) { return '' ; } getScreenUserName ( ) { } resetUsersZoom ( ) { } toggleZoom ( connectionId ) { } }