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