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