Skip to content

Commit a1dfdcf

Browse files
committed
Fmt.
1 parent 65c080e commit a1dfdcf

File tree

4 files changed

+83
-95
lines changed

4 files changed

+83
-95
lines changed

packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerState.java

Lines changed: 44 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -16,62 +16,54 @@
1616
* previous point (and settings).
1717
*/
1818
final class ExoPlayerState {
19-
/**
20-
* Saves a representation of the current state of the player at the current point in time.
21-
*
22-
* <p>The inverse of this operation is {@link #restore(ExoPlayer)}.
23-
*
24-
* @param exoPlayer the active player instance.
25-
*
26-
* @return an opaque object representing the state.
27-
*/
28-
static ExoPlayerState save(ExoPlayer exoPlayer) {
29-
return new ExoPlayerState(
30-
/*position=*/ exoPlayer.getCurrentPosition(),
31-
/*repeatMode=*/ exoPlayer.getRepeatMode(),
32-
/*volume=*/ exoPlayer.getVolume(),
33-
/*playbackParameters=*/ exoPlayer.getPlaybackParameters());
34-
}
19+
/**
20+
* Saves a representation of the current state of the player at the current point in time.
21+
*
22+
* <p>The inverse of this operation is {@link #restore(ExoPlayer)}.
23+
*
24+
* @param exoPlayer the active player instance.
25+
* @return an opaque object representing the state.
26+
*/
27+
static ExoPlayerState save(ExoPlayer exoPlayer) {
28+
return new ExoPlayerState(
29+
/*position=*/ exoPlayer.getCurrentPosition(),
30+
/*repeatMode=*/ exoPlayer.getRepeatMode(),
31+
/*volume=*/ exoPlayer.getVolume(),
32+
/*playbackParameters=*/ exoPlayer.getPlaybackParameters());
33+
}
3534

36-
private ExoPlayerState(long position, int repeatMode, float volume, PlaybackParameters playbackParameters) {
37-
this.position = position;
38-
this.repeatMode = repeatMode;
39-
this.volume = volume;
40-
this.playbackParameters = playbackParameters;
41-
}
35+
private ExoPlayerState(
36+
long position, int repeatMode, float volume, PlaybackParameters playbackParameters) {
37+
this.position = position;
38+
this.repeatMode = repeatMode;
39+
this.volume = volume;
40+
this.playbackParameters = playbackParameters;
41+
}
4242

43-
/**
44-
* Previous value of {@link ExoPlayer#getCurrentPosition()}.
45-
*/
46-
private final long position;
43+
/** Previous value of {@link ExoPlayer#getCurrentPosition()}. */
44+
private final long position;
4745

48-
/**
49-
* Previous value of {@link ExoPlayer#getRepeatMode()}.
50-
*/
51-
private final int repeatMode;
46+
/** Previous value of {@link ExoPlayer#getRepeatMode()}. */
47+
private final int repeatMode;
5248

53-
/**
54-
* Previous value of {@link ExoPlayer#getVolume()}.
55-
*/
56-
private final float volume;
49+
/** Previous value of {@link ExoPlayer#getVolume()}. */
50+
private final float volume;
5751

58-
/**
59-
* Previous value of {@link ExoPlayer#getPlaybackParameters()}.
60-
*/
61-
private final PlaybackParameters playbackParameters;
52+
/** Previous value of {@link ExoPlayer#getPlaybackParameters()}. */
53+
private final PlaybackParameters playbackParameters;
6254

63-
/**
64-
* Restores the captured state onto the provided player.
65-
*
66-
* <p>This will typically be done after creating a new player, setting up a media source, and
67-
* listening to events.
68-
*
69-
* @param exoPlayer the new player instance to reflect the state back to.
70-
*/
71-
void restore(ExoPlayer exoPlayer) {
72-
exoPlayer.seekTo(position);
73-
exoPlayer.setRepeatMode(repeatMode);
74-
exoPlayer.setVolume(volume);
75-
exoPlayer.setPlaybackParameters(playbackParameters);
76-
}
55+
/**
56+
* Restores the captured state onto the provided player.
57+
*
58+
* <p>This will typically be done after creating a new player, setting up a media source, and
59+
* listening to events.
60+
*
61+
* @param exoPlayer the new player instance to reflect the state back to.
62+
*/
63+
void restore(ExoPlayer exoPlayer) {
64+
exoPlayer.seekTo(position);
65+
exoPlayer.setRepeatMode(repeatMode);
66+
exoPlayer.setVolume(volume);
67+
exoPlayer.setPlaybackParameters(playbackParameters);
68+
}
7769
}

packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java

Lines changed: 37 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,16 @@
1616
import androidx.media3.common.MediaItem;
1717
import androidx.media3.common.PlaybackParameters;
1818
import androidx.media3.exoplayer.ExoPlayer;
19-
2019
import io.flutter.view.TextureRegistry;
2120

