172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project/* 272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * Copyright (C) 2008 Esmertec AG. 372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * 572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * you may not use this file except in compliance with the License. 772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * You may obtain a copy of the License at 872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * 972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 1072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * 1172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 1272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 1372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * See the License for the specific language governing permissions and 1572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * limitations under the License. 1672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project */ 1772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 1872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectpackage com.android.mms.ui; 1972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 20d64419030e1fec1e751695dab3bd7236e2fb0214Roger Chenimport java.util.ArrayList; 21d64419030e1fec1e751695dab3bd7236e2fb0214Roger Chenimport java.util.List; 2272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 2372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectimport android.content.Context; 2472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 25d64419030e1fec1e751695dab3bd7236e2fb0214Roger Chenimport com.android.mms.MmsConfig; 26d64419030e1fec1e751695dab3bd7236e2fb0214Roger Chenimport com.android.mms.R; 2772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 2872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project/** 2972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * An adapter to store icons and strings for attachment type list. 3072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project */ 3172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectpublic class AttachmentTypeSelectorAdapter extends IconListAdapter { 3272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int MODE_WITH_SLIDESHOW = 0; 3372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int MODE_WITHOUT_SLIDESHOW = 1; 3472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 3572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int ADD_IMAGE = 0; 3672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int TAKE_PICTURE = 1; 3772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int ADD_VIDEO = 2; 3872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int RECORD_VIDEO = 3; 3972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int ADD_SOUND = 4; 4072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int RECORD_SOUND = 5; 4172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public final static int ADD_SLIDESHOW = 6; 4272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 4372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project public AttachmentTypeSelectorAdapter(Context context, int mode) { 4472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project super(context, getData(mode, context)); 4572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project } 464d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor 474d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor public int buttonToCommand(int whichButton) { 484d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor AttachmentListItem item = (AttachmentListItem)getItem(whichButton); 494d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor return item.getCommand(); 504d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor } 5172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 5272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project protected static List<IconListItem> getData(int mode, Context context) { 5372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project List<IconListItem> data = new ArrayList<IconListItem>(7); 5472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project addItem(data, context.getString(R.string.attach_image), 55ecb91d63c31dae86e6bccf33e7379b49723a7095Peter Ng R.drawable.ic_attach_picture_holo_light, ADD_IMAGE); 5672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 5772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project addItem(data, context.getString(R.string.attach_take_photo), 58ecb91d63c31dae86e6bccf33e7379b49723a7095Peter Ng R.drawable.ic_attach_capture_picture_holo_light, TAKE_PICTURE); 5972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 6072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project addItem(data, context.getString(R.string.attach_video), 61ecb91d63c31dae86e6bccf33e7379b49723a7095Peter Ng R.drawable.ic_attach_video_holo_light, ADD_VIDEO); 6272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 6372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project addItem(data, context.getString(R.string.attach_record_video), 64ecb91d63c31dae86e6bccf33e7379b49723a7095Peter Ng R.drawable.ic_attach_capture_video_holo_light, RECORD_VIDEO); 6572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 664d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor if (MmsConfig.getAllowAttachAudio()) { 674d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor addItem(data, context.getString(R.string.attach_sound), 68ecb91d63c31dae86e6bccf33e7379b49723a7095Peter Ng R.drawable.ic_attach_audio_holo_light, ADD_SOUND); 694d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor } 7072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 7172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project addItem(data, context.getString(R.string.attach_record_sound), 72ecb91d63c31dae86e6bccf33e7379b49723a7095Peter Ng R.drawable.ic_attach_capture_audio_holo_light, RECORD_SOUND); 7372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 7472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project if (mode == MODE_WITH_SLIDESHOW) { 7572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project addItem(data, context.getString(R.string.attach_slideshow), 76ecb91d63c31dae86e6bccf33e7379b49723a7095Peter Ng R.drawable.ic_attach_slideshow_holo_light, ADD_SLIDESHOW); 7772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project } 7872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 7972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project return data; 8072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project } 8172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project 824d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor protected static void addItem(List<IconListItem> data, String title, 834d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor int resource, int command) { 844d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor AttachmentListItem temp = new AttachmentListItem(title, resource, command); 8572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project data.add(temp); 8672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project } 874d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor 884d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor public static class AttachmentListItem extends IconListAdapter.IconListItem { 894d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor private int mCommand; 904d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor 914d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor public AttachmentListItem(String title, int resource, int command) { 924d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor super(title, resource); 934d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor 944d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor mCommand = command; 954d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor } 964d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor 974d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor public int getCommand() { 984d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor return mCommand; 994d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor } 1004d620299628c41f9149024f0cf9f42d008aedcf5Tom Taylor } 10172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project} 102