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