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(); } }
private synchronized GameContext getAppContext(GameView app) { if (mainContext != null && mainContext.getView() == app) { return mainContext; } if (allContexts != null) { for (int i = 0; i < allContexts.size(); i++) { GameContext context = (GameContext) allContexts.get(i); if (context.getView() == app) { return context; } } } return null; }
public static IHandler getSystemHandler() { GameContext context = INSTANCE.getContext(); if (context != null) { return context.getView().getHandler(); } else { return null; } }