LauncherCallbacks.java revision aa953654279d7cca29682d85111e398ea1f20390
1package com.android.launcher3; 2 3import android.content.Intent; 4import android.graphics.Rect; 5import android.os.Bundle; 6import android.view.Menu; 7import android.view.View; 8 9import com.android.launcher3.allapps.AllAppsSearchBarController; 10import com.android.launcher3.logging.UserEventDispatcher; 11import com.android.launcher3.util.ComponentKey; 12 13import java.io.FileDescriptor; 14import java.io.PrintWriter; 15import java.util.ArrayList; 16import java.util.List; 17 18/** 19 * LauncherCallbacks is an interface used to extend the Launcher activity. It includes many hooks 20 * in order to add additional functionality. Some of these are very general, and give extending 21 * classes the ability to react to Activity life-cycle or specific user interactions. Others 22 * are more specific and relate to replacing parts of the application, for example, the search 23 * interface or the wallpaper picker. 24 */ 25public interface LauncherCallbacks { 26 27 /* 28 * Activity life-cycle methods. These methods are triggered after 29 * the code in the corresponding Launcher method is executed. 30 */ 31 public void preOnCreate(); 32 public void onCreate(Bundle savedInstanceState); 33 public void preOnResume(); 34 public void onResume(); 35 public void onStart(); 36 public void onStop(); 37 public void onPause(); 38 public void onDestroy(); 39 public void onSaveInstanceState(Bundle outState); 40 public void onPostCreate(Bundle savedInstanceState); 41 public void onNewIntent(Intent intent); 42 public void onActivityResult(int requestCode, int resultCode, Intent data); 43 public void onRequestPermissionsResult(int requestCode, String[] permissions, 44 int[] grantResults); 45 public void onWindowFocusChanged(boolean hasFocus); 46 public void onAttachedToWindow(); 47 public void onDetachedFromWindow(); 48 public boolean onPrepareOptionsMenu(Menu menu); 49 public void dump(String prefix, FileDescriptor fd, PrintWriter w, String[] args); 50 public void onHomeIntent(); 51 public boolean handleBackPressed(); 52 public void onTrimMemory(int level); 53 54 /* 55 * Extension points for providing custom behavior on certain user interactions. 56 */ 57 public void onLauncherProviderChange(); 58 public void finishBindingItems(final boolean upgradePath); 59 public void bindAllApplications(ArrayList<AppInfo> apps); 60 public void onInteractionBegin(); 61 public void onInteractionEnd(); 62 63 @Deprecated 64 public void onClickSettingsButton(View v); 65 @Deprecated 66 public void onWorkspaceLockedChanged(); 67 68 public boolean providesSearch(); 69 public boolean startSearch(String initialQuery, boolean selectInitialQuery, 70 Bundle appSearchData, Rect sourceBounds); 71 public boolean hasCustomContentToLeft(); 72 public void populateCustomContentContainer(); 73 public View getQsbBar(); 74 public Bundle getAdditionalSearchWidgetOptions(); 75 76 /* 77 * Extensions points for adding / replacing some other aspects of the Launcher experience. 78 */ 79 public UserEventDispatcher getUserEventDispatcher(); 80 public Intent getFirstRunActivity(); 81 public boolean hasFirstRunActivity(); 82 public boolean hasDismissableIntroScreen(); 83 public View getIntroScreen(); 84 public boolean shouldMoveToDefaultScreenOnHomeIntent(); 85 public boolean hasSettings(); 86 public AllAppsSearchBarController getAllAppsSearchBarController(); 87 public List<ComponentKey> getPredictedApps(); 88 public static final int SEARCH_BAR_HEIGHT_NORMAL = 0, SEARCH_BAR_HEIGHT_TALL = 1; 89 /** Must return one of {@link #SEARCH_BAR_HEIGHT_NORMAL} or {@link #SEARCH_BAR_HEIGHT_TALL} */ 90 public int getSearchBarHeight(); 91 92 /** 93 * Sets the callbacks to allow reacting the actions of search overlays of the launcher. 94 * 95 * @param callbacks A set of callbacks to the Launcher, is actually a LauncherSearchCallback, 96 * but for implementation purposes is passed around as an object. 97 */ 98 public void setLauncherSearchCallback(Object callbacks); 99} 100