+ public Image getSourceCover(String source) {
+ Image custom = getCustomSourceCover(source);
+ if (custom != null) {
+ return custom;
+ }
+
+ return cacheLib.getSourceCover(source);
+ }
+
+ @Override
+ public Image getCustomSourceCover(String source) {
+ Image custom = cacheLib.getCustomSourceCover(source);
+ if (custom == null) {
+ custom = lib.getCustomSourceCover(source);
+ if (custom != null) {
+ cacheLib.setSourceCover(source, custom);
+ }
+ }
+
+ return custom;
+ }
+
+ @Override
+ public void setSourceCover(String source, String luid) {
+ lib.setSourceCover(source, luid);
+ cacheLib.setSourceCover(source, getCover(luid));
+ }
+
+ @Override
+ protected void updateInfo(MetaData meta) {
+ if (meta != null && metas != null) {
+ for (int i = 0; i < metas.size(); i++) {
+ if (metas.get(i).getLuid().equals(meta.getLuid())) {
+ metas.set(i, meta);
+ }
+ }
+ }
+
+ cacheLib.updateInfo(meta);
+ lib.updateInfo(meta);
+ }
+
+ @Override
+ protected void deleteInfo(String luid) {
+ if (luid == null) {
+ metas = null;
+ } else if (metas != null) {
+ for (int i = 0; i < metas.size(); i++) {
+ if (metas.get(i).getLuid().equals(luid)) {
+ metas.remove(i--);
+ }
+ }
+ }
+
+ cacheLib.deleteInfo(luid);
+ lib.deleteInfo(luid);