Merge branch 'develop' into fix891

This commit is contained in:
Tom Hennen 2015-06-19 17:07:31 -04:00
commit bdf77a34f4

View File

@ -35,7 +35,7 @@ public class FeedMedia extends FeedFile implements Playable {
private String mime_type; private String mime_type;
private volatile FeedItem item; private volatile FeedItem item;
private Date playbackCompletionDate; private Date playbackCompletionDate;
private boolean hasEmbeddedPicture; private Boolean hasEmbeddedPicture;
/* Used for loading item when restoring from parcel. */ /* Used for loading item when restoring from parcel. */
private long itemID; private long itemID;
@ -52,7 +52,6 @@ public class FeedMedia extends FeedFile implements Playable {
long size, String mime_type, String file_url, String download_url, long size, String mime_type, String file_url, String download_url,
boolean downloaded, Date playbackCompletionDate, int played_duration) { boolean downloaded, Date playbackCompletionDate, int played_duration) {
super(file_url, download_url, downloaded); super(file_url, download_url, downloaded);
checkEmbeddedPicture();
this.id = id; this.id = id;
this.item = item; this.item = item;
this.duration = duration; this.duration = duration;
@ -230,7 +229,10 @@ public class FeedMedia extends FeedFile implements Playable {
} }
public boolean hasEmbeddedPicture() { public boolean hasEmbeddedPicture() {
return this.hasEmbeddedPicture; if(hasEmbeddedPicture == null) {
checkEmbeddedPicture();
}
return hasEmbeddedPicture;
} }
@Override @Override
@ -409,7 +411,7 @@ public class FeedMedia extends FeedFile implements Playable {
@Override @Override
public Uri getImageUri() { public Uri getImageUri() {
if (hasEmbeddedPicture) { if (hasEmbeddedPicture()) {
Uri.Builder builder = new Uri.Builder(); Uri.Builder builder = new Uri.Builder();
builder.scheme(SCHEME_MEDIA).encodedPath(getLocalMediaUrl()); builder.scheme(SCHEME_MEDIA).encodedPath(getLocalMediaUrl());
return builder.build(); return builder.build();
@ -432,7 +434,7 @@ public class FeedMedia extends FeedFile implements Playable {
private void checkEmbeddedPicture() { private void checkEmbeddedPicture() {
if (!localFileAvailable()) { if (!localFileAvailable()) {
hasEmbeddedPicture = false; hasEmbeddedPicture = Boolean.FALSE;
return; return;
} }
MediaMetadataRetriever mmr = new MediaMetadataRetriever(); MediaMetadataRetriever mmr = new MediaMetadataRetriever();
@ -440,14 +442,13 @@ public class FeedMedia extends FeedFile implements Playable {
mmr.setDataSource(getLocalMediaUrl()); mmr.setDataSource(getLocalMediaUrl());
byte[] image = mmr.getEmbeddedPicture(); byte[] image = mmr.getEmbeddedPicture();
if(image != null) { if(image != null) {
hasEmbeddedPicture = true; hasEmbeddedPicture = Boolean.TRUE;
} } else {
else { hasEmbeddedPicture = Boolean.FALSE;
hasEmbeddedPicture = false;
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
hasEmbeddedPicture = false; hasEmbeddedPicture = Boolean.FALSE;
} }
} }
} }