From ced790673776cde535c7833f3f5e6b7df28fbc18 Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 1 Aug 2016 08:51:03 -0700 Subject: [PATCH] Make track selection dialog d-pad friendly This wont help much until the buttons to get the dialogs to display are focusable! Use of MediaController seems to make that tricky (to be continued...). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128989328 --- .../exoplayer2/demo/TrackSelectionHelper.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/demo/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionHelper.java b/demo/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionHelper.java index 03acd21b22..1088b2b587 100644 --- a/demo/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionHelper.java +++ b/demo/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionHelper.java @@ -112,6 +112,7 @@ import java.util.Locale; disableView = (CheckedTextView) inflater.inflate( android.R.layout.simple_list_item_single_choice, root, false); disableView.setText(R.string.selection_disabled); + disableView.setFocusable(true); disableView.setOnClickListener(this); root.addView(disableView); @@ -119,6 +120,7 @@ import java.util.Locale; defaultView = (CheckedTextView) inflater.inflate( android.R.layout.simple_list_item_single_choice, root, false); defaultView.setText(R.string.selection_default); + defaultView.setFocusable(true); defaultView.setOnClickListener(this); root.addView(inflater.inflate(R.layout.list_divider, root, false)); root.addView(defaultView); @@ -143,10 +145,12 @@ import java.util.Locale; trackView.setText(buildTrackName(group.getFormat(trackIndex))); if (trackInfo.getTrackFormatSupport(rendererIndex, groupIndex, trackIndex) == RendererCapabilities.FORMAT_HANDLED) { - haveSupportedTracks = true; + trackView.setFocusable(true); trackView.setTag(Pair.create(group, trackIndex)); trackView.setOnClickListener(this); + haveSupportedTracks = true; } else { + trackView.setFocusable(false); trackView.setEnabled(false); } trackViews[groupIndex][trackIndex] = trackView; @@ -182,9 +186,10 @@ import java.util.Locale; } } if (enableRandomAdaptationView != null) { - enableRandomAdaptationView.setEnabled(!isDisabled && override != null - && override.length() > 1); - if (enableRandomAdaptationView.isEnabled()) { + boolean enableView = !isDisabled && override != null && override.length() > 1; + enableRandomAdaptationView.setEnabled(enableView); + enableRandomAdaptationView.setFocusable(enableView); + if (enableView) { enableRandomAdaptationView.setChecked(!isDisabled && override instanceof RandomTrackSelection); }