ToastBarOperation.java revision 4f9a4c5ccb1370f583639e763b1c529fe6762271
14f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal/******************************************************************************* 24f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * Copyright (C) 2011 Google Inc. 34f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * Licensed to The Android Open Source Project. 4fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * 54f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * Licensed under the Apache License, Version 2.0 (the "License"); 64f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * you may not use this file except in compliance with the License. 74f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * You may obtain a copy of the License at 8fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * 94f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * http://www.apache.org/licenses/LICENSE-2.0 10fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * 114f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * Unless required by applicable law or agreed to in writing, software 124f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * distributed under the License is distributed on an "AS IS" BASIS, 134f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 144f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * See the License for the specific language governing permissions and 154f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal * limitations under the License. 164f9a4c5ccb1370f583639e763b1c529fe6762271Vikram Aggarwal *******************************************************************************/ 1730e2c24b056542f3b1b438aeb798305d1226d0c8Andy Huangpackage com.android.mail; 18fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira 19fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereiraimport android.os.Bundle; 20fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira 21fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereiraimport java.util.Collection; 22fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira 23fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira/** 24fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * A simple holder class that stores the information to undo the application of a label. 25fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira */ 26fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereirapublic class UndoOperation { 27fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira private static final String ACCOUNT = "undo-account"; 28fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira private static final String DESCRIPTION = "undo-description"; 29fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira private static final String CONVERSATIONS = "undo-conversations"; 30fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira 31fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira public Collection<ConversationInfo> mConversations; 32fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira public String mDescription; 33fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira public String mAccount; 34fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira 35fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira public UndoOperation(String account, Collection<ConversationInfo> conversations, 36fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira String description) { 37fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira this(account, conversations, description, true /* undoAction */); 38fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira } 39fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira 40fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira /** 41fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * Create an UndoOperation 42fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * @param account Account that this operation is associated with 43fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * @param conversations Collection of ConversationInfo objects that this operation 44fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * should be applied to 45fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * @param description Desctiption text that should be shown to the user 46fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * @param undoAction Boolean indicating whether the operations should be reversed 47fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * in order to perform the action. This is only false when un-marshaling a 48fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * previously existing UndoOperation 49fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira */ 50fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira private UndoOperation(String account, Collection<ConversationInfo> conversations, 51fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira String description, boolean undoAction) { 52fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira mAccount = account; 53fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira mConversations = conversations; 54fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira mDescription = description; 55fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira } 56fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira 57fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira /** 58fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira * Save this object into an extra object. 59fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira */ 60fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira public void saveToExtras(Bundle extras) { 61fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira extras.putString(ACCOUNT, mAccount); 62fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira extras.putString(DESCRIPTION, mDescription); 63fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira extras.putParcelableArray(CONVERSATIONS, 64fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira mConversations.toArray(new ConversationInfo[mConversations.size()])); 65fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira } 66fdd984b69cabc5951eec269a23d42898ea70360fMindy Pereira} 67