Fix display settings window UI bug for foldable devices.
PiperOrigin-RevId: 481215581 (cherry picked from commit 6cdaf2c031258221939eead3b11075a90e2c742c)
This commit is contained in:
parent
12314abbf0
commit
e3d0ee990d
@ -1298,7 +1298,7 @@ public class StyledPlayerControlView extends FrameLayout {
|
||||
settingsWindow.setHeight(height);
|
||||
}
|
||||
|
||||
private void displaySettingsWindow(RecyclerView.Adapter<?> adapter) {
|
||||
private void displaySettingsWindow(RecyclerView.Adapter<?> adapter, View anchorView) {
|
||||
settingsView.setAdapter(adapter);
|
||||
|
||||
updateSettingsWindowSize();
|
||||
@ -1310,7 +1310,7 @@ public class StyledPlayerControlView extends FrameLayout {
|
||||
int xoff = getWidth() - settingsWindow.getWidth() - settingsWindowMargin;
|
||||
int yoff = -settingsWindow.getHeight() - settingsWindowMargin;
|
||||
|
||||
settingsWindow.showAsDropDown(this, xoff, yoff);
|
||||
settingsWindow.showAsDropDown(anchorView, xoff, yoff);
|
||||
}
|
||||
|
||||
private void setPlaybackSpeed(float speed) {
|
||||
@ -1392,9 +1392,9 @@ public class StyledPlayerControlView extends FrameLayout {
|
||||
|
||||
private void onSettingViewClicked(int position) {
|
||||
if (position == SETTINGS_PLAYBACK_SPEED_POSITION) {
|
||||
displaySettingsWindow(playbackSpeedAdapter);
|
||||
displaySettingsWindow(playbackSpeedAdapter, checkNotNull(settingsButton));
|
||||
} else if (position == SETTINGS_AUDIO_TRACK_SELECTION_POSITION) {
|
||||
displaySettingsWindow(audioTrackSelectionAdapter);
|
||||
displaySettingsWindow(audioTrackSelectionAdapter, checkNotNull(settingsButton));
|
||||
} else {
|
||||
settingsWindow.dismiss();
|
||||
}
|
||||
@ -1688,16 +1688,16 @@ public class StyledPlayerControlView extends FrameLayout {
|
||||
player.setShuffleModeEnabled(!player.getShuffleModeEnabled());
|
||||
} else if (settingsButton == view) {
|
||||
controlViewLayoutManager.removeHideCallbacks();
|
||||
displaySettingsWindow(settingsAdapter);
|
||||
displaySettingsWindow(settingsAdapter, settingsButton);
|
||||
} else if (playbackSpeedButton == view) {
|
||||
controlViewLayoutManager.removeHideCallbacks();
|
||||
displaySettingsWindow(playbackSpeedAdapter);
|
||||
displaySettingsWindow(playbackSpeedAdapter, playbackSpeedButton);
|
||||
} else if (audioTrackButton == view) {
|
||||
controlViewLayoutManager.removeHideCallbacks();
|
||||
displaySettingsWindow(audioTrackSelectionAdapter);
|
||||
displaySettingsWindow(audioTrackSelectionAdapter, audioTrackButton);
|
||||
} else if (subtitleButton == view) {
|
||||
controlViewLayoutManager.removeHideCallbacks();
|
||||
displaySettingsWindow(textTrackSelectionAdapter);
|
||||
displaySettingsWindow(textTrackSelectionAdapter, subtitleButton);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user