Example #1
0
  public synchronized void unregisterApp(GameView app) {
    if (app == null || !isRegistered(app)) {
      return;
    }

    if (mainContext != null && mainContext.getView() == app) {
      mainContext = null;
    }

    if (allContexts != null) {
      for (int i = 0; i < allContexts.size(); i++) {
        GameContext context = (GameContext) allContexts.get(i);
        if (context.getView() == app) {
          allContexts.remove(i);
          break;
        }
      }

      if (mainContext == null) {
        mainContext = (GameContext) allContexts.get(0);
      }

      if (allContexts.size() == 1) {
        allContexts = null;
      }
    }

    if (getNumRegisteredApps() == 0) {
      timer.stop();
    }
  }