multiimageview: fix rare crash on mediaPlayer.getTrackInfo()

just android things, random illegalstateexceptions on the videoview,
just catch it and return a default value.
refactor-toolbar
Floens 8 years ago
parent 670d1ffdae
commit cc184e4e12
  1. 22
      Clover/app/src/main/java/org/floens/chan/ui/view/MultiImageView.java

@ -411,16 +411,22 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener
}
private boolean hasMediaPlayerAudioTracks(MediaPlayer mediaPlayer) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
for (MediaPlayer.TrackInfo trackInfo : mediaPlayer.getTrackInfo()) {
if (trackInfo.getTrackType() == MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO) {
return true;
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
for (MediaPlayer.TrackInfo trackInfo : mediaPlayer.getTrackInfo()) {
if (trackInfo.getTrackType() == MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO) {
return true;
}
}
}
return false;
} else {
// It'll just show the icon without doing anything. Remove when 4.0 is dropped.
return false;
} else {
// It'll just show the icon without doing anything. Remove when 4.0 is dropped.
return true;
}
} catch (IllegalStateException e) {
// getTrackInfo() raises an IllegalStateException on some devices.
// Return a default value.
return true;
}
}

Loading…
Cancel
Save