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