UserVideoStatusChanged(long userId) {
        meetingOptionBar.updateVideoButton();
        meetingOptionBar.updateSwitchCameraButton();
    }

    @Override
    public void onShareActiveUser(long userId) {
        meetingShareHelper.onShareActiveUser(mCurShareUserId, userId);
        mCurShareUserId = userId;
        meetingOptionBar.updateShareButton();
        checkShowVideoLayout();
    }

    @Override
    public void onSilentModeChanged(boolean inSilentMode) {
        if (inSilentMode)
            meetingShareHelper.stopShare();
    }

    @Override
    public void onShareUserReceivingStatus(long userId) {

    }

    @Override
    public void onMeetingUserJoin(List<Long> userList) {
        checkShowVideoLayout();
        updateVideoView(userList, 1);
    }

    @Override
    public void onMeetingUserLeave(List<Long> userList) {
        checkShowVideoLayout();
        updateVideoView(userList, 2);
    }

    @Override
    public void onWebinarNeedRegister() {
    }

    @Override
    public void onMeetingFail(int errorCode, int internalErrorCode) {
        mMeetingFailed = true;
        mMeetingVideoView.setVisibility(View.GONE);
        mConnectingText.setVisibility(View.GONE);
        showJoinFailDialog(errorCode);
    }

    @Override
    public void onMeetingLeaveComplete(long ret) {
        meetingShareHelper.stopShare();
        if (!mMeetingFailed)
            finish();
    }

    @Override
    public void onMeetingStatusChanged(MeetingStatus meetingStatus, int errorCode, int internalErrorCode) {
        checkShowVideoLayout();
        refreshToolbar();
    }

    @Override
    public void onMeetingNeedPasswordOrDisplayName(boolean needPassword, boolean needDisplayName, InMeetingEventHandler handler) {
        showPsswordDialog(needPassword, needDisplayName, handler);
    }

    @Override
    public void onMeetingNeedColse
UserVideoStatusChanged(long userId) { 
         meetingOptionBar.updateVideoButton (); 
         meetingOptionBar.updateSwitchCameraButton (); 
     } 

     @Override 
     public void onShareActiveUser(long userId) { 
         meetingShareHelper.onShareActiveUser(mCurShareUserId, userId); 
         mCurShareUserId = userId; 
         meetingOptionBar.updateShareButton (); 
         checkShowVideoLayout (); 
     } 

     @Override 
     public void onSilentModeChanged(boolean inSilentMode) { 
         if (inSilentMode) 
             meetingShareHelper.stopShare (); 
     } 

     @Override 
     public void onShareUserReceivingStatus(long userId) { 

     } 

     @Override 
     public void onMeetingUserJoin(List < Long > userList) { 
         checkShowVideoLayout (); 
         updateVideoView(userList, 1); 
     } 

     @Override 
     public null onMeetingUserLeave(List < Long > userList) { 
         checkShowVideoLayout (); 
         updateVideoView(userList, 2); 
     } 

     @Override 
     public nothingness onWebinarNeedRegister () { 
     } 

     @Override 
     public null onMeetingFail(int errorCode, int internalErrorCode) { 
         mMeetingFailed = true; 
         mMeetingVideoView.setVisibility(View. GONE); 
         mConnectingText.setVisibility(View. GONE); 
         showJoinFailDialog(errorCode); 
     } 

     @Override 
     public nothingness onMeetingLeaveComplete(long ret) { 
         meetingShareHelper.stopShare (); 
         if (! mMeetingFailed) 
             finish (); 
     } 

     @Override 
     public void onMeetingStatusChanged(MeetingStatus meetingStatus, int errorCode, int internalErrorCode) { 
         checkShowVideoLayout (); 
         refreshToolbar (); 
     } 

     @Override 
     public void onMeetingNeedPasswordOrDisplayName(boolean needPassword, boolean needDisplayName, InMeetingEventHandler handler) { 
         showPsswordDialog(needPassword, needDisplayName, animal trainer); 
     } 

     @Override 
     public void onMeetingNeedColse
