LauncherExtension.java revision 534058492ff7d9a8a75b0fe709bddb6c3f6dcd79
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.allapps.AllAppsSearchBarController;
15import com.android.launcher3.logging.UserEventLogger;
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 bindAllApplications(ArrayList<AppInfo> apps) {
127        }
128
129        @Override
130        public void onClickSettingsButton(View v) {
131        }
132
133        @Override
134        public void onWorkspaceLockedChanged() {
135        }
136
137        @Override
138        public void onInteractionBegin() {
139        }
140
141        @Override
142        public void onInteractionEnd() {
143        }
144
145        @Override
146        public boolean providesSearch() {
147            return false;
148        }
149
150        @Override
151        public boolean startSearch(String initialQuery, boolean selectInitialQuery,
152                Bundle appSearchData, Rect sourceBounds) {
153            return false;
154        }
155
156        CustomContentCallbacks mCustomContentCallbacks = new CustomContentCallbacks() {
157
158            // Custom content is completely shown. {@code fromResume} indicates whether this was caused
159            // by a onResume or by scrolling otherwise.
160            public void onShow(boolean fromResume) {
161            }
162
163            // Custom content is completely hidden
164            public void onHide() {
165            }
166
167            // Custom content scroll progress changed. From 0 (not showing) to 1 (fully showing).
168            public void onScrollProgressChanged(float progress) {
169
170            }
171
172            // Indicates whether the user is allowed to scroll away from the custom content.
173            public boolean isScrollingAllowed() {
174                return true;
175            }
176
177        };
178
179        @Override
180        public boolean hasCustomContentToLeft() {
181            return true;
182        }
183
184        @Override
185        public void populateCustomContentContainer() {
186            FrameLayout customContent = new FrameLayout(LauncherExtension.this);
187            customContent.setBackgroundColor(Color.GRAY);
188            addToCustomContentPage(customContent, mCustomContentCallbacks, "");
189        }
190
191        @Override
192        public UserEventLogger getLogger() { return null; }
193
194        @Override
195        public View getQsbBar() {
196            return null;
197        }
198
199        @Override
200        public Bundle getAdditionalSearchWidgetOptions() {
201            return new Bundle();
202        }
203
204        @Override
205        public Intent getFirstRunActivity() {
206            return null;
207        }
208
209        @Override
210        public boolean hasFirstRunActivity() {
211            return false;
212        }
213
214        @Override
215        public boolean hasDismissableIntroScreen() {
216            return false;
217        }
218
219        @Override
220        public View getIntroScreen() {
221            return null;
222        }
223
224        @Override
225        public boolean shouldMoveToDefaultScreenOnHomeIntent() {
226            return true;
227        }
228
229        @Override
230        public boolean hasSettings() {
231            return false;
232        }
233
234        @Override
235        public AllAppsSearchBarController getAllAppsSearchBarController() {
236            return null;
237        }
238
239        @Override
240        public List<ComponentKey> getPredictedApps() {
241            // To debug app predictions, enable AlphabeticalAppsList#DEBUG_PREDICTIONS
242            return new ArrayList<>();
243        }
244
245        @Override
246        public int getSearchBarHeight() {
247            return SEARCH_BAR_HEIGHT_NORMAL;
248        }
249
250        @Override
251        public void setLauncherSearchCallback(Object callbacks) {
252            // Do nothing
253        }
254
255        @Override
256        public void onAttachedToWindow() {
257        }
258
259        @Override
260        public void onDetachedFromWindow() {
261        }
262    }
263}
264