/* * Copyright (C) 2011-2014 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.internal.widget; import android.content.Context; import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.android.internal.R; import com.android.internal.widget.AccountViewAdapter.AccountElements; /** * An LinearLayout view, to show Accounts elements. */ public class AccountItemView extends LinearLayout { private ImageView mAccountIcon; private TextView mAccountName; private TextView mAccountNumber; /** * Constructor. */ public AccountItemView(Context context) { this(context, null); } /** * Constructor. */ public AccountItemView(Context context, AttributeSet attrs) { super(context, attrs); LayoutInflater inflator = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflator.inflate(R.layout.simple_account_item, null); addView(view); initViewItem(view); } private void initViewItem(View view) { mAccountIcon = (ImageView)view.findViewById(android.R.id.icon); mAccountName = (TextView)view.findViewById(android.R.id.title); mAccountNumber = (TextView)view.findViewById(android.R.id.summary); } public void setViewItem(AccountElements element) { Drawable drawable = element.getDrawable(); if (drawable != null) { setAccountIcon(drawable); } else { setAccountIcon(element.getIcon()); } setAccountName(element.getName()); setAccountNumber(element.getNumber()); } public void setAccountIcon(int resId) { mAccountIcon.setImageResource(resId); } public void setAccountIcon(Drawable drawable) { mAccountIcon.setBackgroundDrawable(drawable); } public void setAccountName(String name) { setText(mAccountName, name); } public void setAccountNumber(String number) { setText(mAccountNumber, number); } private void setText(TextView view, String text) { if (TextUtils.isEmpty(text)) { view.setVisibility(View.GONE); } else { view.setText(text); view.setVisibility(View.VISIBLE); } } }