Commit d3725cda authored by Finnur Thorarinsson's avatar Finnur Thorarinsson Committed by Commit Bot

[Android] PhotoPicker: Seek in a uniform way.

Ensure calls to MediaPlayer#seekTo are guarded by
appropriate SDK level checks, to avoid lint errors.

This slipped in while the linter was down due to
an error somewhere.

TBR: wnwen@chromium.org
Bug: 1081243, 895776, 656015
Change-Id: I38143673afa986b310573595435dd2237d8a620b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2214947
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Auto-Submit: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: default avatarPeter Conn <peconn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#771781}
parent f0e22290
...@@ -275,8 +275,6 @@ Still reading? ...@@ -275,8 +275,6 @@ Still reading?
<ignore regexp="Field requires API level .*`android.app.TaskInfo"/> <ignore regexp="Field requires API level .*`android.app.TaskInfo"/>
<!-- 1: This is for testonly target android_support_chromium_java in android_sdk. --> <!-- 1: This is for testonly target android_support_chromium_java in android_sdk. -->
<ignore regexp="third_party/android_sdk/public/extras/chromium/support/src/org/chromium/android/support/PackageManagerWrapper.java"/> <ignore regexp="third_party/android_sdk/public/extras/chromium/support/src/org/chromium/android/support/PackageManagerWrapper.java"/>
<!-- 1: TODO(crbug.com/1081243): Fix -->
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerVideoPlayer.java"/>
<!-- 1: TODO(crbug.com/1082222): Fix --> <!-- 1: TODO(crbug.com/1082222): Fix -->
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/header/HeaderView.java"/> <ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/header/HeaderView.java"/>
<!-- Endnote: Please specify number of suppressions when adding more --> <!-- Endnote: Please specify number of suppressions when adding more -->
......
...@@ -246,7 +246,7 @@ public class PickerVideoPlayer ...@@ -246,7 +246,7 @@ public class PickerVideoPlayer
videoPos += (x > midX) ? SKIP_LENGTH_IN_MS : -SKIP_LENGTH_IN_MS; videoPos += (x > midX) ? SKIP_LENGTH_IN_MS : -SKIP_LENGTH_IN_MS;
MathUtils.clamp(videoPos, 0, duration); MathUtils.clamp(videoPos, 0, duration);
mMediaPlayer.seekTo(videoPos, MediaPlayer.SEEK_CLOSEST); videoSeekTo(videoPos);
return true; return true;
} }
...@@ -304,13 +304,8 @@ public class PickerVideoPlayer ...@@ -304,13 +304,8 @@ public class PickerVideoPlayer
}); });
float percentage = progress / 100f; float percentage = progress / 100f;
int seekTo = Math.round(percentage * mVideoView.getDuration()); int position = Math.round(percentage * mVideoView.getDuration());
if (Build.VERSION.SDK_INT >= 26) { videoSeekTo(position);
mMediaPlayer.seekTo(seekTo, MediaPlayer.SEEK_CLOSEST);
} else {
// On older versions, sync to nearest previous key frame.
mVideoView.seekTo(seekTo);
}
updateProgress(); updateProgress();
} }
} }
...@@ -329,6 +324,15 @@ public class PickerVideoPlayer ...@@ -329,6 +324,15 @@ public class PickerVideoPlayer
mLargePlayButton.setVisibility(View.VISIBLE); mLargePlayButton.setVisibility(View.VISIBLE);
} }
private void videoSeekTo(int position) {
if (Build.VERSION.SDK_INT >= 26) {
mMediaPlayer.seekTo(position, MediaPlayer.SEEK_CLOSEST);
} else {
// On older versions, sync to nearest previous key frame.
mVideoView.seekTo(position);
}
}
private void showOverlayControls(boolean animateAway) { private void showOverlayControls(boolean animateAway) {
cancelFadeAwayAnimation(); cancelFadeAwayAnimation();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment