From d4e3552739a084675a7fe1cef0732cb89a4e17ed Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Tue, 1 May 2018 19:53:16 +0200 Subject: [PATCH] Fallback values for song details --- .../gramophone/dialogs/SongDetailDialog.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongDetailDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongDetailDialog.java index f01afdb5..7388c844 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongDetailDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongDetailDialog.java @@ -83,25 +83,32 @@ public class SongDetailDialog extends DialogFragment { bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, "-")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, "-")); - try { - if (song != null) { - final File songFile = new File(song.data); - if (songFile.exists()) { + if (song != null) { + final File songFile = new File(song.data); + if (songFile.exists()) { + fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName())); + filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath())); + fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, getFileSizeString(songFile.length()))); + try { AudioFile audioFile = AudioFileIO.read(songFile); AudioHeader audioHeader = audioFile.getAudioHeader(); - fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName())); - filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath())); - fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, getFileSizeString(songFile.length()))); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, audioHeader.getFormat())); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(audioHeader.getTrackLength() * 1000))); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, audioHeader.getBitRate() + " kb/s")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, audioHeader.getSampleRate() + " Hz")); + } catch (@NonNull CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { + Log.e(TAG, "error while reading the song file", e); + // fallback + trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(song.duration))); } + } else { + // fallback + fileName.setText(makeTextWithTitle(context, R.string.label_file_name, song.title)); + trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(song.duration))); } - } catch (@NonNull CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { - Log.e(TAG, "error while reading the song file", e); } + return dialog; } }