diff options
Diffstat (limited to 'src/com/android/tv/ui/sidepanel/CustomizeChannelListFragment.java')
-rw-r--r-- | src/com/android/tv/ui/sidepanel/CustomizeChannelListFragment.java | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/src/com/android/tv/ui/sidepanel/CustomizeChannelListFragment.java b/src/com/android/tv/ui/sidepanel/CustomizeChannelListFragment.java index 15b9d8c0..85050dc4 100644 --- a/src/com/android/tv/ui/sidepanel/CustomizeChannelListFragment.java +++ b/src/com/android/tv/ui/sidepanel/CustomizeChannelListFragment.java @@ -29,6 +29,7 @@ import com.android.tv.MainActivity; import com.android.tv.R; import com.android.tv.data.Channel; import com.android.tv.data.ChannelNumber; +import com.android.tv.ui.OnRepeatedKeyInterceptListener; import com.android.tv.util.TvInputManagerHelper; import com.android.tv.util.Utils; @@ -54,27 +55,6 @@ public class CustomizeChannelListFragment extends SideFragment { private final List<Item> mItems = new ArrayList<>(); - private final VerticalGridView.OnKeyInterceptListener mOnKeyInterceptListener = - new VerticalGridView.OnKeyInterceptListener() { - @Override - public boolean onInterceptKeyEvent(KeyEvent event) { - // In order to send tune operation once for continuous channel up/down events, we only - // call the moveToChannel method on ACTION_UP event of channel switch keys. - if (event.getAction() == KeyEvent.ACTION_UP) { - switch (event.getKeyCode()) { - case KeyEvent.KEYCODE_DPAD_UP: - case KeyEvent.KEYCODE_DPAD_DOWN: - if (mLastFocusedChannelId != Channel.INVALID_ID) { - getMainActivity().tuneToChannel( - getChannelDataManager().getChannel(mLastFocusedChannelId)); - } - break; - } - } - return false; - } - }; - public CustomizeChannelListFragment() { this(Channel.INVALID_ID); } @@ -95,7 +75,25 @@ public class CustomizeChannelListFragment extends SideFragment { Bundle savedInstanceState) { View view = super.onCreateView(inflater, container, savedInstanceState); VerticalGridView listView = (VerticalGridView) view.findViewById(R.id.side_panel_list); - listView.setOnKeyInterceptListener(mOnKeyInterceptListener); + listView.setOnKeyInterceptListener(new OnRepeatedKeyInterceptListener(listView) { + @Override + public boolean onInterceptKeyEvent(KeyEvent event) { + // In order to send tune operation once for continuous channel up/down events, + // we only call the moveToChannel method on ACTION_UP event of channel switch keys. + if (event.getAction() == KeyEvent.ACTION_UP) { + switch (event.getKeyCode()) { + case KeyEvent.KEYCODE_DPAD_UP: + case KeyEvent.KEYCODE_DPAD_DOWN: + if (mLastFocusedChannelId != Channel.INVALID_ID) { + getMainActivity().tuneToChannel( + getChannelDataManager().getChannel(mLastFocusedChannelId)); + } + break; + } + } + return super.onInterceptKeyEvent(event); + } + }); if (!mGroupByFragmentRunning) { getMainActivity().startShrunkenTvView(false, true); |