blob: 5831d6f93b02ab261a04dcf73b7ac1a7ac090c26 [file] [log] [blame]
/*
* 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;
}
}
}