public void requestClearTimeout() {
   if (mHandler == null) {
     return;
   }
   mHandler.removeMessages(CacheHandler.CLEAR_TIMEOUT_CACHES);
   mHandler.sendEmptyMessage(CacheHandler.CLEAR_TIMEOUT_CACHES);
 }
 public void invalidateDanmaku(BaseDanmaku danmaku, boolean remeasure) {
   if (mHandler != null) {
     mHandler.requestCancelCaching();
     Pair<BaseDanmaku, Boolean> pair = new Pair<>(danmaku, remeasure);
     mHandler.obtainMessage(CacheHandler.REBUILD_CACHE, pair).sendToTarget();
   }
 }
 public void requestClearUnused() {
   if (mHandler == null) {
     return;
   }
   mHandler.removeMessages(CacheHandler.CLEAR_OUTSIDE_CACHES_AND_RESET);
   mHandler.sendEmptyMessage(CacheHandler.CLEAR_OUTSIDE_CACHES_AND_RESET);
 }
 public void requestClearAll() {
   if (mHandler == null) {
     return;
   }
   mHandler.removeMessages(CacheHandler.BUILD_CACHES);
   mHandler.requestCancelCaching();
   mHandler.removeMessages(CacheHandler.CLEAR_ALL_CACHES);
   mHandler.sendEmptyMessage(CacheHandler.CLEAR_ALL_CACHES);
 }
Пример #5
0
  public static MyService getService(String jndiName) {
    MyService service = cache.getService(jndiName);

    if (service != null) {
      return service;
    }

    InitialContext context = new InitialContext();
    MyService myService = (MyService) context.lookup(jndiName);
    cache.addService(myService);
    return myService;
  }
 @Override
 public void addDanmaku(BaseDanmaku danmaku) {
   if (mHandler != null) {
     if (danmaku.isLive) {
       if (danmaku.isTimeOut()) {
         return;
       }
       mHandler.createCache(danmaku);
     } else {
       mHandler.obtainMessage(CacheHandler.ADD_DANMAKKU, danmaku).sendToTarget();
     }
   }
 }
 public void resume() {
   if (mHandler != null) {
     mHandler.resume();
   } else {
     begin();
   }
 }
 public void begin() {
   if (mThread == null) {
     mThread = new HandlerThread("DFM Cache-Building Thread");
     mThread.start();
   }
   if (mHandler == null) mHandler = new CacheHandler(mThread.getLooper());
   mHandler.begin();
 }
 public void end() {
   mEndFlag = true;
   synchronized (mDrawingNotify) {
     mDrawingNotify.notifyAll();
   }
   if (mHandler != null) {
     mHandler.pause();
     mHandler = null;
   }
   if (mThread != null) {
     try {
       mThread.join();
     } catch (InterruptedException e) {
       e.printStackTrace();
     }
     mThread.quit();
     mThread = null;
   }
 }
 public void post(Runnable runnable) {
   if (mHandler == null) {
     return;
   }
   mHandler.post(runnable);
 }
 public void requestBuild(long correctionTime) {
   if (mHandler != null) {
     mHandler.requestBuildCacheAndDraw(correctionTime);
   }
 }
 public void invalidateDanmaku(BaseDanmaku danmaku) {
   if (mHandler != null && danmaku.hasDrawingCache()) {
     mHandler.obtainMessage(CacheHandler.REBUILD_CACHE, danmaku).sendToTarget();
   }
 }
 public void seek(long mills) {
   if (mHandler == null) return;
   mHandler.requestCancelCaching();
   mHandler.removeMessages(CacheHandler.BUILD_CACHES);
   mHandler.obtainMessage(CacheHandler.SEEK, mills).sendToTarget();
 }