1f804d908c317b846899a480031c4dcab616074c4Dake Gu/*
2f804d908c317b846899a480031c4dcab616074c4Dake Gu * Copyright (C) 2014 The Android Open Source Project
3f804d908c317b846899a480031c4dcab616074c4Dake Gu *
4f804d908c317b846899a480031c4dcab616074c4Dake Gu * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5f804d908c317b846899a480031c4dcab616074c4Dake Gu * in compliance with the License. You may obtain a copy of the License at
6f804d908c317b846899a480031c4dcab616074c4Dake Gu *
7f804d908c317b846899a480031c4dcab616074c4Dake Gu * http://www.apache.org/licenses/LICENSE-2.0
8f804d908c317b846899a480031c4dcab616074c4Dake Gu *
9f804d908c317b846899a480031c4dcab616074c4Dake Gu * Unless required by applicable law or agreed to in writing, software distributed under the License
10f804d908c317b846899a480031c4dcab616074c4Dake Gu * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11f804d908c317b846899a480031c4dcab616074c4Dake Gu * or implied. See the License for the specific language governing permissions and limitations under
12f804d908c317b846899a480031c4dcab616074c4Dake Gu * the License.
13f804d908c317b846899a480031c4dcab616074c4Dake Gu */
14f804d908c317b846899a480031c4dcab616074c4Dake Gupackage android.support.v17.leanback.widget;
15f804d908c317b846899a480031c4dcab616074c4Dake Gu
16f804d908c317b846899a480031c4dcab616074c4Dake Guimport android.content.Context;
17f804d908c317b846899a480031c4dcab616074c4Dake Guimport android.support.v17.leanback.R;
18f804d908c317b846899a480031c4dcab616074c4Dake Guimport android.text.TextUtils;
19f804d908c317b846899a480031c4dcab616074c4Dake Guimport android.util.AttributeSet;
20f804d908c317b846899a480031c4dcab616074c4Dake Guimport android.view.LayoutInflater;
21f804d908c317b846899a480031c4dcab616074c4Dake Guimport android.view.View;
22f804d908c317b846899a480031c4dcab616074c4Dake Guimport android.widget.LinearLayout;
23f804d908c317b846899a480031c4dcab616074c4Dake Guimport android.widget.TextView;
24f804d908c317b846899a480031c4dcab616074c4Dake Gu
25f804d908c317b846899a480031c4dcab616074c4Dake Gu/**
26cb13a318e577e14461eb008071dddf762847de42Dake Gu * ListRowHoverCardView contains a title and description.
27f804d908c317b846899a480031c4dcab616074c4Dake Gu */
28cb13a318e577e14461eb008071dddf762847de42Dake Gupublic final class ListRowHoverCardView extends LinearLayout {
29f804d908c317b846899a480031c4dcab616074c4Dake Gu
30f804d908c317b846899a480031c4dcab616074c4Dake Gu    private final TextView mTitleView;
31f804d908c317b846899a480031c4dcab616074c4Dake Gu    private final TextView mDescriptionView;
32f804d908c317b846899a480031c4dcab616074c4Dake Gu
33cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowHoverCardView(Context context) {
34f804d908c317b846899a480031c4dcab616074c4Dake Gu       this(context, null);
35f804d908c317b846899a480031c4dcab616074c4Dake Gu    }
36f804d908c317b846899a480031c4dcab616074c4Dake Gu
37cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowHoverCardView(Context context, AttributeSet attrs) {
38f804d908c317b846899a480031c4dcab616074c4Dake Gu        this(context, attrs, 0);
39f804d908c317b846899a480031c4dcab616074c4Dake Gu    }
40f804d908c317b846899a480031c4dcab616074c4Dake Gu
41cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowHoverCardView(Context context, AttributeSet attrs, int defStyle) {
42f804d908c317b846899a480031c4dcab616074c4Dake Gu        super(context, attrs, defStyle);
43f804d908c317b846899a480031c4dcab616074c4Dake Gu        LayoutInflater inflater = LayoutInflater.from(context);
44cb13a318e577e14461eb008071dddf762847de42Dake Gu        inflater.inflate(R.layout.lb_list_row_hovercard, this);
45f804d908c317b846899a480031c4dcab616074c4Dake Gu        mTitleView = (TextView) findViewById(R.id.title);
46f804d908c317b846899a480031c4dcab616074c4Dake Gu        mDescriptionView = (TextView) findViewById(R.id.description);
47f804d908c317b846899a480031c4dcab616074c4Dake Gu    }
48f804d908c317b846899a480031c4dcab616074c4Dake Gu
49f804d908c317b846899a480031c4dcab616074c4Dake Gu    public final CharSequence getTitle() {
50f804d908c317b846899a480031c4dcab616074c4Dake Gu        return mTitleView.getText();
51f804d908c317b846899a480031c4dcab616074c4Dake Gu    }
52f804d908c317b846899a480031c4dcab616074c4Dake Gu
53f804d908c317b846899a480031c4dcab616074c4Dake Gu    public final void setTitle(CharSequence text) {
54f804d908c317b846899a480031c4dcab616074c4Dake Gu        if (!TextUtils.isEmpty(text)) {
55f804d908c317b846899a480031c4dcab616074c4Dake Gu            mTitleView.setText(text);
56f804d908c317b846899a480031c4dcab616074c4Dake Gu            mTitleView.setVisibility(View.VISIBLE);
57f804d908c317b846899a480031c4dcab616074c4Dake Gu        } else {
58f804d908c317b846899a480031c4dcab616074c4Dake Gu            mTitleView.setVisibility(View.GONE);
59f804d908c317b846899a480031c4dcab616074c4Dake Gu        }
60f804d908c317b846899a480031c4dcab616074c4Dake Gu    }
61f804d908c317b846899a480031c4dcab616074c4Dake Gu
62f804d908c317b846899a480031c4dcab616074c4Dake Gu    public final CharSequence getDescription() {
63f804d908c317b846899a480031c4dcab616074c4Dake Gu        return mDescriptionView.getText();
64f804d908c317b846899a480031c4dcab616074c4Dake Gu    }
65f804d908c317b846899a480031c4dcab616074c4Dake Gu
66f804d908c317b846899a480031c4dcab616074c4Dake Gu    public final void setDescription(CharSequence text) {
67f804d908c317b846899a480031c4dcab616074c4Dake Gu        if (!TextUtils.isEmpty(text)) {
68f804d908c317b846899a480031c4dcab616074c4Dake Gu            mDescriptionView.setText(text);
69f804d908c317b846899a480031c4dcab616074c4Dake Gu            mDescriptionView.setVisibility(View.VISIBLE);
70f804d908c317b846899a480031c4dcab616074c4Dake Gu        } else {
71f804d908c317b846899a480031c4dcab616074c4Dake Gu            mDescriptionView.setVisibility(View.GONE);
72f804d908c317b846899a480031c4dcab616074c4Dake Gu        }
73f804d908c317b846899a480031c4dcab616074c4Dake Gu    }
74f804d908c317b846899a480031c4dcab616074c4Dake Gu}
75