Exemplo n.º 1
0
  @SuppressWarnings("unchecked")
  public <T extends Wireable> T unwire(Class<T> wireClass) {
    assertObjectAndWorkerThread(wireClass);
    Context context = mImpl.getNotNullContext();

    Wireable wireable = getWireable(wireClass);
    if (wireable != null) {

      if (context instanceof Application || context instanceof Service) {
        wireable.onStop();
        wireable.onDestroy();
      }

      mWireables.remove(wireable);
    }
    return (T) wireable;
  }
Exemplo n.º 2
0
 @Override
 public void onDestroy() {
   if (mWireables != null) {
     for (Wireable wireable : mWireables) {
       wireable.onDestroy();
     }
   }
   synchronized (this) {
     if (mDelayedTasks != null && mDelayedTasks.size() > 0) {
       Handler handler = getMainHandlerNotNull();
       Collection<Task> tasks = mDelayedTasks.values();
       for (Task task : tasks) {
         handler.removeCallbacks(task);
         task.recycle();
       }
       mDelayedTasks.clear();
     }
   }
 }