1 /*
2  * Copyright (C) 2012 Google Inc.
3  * Licensed to The Android Open Source Project.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 package com.android.mail.ui;
19 
20 import com.android.mail.browse.SelectedConversationsActionMenu;
21 import com.android.mail.browse.UndoCallback;
22 
23 /**
24  * Interface for listening to completed UI actions like Archive, Delete, star, etc.
25  * Implement this interface and use this interface in the constructor of
26  * {@link SelectedConversationsActionMenu}. Once the actions are completed, the method
27  * {@link #performAction()} will get called.
28  */
29 public interface DestructiveAction {
30     /**
31      * Sets the UndoCallback if the destructive action is undone
32      * Note that this needs to be set before performAction is called for the callback to be
33      * properly associated
34      */
setUndoCallback(UndoCallback undoCallback)35     public void setUndoCallback(UndoCallback undoCallback);
36     /**
37      * Performs the destructive action.
38      */
performAction()39     public void performAction();
40 }
41