+ disposeIfTimedout();
+ }, 0, 60 * 1000);
+ }
+
+ public void disposeIfTimedout() {
+ if (timeoutTask == null)
+ return;
+ if (isDisposed()) {
+ timeoutTask.cancel();
+ timeoutTask = null;
+ return;
+ }
+ if (System.currentTimeMillis() - getLastAccess() >= uiTimeout) {
+ timeoutTask.cancel();
+ timeoutTask = null;
+ dispose();
+ }