mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-11-10 12:47:26 +01:00
Do not render ZoomSurfaceView when pinch to to zoom video is disabled.
This commit is contained in:
parent
3c1ecfdee0
commit
c3cd162092
@ -61,6 +61,7 @@ import com.google.android.exoplayer2.source.hls.HlsMediaSource;
|
||||
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
|
||||
import com.google.android.exoplayer2.trackselection.TrackSelectionOverride;
|
||||
import com.google.android.exoplayer2.ui.PlayerControlView;
|
||||
import com.google.android.exoplayer2.ui.PlayerView;
|
||||
import com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource;
|
||||
@ -159,10 +160,6 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe
|
||||
CoordinatorLayout coordinatorLayout;
|
||||
@BindView(R.id.progress_bar_view_video_activity)
|
||||
ProgressBar progressBar;
|
||||
@BindView(R.id.zoom_surface_view_view_video_activity)
|
||||
ZoomSurfaceView zoomSurfaceView;
|
||||
@BindView(R.id.player_control_view_view_video_activity)
|
||||
PlayerControlView playerControlView;
|
||||
@BindView(R.id.mute_exo_playback_control_view)
|
||||
ImageButton muteButton;
|
||||
@BindView(R.id.hd_exo_playback_control_view)
|
||||
@ -293,7 +290,12 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe
|
||||
getTheme().applyStyle(ContentFontFamily.valueOf(mSharedPreferences
|
||||
.getString(SharedPreferencesUtils.CONTENT_FONT_FAMILY_KEY, ContentFontFamily.Default.name())).getResId(), true);
|
||||
|
||||
setContentView(R.layout.activity_view_video);
|
||||
boolean zoomable = mSharedPreferences.getBoolean(SharedPreferencesUtils.PINCH_TO_ZOOM_VIDEO, false);
|
||||
if (zoomable) {
|
||||
setContentView(R.layout.activity_view_video_zoomable);
|
||||
} else {
|
||||
setContentView(R.layout.activity_view_video);
|
||||
}
|
||||
|
||||
ButterKnife.bind(this);
|
||||
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||
@ -406,25 +408,6 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe
|
||||
String postTitle = intent.getStringExtra(EXTRA_POST_TITLE);
|
||||
setSmallTitle(postTitle);
|
||||
|
||||
playerControlView.addVisibilityListener(visibility -> {
|
||||
switch (visibility) {
|
||||
case View.GONE:
|
||||
getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_IMMERSIVE);
|
||||
break;
|
||||
case View.VISIBLE:
|
||||
getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
|
||||
}
|
||||
});
|
||||
|
||||
trackSelector = new DefaultTrackSelector(this);
|
||||
if (videoType == VIDEO_TYPE_NORMAL && isDataSavingMode && dataSavingModeDefaultResolution > 0) {
|
||||
trackSelector.setParameters(
|
||||
@ -433,26 +416,46 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe
|
||||
}
|
||||
player = new ExoPlayer.Builder(this).setTrackSelector(trackSelector).build();
|
||||
|
||||
playerControlView.setPlayer(player);
|
||||
if (zoomable) {
|
||||
PlayerControlView playerControlView = findViewById(R.id.player_control_view_view_video_activity);
|
||||
playerControlView.addVisibilityListener(visibility -> {
|
||||
switch (visibility) {
|
||||
case View.GONE:
|
||||
getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_IMMERSIVE);
|
||||
break;
|
||||
case View.VISIBLE:
|
||||
getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
|
||||
}
|
||||
});
|
||||
playerControlView.setPlayer(player);
|
||||
|
||||
player.addListener(new Player.Listener() {
|
||||
@Override
|
||||
public void onVideoSizeChanged(VideoSize videoSize) {
|
||||
zoomSurfaceView.setContentSize(videoSize.width, videoSize.height);
|
||||
}
|
||||
});
|
||||
zoomSurfaceView.addCallback(new ZoomSurfaceView.Callback() {
|
||||
@Override
|
||||
public void onZoomSurfaceCreated(@NonNull ZoomSurfaceView zoomSurfaceView) {
|
||||
player.setVideoSurface(zoomSurfaceView.getSurface());
|
||||
}
|
||||
ZoomSurfaceView zoomSurfaceView = findViewById(R.id.zoom_surface_view_view_video_activity);
|
||||
player.addListener(new Player.Listener() {
|
||||
@Override
|
||||
public void onVideoSizeChanged(VideoSize videoSize) {
|
||||
zoomSurfaceView.setContentSize(videoSize.width, videoSize.height);
|
||||
}
|
||||
});
|
||||
zoomSurfaceView.addCallback(new ZoomSurfaceView.Callback() {
|
||||
@Override
|
||||
public void onZoomSurfaceCreated(@NonNull ZoomSurfaceView zoomSurfaceView) {
|
||||
player.setVideoSurface(zoomSurfaceView.getSurface());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onZoomSurfaceDestroyed(@NonNull ZoomSurfaceView zoomSurfaceView) {
|
||||
@Override
|
||||
public void onZoomSurfaceDestroyed(@NonNull ZoomSurfaceView zoomSurfaceView) {
|
||||
|
||||
}
|
||||
});
|
||||
if (mSharedPreferences.getBoolean(SharedPreferencesUtils.PINCH_TO_ZOOM_VIDEO, false)) {
|
||||
}
|
||||
});
|
||||
zoomSurfaceView.getEngine().addListener(new ZoomEngine.Listener() {
|
||||
@Override
|
||||
public void onUpdate(@NonNull ZoomEngine zoomEngine, @NonNull Matrix matrix) {
|
||||
@ -470,16 +473,35 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe
|
||||
|
||||
}
|
||||
});
|
||||
zoomSurfaceView.setOnClickListener(view -> {
|
||||
if (playerControlView.isVisible()) {
|
||||
playerControlView.hide();
|
||||
} else {
|
||||
playerControlView.show();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
zoomSurfaceView.setZoomEnabled(false);
|
||||
PlayerView videoPlayerView = findViewById(R.id.player_view_view_video_activity);
|
||||
videoPlayerView.setPlayer(player);
|
||||
videoPlayerView.setControllerVisibilityListener(visibility -> {
|
||||
switch (visibility) {
|
||||
case View.GONE:
|
||||
getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_IMMERSIVE);
|
||||
break;
|
||||
case View.VISIBLE:
|
||||
getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
|
||||
}
|
||||
});
|
||||
}
|
||||
zoomSurfaceView.setOnClickListener(view -> {
|
||||
if (playerControlView.isVisible()) {
|
||||
playerControlView.hide();
|
||||
} else {
|
||||
playerControlView.show();
|
||||
}
|
||||
});
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
mVideoUri = intent.getData();
|
||||
|
Loading…
Reference in New Issue
Block a user