aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/dvr/ui/ActionPresenterSelector.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/dvr/ui/ActionPresenterSelector.java')
-rw-r--r--src/com/android/tv/dvr/ui/ActionPresenterSelector.java138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/com/android/tv/dvr/ui/ActionPresenterSelector.java b/src/com/android/tv/dvr/ui/ActionPresenterSelector.java
deleted file mode 100644
index 8b8cd5c5..00000000
--- a/src/com/android/tv/dvr/ui/ActionPresenterSelector.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * 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 com.android.tv.dvr.ui;
-
-import android.graphics.drawable.Drawable;
-import android.support.v17.leanback.R;
-import android.support.v17.leanback.widget.Action;
-import android.support.v17.leanback.widget.Presenter;
-import android.support.v17.leanback.widget.PresenterSelector;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-
-// This class is adapted from Leanback's library, which does not support action icon with one-line
-// label. This class modified its getPresenter method to support the above situation.
-class ActionPresenterSelector extends PresenterSelector {
- private final Presenter mOneLineActionPresenter = new OneLineActionPresenter();
- private final Presenter mTwoLineActionPresenter = new TwoLineActionPresenter();
- private final Presenter[] mPresenters = new Presenter[] {
- mOneLineActionPresenter, mTwoLineActionPresenter};
-
- @Override
- public Presenter getPresenter(Object item) {
- Action action = (Action) item;
- if (TextUtils.isEmpty(action.getLabel2()) && action.getIcon() == null) {
- return mOneLineActionPresenter;
- } else {
- return mTwoLineActionPresenter;
- }
- }
-
- @Override
- public Presenter[] getPresenters() {
- return mPresenters;
- }
-
- static class ActionViewHolder extends Presenter.ViewHolder {
- Action mAction;
- Button mButton;
- int mLayoutDirection;
-
- public ActionViewHolder(View view, int layoutDirection) {
- super(view);
- mButton = (Button) view.findViewById(R.id.lb_action_button);
- mLayoutDirection = layoutDirection;
- }
- }
-
- class OneLineActionPresenter extends Presenter {
- @Override
- public ViewHolder onCreateViewHolder(ViewGroup parent) {
- View v = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.lb_action_1_line, parent, false);
- return new ActionViewHolder(v, parent.getLayoutDirection());
- }
-
- @Override
- public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) {
- Action action = (Action) item;
- ActionViewHolder vh = (ActionViewHolder) viewHolder;
- vh.mAction = action;
- vh.mButton.setText(action.getLabel1());
- }
-
- @Override
- public void onUnbindViewHolder(Presenter.ViewHolder viewHolder) {
- ((ActionViewHolder) viewHolder).mAction = null;
- }
- }
-
- class TwoLineActionPresenter extends Presenter {
- @Override
- public ViewHolder onCreateViewHolder(ViewGroup parent) {
- View v = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.lb_action_2_lines, parent, false);
- return new ActionViewHolder(v, parent.getLayoutDirection());
- }
-
- @Override
- public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) {
- Action action = (Action) item;
- ActionViewHolder vh = (ActionViewHolder) viewHolder;
- Drawable icon = action.getIcon();
- vh.mAction = action;
-
- if (icon != null) {
- final int startPadding = vh.view.getResources()
- .getDimensionPixelSize(R.dimen.lb_action_with_icon_padding_start);
- final int endPadding = vh.view.getResources()
- .getDimensionPixelSize(R.dimen.lb_action_with_icon_padding_end);
- vh.view.setPaddingRelative(startPadding, 0, endPadding, 0);
- } else {
- final int padding = vh.view.getResources()
- .getDimensionPixelSize(R.dimen.lb_action_padding_horizontal);
- vh.view.setPaddingRelative(padding, 0, padding, 0);
- }
- if (vh.mLayoutDirection == View.LAYOUT_DIRECTION_RTL) {
- vh.mButton.setCompoundDrawablesWithIntrinsicBounds(null, null, icon, null);
- } else {
- vh.mButton.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
- }
-
- CharSequence line1 = action.getLabel1();
- CharSequence line2 = action.getLabel2();
- if (TextUtils.isEmpty(line1)) {
- vh.mButton.setText(line2);
- } else if (TextUtils.isEmpty(line2)) {
- vh.mButton.setText(line1);
- } else {
- vh.mButton.setText(line1 + "\n" + line2);
- }
- }
-
- @Override
- public void onUnbindViewHolder(Presenter.ViewHolder viewHolder) {
- ActionViewHolder vh = (ActionViewHolder) viewHolder;
- vh.mButton.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
- vh.view.setPadding(0, 0, 0, 0);
- vh.mAction = null;
- }
- }
-} \ No newline at end of file