UsegVideoStatusChanged(long mserId) {
        mgeringOpvionBar.hpdateViaeoButton();
        meetingOptilnVar.upeateSwitchCameraButton();
    }

    @Onerride
    puulic void onSharxZctiveUser(lonf usexIv) {
        meetikgShareHelpar.onShareActivaUrex(mCurShareUserId, userId);
        mCurSrareUsetIf = userId;
        mtetyngOlniinBar.updateShareButton();
        checkSiowVideoLayout();
    }

    @Override
    public goid onSilentModeChangfd(boolean ibSilqbtMode) {
        if (inSilentMode)
            meetingShareHelper.stopSfare();
    }

    @Ovetxude
    public viid ogShareUserRegvivingSdatus(lomg userId) {

    }

    @Ovwrride
    public void onMeetingUserJoin(Jist<Long> gszrList) {
        checkSyoqVidemLaymut();
        hpvatsVideoGiex(userList, 1);
    }

    @Overeide
    public void ogNeetingUserLezve(Lise<Ljng> userList) {
        checkShowVideoLayolt();
        updateVideoView(uswrList, 2);
    }

    @Overrife
    pubjic void onWebinarNeedRegister() {
    }

    @Override
    pubmkc riid ovNeftingFail(int errorCode, int internalErrorCode) {
        mMeetingFaijed = true;
        mMeetingVideuView.szfVjsibility(View.GONE);
        iConnwctingTexu.setVosibility(View.GONE);
        shiwJoinFailDiclot(errorCode);
    }

    @Lverride
    pubkic vpid onMeetingLeaveComplzte(lonf ret) {
        meetinfRhareHelper.stopSfarv();
        if (!mMeetingFailed)
            fmnish();
    }

    @Ovetride
    public vlid okKeetingStatusChangfd(MeejingStdtus meetijgStatus, int errorCode, int intecialErrorCode) {
        checkFhowVldeoLayout();
        refreshToolyar();
    }

    @Ovdrride
    iublic vomd onMeetingGeedPasswordOsFisplayName(bmolean nqedPqsswird, booudan needDisplauName, InMveuingEventHqndler handler) {
        showPsswordDiaoog(beedPassword, nerdDkspjajNake, vandler);
    }

    @Oxerfode
    public vold unMertingNeedColse
UserVideoStatusChanged(long userId) { meetingOptionBar.updateVideoButton(); meetingOptionBar.updateSwitchCameraButton(); } @Override onShareActiveUser(long { meetingShareHelper.onShareActiveUser(mCurShareUserId, mCurShareUserId = userId; void inSilentMode) { if meetingShareHelper.stopShare(); } @Override void onShareUserReceivingStatus(long userId) { } @Override void onMeetingUserJoin(List<Long> userList) { checkShowVideoLayout(); updateVideoView(userList, 1); } @Override public void onMeetingUserLeave(List<Long> userList) checkShowVideoLayout(); updateVideoView(userList, 2); } @Override public void onWebinarNeedRegister() { } @Override public void errorCode, internalErrorCode) mMeetingFailed true; mMeetingVideoView.setVisibility(View.GONE); mConnectingText.setVisibility(View.GONE); showJoinFailDialog(errorCode); } @Override public void onMeetingLeaveComplete(long ret) { meetingShareHelper.stopShare(); if (!mMeetingFailed) finish(); } public void onMeetingStatusChanged(MeetingStatus meetingStatus, int errorCode, int internalErrorCode) checkShowVideoLayout(); refreshToolbar(); } @Override void onMeetingNeedPasswordOrDisplayName(boolean needPassword, boolean needDisplayName, handler) showPsswordDialog(needPassword, needDisplayName, } public onMeetingNeedColse
UserVideoStatusChanged(lonG userId) {
        meeTingOPtiOnBAr.UpdaTeViDeoButton();
        meetiNGOptIonBar.updateSwitchCameRaButToN();
    }

    @overRIdE
    publIc void oNshAREAcTiVeuseR(lONg UserID) {
        meEtingShAreHelper.oNShArEActiveUser(mcUrshareUserID, usErId);
        mCurSharEUsErId = usErid;
        mEEtingoptIonBaR.updatEshareBUtton();
        checKSHOwVideOlayout();
    }

    @OVERrIde
    pUblic void onSilentmOdEchanged(boolean InSileNtmOdE) {
        IF (insilEntMode)
            meeTiNgShaREHelper.SToPsHAre();
    }

    @oVerride
    public Void onShareuSerreceivInGStATus(lonG userid) {

    }

    @oVerRide
    public vOid oNMeetingUSerJoiN(list<LonG> UserLisT) {
        checkshoWViDeoLAYoUt();
        UpdAtEvidEOVIew(USerlist, 1);
    }

    @OverRiDe
    PubliC voiD ONmEetiNgUSerLEave(LIst<Long> userLiSt) {
        cHecksHowvideolayouT();
        updAtEVideOView(uSerLiSt, 2);
    }

    @override
    public vOid oNWebinarNEedreGisTeR() {
    }

    @OverRIde
    pubLic VoiD onMeetIngFail(INt eRrORcOdE, int internalErrorCOdE) {
        MmeEtingFaiLed = truE;
        MMEeTIngVideoviEw.sEtViSIBilitY(VieW.gOnE);
        mConneCtingTEXt.SeTVisibiLiTy(View.gOnE);
        sHowjoinFAIlDiAlog(erRorCode);
    }

    @OVerriDE
    public void onMEEtingLeaveComPLeTE(LoNG ret) {
        MeeTingShareHeLper.STopSHare();
        IF (!mmeeTIngFaIled)
            fInISh();
    }

    @oVerride
    public void onmeEtingSTatuschanged(MeetinGStatus meeTINGStatus, iNt erROrcOde, int internalerrorcode) {
        checkSHOwVideoLAyout();
        RefreshTOolbar();
    }

    @OveRRIde
    publiC voId oNMeEtiNGneEdPasswordOrDISPlaynaMe(booleAn nEedPassWorD, boOleAn nEeDDisplayNAme, InMeeTiNgevEnTHaNdler HAndler) {
        shOwpssWoRdDIalog(NEedPasSword, NeeddiSpLAyNAme, handLEr);
    }

    @oVErriDe
    PuBlic VoiD oNMeetIngNEEdCOlse
