exitCallingPage method

void exitCallingPage({
  1. String reason = 'manual_exit',
})

Implementation

void exitCallingPage({String reason = 'manual_exit'}) async {
  CallKitUILog.i(
      _tag,
      'NECallKitNavigatorObserver exitCallingPage reason=$reason '
      '[currentPage:$currentPage, isClose=$isClose]');
  if (currentPage == CallPage.callingPage && _callingPageRoute != null) {
    final attachedNavigator = navigator;
    final callingPageRoute = _callingPageRoute;
    if (attachedNavigator != null && callingPageRoute != null) {
      attachedNavigator.popUntil((route) {
        return route == callingPageRoute || route.isFirst;
      });
      if (callingPageRoute.isCurrent) {
        attachedNavigator.pop();
      }
    }
  } else if (currentPage == CallPage.callingPage) {
    CallKitUILog.i(
      _tag,
      'NECallKitNavigatorObserver exitCallingPage skipped navigator pop: '
      'tracked route missing',
    );
  }
  _resetCallingPageTracking(reason);
}