@Override public void onStop() { if (mWireables != null) { for (Wireable wireable : mWireables) { wireable.onStop(); } } }
@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; }