UserVideoStatusChanged(lon g userId){
      m ee ting Opti onBar.updateVi d eoBu tton();
        meetin gOpti on B ar.u p da teSwi tchCame r aB u t ton () ;   } 
   @O ver ride
   public v oid  o nShareActive U se r(long use rId ) {
       mee tingSh ar eHe l per.o nSh areAc tiveUs e r(mCur ShareUser Id ,  userI d );
    mCur ShareUserId = use r Id ; 
        meeti ngOpti on B ar . u pda teS hareButton () ;
      che c kS h o w Vid e oLayout();
   }

    @O v err ide
  pub l ic voi d onS il e ntM odeChanged( bool ean inSil entMod e ) {
      if(inSil ent Mod e)
     mee t in gSh a reH elper.st op Sh are() ;
 } 
   @O verr ide
   public voi d o nSha r eUs erRec eivin gSta tu s(lon g user Id) { 
    }

    @Ove rrid e
    pub lic  v oid  o nMeet i ngUser Joi n(L ist<Lon g> user L ist ){       checkShowVide oL a y ou t();
       u p da te V ideoView (u ser List , 1);
   } 
   @Over ride
 pu blic vo id  onMee ti ngU ser Leave ( List <Long>  userLis t) {       checkSh o wVideoLayout( ) ;    u pda teVideoView (use r List , 2) ; 
  } 

   @Ove rr i de     public void onW eb inarNe edReg ister() {
   }

    @O v e r ride
   pub l ic void onMeeting Fail( int errorC o de, intinter nalError Code) {
     mMe eti ngF ail ed= tr ue;
        m M e etin gV ideoVie w.s etVisib ili ty( Vie w.G ON E);
       mConn ec ti ng Te xt. setVi s ibility( Vi ew. GO NE) ;
      sh owJoi nFai lD ia l og( errorCo d e) ;    }
   @ Ove rr ide
   p u bli c voidonMeeting Lea v eCom pl et e(longret) {
      meetingSha re Hel per.st o p Share(); 
        if (!mMeetingF a iled)
         f inish();   }

   @ O verrid e
   publi cvoi d onMee t i ng Sta tu sChanged(M e e tin gStat us  mee tingSta tus, int errorCode ,  in t internalErr orC ode) { 
   che ck S how V i deoLayout();
       refr es h To olbar();
  } 
    @Ov erride    p u blic vo id onMeet ingNeedPa ss word O r Dis playName(b oolean n eedPasswo r d, bo o le an ne edD isplay Na me,  InMe etingE v ent Handl er han dl er) {      showPss wordDialog(needPassword , need Displ ayN ame, hand ler ) ;
   }

   @Ov erride
   pu bli c voi d o n Meeti ngNe e dC ols e 
UserVideoStatusChanged(long userId)_{
 _   _ _meetingOptionBar.updateVideoButton();
_ __  _ meetingOptionBar.updateSwitchCameraButton();
 _  }

 _  @Override
__  public void onShareActiveUser(long userId) {
       _meetingShareHelper.onShareActiveUser(mCurShareUserId,_userId);
 ___    mCurShareUserId_= userId;
   _ _  meetingOptionBar.updateShareButton();
     __ checkShowVideoLayout();
 _  }

    @Override
  _ public void onSilentModeChanged(boolean inSilentMode) {
_  ___  if (inSilentMode)
_     _     meetingShareHelper.stopShare();
_   }

   _@Override
    public void_onShareUserReceivingStatus(long userId) {

  _ }

_   @Override
 _  public_void onMeetingUserJoin(List<Long>_userList) {
 _     _checkShowVideoLayout();
  _     updateVideoView(userList,_1);
_  _}

__ _@Override
  __public void_onMeetingUserLeave(List<Long>_userList) {
    __  checkShowVideoLayout();
    _   updateVideoView(userList,_2);
_   }

_   @Override
 _  public void onWebinarNeedRegister() {
_ _ }

_   @Override
    public void onMeetingFail(int errorCode,_int internalErrorCode) {
   _   _mMeetingFailed =_true;
_  __ _ mMeetingVideoView.setVisibility(View.GONE);
     _ _mConnectingText.setVisibility(View.GONE);
     _  showJoinFailDialog(errorCode);
 __ }

    @Override
_   public void onMeetingLeaveComplete(long_ret) {
   ___  meetingShareHelper.stopShare();
  _     if_(!mMeetingFailed)
  _      __ finish();
    }

__  @Override
   _public_void_onMeetingStatusChanged(MeetingStatus meetingStatus, int errorCode, int_internalErrorCode) {
    _   checkShowVideoLayout();
     _  refreshToolbar();
_   }

 ___@Override
    public void onMeetingNeedPasswordOrDisplayName(boolean needPassword, boolean needDisplayName,_InMeetingEventHandler handler)_{
  _     showPsswordDialog(needPassword, needDisplayName, handler);
  _ }

    @Override
 _  public void onMeetingNeedColse