LauncherCallbacks.java revision cb5f619770df68e6cd323c85602bb64c4acea8cc
1package com.android.launcher3; 2 3import android.content.ComponentName; 4import android.content.Intent; 5import android.graphics.Rect; 6import android.os.Bundle; 7import android.view.Menu; 8import android.view.View; 9import android.view.ViewGroup; 10import com.android.launcher3.allapps.AllAppsSearchBarController; 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 boolean onPrepareOptionsMenu(Menu menu); 47 public void dump(String prefix, FileDescriptor fd, PrintWriter w, String[] args); 48 public void onHomeIntent(); 49 public boolean handleBackPressed(); 50 public void onTrimMemory(int level); 51 52 /* 53 * Extension points for providing custom behavior on certain user interactions. 54 */ 55 public void onLauncherProviderChange(); 56 public void finishBindingItems(final boolean upgradePath); 57 public void onClickAllAppsButton(View v); 58 public void bindAllApplications(ArrayList<AppInfo> apps); 59 public void onClickFolderIcon(View v); 60 public void onClickAppShortcut(View v); 61 @Deprecated 62 public void onClickPagedViewIcon(View v); 63 public void onClickWallpaperPicker(View v); 64 public void onClickSettingsButton(View v); 65 public void onClickAddWidgetButton(View v); 66 public void onPageSwitch(View newPage, int newPageIndex); 67 public void onWorkspaceLockedChanged(); 68 public void onDragStarted(View view); 69 public void onInteractionBegin(); 70 public void onInteractionEnd(); 71 72 /* 73 * Extension points for replacing the search experience 74 */ 75 @Deprecated 76 public boolean forceDisableVoiceButtonProxy(); 77 public boolean providesSearch(); 78 public boolean startSearch(String initialQuery, boolean selectInitialQuery, 79 Bundle appSearchData, Rect sourceBounds); 80 @Deprecated 81 public void startVoice(); 82 public boolean hasCustomContentToLeft(); 83 public void populateCustomContentContainer(); 84 public View getQsbBar(); 85 86 /* 87 * Extensions points for adding / replacing some other aspects of the Launcher experience. 88 */ 89 public Intent getFirstRunActivity(); 90 public boolean hasFirstRunActivity(); 91 public boolean hasDismissableIntroScreen(); 92 public View getIntroScreen(); 93 public boolean shouldMoveToDefaultScreenOnHomeIntent(); 94 public boolean hasSettings(); 95 @Deprecated 96 public ComponentName getWallpaperPickerComponent(); 97 public boolean overrideWallpaperDimensions(); 98 public boolean isLauncherPreinstalled(); 99 public AllAppsSearchBarController getAllAppsSearchBarController(); 100 public List<ComponentKey> getPredictedApps(); 101 102 /** 103 * Returning true will immediately result in a call to {@link #setLauncherOverlayView(ViewGroup, 104 * com.android.launcher3.Launcher.LauncherOverlayCallbacks)}. 105 * 106 * @return true if this launcher extension will provide an overlay 107 */ 108 public boolean hasLauncherOverlay(); 109 110 /** 111 * Handshake to establish an overlay relationship 112 * 113 * @param container Full screen overlay ViewGroup into which custom views can be placed. 114 * @param callbacks A set of callbacks provided by Launcher in relation to the overlay 115 * @return an interface used to make requests and notify the Launcher in relation to the overlay 116 */ 117 public Launcher.LauncherOverlay setLauncherOverlayView(InsettableFrameLayout container, 118 Launcher.LauncherOverlayCallbacks callbacks); 119 120 /** 121 * Sets the callbacks to allow reacting the actions of search overlays of the launcher. 122 * 123 * @param callbacks A set of callbacks to the Launcher, is actually a LauncherSearchCallback, 124 * but for implementation purposes is passed around as an object. 125 */ 126 public void setLauncherSearchCallback(Object callbacks); 127} 128