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