MockContext.java revision fd854ee58c5d56f84047007ead9f88a767ae956f
1/*
2 * Copyright (C) 2007 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.test.mock;
18
19import android.annotation.SystemApi;
20import android.content.ComponentName;
21import android.content.ContentResolver;
22import android.content.Context;
23import android.content.Intent;
24import android.content.IntentFilter;
25import android.content.BroadcastReceiver;
26import android.content.IntentSender;
27import android.content.ServiceConnection;
28import android.content.SharedPreferences;
29import android.content.pm.ApplicationInfo;
30import android.content.pm.PackageManager;
31import android.content.res.AssetManager;
32import android.content.res.Configuration;
33import android.content.res.Resources;
34import android.database.DatabaseErrorHandler;
35import android.database.sqlite.SQLiteDatabase;
36import android.graphics.Bitmap;
37import android.graphics.drawable.Drawable;
38import android.net.Uri;
39import android.os.Bundle;
40import android.os.Handler;
41import android.os.IBinder;
42import android.os.Looper;
43import android.os.UserHandle;
44import android.view.DisplayAdjustments;
45import android.view.Display;
46
47import java.io.File;
48import java.io.FileInputStream;
49import java.io.FileNotFoundException;
50import java.io.FileOutputStream;
51import java.io.IOException;
52import java.io.InputStream;
53
54/**
55 * A mock {@link android.content.Context} class.  All methods are non-functional and throw
56 * {@link java.lang.UnsupportedOperationException}.  You can use this to inject other dependencies,
57 * mocks, or monitors into the classes you are testing.
58 */
59public class MockContext extends Context {
60
61    @Override
62    public AssetManager getAssets() {
63        throw new UnsupportedOperationException();
64    }
65
66    @Override
67    public Resources getResources() {
68        throw new UnsupportedOperationException();
69    }
70
71    @Override
72    public PackageManager getPackageManager() {
73        throw new UnsupportedOperationException();
74    }
75
76    @Override
77    public ContentResolver getContentResolver() {
78        throw new UnsupportedOperationException();
79    }
80
81    @Override
82    public Looper getMainLooper() {
83        throw new UnsupportedOperationException();
84    }
85
86    @Override
87    public Context getApplicationContext() {
88        throw new UnsupportedOperationException();
89    }
90
91    @Override
92    public void setTheme(int resid) {
93        throw new UnsupportedOperationException();
94    }
95
96    @Override
97    public Resources.Theme getTheme() {
98        throw new UnsupportedOperationException();
99    }
100
101    @Override
102    public ClassLoader getClassLoader() {
103        throw new UnsupportedOperationException();
104    }
105
106    @Override
107    public String getPackageName() {
108        throw new UnsupportedOperationException();
109    }
110
111    /** @hide */
112    @Override
113    public String getBasePackageName() {
114        throw new UnsupportedOperationException();
115    }
116
117    /** @hide */
118    @Override
119    public String getOpPackageName() {
120        throw new UnsupportedOperationException();
121    }
122
123    @Override
124    public ApplicationInfo getApplicationInfo() {
125        throw new UnsupportedOperationException();
126    }
127
128    @Override
129    public String getPackageResourcePath() {
130        throw new UnsupportedOperationException();
131    }
132
133    /** @hide */
134    @Override
135    public File getSharedPrefsFile(String name) {
136        throw new UnsupportedOperationException();
137    }
138
139    @Override
140    public String getPackageCodePath() {
141        throw new UnsupportedOperationException();
142    }
143
144    @Override
145    public SharedPreferences getSharedPreferences(String name, int mode) {
146        throw new UnsupportedOperationException();
147    }
148
149    @Override
150    public FileInputStream openFileInput(String name) throws FileNotFoundException {
151        throw new UnsupportedOperationException();
152    }
153
154    @Override
155    public FileOutputStream openFileOutput(String name, int mode) throws FileNotFoundException {
156        throw new UnsupportedOperationException();
157    }
158
159    @Override
160    public boolean deleteFile(String name) {
161        throw new UnsupportedOperationException();
162    }
163
164    @Override
165    public File getFileStreamPath(String name) {
166        throw new UnsupportedOperationException();
167    }
168
169    @Override
170    public String[] fileList() {
171        throw new UnsupportedOperationException();
172    }
173
174    @Override
175    public File getFilesDir() {
176        throw new UnsupportedOperationException();
177    }
178
179    @Override
180    public File getNoBackupFilesDir() {
181        throw new UnsupportedOperationException();
182    }
183
184    @Override
185    public File getExternalFilesDir(String type) {
186        throw new UnsupportedOperationException();
187    }
188
189    @Override
190    public File getObbDir() {
191        throw new UnsupportedOperationException();
192    }
193
194    @Override
195    public File getCacheDir() {
196        throw new UnsupportedOperationException();
197    }
198
199    @Override
200    public File getCodeCacheDir() {
201        throw new UnsupportedOperationException();
202    }
203
204    @Override
205    public File getExternalCacheDir() {
206        throw new UnsupportedOperationException();
207    }
208
209    @Override
210    public File getDir(String name, int mode) {
211        throw new UnsupportedOperationException();
212    }
213
214    @Override
215    public SQLiteDatabase openOrCreateDatabase(String file, int mode,
216            SQLiteDatabase.CursorFactory factory) {
217        throw new UnsupportedOperationException();
218    }
219
220    @Override
221    public SQLiteDatabase openOrCreateDatabase(String file, int mode,
222            SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler) {
223        throw new UnsupportedOperationException();
224    }
225
226    @Override
227    public File getDatabasePath(String name) {
228        throw new UnsupportedOperationException();
229    }
230
231    @Override
232    public String[] databaseList() {
233        throw new UnsupportedOperationException();
234    }
235
236    @Override
237    public boolean deleteDatabase(String name) {
238        throw new UnsupportedOperationException();
239    }
240
241    @Override
242    public Drawable getWallpaper() {
243        throw new UnsupportedOperationException();
244    }
245
246    @Override
247    public Drawable peekWallpaper() {
248        throw new UnsupportedOperationException();
249    }
250
251    @Override
252    public int getWallpaperDesiredMinimumWidth() {
253        throw new UnsupportedOperationException();
254    }
255
256    @Override
257    public int getWallpaperDesiredMinimumHeight() {
258        throw new UnsupportedOperationException();
259    }
260
261    @Override
262    public void setWallpaper(Bitmap bitmap) throws IOException {
263        throw new UnsupportedOperationException();
264    }
265
266    @Override
267    public void setWallpaper(InputStream data) throws IOException {
268        throw new UnsupportedOperationException();
269    }
270
271    @Override
272    public void clearWallpaper() {
273        throw new UnsupportedOperationException();
274    }
275
276    @Override
277    public void startActivity(Intent intent) {
278        throw new UnsupportedOperationException();
279    }
280
281    @Override
282    public void startActivity(Intent intent, Bundle options) {
283        startActivity(intent);
284    }
285
286    @Override
287    public void startActivities(Intent[] intents) {
288        throw new UnsupportedOperationException();
289    }
290
291    @Override
292    public void startActivities(Intent[] intents, Bundle options) {
293        startActivities(intents);
294    }
295
296    @Override
297    public void startIntentSender(IntentSender intent,
298            Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
299            throws IntentSender.SendIntentException {
300        throw new UnsupportedOperationException();
301    }
302
303    @Override
304    public void startIntentSender(IntentSender intent,
305            Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags,
306            Bundle options) throws IntentSender.SendIntentException {
307        startIntentSender(intent, fillInIntent, flagsMask, flagsValues, extraFlags);
308    }
309
310    @Override
311    public void sendBroadcast(Intent intent) {
312        throw new UnsupportedOperationException();
313    }
314
315    @Override
316    public void sendBroadcast(Intent intent, String receiverPermission) {
317        throw new UnsupportedOperationException();
318    }
319
320    /** @hide */
321    @Override
322    public void sendBroadcastMultiplePermissions(Intent intent, String[] receiverPermissions) {
323        throw new UnsupportedOperationException();
324    }
325
326    /** @hide */
327    @SystemApi
328    @Override
329    public void sendBroadcast(Intent intent, String receiverPermission, Bundle options) {
330        throw new UnsupportedOperationException();
331    }
332
333    /** @hide */
334    @Override
335    public void sendBroadcast(Intent intent, String receiverPermission, int appOp) {
336        throw new UnsupportedOperationException();
337    }
338
339    @Override
340    public void sendOrderedBroadcast(Intent intent,
341            String receiverPermission) {
342        throw new UnsupportedOperationException();
343    }
344
345    @Override
346    public void sendOrderedBroadcast(Intent intent, String receiverPermission,
347            BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData,
348           Bundle initialExtras) {
349        throw new UnsupportedOperationException();
350    }
351
352    /** @hide */
353    @SystemApi
354    @Override
355    public void sendOrderedBroadcast(Intent intent, String receiverPermission,
356            Bundle options, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData,
357            Bundle initialExtras) {
358        throw new UnsupportedOperationException();
359    }
360
361    /** @hide */
362    @Override
363    public void sendOrderedBroadcast(Intent intent, String receiverPermission, int appOp,
364            BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData,
365           Bundle initialExtras) {
366        throw new UnsupportedOperationException();
367    }
368
369    @Override
370    public void sendBroadcastAsUser(Intent intent, UserHandle user) {
371        throw new UnsupportedOperationException();
372    }
373
374    @Override
375    public void sendBroadcastAsUser(Intent intent, UserHandle user,
376            String receiverPermission) {
377        throw new UnsupportedOperationException();
378    }
379
380    /** @hide */
381    @Override
382    public void sendBroadcastAsUser(Intent intent, UserHandle user,
383            String receiverPermission, int appOp) {
384        throw new UnsupportedOperationException();
385    }
386
387    @Override
388    public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
389            String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler,
390            int initialCode, String initialData, Bundle initialExtras) {
391        throw new UnsupportedOperationException();
392    }
393
394    /** @hide */
395    @Override
396    public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
397            String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
398            Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
399        throw new UnsupportedOperationException();
400    }
401
402    /** @hide */
403    @Override
404    public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
405            String receiverPermission, int appOp, Bundle options, BroadcastReceiver resultReceiver,
406            Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
407        throw new UnsupportedOperationException();
408    }
409
410    @Override
411    public void sendStickyBroadcast(Intent intent) {
412        throw new UnsupportedOperationException();
413    }
414
415    @Override
416    public void sendStickyOrderedBroadcast(Intent intent,
417            BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData,
418           Bundle initialExtras) {
419        throw new UnsupportedOperationException();
420    }
421
422    @Override
423    public void removeStickyBroadcast(Intent intent) {
424        throw new UnsupportedOperationException();
425    }
426
427    @Override
428    public void sendStickyBroadcastAsUser(Intent intent, UserHandle user) {
429        throw new UnsupportedOperationException();
430    }
431
432    @Override
433    public void sendStickyOrderedBroadcastAsUser(Intent intent,
434            UserHandle user, BroadcastReceiver resultReceiver,
435            Handler scheduler, int initialCode, String initialData,
436            Bundle initialExtras) {
437        throw new UnsupportedOperationException();
438    }
439
440    @Override
441    public void removeStickyBroadcastAsUser(Intent intent, UserHandle user) {
442        throw new UnsupportedOperationException();
443    }
444
445    @Override
446    public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
447        throw new UnsupportedOperationException();
448    }
449
450    @Override
451    public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
452            String broadcastPermission, Handler scheduler) {
453        throw new UnsupportedOperationException();
454    }
455
456    /** @hide */
457    @Override
458    public Intent registerReceiverAsUser(BroadcastReceiver receiver, UserHandle user,
459            IntentFilter filter, String broadcastPermission, Handler scheduler) {
460        throw new UnsupportedOperationException();
461    }
462
463    @Override
464    public void unregisterReceiver(BroadcastReceiver receiver) {
465        throw new UnsupportedOperationException();
466    }
467
468    @Override
469    public ComponentName startService(Intent service) {
470        throw new UnsupportedOperationException();
471    }
472
473    @Override
474    public boolean stopService(Intent service) {
475        throw new UnsupportedOperationException();
476    }
477
478    /** @hide */
479    @Override
480    public ComponentName startServiceAsUser(Intent service, UserHandle user) {
481        throw new UnsupportedOperationException();
482    }
483
484    /** @hide */
485    @Override
486    public boolean stopServiceAsUser(Intent service, UserHandle user) {
487        throw new UnsupportedOperationException();
488    }
489
490    @Override
491    public boolean bindService(Intent service, ServiceConnection conn, int flags) {
492        throw new UnsupportedOperationException();
493    }
494
495    /** @hide */
496    @Override
497    public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
498            UserHandle user) {
499        throw new UnsupportedOperationException();
500    }
501
502    @Override
503    public void unbindService(ServiceConnection conn) {
504        throw new UnsupportedOperationException();
505    }
506
507    @Override
508    public boolean startInstrumentation(ComponentName className,
509            String profileFile, Bundle arguments) {
510        throw new UnsupportedOperationException();
511    }
512
513    @Override
514    public Object getSystemService(String name) {
515        throw new UnsupportedOperationException();
516    }
517
518    @Override
519    public String getSystemServiceName(Class<?> serviceClass) {
520        throw new UnsupportedOperationException();
521    }
522
523    @Override
524    public int checkPermission(String permission, int pid, int uid) {
525        throw new UnsupportedOperationException();
526    }
527
528    /** @hide */
529    @Override
530    public int checkPermission(String permission, int pid, int uid, IBinder callerToken) {
531        return checkPermission(permission, pid, uid);
532    }
533
534    @Override
535    public int checkCallingPermission(String permission) {
536        throw new UnsupportedOperationException();
537    }
538
539    @Override
540    public int checkCallingOrSelfPermission(String permission) {
541        throw new UnsupportedOperationException();
542    }
543
544    @Override
545    public int checkSelfPermission(String permission) {
546        throw new UnsupportedOperationException();
547    }
548
549    @Override
550    public void enforcePermission(
551            String permission, int pid, int uid, String message) {
552        throw new UnsupportedOperationException();
553    }
554
555    @Override
556    public void enforceCallingPermission(String permission, String message) {
557        throw new UnsupportedOperationException();
558    }
559
560    @Override
561    public void enforceCallingOrSelfPermission(String permission, String message) {
562        throw new UnsupportedOperationException();
563    }
564
565    @Override
566    public void grantUriPermission(String toPackage, Uri uri, int modeFlags) {
567        throw new UnsupportedOperationException();
568    }
569
570    @Override
571    public void revokeUriPermission(Uri uri, int modeFlags) {
572        throw new UnsupportedOperationException();
573    }
574
575    @Override
576    public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags) {
577        throw new UnsupportedOperationException();
578    }
579
580    /** @hide */
581    @Override
582    public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags, IBinder callerToken) {
583        return checkUriPermission(uri, pid, uid, modeFlags);
584    }
585
586    @Override
587    public int checkCallingUriPermission(Uri uri, int modeFlags) {
588        throw new UnsupportedOperationException();
589    }
590
591    @Override
592    public int checkCallingOrSelfUriPermission(Uri uri, int modeFlags) {
593        throw new UnsupportedOperationException();
594    }
595
596    @Override
597    public int checkUriPermission(Uri uri, String readPermission,
598            String writePermission, int pid, int uid, int modeFlags) {
599        throw new UnsupportedOperationException();
600    }
601
602    @Override
603    public void enforceUriPermission(
604            Uri uri, int pid, int uid, int modeFlags, String message) {
605        throw new UnsupportedOperationException();
606    }
607
608    @Override
609    public void enforceCallingUriPermission(
610            Uri uri, int modeFlags, String message) {
611        throw new UnsupportedOperationException();
612    }
613
614    @Override
615    public void enforceCallingOrSelfUriPermission(
616            Uri uri, int modeFlags, String message) {
617        throw new UnsupportedOperationException();
618    }
619
620    public void enforceUriPermission(
621            Uri uri, String readPermission, String writePermission,
622            int pid, int uid, int modeFlags, String message) {
623        throw new UnsupportedOperationException();
624    }
625
626    @Override
627    public Context createPackageContext(String packageName, int flags)
628            throws PackageManager.NameNotFoundException {
629        throw new UnsupportedOperationException();
630    }
631
632    /** {@hide} */
633    @Override
634    public Context createApplicationContext(ApplicationInfo application, int flags)
635            throws PackageManager.NameNotFoundException {
636        return null;
637    }
638
639    /** {@hide} */
640    @Override
641    public Context createPackageContextAsUser(String packageName, int flags, UserHandle user)
642            throws PackageManager.NameNotFoundException {
643        throw new UnsupportedOperationException();
644    }
645
646    /** {@hide} */
647    @Override
648    public int getUserId() {
649        throw new UnsupportedOperationException();
650    }
651
652    @Override
653    public Context createConfigurationContext(Configuration overrideConfiguration) {
654        throw new UnsupportedOperationException();
655    }
656
657    @Override
658    public Context createDisplayContext(Display display) {
659        throw new UnsupportedOperationException();
660    }
661
662    @Override
663    public boolean isRestricted() {
664        throw new UnsupportedOperationException();
665    }
666
667    /** @hide */
668    @Override
669    public DisplayAdjustments getDisplayAdjustments(int displayId) {
670        throw new UnsupportedOperationException();
671    }
672
673    @Override
674    public File[] getExternalFilesDirs(String type) {
675        throw new UnsupportedOperationException();
676    }
677
678    @Override
679    public File[] getObbDirs() {
680        throw new UnsupportedOperationException();
681    }
682
683    @Override
684    public File[] getExternalCacheDirs() {
685        throw new UnsupportedOperationException();
686    }
687
688    @Override
689    public File[] getExternalMediaDirs() {
690        throw new UnsupportedOperationException();
691    }
692}
693