resetControllerInstance method

void resetControllerInstance()

Implementation

void resetControllerInstance() {
  _rootContext = null;
  pageInitTimestamp = 0;
  layoutTimestamp = 0;
  userSig = null;
  joinClassSuccess = false;
  _classSessionActive = false;
  imLoginSuccess = false;
  imInitSuccess = false;
  _imInitFuture = null;
  heartBeatSeq = 0;
  isTCICDestroy = false;
  _isClassEndedLocked = false;
  _classInfoFetchFailed = false;
  skipQuitClass = false;
  cancelHeartBeatTimer();
  _heartBeatFailureCount = 0;
  _networkTipsObs.clearHeartbeatTip();
  // 控制器重置意味着上一节课的 _rootContext / Overlay 即将失效。
  // toastification 是全局单例,若不在此处清理,上一节课残留的 toast
  // 与 manager 缓存会带入下一节课,进而出现"toast 不自动消失"的问题。
  TCICToast.dismissAll();
}