1 package com.android.launcher3.testing; 2 3 import android.content.Intent; 4 import android.graphics.Color; 5 import android.graphics.Rect; 6 import android.os.Bundle; 7 import android.view.Menu; 8 import android.view.View; 9 import android.widget.FrameLayout; 10 11 import com.android.launcher3.AppInfo; 12 import com.android.launcher3.Launcher; 13 import com.android.launcher3.LauncherCallbacks; 14 import com.android.launcher3.allapps.AllAppsSearchBarController; 15 import com.android.launcher3.util.ComponentKey; 16 17 import java.io.FileDescriptor; 18 import java.io.PrintWriter; 19 import java.util.ArrayList; 20 import java.util.List; 21 22 /** 23 * This class represents a very trivial LauncherExtension. It primarily serves as a simple 24 * class to exercise the LauncherOverlay interface. 25 */ 26 public class LauncherExtension extends Launcher { 27 28 //------ Activity methods -------// 29 @Override onCreate(Bundle savedInstanceState)30 public void onCreate(Bundle savedInstanceState) { 31 setLauncherCallbacks(new LauncherExtensionCallbacks()); 32 super.onCreate(savedInstanceState); 33 } 34 35 public class LauncherExtensionCallbacks implements LauncherCallbacks { 36 37 @Override preOnCreate()38 public void preOnCreate() { 39 } 40 41 @Override onCreate(Bundle savedInstanceState)42 public void onCreate(Bundle savedInstanceState) { 43 } 44 45 @Override preOnResume()46 public void preOnResume() { 47 } 48 49 @Override onResume()50 public void onResume() { 51 } 52 53 @Override onStart()54 public void onStart() { 55 } 56 57 @Override onStop()58 public void onStop() { 59 } 60 61 @Override onPause()62 public void onPause() { 63 } 64 65 @Override onDestroy()66 public void onDestroy() { 67 } 68 69 @Override onSaveInstanceState(Bundle outState)70 public void onSaveInstanceState(Bundle outState) { 71 } 72 73 @Override onPostCreate(Bundle savedInstanceState)74 public void onPostCreate(Bundle savedInstanceState) { 75 } 76 77 @Override onNewIntent(Intent intent)78 public void onNewIntent(Intent intent) { 79 } 80 81 @Override onActivityResult(int requestCode, int resultCode, Intent data)82 public void onActivityResult(int requestCode, int resultCode, Intent data) { 83 } 84 85 @Override onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)86 public void onRequestPermissionsResult(int requestCode, String[] permissions, 87 int[] grantResults) { 88 } 89 90 @Override onWindowFocusChanged(boolean hasFocus)91 public void onWindowFocusChanged(boolean hasFocus) { 92 } 93 94 @Override onPrepareOptionsMenu(Menu menu)95 public boolean onPrepareOptionsMenu(Menu menu) { 96 return false; 97 } 98 99 @Override dump(String prefix, FileDescriptor fd, PrintWriter w, String[] args)100 public void dump(String prefix, FileDescriptor fd, PrintWriter w, String[] args) { 101 } 102 103 @Override onHomeIntent()104 public void onHomeIntent() { 105 } 106 107 @Override handleBackPressed()108 public boolean handleBackPressed() { 109 return false; 110 } 111 112 @Override onTrimMemory(int level)113 public void onTrimMemory(int level) { 114 } 115 116 @Override onLauncherProviderChange()117 public void onLauncherProviderChange() { 118 } 119 120 @Override finishBindingItems(boolean upgradePath)121 public void finishBindingItems(boolean upgradePath) { 122 } 123 124 @Override onClickAllAppsButton(View v)125 public void onClickAllAppsButton(View v) { 126 } 127 128 @Override bindAllApplications(ArrayList<AppInfo> apps)129 public void bindAllApplications(ArrayList<AppInfo> apps) { 130 } 131 132 @Override onClickFolderIcon(View v)133 public void onClickFolderIcon(View v) { 134 } 135 136 @Override onClickAppShortcut(View v)137 public void onClickAppShortcut(View v) { 138 } 139 140 @Override onClickPagedViewIcon(View v)141 public void onClickPagedViewIcon(View v) { 142 } 143 144 @Override onClickWallpaperPicker(View v)145 public void onClickWallpaperPicker(View v) { 146 } 147 148 @Override onClickSettingsButton(View v)149 public void onClickSettingsButton(View v) { 150 } 151 152 @Override onClickAddWidgetButton(View v)153 public void onClickAddWidgetButton(View v) { 154 } 155 156 @Override onPageSwitch(View newPage, int newPageIndex)157 public void onPageSwitch(View newPage, int newPageIndex) { 158 } 159 160 @Override onWorkspaceLockedChanged()161 public void onWorkspaceLockedChanged() { 162 } 163 164 @Override onDragStarted(View view)165 public void onDragStarted(View view) { 166 } 167 168 @Override onInteractionBegin()169 public void onInteractionBegin() { 170 } 171 172 @Override onInteractionEnd()173 public void onInteractionEnd() { 174 } 175 176 @Override providesSearch()177 public boolean providesSearch() { 178 return false; 179 } 180 181 @Override startSearch(String initialQuery, boolean selectInitialQuery, Bundle appSearchData, Rect sourceBounds)182 public boolean startSearch(String initialQuery, boolean selectInitialQuery, 183 Bundle appSearchData, Rect sourceBounds) { 184 return false; 185 } 186 187 @Override startSearchFromAllApps(String query)188 public boolean startSearchFromAllApps(String query) { 189 return false; 190 } 191 192 CustomContentCallbacks mCustomContentCallbacks = new CustomContentCallbacks() { 193 194 // Custom content is completely shown. {@code fromResume} indicates whether this was caused 195 // by a onResume or by scrolling otherwise. 196 public void onShow(boolean fromResume) { 197 } 198 199 // Custom content is completely hidden 200 public void onHide() { 201 } 202 203 // Custom content scroll progress changed. From 0 (not showing) to 1 (fully showing). 204 public void onScrollProgressChanged(float progress) { 205 206 } 207 208 // Indicates whether the user is allowed to scroll away from the custom content. 209 public boolean isScrollingAllowed() { 210 return true; 211 } 212 213 }; 214 215 @Override hasCustomContentToLeft()216 public boolean hasCustomContentToLeft() { 217 return true; 218 } 219 220 @Override populateCustomContentContainer()221 public void populateCustomContentContainer() { 222 FrameLayout customContent = new FrameLayout(LauncherExtension.this); 223 customContent.setBackgroundColor(Color.GRAY); 224 addToCustomContentPage(customContent, mCustomContentCallbacks, ""); 225 } 226 227 @Override getQsbBar()228 public View getQsbBar() { 229 return null; 230 } 231 232 @Override getAdditionalSearchWidgetOptions()233 public Bundle getAdditionalSearchWidgetOptions() { 234 return new Bundle(); 235 } 236 237 @Override getFirstRunActivity()238 public Intent getFirstRunActivity() { 239 return null; 240 } 241 242 @Override hasFirstRunActivity()243 public boolean hasFirstRunActivity() { 244 return false; 245 } 246 247 @Override hasDismissableIntroScreen()248 public boolean hasDismissableIntroScreen() { 249 return false; 250 } 251 252 @Override getIntroScreen()253 public View getIntroScreen() { 254 return null; 255 } 256 257 @Override shouldMoveToDefaultScreenOnHomeIntent()258 public boolean shouldMoveToDefaultScreenOnHomeIntent() { 259 return true; 260 } 261 262 @Override hasSettings()263 public boolean hasSettings() { 264 return false; 265 } 266 267 @Override overrideWallpaperDimensions()268 public boolean overrideWallpaperDimensions() { 269 return false; 270 } 271 272 @Override getAllAppsSearchBarController()273 public AllAppsSearchBarController getAllAppsSearchBarController() { 274 return null; 275 } 276 277 @Override getPredictedApps()278 public List<ComponentKey> getPredictedApps() { 279 return new ArrayList<>(); 280 } 281 282 @Override getSearchBarHeight()283 public int getSearchBarHeight() { 284 return SEARCH_BAR_HEIGHT_NORMAL; 285 } 286 287 @Override isLauncherPreinstalled()288 public boolean isLauncherPreinstalled() { 289 return false; 290 } 291 292 @Override setLauncherSearchCallback(Object callbacks)293 public void setLauncherSearchCallback(Object callbacks) { 294 // Do nothing 295 } 296 297 @Override onAttachedToWindow()298 public void onAttachedToWindow() { 299 } 300 301 @Override onDetachedFromWindow()302 public void onDetachedFromWindow() { 303 }; 304 } 305 } 306