11174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira/* 21174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * Copyright (C) 2011 The Android Open Source Project 31174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * 41174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * Licensed under the Apache License, Version 2.0 (the "License"); 51174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * you may not use this file except in compliance with the License. 61174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * You may obtain a copy of the License at 71174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * 81174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * http://www.apache.org/licenses/LICENSE-2.0 91174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * 101174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * Unless required by applicable law or agreed to in writing, software 111174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * distributed under the License is distributed on an "AS IS" BASIS, 121174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * See the License for the specific language governing permissions and 141174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira * limitations under the License. 151174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira */ 161174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira 171174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereirapackage com.android.ex.chips; 181174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira 191174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraimport android.content.Context; 201174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraimport android.text.util.Rfc822Tokenizer; 211174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraimport android.view.LayoutInflater; 221174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraimport android.view.View; 231174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraimport android.view.ViewGroup; 241174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraimport android.widget.ArrayAdapter; 251174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraimport android.widget.ImageView; 261174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraimport android.widget.TextView; 271174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira 281174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereiraclass SingleRecipientArrayAdapter extends ArrayAdapter<RecipientEntry> { 291174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira private int mLayoutId; 301174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira 311174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira private final LayoutInflater mLayoutInflater; 321174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira 331174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira public SingleRecipientArrayAdapter(Context context, int resourceId, RecipientEntry entry) { 341174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira super(context, resourceId, new RecipientEntry[] { 351174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira entry 361174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira }); 371174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira mLayoutInflater = LayoutInflater.from(context); 381174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira mLayoutId = resourceId; 391174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira } 401174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira 411174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira @Override 421174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira public View getView(int position, View convertView, ViewGroup parent) { 431174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira if (convertView == null) { 441174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira convertView = newView(); 451174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira } 461174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira bindView(convertView, convertView.getContext(), getItem(position)); 471174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira return convertView; 481174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira } 491174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira 501174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira private View newView() { 511174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira return mLayoutInflater.inflate(mLayoutId, null); 521174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira } 531174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira 541174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira private void bindView(View view, Context context, RecipientEntry entry) { 5530aa02a33a1624d4f3522f24f8c7435a5a41d4c7Mindy Pereira TextView display = (TextView) view.findViewById(android.R.id.title); 561174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira ImageView imageView = (ImageView) view.findViewById(android.R.id.icon); 571174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira display.setText(entry.getDisplayName()); 581174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira display.setVisibility(View.VISIBLE); 591174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira imageView.setVisibility(View.VISIBLE); 6030aa02a33a1624d4f3522f24f8c7435a5a41d4c7Mindy Pereira TextView destination = (TextView) view.findViewById(android.R.id.text1); 611174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira destination.setText(Rfc822Tokenizer.tokenize(entry.getDestination())[0].getAddress()); 621174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira } 631174eca98d1dbd263a9e72c5a9e35a1039aae979Mindy Pereira} 64