blob: 1867a6d879c72fe47ada1064f5c777d924ac7980 [file] [log] [blame]
Justin Klaassen10d07c82017-09-15 17:58:39 -04001/*
2 * Copyright (C) 2006 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.content;
18
19import android.annotation.SystemApi;
Justin Klaassen4d01eea2018-04-03 23:21:57 -040020import android.annotation.TestApi;
Justin Klaassen10d07c82017-09-15 17:58:39 -040021import android.app.IApplicationThread;
22import android.app.IServiceConnection;
23import android.content.pm.ApplicationInfo;
24import android.content.pm.PackageManager;
25import android.content.res.AssetManager;
26import android.content.res.Configuration;
27import android.content.res.Resources;
28import android.database.DatabaseErrorHandler;
29import android.database.sqlite.SQLiteDatabase;
30import android.database.sqlite.SQLiteDatabase.CursorFactory;
31import android.graphics.Bitmap;
32import android.graphics.drawable.Drawable;
33import android.net.Uri;
34import android.os.Bundle;
35import android.os.Handler;
36import android.os.IBinder;
37import android.os.Looper;
38import android.os.UserHandle;
39import android.view.Display;
40import android.view.DisplayAdjustments;
Justin Klaassen93b7ee42017-10-10 15:20:13 -040041import android.view.autofill.AutofillManager.AutofillClient;
Justin Klaassen10d07c82017-09-15 17:58:39 -040042
43import java.io.File;
44import java.io.FileInputStream;
45import java.io.FileNotFoundException;
46import java.io.FileOutputStream;
47import java.io.IOException;
48import java.io.InputStream;
Justin Klaassen98fe7812018-01-03 13:39:41 -050049import java.util.concurrent.Executor;
Justin Klaassen10d07c82017-09-15 17:58:39 -040050
51/**
52 * Proxying implementation of Context that simply delegates all of its calls to
53 * another Context. Can be subclassed to modify behavior without changing
54 * the original Context.
55 */
56public class ContextWrapper extends Context {
57 Context mBase;
58
59 public ContextWrapper(Context base) {
60 mBase = base;
61 }
62
63 /**
64 * Set the base context for this ContextWrapper. All calls will then be
65 * delegated to the base context. Throws
66 * IllegalStateException if a base context has already been set.
67 *
68 * @param base The new base context for this wrapper.
69 */
70 protected void attachBaseContext(Context base) {
71 if (mBase != null) {
72 throw new IllegalStateException("Base context already set");
73 }
74 mBase = base;
75 }
76
77 /**
78 * @return the base context as set by the constructor or setBaseContext
79 */
80 public Context getBaseContext() {
81 return mBase;
82 }
83
84 @Override
85 public AssetManager getAssets() {
86 return mBase.getAssets();
87 }
88
89 @Override
90 public Resources getResources() {
91 return mBase.getResources();
92 }
93
94 @Override
95 public PackageManager getPackageManager() {
96 return mBase.getPackageManager();
97 }
98
99 @Override
100 public ContentResolver getContentResolver() {
101 return mBase.getContentResolver();
102 }
103
104 @Override
105 public Looper getMainLooper() {
106 return mBase.getMainLooper();
107 }
Justin Klaassen98fe7812018-01-03 13:39:41 -0500108
109 @Override
110 public Executor getMainExecutor() {
111 return mBase.getMainExecutor();
112 }
113
Justin Klaassen10d07c82017-09-15 17:58:39 -0400114 @Override
115 public Context getApplicationContext() {
116 return mBase.getApplicationContext();
117 }
118
119 @Override
120 public void setTheme(int resid) {
121 mBase.setTheme(resid);
122 }
123
124 /** @hide */
125 @Override
126 public int getThemeResId() {
127 return mBase.getThemeResId();
128 }
129
130 @Override
131 public Resources.Theme getTheme() {
132 return mBase.getTheme();
133 }
134
135 @Override
136 public ClassLoader getClassLoader() {
137 return mBase.getClassLoader();
138 }
139
140 @Override
141 public String getPackageName() {
142 return mBase.getPackageName();
143 }
144
145 /** @hide */
146 @Override
147 public String getBasePackageName() {
148 return mBase.getBasePackageName();
149 }
150
151 /** @hide */
152 @Override
153 public String getOpPackageName() {
154 return mBase.getOpPackageName();
155 }
156
157 @Override
158 public ApplicationInfo getApplicationInfo() {
159 return mBase.getApplicationInfo();
160 }
161
162 @Override
163 public String getPackageResourcePath() {
164 return mBase.getPackageResourcePath();
165 }
166
167 @Override
168 public String getPackageCodePath() {
169 return mBase.getPackageCodePath();
170 }
171
172 @Override
173 public SharedPreferences getSharedPreferences(String name, int mode) {
174 return mBase.getSharedPreferences(name, mode);
175 }
176
177 /** @removed */
178 @Override
179 public SharedPreferences getSharedPreferences(File file, int mode) {
180 return mBase.getSharedPreferences(file, mode);
181 }
182
183 /** @hide */
184 @Override
185 public void reloadSharedPreferences() {
186 mBase.reloadSharedPreferences();
187 }
188
189 @Override
190 public boolean moveSharedPreferencesFrom(Context sourceContext, String name) {
191 return mBase.moveSharedPreferencesFrom(sourceContext, name);
192 }
193
194 @Override
195 public boolean deleteSharedPreferences(String name) {
196 return mBase.deleteSharedPreferences(name);
197 }
198
199 @Override
200 public FileInputStream openFileInput(String name)
201 throws FileNotFoundException {
202 return mBase.openFileInput(name);
203 }
204
205 @Override
206 public FileOutputStream openFileOutput(String name, int mode)
207 throws FileNotFoundException {
208 return mBase.openFileOutput(name, mode);
209 }
210
211 @Override
212 public boolean deleteFile(String name) {
213 return mBase.deleteFile(name);
214 }
215
216 @Override
217 public File getFileStreamPath(String name) {
218 return mBase.getFileStreamPath(name);
219 }
220
221 /** @removed */
222 @Override
223 public File getSharedPreferencesPath(String name) {
224 return mBase.getSharedPreferencesPath(name);
225 }
226
227 @Override
228 public String[] fileList() {
229 return mBase.fileList();
230 }
231
232 @Override
233 public File getDataDir() {
234 return mBase.getDataDir();
235 }
236
237 @Override
238 public File getFilesDir() {
239 return mBase.getFilesDir();
240 }
241
242 @Override
243 public File getNoBackupFilesDir() {
244 return mBase.getNoBackupFilesDir();
245 }
246
247 @Override
248 public File getExternalFilesDir(String type) {
249 return mBase.getExternalFilesDir(type);
250 }
251
252 @Override
253 public File[] getExternalFilesDirs(String type) {
254 return mBase.getExternalFilesDirs(type);
255 }
256
257 @Override
258 public File getObbDir() {
259 return mBase.getObbDir();
260 }
261
262 @Override
263 public File[] getObbDirs() {
264 return mBase.getObbDirs();
265 }
266
267 @Override
268 public File getCacheDir() {
269 return mBase.getCacheDir();
270 }
271
272 @Override
273 public File getCodeCacheDir() {
274 return mBase.getCodeCacheDir();
275 }
276
277 @Override
278 public File getExternalCacheDir() {
279 return mBase.getExternalCacheDir();
280 }
281
282 @Override
283 public File[] getExternalCacheDirs() {
284 return mBase.getExternalCacheDirs();
285 }
286
287 @Override
288 public File[] getExternalMediaDirs() {
289 return mBase.getExternalMediaDirs();
290 }
291
292 @Override
293 public File getDir(String name, int mode) {
294 return mBase.getDir(name, mode);
295 }
296
297
298 /** @hide **/
299 @Override
300 public File getPreloadsFileCache() {
301 return mBase.getPreloadsFileCache();
302 }
303
304 @Override
305 public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory) {
306 return mBase.openOrCreateDatabase(name, mode, factory);
307 }
308
309 @Override
310 public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory,
311 DatabaseErrorHandler errorHandler) {
312 return mBase.openOrCreateDatabase(name, mode, factory, errorHandler);
313 }
314
315 @Override
316 public boolean moveDatabaseFrom(Context sourceContext, String name) {
317 return mBase.moveDatabaseFrom(sourceContext, name);
318 }
319
320 @Override
321 public boolean deleteDatabase(String name) {
322 return mBase.deleteDatabase(name);
323 }
324
325 @Override
326 public File getDatabasePath(String name) {
327 return mBase.getDatabasePath(name);
328 }
329
330 @Override
331 public String[] databaseList() {
332 return mBase.databaseList();
333 }
334
335 @Override
336 @Deprecated
337 public Drawable getWallpaper() {
338 return mBase.getWallpaper();
339 }
340
341 @Override
342 @Deprecated
343 public Drawable peekWallpaper() {
344 return mBase.peekWallpaper();
345 }
346
347 @Override
348 @Deprecated
349 public int getWallpaperDesiredMinimumWidth() {
350 return mBase.getWallpaperDesiredMinimumWidth();
351 }
352
353 @Override
354 @Deprecated
355 public int getWallpaperDesiredMinimumHeight() {
356 return mBase.getWallpaperDesiredMinimumHeight();
357 }
358
359 @Override
360 @Deprecated
361 public void setWallpaper(Bitmap bitmap) throws IOException {
362 mBase.setWallpaper(bitmap);
363 }
364
365 @Override
366 @Deprecated
367 public void setWallpaper(InputStream data) throws IOException {
368 mBase.setWallpaper(data);
369 }
370
371 @Override
372 @Deprecated
373 public void clearWallpaper() throws IOException {
374 mBase.clearWallpaper();
375 }
376
377 @Override
378 public void startActivity(Intent intent) {
379 mBase.startActivity(intent);
380 }
381
382 /** @hide */
383 @Override
384 public void startActivityAsUser(Intent intent, UserHandle user) {
385 mBase.startActivityAsUser(intent, user);
386 }
387
388 /** @hide **/
389 public void startActivityForResult(
390 String who, Intent intent, int requestCode, Bundle options) {
391 mBase.startActivityForResult(who, intent, requestCode, options);
392 }
393
394 /** @hide **/
395 public boolean canStartActivityForResult() {
396 return mBase.canStartActivityForResult();
397 }
398
399 @Override
400 public void startActivity(Intent intent, Bundle options) {
401 mBase.startActivity(intent, options);
402 }
403
404 /** @hide */
405 @Override
406 public void startActivityAsUser(Intent intent, Bundle options, UserHandle user) {
407 mBase.startActivityAsUser(intent, options, user);
408 }
409
410 @Override
411 public void startActivities(Intent[] intents) {
412 mBase.startActivities(intents);
413 }
414
415 @Override
416 public void startActivities(Intent[] intents, Bundle options) {
417 mBase.startActivities(intents, options);
418 }
419
420 /** @hide */
421 @Override
Justin Klaassen4d01eea2018-04-03 23:21:57 -0400422 public int startActivitiesAsUser(Intent[] intents, Bundle options, UserHandle userHandle) {
423 return mBase.startActivitiesAsUser(intents, options, userHandle);
Justin Klaassen10d07c82017-09-15 17:58:39 -0400424 }
425
426 @Override
427 public void startIntentSender(IntentSender intent,
428 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
429 throws IntentSender.SendIntentException {
430 mBase.startIntentSender(intent, fillInIntent, flagsMask,
431 flagsValues, extraFlags);
432 }
433
434 @Override
435 public void startIntentSender(IntentSender intent,
436 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags,
437 Bundle options) throws IntentSender.SendIntentException {
438 mBase.startIntentSender(intent, fillInIntent, flagsMask,
439 flagsValues, extraFlags, options);
440 }
441
442 @Override
443 public void sendBroadcast(Intent intent) {
444 mBase.sendBroadcast(intent);
445 }
446
447 @Override
448 public void sendBroadcast(Intent intent, String receiverPermission) {
449 mBase.sendBroadcast(intent, receiverPermission);
450 }
451
452 /** @hide */
453 @Override
454 public void sendBroadcastMultiplePermissions(Intent intent, String[] receiverPermissions) {
455 mBase.sendBroadcastMultiplePermissions(intent, receiverPermissions);
456 }
457
458 /** @hide */
459 @SystemApi
460 @Override
461 public void sendBroadcast(Intent intent, String receiverPermission, Bundle options) {
462 mBase.sendBroadcast(intent, receiverPermission, options);
463 }
464
465 /** @hide */
466 @Override
467 public void sendBroadcast(Intent intent, String receiverPermission, int appOp) {
468 mBase.sendBroadcast(intent, receiverPermission, appOp);
469 }
470
471 @Override
472 public void sendOrderedBroadcast(Intent intent,
473 String receiverPermission) {
474 mBase.sendOrderedBroadcast(intent, receiverPermission);
475 }
476
477 @Override
478 public void sendOrderedBroadcast(
479 Intent intent, String receiverPermission, BroadcastReceiver resultReceiver,
480 Handler scheduler, int initialCode, String initialData,
481 Bundle initialExtras) {
482 mBase.sendOrderedBroadcast(intent, receiverPermission,
483 resultReceiver, scheduler, initialCode,
484 initialData, initialExtras);
485 }
486
487 /** @hide */
488 @SystemApi
489 @Override
490 public void sendOrderedBroadcast(
491 Intent intent, String receiverPermission, Bundle options, BroadcastReceiver resultReceiver,
492 Handler scheduler, int initialCode, String initialData,
493 Bundle initialExtras) {
494 mBase.sendOrderedBroadcast(intent, receiverPermission,
495 options, resultReceiver, scheduler, initialCode,
496 initialData, initialExtras);
497 }
498
499 /** @hide */
500 @Override
501 public void sendOrderedBroadcast(
502 Intent intent, String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
503 Handler scheduler, int initialCode, String initialData,
504 Bundle initialExtras) {
505 mBase.sendOrderedBroadcast(intent, receiverPermission, appOp,
506 resultReceiver, scheduler, initialCode,
507 initialData, initialExtras);
508 }
509
510 @Override
511 public void sendBroadcastAsUser(Intent intent, UserHandle user) {
512 mBase.sendBroadcastAsUser(intent, user);
513 }
514
515 @Override
516 public void sendBroadcastAsUser(Intent intent, UserHandle user,
517 String receiverPermission) {
518 mBase.sendBroadcastAsUser(intent, user, receiverPermission);
519 }
520
521 /** @hide */
522 @Override
523 public void sendBroadcastAsUser(Intent intent, UserHandle user,
524 String receiverPermission, Bundle options) {
525 mBase.sendBroadcastAsUser(intent, user, receiverPermission, options);
526 }
527
528 /** @hide */
529 @Override
530 public void sendBroadcastAsUser(Intent intent, UserHandle user,
531 String receiverPermission, int appOp) {
532 mBase.sendBroadcastAsUser(intent, user, receiverPermission, appOp);
533 }
534
535 @Override
536 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
537 String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler,
538 int initialCode, String initialData, Bundle initialExtras) {
539 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, resultReceiver,
540 scheduler, initialCode, initialData, initialExtras);
541 }
542
543 /** @hide */
544 @Override
545 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
546 String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
547 Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
548 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, resultReceiver,
549 scheduler, initialCode, initialData, initialExtras);
550 }
551
552 /** @hide */
553 @Override
554 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
555 String receiverPermission, int appOp, Bundle options, BroadcastReceiver resultReceiver,
556 Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
557 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, options,
558 resultReceiver, scheduler, initialCode, initialData, initialExtras);
559 }
560
561 @Override
562 @Deprecated
563 public void sendStickyBroadcast(Intent intent) {
564 mBase.sendStickyBroadcast(intent);
565 }
566
567 @Override
568 @Deprecated
569 public void sendStickyOrderedBroadcast(
570 Intent intent, BroadcastReceiver resultReceiver,
571 Handler scheduler, int initialCode, String initialData,
572 Bundle initialExtras) {
573 mBase.sendStickyOrderedBroadcast(intent,
574 resultReceiver, scheduler, initialCode,
575 initialData, initialExtras);
576 }
577
578 @Override
579 @Deprecated
580 public void removeStickyBroadcast(Intent intent) {
581 mBase.removeStickyBroadcast(intent);
582 }
583
584 @Override
585 @Deprecated
586 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user) {
587 mBase.sendStickyBroadcastAsUser(intent, user);
588 }
589
590 /** @hide */
591 @Override
592 @Deprecated
593 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user, Bundle options) {
594 mBase.sendStickyBroadcastAsUser(intent, user, options);
595 }
596
597 @Override
598 @Deprecated
599 public void sendStickyOrderedBroadcastAsUser(Intent intent,
600 UserHandle user, BroadcastReceiver resultReceiver,
601 Handler scheduler, int initialCode, String initialData,
602 Bundle initialExtras) {
603 mBase.sendStickyOrderedBroadcastAsUser(intent, user, resultReceiver,
604 scheduler, initialCode, initialData, initialExtras);
605 }
606
607 @Override
608 @Deprecated
609 public void removeStickyBroadcastAsUser(Intent intent, UserHandle user) {
610 mBase.removeStickyBroadcastAsUser(intent, user);
611 }
612
613 @Override
614 public Intent registerReceiver(
615 BroadcastReceiver receiver, IntentFilter filter) {
616 return mBase.registerReceiver(receiver, filter);
617 }
618
619 @Override
620 public Intent registerReceiver(
621 BroadcastReceiver receiver, IntentFilter filter, int flags) {
622 return mBase.registerReceiver(receiver, filter, flags);
623 }
624
625 @Override
626 public Intent registerReceiver(
627 BroadcastReceiver receiver, IntentFilter filter,
628 String broadcastPermission, Handler scheduler) {
629 return mBase.registerReceiver(receiver, filter, broadcastPermission,
630 scheduler);
631 }
632
633 @Override
634 public Intent registerReceiver(
635 BroadcastReceiver receiver, IntentFilter filter,
636 String broadcastPermission, Handler scheduler, int flags) {
637 return mBase.registerReceiver(receiver, filter, broadcastPermission,
638 scheduler, flags);
639 }
640
641 /** @hide */
642 @Override
643 public Intent registerReceiverAsUser(
644 BroadcastReceiver receiver, UserHandle user, IntentFilter filter,
645 String broadcastPermission, Handler scheduler) {
646 return mBase.registerReceiverAsUser(receiver, user, filter, broadcastPermission,
647 scheduler);
648 }
649
650 @Override
651 public void unregisterReceiver(BroadcastReceiver receiver) {
652 mBase.unregisterReceiver(receiver);
653 }
654
655 @Override
656 public ComponentName startService(Intent service) {
657 return mBase.startService(service);
658 }
659
660 @Override
661 public ComponentName startForegroundService(Intent service) {
662 return mBase.startForegroundService(service);
663 }
664
665 @Override
666 public boolean stopService(Intent name) {
667 return mBase.stopService(name);
668 }
669
670 /** @hide */
671 @Override
672 public ComponentName startServiceAsUser(Intent service, UserHandle user) {
673 return mBase.startServiceAsUser(service, user);
674 }
675
676 /** @hide */
677 @Override
678 public ComponentName startForegroundServiceAsUser(Intent service, UserHandle user) {
679 return mBase.startForegroundServiceAsUser(service, user);
680 }
681
682 /** @hide */
683 @Override
684 public boolean stopServiceAsUser(Intent name, UserHandle user) {
685 return mBase.stopServiceAsUser(name, user);
686 }
687
688 @Override
689 public boolean bindService(Intent service, ServiceConnection conn,
690 int flags) {
691 return mBase.bindService(service, conn, flags);
692 }
693
694 /** @hide */
695 @Override
696 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
697 UserHandle user) {
698 return mBase.bindServiceAsUser(service, conn, flags, user);
699 }
700
701 /** @hide */
702 @Override
703 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
704 Handler handler, UserHandle user) {
705 return mBase.bindServiceAsUser(service, conn, flags, handler, user);
706 }
707
708 @Override
709 public void unbindService(ServiceConnection conn) {
710 mBase.unbindService(conn);
711 }
712
713 @Override
714 public boolean startInstrumentation(ComponentName className,
715 String profileFile, Bundle arguments) {
716 return mBase.startInstrumentation(className, profileFile, arguments);
717 }
718
719 @Override
720 public Object getSystemService(String name) {
721 return mBase.getSystemService(name);
722 }
723
724 @Override
725 public String getSystemServiceName(Class<?> serviceClass) {
726 return mBase.getSystemServiceName(serviceClass);
727 }
728
729 @Override
730 public int checkPermission(String permission, int pid, int uid) {
731 return mBase.checkPermission(permission, pid, uid);
732 }
733
734 /** @hide */
735 @Override
736 public int checkPermission(String permission, int pid, int uid, IBinder callerToken) {
737 return mBase.checkPermission(permission, pid, uid, callerToken);
738 }
739
740 @Override
741 public int checkCallingPermission(String permission) {
742 return mBase.checkCallingPermission(permission);
743 }
744
745 @Override
746 public int checkCallingOrSelfPermission(String permission) {
747 return mBase.checkCallingOrSelfPermission(permission);
748 }
749
750 @Override
751 public int checkSelfPermission(String permission) {
752 return mBase.checkSelfPermission(permission);
753 }
754
755 @Override
756 public void enforcePermission(
757 String permission, int pid, int uid, String message) {
758 mBase.enforcePermission(permission, pid, uid, message);
759 }
760
761 @Override
762 public void enforceCallingPermission(String permission, String message) {
763 mBase.enforceCallingPermission(permission, message);
764 }
765
766 @Override
767 public void enforceCallingOrSelfPermission(
768 String permission, String message) {
769 mBase.enforceCallingOrSelfPermission(permission, message);
770 }
771
772 @Override
773 public void grantUriPermission(String toPackage, Uri uri, int modeFlags) {
774 mBase.grantUriPermission(toPackage, uri, modeFlags);
775 }
776
777 @Override
778 public void revokeUriPermission(Uri uri, int modeFlags) {
779 mBase.revokeUriPermission(uri, modeFlags);
780 }
781
782 @Override
783 public void revokeUriPermission(String targetPackage, Uri uri, int modeFlags) {
784 mBase.revokeUriPermission(targetPackage, uri, modeFlags);
785 }
786
787 @Override
788 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags) {
789 return mBase.checkUriPermission(uri, pid, uid, modeFlags);
790 }
791
792 /** @hide */
793 @Override
794 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags, IBinder callerToken) {
795 return mBase.checkUriPermission(uri, pid, uid, modeFlags, callerToken);
796 }
797
798 @Override
799 public int checkCallingUriPermission(Uri uri, int modeFlags) {
800 return mBase.checkCallingUriPermission(uri, modeFlags);
801 }
802
803 @Override
804 public int checkCallingOrSelfUriPermission(Uri uri, int modeFlags) {
805 return mBase.checkCallingOrSelfUriPermission(uri, modeFlags);
806 }
807
808 @Override
809 public int checkUriPermission(Uri uri, String readPermission,
810 String writePermission, int pid, int uid, int modeFlags) {
811 return mBase.checkUriPermission(uri, readPermission, writePermission,
812 pid, uid, modeFlags);
813 }
814
815 @Override
816 public void enforceUriPermission(
817 Uri uri, int pid, int uid, int modeFlags, String message) {
818 mBase.enforceUriPermission(uri, pid, uid, modeFlags, message);
819 }
820
821 @Override
822 public void enforceCallingUriPermission(
823 Uri uri, int modeFlags, String message) {
824 mBase.enforceCallingUriPermission(uri, modeFlags, message);
825 }
826
827 @Override
828 public void enforceCallingOrSelfUriPermission(
829 Uri uri, int modeFlags, String message) {
830 mBase.enforceCallingOrSelfUriPermission(uri, modeFlags, message);
831 }
832
833 @Override
834 public void enforceUriPermission(
835 Uri uri, String readPermission, String writePermission,
836 int pid, int uid, int modeFlags, String message) {
837 mBase.enforceUriPermission(
838 uri, readPermission, writePermission, pid, uid, modeFlags,
839 message);
840 }
841
842 @Override
843 public Context createPackageContext(String packageName, int flags)
844 throws PackageManager.NameNotFoundException {
845 return mBase.createPackageContext(packageName, flags);
846 }
847
848 /** @hide */
849 @Override
850 public Context createPackageContextAsUser(String packageName, int flags, UserHandle user)
851 throws PackageManager.NameNotFoundException {
852 return mBase.createPackageContextAsUser(packageName, flags, user);
853 }
854
855 /** @hide */
856 @Override
857 public Context createApplicationContext(ApplicationInfo application,
858 int flags) throws PackageManager.NameNotFoundException {
859 return mBase.createApplicationContext(application, flags);
860 }
861
862 /** @hide */
863 @Override
864 public Context createContextForSplit(String splitName)
865 throws PackageManager.NameNotFoundException {
866 return mBase.createContextForSplit(splitName);
867 }
868
869 /** @hide */
870 @Override
871 public int getUserId() {
872 return mBase.getUserId();
873 }
874
875 @Override
876 public Context createConfigurationContext(Configuration overrideConfiguration) {
877 return mBase.createConfigurationContext(overrideConfiguration);
878 }
879
880 @Override
881 public Context createDisplayContext(Display display) {
882 return mBase.createDisplayContext(display);
883 }
884
885 @Override
886 public boolean isRestricted() {
887 return mBase.isRestricted();
888 }
889
890 /** @hide */
891 @Override
892 public DisplayAdjustments getDisplayAdjustments(int displayId) {
893 return mBase.getDisplayAdjustments(displayId);
894 }
895
896 /**
897 * @hide
898 */
899 @Override
900 public Display getDisplay() {
901 return mBase.getDisplay();
902 }
903
904 /**
905 * @hide
906 */
907 @Override
908 public void updateDisplay(int displayId) {
909 mBase.updateDisplay(displayId);
910 }
911
912 @Override
913 public Context createDeviceProtectedStorageContext() {
914 return mBase.createDeviceProtectedStorageContext();
915 }
916
917 /** {@hide} */
918 @SystemApi
919 @Override
920 public Context createCredentialProtectedStorageContext() {
921 return mBase.createCredentialProtectedStorageContext();
922 }
923
924 @Override
925 public boolean isDeviceProtectedStorage() {
926 return mBase.isDeviceProtectedStorage();
927 }
928
929 /** {@hide} */
930 @SystemApi
931 @Override
932 public boolean isCredentialProtectedStorage() {
933 return mBase.isCredentialProtectedStorage();
934 }
935
936 /** {@hide} */
937 @Override
938 public boolean canLoadUnsafeResources() {
939 return mBase.canLoadUnsafeResources();
940 }
941
942 /**
943 * @hide
944 */
945 @Override
946 public IBinder getActivityToken() {
947 return mBase.getActivityToken();
948 }
949
950 /**
951 * @hide
952 */
953 @Override
954 public IServiceConnection getServiceDispatcher(ServiceConnection conn, Handler handler,
955 int flags) {
956 return mBase.getServiceDispatcher(conn, handler, flags);
957 }
958
959 /**
960 * @hide
961 */
962 @Override
963 public IApplicationThread getIApplicationThread() {
964 return mBase.getIApplicationThread();
965 }
966
967 /**
968 * @hide
969 */
970 @Override
971 public Handler getMainThreadHandler() {
972 return mBase.getMainThreadHandler();
973 }
974
975 /**
976 * @hide
977 */
Justin Klaassen93b7ee42017-10-10 15:20:13 -0400978 @Override
Justin Klaassen10d07c82017-09-15 17:58:39 -0400979 public int getNextAutofillId() {
980 return mBase.getNextAutofillId();
981 }
Justin Klaassen93b7ee42017-10-10 15:20:13 -0400982
983 /**
984 * @hide
985 */
986 @Override
987 public AutofillClient getAutofillClient() {
988 return mBase.getAutofillClient();
989 }
990
991 /**
992 * @hide
993 */
994 @Override
995 public void setAutofillClient(AutofillClient client) {
996 mBase.setAutofillClient(client);
997 }
Justin Klaassen4d01eea2018-04-03 23:21:57 -0400998
999 /**
1000 * @hide
1001 */
1002 @Override
1003 public boolean isAutofillCompatibilityEnabled() {
1004 return mBase != null && mBase.isAutofillCompatibilityEnabled();
1005 }
1006
1007 /**
1008 * @hide
1009 */
1010 @TestApi
1011 @Override
1012 public void setAutofillCompatibilityEnabled(boolean autofillCompatEnabled) {
1013 if (mBase != null) {
1014 mBase.setAutofillCompatibilityEnabled(autofillCompatEnabled);
1015 }
1016 }
Justin Klaassen10d07c82017-09-15 17:58:39 -04001017}