コード例 #1
0
 private void notifyConfigureChanged(DanmakuConfigTag tag, Object... values) {
   if (mCallbackList != null) {
     for (WeakReference<ConfigChangedCallback> configReferer : mCallbackList) {
       ConfigChangedCallback cb = configReferer.get();
       if (cb != null) {
         cb.onDanmakuConfigChanged(this, tag, values);
       }
     }
   }
 }
コード例 #2
0
 public void unregisterConfigChangedCallback(ConfigChangedCallback listener) {
   if (listener == null || mCallbackList == null) return;
   for (WeakReference<ConfigChangedCallback> configReferer : mCallbackList) {
     if (listener.equals(configReferer.get())) {
       mCallbackList.remove(listener);
       return;
     }
   }
 }
コード例 #3
0
 public void registerConfigChangedCallback(ConfigChangedCallback listener) {
   if (listener == null || mCallbackList == null) {
     mCallbackList =
         Collections.synchronizedList(new ArrayList<WeakReference<ConfigChangedCallback>>());
   }
   for (WeakReference<ConfigChangedCallback> configReferer : mCallbackList) {
     if (listener.equals(configReferer.get())) {
       return;
     }
   }
   mCallbackList.add(new WeakReference<ConfigChangedCallback>(listener));
 }