19d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project/*
29d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
39d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project *
49d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * you may not use this file except in compliance with the License.
69d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * You may obtain a copy of the License at
79d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project *
89d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project *
109d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * See the License for the specific language governing permissions and
149d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * limitations under the License.
159d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project */
169d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
179d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectpackage com.android.stk;
189d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
19d41f1d98d7bf42e9e867819593ad79f685604796Alex Yakavenkaimport com.android.internal.telephony.cat.Item;
209d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
219d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport android.content.Context;
229d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport android.view.LayoutInflater;
239d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport android.view.View;
249d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport android.view.ViewGroup;
259d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport android.widget.ArrayAdapter;
269d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport android.widget.ImageView;
279d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport android.widget.TextView;
289d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
299d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport java.util.List;
309d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
319d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project/**
329d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * Icon list view adapter to show the list of STK items.
339d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project */
349d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectpublic class StkMenuAdapter extends ArrayAdapter<Item> {
359d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    private final LayoutInflater mInflater;
369d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    private boolean mIcosSelfExplanatory = false;
379d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
389d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    public StkMenuAdapter(Context context, List<Item> items,
399d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            boolean icosSelfExplanatory) {
409d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        super(context, 0, items);
419d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        mInflater = LayoutInflater.from(context);
429d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        mIcosSelfExplanatory = icosSelfExplanatory;
439d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    }
449d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
459d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    @Override
469d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    public View getView(int position, View convertView, ViewGroup parent) {
479d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        final Item item = getItem(position);
489d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
499d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        if (convertView == null) {
509d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            convertView = mInflater.inflate(R.layout.stk_menu_item, parent,
519d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project                    false);
529d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        }
539d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
549d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        if (!mIcosSelfExplanatory || (mIcosSelfExplanatory && item.icon == null)) {
559d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            ((TextView) convertView.findViewById(R.id.text)).setText(item.text);
569d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        }
579d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        ImageView imageView = ((ImageView) convertView.findViewById(R.id.icon));
589d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        if (item.icon == null) {
599d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            imageView.setVisibility(View.GONE);
609d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        } else {
619d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            imageView.setImageBitmap(item.icon);
629d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            imageView.setVisibility(View.VISIBLE);
639d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        }
649d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
659d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        return convertView;
669d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    }
679d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project}
68