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 android.content.ContentResolver; 21 22 import com.android.bitmap.BitmapCache; 23 import com.android.mail.bitmap.ContactResolver; 24 import com.android.mail.browse.ConversationListFooterView; 25 import com.android.mail.providers.Account; 26 import com.android.mail.providers.Folder; 27 28 /** 29 * A controllable activity is an Activity that has a Controller attached. This activity must be 30 * able to attach the various view fragments and delegate the method calls between them. 31 */ 32 public interface ControllableActivity extends RestrictedActivity, 33 UndoListener, AnimatedAdapter.Listener, ConversationListFooterView.FooterViewClickListener { 34 /** 35 * Returns the ViewMode the activity is updating. 36 * @see com.android.mail.ui.ViewMode 37 * @return ViewMode. 38 */ getViewMode()39 ViewMode getViewMode(); 40 41 /** 42 * Returns the object that handles {@link ConversationListCallbacks} that is associated with 43 * this activity. 44 * @return 45 */ getListHandler()46 ConversationListCallbacks getListHandler(); 47 48 /** 49 * Get the set of currently selected conversations. This method returns a non-null value. 50 * In case no conversation is currently selected, it returns an empty selection set. 51 * @return 52 */ getCheckedSet()53 ConversationCheckedSet getCheckedSet(); 54 55 /** 56 * Returns the listener for folder list selection changes in the folder list 57 * fragment so that activity controllers can track the last folder list 58 * pushed for hierarchical folders. 59 */ getFolderSelector()60 FolderSelector getFolderSelector(); 61 62 /** 63 * Get the folder currently being accessed by the activity. 64 */ getHierarchyFolder()65 Folder getHierarchyFolder(); 66 67 /** 68 * Returns an object that can update conversation state. Holding a reference to the 69 * ConversationUpdater is safe since the ConversationUpdater is guaranteed to persist across 70 * changes to the conversation cursor. 71 * @return 72 */ getConversationUpdater()73 ConversationUpdater getConversationUpdater(); 74 getErrorListener()75 ErrorListener getErrorListener(); 76 77 /** 78 * Returns the {@link FolderController} object associated with this activity, if any. 79 * @return 80 */ getFolderController()81 FolderController getFolderController(); 82 83 /** 84 * Returns the {@link AccountController} object associated with this activity, if any. 85 * @return 86 */ getAccountController()87 AccountController getAccountController(); 88 89 /** 90 * Returns the {@link RecentFolderController} object associated with this activity, if any. 91 * @return 92 */ getRecentFolderController()93 RecentFolderController getRecentFolderController(); 94 getDrawerController()95 DrawerController getDrawerController(); 96 getKeyboardNavigationController()97 KeyboardNavigationController getKeyboardNavigationController(); 98 isAccessibilityEnabled()99 boolean isAccessibilityEnabled(); 100 101 /** 102 * Gets a helper to provide addition features in the conversation list. This may be null. 103 */ getConversationListHelper()104 ConversationListHelper getConversationListHelper(); 105 106 /** 107 * Returns the {@link FragmentLauncher} object associated with this activity, if any. 108 */ getFragmentLauncher()109 FragmentLauncher getFragmentLauncher(); 110 getContactLoaderCallbacks()111 ContactLoaderCallbacks getContactLoaderCallbacks(); 112 getContactResolver(ContentResolver resolver, BitmapCache bitmapCache)113 ContactResolver getContactResolver(ContentResolver resolver, BitmapCache bitmapCache); 114 getSenderImageCache()115 BitmapCache getSenderImageCache(); resetSenderImageCache()116 void resetSenderImageCache(); 117 118 /** 119 * Shows help to user, could be in browser or another activity. 120 */ showHelp(Account account, int viewMode)121 void showHelp(Account account, int viewMode); 122 } 123