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