2221
final class VideoPlayer {
23-
@NonNull
24-
private final ExoPlayerProvider exoPlayerProvider;
25-
@NonNull
26-
private final MediaItem mediaItem;
27-
@NonNull
28-
private final TextureRegistry.SurfaceProducer surfaceProducer;
29-
@NonNull
30-
private final VideoPlayerCallbacks videoPlayerEvents;
31-
@NonNull
32-
private final VideoPlayerOptions options;
33-
@NonNull
34-
private ExoPlayer exoPlayer;
35-
@Nullable
36-
private ExoPlayerState savedStateDuring;
22+
@NonNull private final ExoPlayerProvider exoPlayerProvider;
23+
@NonNull private final MediaItem mediaItem;
24+
@NonNull private final TextureRegistry.SurfaceProducer surfaceProducer;
25+
@NonNull private final VideoPlayerCallbacks videoPlayerEvents;
26+
@NonNull private final VideoPlayerOptions options;
27+
@NonNull private ExoPlayer exoPlayer;
28+
@Nullable private ExoPlayerState savedStateDuring;
3729

3830
/**
3931
* Creates a video player.
@@ -52,15 +44,20 @@ static VideoPlayer create(
5244
@NonNull TextureRegistry.SurfaceProducer surfaceProducer,
5345
@NonNull VideoAsset asset,
5446
@NonNull VideoPlayerOptions options) {
55-
return new VideoPlayer(() -> {
56-
ExoPlayer.Builder builder = new ExoPlayer.Builder(context).setMediaSourceFactory(asset.getMediaSourceFactory(context));
57-
return builder.build();
58-
}, events, surfaceProducer, asset.getMediaItem(), options);
47+
return new VideoPlayer(
48+
() -> {
49+
ExoPlayer.Builder builder =
50+
new ExoPlayer.Builder(context)
51+
.setMediaSourceFactory(asset.getMediaSourceFactory(context));
52+
return builder.build();
53+
},
54+
events,
55+
surfaceProducer,
56+
asset.getMediaItem(),
57+
options);
5958
}
6059

61-
/**
62-
* A closure-compatible signature since {@link java.util.function.Supplier} is API level 24.
63-
*/
60+
/** A closure-compatible signature since {@link java.util.function.Supplier} is API level 24. */
6461
interface ExoPlayerProvider {
6562
/**
6663
* Returns a new {@link ExoPlayer}.
@@ -84,23 +81,24 @@ interface ExoPlayerProvider {
8481
this.options = options;
8582
this.exoPlayer = createVideoPlayer();
8683

87-
surfaceProducer.setCallback(new TextureRegistry.SurfaceProducer.Callback() {
88-
@Override
89-
public void onSurfaceCreated() {
90-
exoPlayer = createVideoPlayer();
91-
if (savedStateDuring != null) {
92-
savedStateDuring.restore(exoPlayer);
93-
savedStateDuring = null;
94-
}
95-
}
96-
97-
@Override
98-
public void onSurfaceDestroyed() {
99-
exoPlayer.stop();
100-
savedStateDuring = ExoPlayerState.save(exoPlayer);
101-
exoPlayer.release();
102-
}
103-
});
84+
surfaceProducer.setCallback(
85+
new TextureRegistry.SurfaceProducer.Callback() {
86+
@Override
87+
public void onSurfaceCreated() {
88+
exoPlayer = createVideoPlayer();
89+
if (savedStateDuring != null) {
90+
savedStateDuring.restore(exoPlayer);
91+
savedStateDuring = null;
92+
}
93+
}
94+
95+
@Override
96+
public void onSurfaceDestroyed() {
97+
exoPlayer.stop();
98+
savedStateDuring = ExoPlayerState.save(exoPlayer);
99+
exoPlayer.release();
100+
}
101+
});
104102
}
105103

106104
private ExoPlayer createVideoPlayer() {

packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@ public void initialize() {
9393
}
9494

9595
public @NonNull TextureMessage create(@NonNull CreateMessage arg) {
96-
TextureRegistry.SurfaceProducer handle =
97-
flutterState.textureRegistry.createSurfaceProducer();
96+
TextureRegistry.SurfaceProducer handle = flutterState.textureRegistry.createSurfaceProducer();
9897
EventChannel eventChannel =
9998
new EventChannel(
10099
flutterState.binaryMessenger, "flutter.io/videoPlayer/videoEvents" + handle.id());

packages/video_player/video_player_android/android/src/test/java/io/flutter/plugins/videoplayer/VideoPlayerTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import static org.mockito.Mockito.*;
1010

1111
import android.view.Surface;
12-
1312
import androidx.media3.common.AudioAttributes;
1413
import androidx.media3.common.C;
1514
import androidx.media3.common.PlaybackParameters;
@@ -64,7 +63,7 @@ private VideoPlayer createVideoPlayer() {
6463

6564
private VideoPlayer createVideoPlayer(VideoPlayerOptions options) {
6665
return new VideoPlayer(
67-
() -> mockExoPlayer, mockEvents, mockProducer, fakeVideoAsset.getMediaItem(), options);
66+
() -> mockExoPlayer, mockEvents, mockProducer, fakeVideoAsset.getMediaItem(), options);
6867
}
6968

7069
@Test

0 commit comments

Comments
 (0)