197850c066b3eccdabecdd5f424735883661c12edMick Lin/* 297850c066b3eccdabecdd5f424735883661c12edMick Lin* Copyright (C) 2011-2014 The Android Open Source Project 397850c066b3eccdabecdd5f424735883661c12edMick Lin* 497850c066b3eccdabecdd5f424735883661c12edMick Lin* Licensed under the Apache License, Version 2.0 (the "License"); 597850c066b3eccdabecdd5f424735883661c12edMick Lin* you may not use this file except in compliance with the License. 697850c066b3eccdabecdd5f424735883661c12edMick Lin* You may obtain a copy of the License at 797850c066b3eccdabecdd5f424735883661c12edMick Lin* 897850c066b3eccdabecdd5f424735883661c12edMick Lin* http://www.apache.org/licenses/LICENSE-2.0 997850c066b3eccdabecdd5f424735883661c12edMick Lin* 1097850c066b3eccdabecdd5f424735883661c12edMick Lin* Unless required by applicable law or agreed to in writing, software 1197850c066b3eccdabecdd5f424735883661c12edMick Lin* distributed under the License is distributed on an "AS IS" BASIS, 1297850c066b3eccdabecdd5f424735883661c12edMick Lin* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1397850c066b3eccdabecdd5f424735883661c12edMick Lin* See the License for the specific language governing permissions and 1497850c066b3eccdabecdd5f424735883661c12edMick Lin* limitations under the License. 1597850c066b3eccdabecdd5f424735883661c12edMick Lin*/ 1697850c066b3eccdabecdd5f424735883661c12edMick Lin 1797850c066b3eccdabecdd5f424735883661c12edMick Linpackage com.android.internal.widget; 1897850c066b3eccdabecdd5f424735883661c12edMick Lin 1997850c066b3eccdabecdd5f424735883661c12edMick Linimport android.content.Context; 2097850c066b3eccdabecdd5f424735883661c12edMick Linimport android.graphics.drawable.Drawable; 2197850c066b3eccdabecdd5f424735883661c12edMick Linimport android.text.TextUtils; 2297850c066b3eccdabecdd5f424735883661c12edMick Linimport android.util.AttributeSet; 2397850c066b3eccdabecdd5f424735883661c12edMick Linimport android.view.LayoutInflater; 2497850c066b3eccdabecdd5f424735883661c12edMick Linimport android.view.View; 2597850c066b3eccdabecdd5f424735883661c12edMick Linimport android.widget.ImageView; 2697850c066b3eccdabecdd5f424735883661c12edMick Linimport android.widget.LinearLayout; 2797850c066b3eccdabecdd5f424735883661c12edMick Linimport android.widget.TextView; 2897850c066b3eccdabecdd5f424735883661c12edMick Lin 2997850c066b3eccdabecdd5f424735883661c12edMick Linimport com.android.internal.R; 3097850c066b3eccdabecdd5f424735883661c12edMick Linimport com.android.internal.widget.AccountViewAdapter.AccountElements; 3197850c066b3eccdabecdd5f424735883661c12edMick Lin 3297850c066b3eccdabecdd5f424735883661c12edMick Lin 3397850c066b3eccdabecdd5f424735883661c12edMick Lin/** 3497850c066b3eccdabecdd5f424735883661c12edMick Lin * An LinearLayout view, to show Accounts elements. 3597850c066b3eccdabecdd5f424735883661c12edMick Lin */ 3697850c066b3eccdabecdd5f424735883661c12edMick Linpublic class AccountItemView extends LinearLayout { 3797850c066b3eccdabecdd5f424735883661c12edMick Lin 3897850c066b3eccdabecdd5f424735883661c12edMick Lin private ImageView mAccountIcon; 3997850c066b3eccdabecdd5f424735883661c12edMick Lin private TextView mAccountName; 4097850c066b3eccdabecdd5f424735883661c12edMick Lin private TextView mAccountNumber; 4197850c066b3eccdabecdd5f424735883661c12edMick Lin 4297850c066b3eccdabecdd5f424735883661c12edMick Lin /** 4397850c066b3eccdabecdd5f424735883661c12edMick Lin * Constructor. 4497850c066b3eccdabecdd5f424735883661c12edMick Lin */ 4597850c066b3eccdabecdd5f424735883661c12edMick Lin public AccountItemView(Context context) { 4697850c066b3eccdabecdd5f424735883661c12edMick Lin this(context, null); 4797850c066b3eccdabecdd5f424735883661c12edMick Lin } 4897850c066b3eccdabecdd5f424735883661c12edMick Lin 4997850c066b3eccdabecdd5f424735883661c12edMick Lin /** 5097850c066b3eccdabecdd5f424735883661c12edMick Lin * Constructor. 5197850c066b3eccdabecdd5f424735883661c12edMick Lin */ 5297850c066b3eccdabecdd5f424735883661c12edMick Lin public AccountItemView(Context context, AttributeSet attrs) { 5397850c066b3eccdabecdd5f424735883661c12edMick Lin super(context, attrs); 5497850c066b3eccdabecdd5f424735883661c12edMick Lin LayoutInflater inflator = (LayoutInflater) 5597850c066b3eccdabecdd5f424735883661c12edMick Lin context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 5697850c066b3eccdabecdd5f424735883661c12edMick Lin View view = inflator.inflate(R.layout.simple_account_item, null); 5797850c066b3eccdabecdd5f424735883661c12edMick Lin addView(view); 5897850c066b3eccdabecdd5f424735883661c12edMick Lin initViewItem(view); 5997850c066b3eccdabecdd5f424735883661c12edMick Lin } 6097850c066b3eccdabecdd5f424735883661c12edMick Lin 6197850c066b3eccdabecdd5f424735883661c12edMick Lin private void initViewItem(View view) { 6297850c066b3eccdabecdd5f424735883661c12edMick Lin mAccountIcon = (ImageView)view.findViewById(android.R.id.icon); 6397850c066b3eccdabecdd5f424735883661c12edMick Lin mAccountName = (TextView)view.findViewById(android.R.id.title); 6497850c066b3eccdabecdd5f424735883661c12edMick Lin mAccountNumber = (TextView)view.findViewById(android.R.id.summary); 6597850c066b3eccdabecdd5f424735883661c12edMick Lin } 6697850c066b3eccdabecdd5f424735883661c12edMick Lin 6797850c066b3eccdabecdd5f424735883661c12edMick Lin public void setViewItem(AccountElements element) { 6897850c066b3eccdabecdd5f424735883661c12edMick Lin Drawable drawable = element.getDrawable(); 6997850c066b3eccdabecdd5f424735883661c12edMick Lin if (drawable != null) { 7097850c066b3eccdabecdd5f424735883661c12edMick Lin setAccountIcon(drawable); 7197850c066b3eccdabecdd5f424735883661c12edMick Lin } else { 7297850c066b3eccdabecdd5f424735883661c12edMick Lin setAccountIcon(element.getIcon()); 7397850c066b3eccdabecdd5f424735883661c12edMick Lin } 7497850c066b3eccdabecdd5f424735883661c12edMick Lin setAccountName(element.getName()); 7597850c066b3eccdabecdd5f424735883661c12edMick Lin setAccountNumber(element.getNumber()); 7697850c066b3eccdabecdd5f424735883661c12edMick Lin } 7797850c066b3eccdabecdd5f424735883661c12edMick Lin 7897850c066b3eccdabecdd5f424735883661c12edMick Lin public void setAccountIcon(int resId) { 7997850c066b3eccdabecdd5f424735883661c12edMick Lin mAccountIcon.setImageResource(resId); 8097850c066b3eccdabecdd5f424735883661c12edMick Lin } 8197850c066b3eccdabecdd5f424735883661c12edMick Lin 8297850c066b3eccdabecdd5f424735883661c12edMick Lin public void setAccountIcon(Drawable drawable) { 8397850c066b3eccdabecdd5f424735883661c12edMick Lin mAccountIcon.setBackgroundDrawable(drawable); 8497850c066b3eccdabecdd5f424735883661c12edMick Lin } 8597850c066b3eccdabecdd5f424735883661c12edMick Lin 8697850c066b3eccdabecdd5f424735883661c12edMick Lin public void setAccountName(String name) { 8797850c066b3eccdabecdd5f424735883661c12edMick Lin setText(mAccountName, name); 8897850c066b3eccdabecdd5f424735883661c12edMick Lin } 8997850c066b3eccdabecdd5f424735883661c12edMick Lin 9097850c066b3eccdabecdd5f424735883661c12edMick Lin public void setAccountNumber(String number) { 9197850c066b3eccdabecdd5f424735883661c12edMick Lin setText(mAccountNumber, number); 9297850c066b3eccdabecdd5f424735883661c12edMick Lin } 9397850c066b3eccdabecdd5f424735883661c12edMick Lin 9497850c066b3eccdabecdd5f424735883661c12edMick Lin private void setText(TextView view, String text) { 9597850c066b3eccdabecdd5f424735883661c12edMick Lin if (TextUtils.isEmpty(text)) { 9697850c066b3eccdabecdd5f424735883661c12edMick Lin view.setVisibility(View.GONE); 9797850c066b3eccdabecdd5f424735883661c12edMick Lin } else { 9897850c066b3eccdabecdd5f424735883661c12edMick Lin view.setText(text); 9997850c066b3eccdabecdd5f424735883661c12edMick Lin view.setVisibility(View.VISIBLE); 10097850c066b3eccdabecdd5f424735883661c12edMick Lin } 10197850c066b3eccdabecdd5f424735883661c12edMick Lin } 10297850c066b3eccdabecdd5f424735883661c12edMick Lin} 103