diff --git a/app/src/main/java/com/danielkim/soundrecorder/adapters/FileViewerAdapter.java b/app/src/main/java/com/danielkim/soundrecorder/adapters/FileViewerAdapter.java index 1d1418cf..1462522e 100644 --- a/app/src/main/java/com/danielkim/soundrecorder/adapters/FileViewerAdapter.java +++ b/app/src/main/java/com/danielkim/soundrecorder/adapters/FileViewerAdapter.java @@ -61,9 +61,11 @@ public void onBindViewHolder(final RecordingsViewHolder holder, int position) { long minutes = TimeUnit.MILLISECONDS.toMinutes(itemDuration); long seconds = TimeUnit.MILLISECONDS.toSeconds(itemDuration) - TimeUnit.MINUTES.toSeconds(minutes); + long milliseconds = itemDuration - TimeUnit.MINUTES.toMillis(minutes) + - TimeUnit.SECONDS.toMillis(seconds); holder.vName.setText(item.getName()); - holder.vLength.setText(String.format("%02d:%02d", minutes, seconds)); + holder.vLength.setText(String.format("%02d:%02d:%03d", minutes, seconds, milliseconds)); holder.vDateAdded.setText( DateUtils.formatDateTime( mContext, diff --git a/app/src/main/java/com/danielkim/soundrecorder/fragments/PlaybackFragment.java b/app/src/main/java/com/danielkim/soundrecorder/fragments/PlaybackFragment.java index 09f12135..806ffaec 100644 --- a/app/src/main/java/com/danielkim/soundrecorder/fragments/PlaybackFragment.java +++ b/app/src/main/java/com/danielkim/soundrecorder/fragments/PlaybackFragment.java @@ -49,6 +49,7 @@ public class PlaybackFragment extends DialogFragment{ //stores minutes and seconds of the length of the file. long minutes = 0; long seconds = 0; + long milliseconds = 0; public PlaybackFragment newInstance(RecordingItem item) { PlaybackFragment f = new PlaybackFragment(); @@ -68,6 +69,8 @@ public void onCreate(Bundle savedInstanceState) { minutes = TimeUnit.MILLISECONDS.toMinutes(itemDuration); seconds = TimeUnit.MILLISECONDS.toSeconds(itemDuration) - TimeUnit.MINUTES.toSeconds(minutes); + milliseconds = itemDuration - TimeUnit.MINUTES.toMillis(minutes) + - TimeUnit.SECONDS.toMillis(seconds); } @Override @@ -104,7 +107,10 @@ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { long minutes = TimeUnit.MILLISECONDS.toMinutes(mMediaPlayer.getCurrentPosition()); long seconds = TimeUnit.MILLISECONDS.toSeconds(mMediaPlayer.getCurrentPosition()) - TimeUnit.MINUTES.toSeconds(minutes); - mCurrentProgressTextView.setText(String.format("%02d:%02d", minutes,seconds)); + long milliseconds = mMediaPlayer.getCurrentPosition() - TimeUnit.MINUTES.toMillis(minutes) + - TimeUnit.SECONDS.toMillis(seconds); + + mCurrentProgressTextView.setText(String.format("%02d:%02d:%02d", minutes, seconds, milliseconds/10)); updateSeekBar(); @@ -131,7 +137,10 @@ public void onStopTrackingTouch(SeekBar seekBar) { long minutes = TimeUnit.MILLISECONDS.toMinutes(mMediaPlayer.getCurrentPosition()); long seconds = TimeUnit.MILLISECONDS.toSeconds(mMediaPlayer.getCurrentPosition()) - TimeUnit.MINUTES.toSeconds(minutes); - mCurrentProgressTextView.setText(String.format("%02d:%02d", minutes,seconds)); + long milliseconds = mMediaPlayer.getCurrentPosition() - TimeUnit.MINUTES.toMillis(minutes) + - TimeUnit.SECONDS.toMillis(seconds); + + mCurrentProgressTextView.setText(String.format("%02d:%02d:%02d", minutes, seconds, milliseconds/10)); updateSeekBar(); } } @@ -147,7 +156,7 @@ public void onClick(View v) { }); mFileNameTextView.setText(item.getName()); - mFileLengthTextView.setText(String.format("%02d:%02d", minutes,seconds)); + mFileLengthTextView.setText(String.format("%02d:%02d:%02d", minutes, seconds, milliseconds/10)); builder.setView(view); @@ -307,7 +316,10 @@ public void run() { long minutes = TimeUnit.MILLISECONDS.toMinutes(mCurrentPosition); long seconds = TimeUnit.MILLISECONDS.toSeconds(mCurrentPosition) - TimeUnit.MINUTES.toSeconds(minutes); - mCurrentProgressTextView.setText(String.format("%02d:%02d", minutes, seconds)); + long milliseconds = mCurrentPosition - TimeUnit.MINUTES.toMillis(minutes) + - TimeUnit.SECONDS.toMillis(seconds); + + mCurrentProgressTextView.setText(String.format("%02d:%02d:%02d", minutes, seconds, milliseconds/10)); updateSeekBar(); } @@ -315,6 +327,6 @@ public void run() { }; private void updateSeekBar() { - mHandler.postDelayed(mRunnable, 1000); + mHandler.postDelayed(mRunnable, 50); } }