/* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ package android.support.v17.leanback.app; import android.support.v17.leanback.media.PlaybackGlueHost; import android.support.v17.leanback.widget.Action; import android.support.v17.leanback.widget.OnActionClickedListener; import android.support.v17.leanback.widget.OnItemViewClickedListener; import android.support.v17.leanback.widget.PlaybackRowPresenter; import android.support.v17.leanback.widget.Presenter; import android.support.v17.leanback.widget.Row; import android.support.v17.leanback.widget.RowPresenter; import android.view.View; /** * {@link PlaybackGlueHost} implementation * the interaction between this class and {@link PlaybackFragment}. */ public class PlaybackFragmentGlueHost extends PlaybackGlueHost { private final PlaybackFragment mFragment; public PlaybackFragmentGlueHost(PlaybackFragment fragment) { this.mFragment = fragment; } @Override public void setFadingEnabled(boolean enable) { mFragment.setFadingEnabled(enable); } @Override public void setOnKeyInterceptListener(View.OnKeyListener onKeyListener) { mFragment.setOnKeyInterceptListener(onKeyListener); } @Override public void setOnActionClickedListener(final OnActionClickedListener listener) { if (listener == null) { mFragment.setOnPlaybackItemViewClickedListener(null); } else { mFragment.setOnPlaybackItemViewClickedListener(new OnItemViewClickedListener() { @Override public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder rowViewHolder, Row row) { if (item instanceof Action) { listener.onActionClicked((Action) item); } } }); } } @Override public void setHostCallback(HostCallback callback) { mFragment.setHostCallback(callback); } @Override public void notifyPlaybackRowChanged() { mFragment.notifyPlaybackRowChanged(); } @Override public void setPlaybackRowPresenter(PlaybackRowPresenter presenter) { mFragment.setPlaybackRowPresenter(presenter); } @Override public void setPlaybackRow(Row row) { mFragment.setPlaybackRow(row); } @Override public void fadeOut() { mFragment.fadeOut(); } }