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