Example #1
0
 @Override
 public boolean reload(ModelCache modelCache) {
   // First reload list object
   boolean result = super.reload(modelCache);
   // Then reload each item in list. Sometimes a ConcurrentModificationException occurs.
   // Changed implementation so that it doesn't use an Iterator any more.
   // Uglier but hopefully that will solve the issue.
   for (CO modelElement : list) {
     CachedModel listModel = modelElement;
     if (listModel.reload(modelCache)) {
       result = true;
     }
   }
   return result;
 }
Example #2
0
 /** @see com.github.droidfu.cachefu.CachedModel#writeToParcel(android.os.Parcel, int) */
 @Override
 public void writeToParcel(Parcel dest, int flags) {
   super.writeToParcel(dest, flags);
   // Write class name to parcel before object, so can be loaded correctly back in
   dest.writeString(clazz.getCanonicalName());
   dest.writeTypedList(list);
 }
Example #3
0
 /** @see com.github.droidfu.cachefu.CachedModel#readFromParcel(android.os.Parcel) */
 @SuppressWarnings({"unchecked", "rawtypes"})
 @Override
 public void readFromParcel(Parcel source) throws IOException {
   super.readFromParcel(source);
   // Read class from parcel, then load class and use creator to generate new object from data
   String className = source.readString();
   try {
     clazz = (Class<? extends CachedModel>) Class.forName(className);
     list = source.createTypedArrayList((Creator) clazz.getField("CREATOR").get(this));
   } catch (Exception e) {
     e.printStackTrace();
   }
 }