예제 #1
0
 public void setLoaded(String packageName) {
   List<BundleLoadCallback> callbacks = asyncBlockLoaders.get(packageName).setLoaded();
   for (BundleLoadCallback callback : callbacks) {
     if (callback != null) {
       callback.loaded();
     }
   }
 }
예제 #2
0
 public void setLoadFailure(String bundleName, Throwable reason) {
   reason =
       new RuntimeException(
           "Failed to load bundle " + bundleName + ": " + reason.getMessage(), reason);
   List<BundleLoadCallback> callbacks = asyncBlockLoaders.get(bundleName).setError(reason);
   for (BundleLoadCallback callback : callbacks) {
     callback.failed(reason);
   }
 }
예제 #3
0
 public void loadBundle(String packageName, BundleLoadCallback callback) {
   AsyncBundleLoader loader = asyncBlockLoaders.get(packageName);
   switch (loader.getState()) {
     case NOT_STARTED:
       loader.load(callback, getTypeDataStore());
       break;
     case LOADING:
       loader.addCallback(callback);
       break;
     case LOADED:
       if (callback != null) {
         callback.loaded();
       }
       break;
     case ERROR:
       if (callback != null) {
         callback.failed(loader.getError());
       }
   }
 }