| /* |
| * Copyright (C) 2008 Esmertec AG. |
| * Copyright (C) 2008 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.mms.ui; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import android.content.Context; |
| |
| import com.android.mms.MmsConfig; |
| import com.android.mms.R; |
| |
| /** |
| * An adapter to store icons and strings for attachment type list. |
| */ |
| public class AttachmentTypeSelectorAdapter extends IconListAdapter { |
| public final static int MODE_WITH_SLIDESHOW = 0; |
| public final static int MODE_WITHOUT_SLIDESHOW = 1; |
| |
| public final static int ADD_IMAGE = 0; |
| public final static int TAKE_PICTURE = 1; |
| public final static int ADD_VIDEO = 2; |
| public final static int RECORD_VIDEO = 3; |
| public final static int ADD_SOUND = 4; |
| public final static int RECORD_SOUND = 5; |
| public final static int ADD_SLIDESHOW = 6; |
| |
| public AttachmentTypeSelectorAdapter(Context context, int mode) { |
| super(context, getData(mode, context)); |
| } |
| |
| public int buttonToCommand(int whichButton) { |
| AttachmentListItem item = (AttachmentListItem)getItem(whichButton); |
| return item.getCommand(); |
| } |
| |
| protected static List<IconListItem> getData(int mode, Context context) { |
| List<IconListItem> data = new ArrayList<IconListItem>(7); |
| addItem(data, context.getString(R.string.attach_image), |
| R.drawable.ic_attach_picture_holo_light, ADD_IMAGE); |
| |
| addItem(data, context.getString(R.string.attach_take_photo), |
| R.drawable.ic_attach_capture_picture_holo_light, TAKE_PICTURE); |
| |
| addItem(data, context.getString(R.string.attach_video), |
| R.drawable.ic_attach_video_holo_light, ADD_VIDEO); |
| |
| addItem(data, context.getString(R.string.attach_record_video), |
| R.drawable.ic_attach_capture_video_holo_light, RECORD_VIDEO); |
| |
| if (MmsConfig.getAllowAttachAudio()) { |
| addItem(data, context.getString(R.string.attach_sound), |
| R.drawable.ic_attach_audio_holo_light, ADD_SOUND); |
| } |
| |
| addItem(data, context.getString(R.string.attach_record_sound), |
| R.drawable.ic_attach_capture_audio_holo_light, RECORD_SOUND); |
| |
| if (mode == MODE_WITH_SLIDESHOW) { |
| addItem(data, context.getString(R.string.attach_slideshow), |
| R.drawable.ic_attach_slideshow_holo_light, ADD_SLIDESHOW); |
| } |
| |
| return data; |
| } |
| |
| protected static void addItem(List<IconListItem> data, String title, |
| int resource, int command) { |
| AttachmentListItem temp = new AttachmentListItem(title, resource, command); |
| data.add(temp); |
| } |
| |
| public static class AttachmentListItem extends IconListAdapter.IconListItem { |
| private int mCommand; |
| |
| public AttachmentListItem(String title, int resource, int command) { |
| super(title, resource); |
| |
| mCommand = command; |
| } |
| |
| public int getCommand() { |
| return mCommand; |
| } |
| } |
| } |