blob: adc2ebaf30fac9c1185343b373b9176c943480d1 [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001/*
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
Dianne Hackborna750a632015-06-16 17:18:23 -070019import android.annotation.SystemApi;
Svet Ganov47b37aa2018-02-16 00:11:39 -080020import android.annotation.TestApi;
Mathew Inwood1c77a112018-08-14 14:06:26 +010021import android.annotation.UnsupportedAppUsage;
Tony Mak46aabe52016-11-14 12:53:06 +000022import android.app.IApplicationThread;
23import android.app.IServiceConnection;
Dianne Hackborn5c1e00b2009-06-18 17:10:57 -070024import android.content.pm.ApplicationInfo;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080025import android.content.pm.PackageManager;
26import android.content.res.AssetManager;
Dianne Hackborn756220b2012-08-14 16:45:30 -070027import android.content.res.Configuration;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080028import android.content.res.Resources;
Vasu Nori74f170f2010-06-01 18:06:18 -070029import android.database.DatabaseErrorHandler;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080030import android.database.sqlite.SQLiteDatabase;
31import android.database.sqlite.SQLiteDatabase.CursorFactory;
32import android.graphics.Bitmap;
33import android.graphics.drawable.Drawable;
34import android.net.Uri;
35import android.os.Bundle;
36import android.os.Handler;
Dianne Hackbornff170242014-11-19 10:59:01 -080037import android.os.IBinder;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080038import android.os.Looper;
Dianne Hackborn79af1dd2012-08-16 16:42:52 -070039import android.os.UserHandle;
Jeff Browna492c3a2012-08-23 19:48:44 -070040import android.view.Display;
Jeff Sharkey8a372a02016-03-16 16:25:45 -060041import android.view.DisplayAdjustments;
Felipe Lemebb567ae2017-10-04 09:56:21 -070042import android.view.autofill.AutofillManager.AutofillClient;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080043
44import java.io.File;
45import java.io.FileInputStream;
46import java.io.FileNotFoundException;
47import java.io.FileOutputStream;
48import java.io.IOException;
49import java.io.InputStream;
Jeff Sharkey8439ac02017-12-12 17:26:23 -070050import java.util.concurrent.Executor;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080051
52/**
53 * Proxying implementation of Context that simply delegates all of its calls to
54 * another Context. Can be subclassed to modify behavior without changing
55 * the original Context.
56 */
57public class ContextWrapper extends Context {
Mathew Inwood1c77a112018-08-14 14:06:26 +010058 @UnsupportedAppUsage
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080059 Context mBase;
60
61 public ContextWrapper(Context base) {
62 mBase = base;
63 }
64
65 /**
66 * Set the base context for this ContextWrapper. All calls will then be
67 * delegated to the base context. Throws
68 * IllegalStateException if a base context has already been set.
69 *
70 * @param base The new base context for this wrapper.
71 */
72 protected void attachBaseContext(Context base) {
73 if (mBase != null) {
74 throw new IllegalStateException("Base context already set");
75 }
76 mBase = base;
77 }
78
79 /**
80 * @return the base context as set by the constructor or setBaseContext
81 */
82 public Context getBaseContext() {
83 return mBase;
84 }
85
86 @Override
87 public AssetManager getAssets() {
88 return mBase.getAssets();
89 }
90
91 @Override
Alan Viverette713a5cd2015-12-16 15:46:32 -050092 public Resources getResources() {
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080093 return mBase.getResources();
94 }
95
96 @Override
97 public PackageManager getPackageManager() {
98 return mBase.getPackageManager();
99 }
100
101 @Override
102 public ContentResolver getContentResolver() {
103 return mBase.getContentResolver();
104 }
105
106 @Override
107 public Looper getMainLooper() {
108 return mBase.getMainLooper();
109 }
Jeff Sharkey8439ac02017-12-12 17:26:23 -0700110
111 @Override
112 public Executor getMainExecutor() {
113 return mBase.getMainExecutor();
114 }
115
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800116 @Override
117 public Context getApplicationContext() {
118 return mBase.getApplicationContext();
119 }
120
121 @Override
122 public void setTheme(int resid) {
123 mBase.setTheme(resid);
124 }
125
Dianne Hackborn247fe742011-01-08 17:25:57 -0800126 /** @hide */
127 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100128 @UnsupportedAppUsage
Dianne Hackborn247fe742011-01-08 17:25:57 -0800129 public int getThemeResId() {
130 return mBase.getThemeResId();
131 }
132
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800133 @Override
134 public Resources.Theme getTheme() {
135 return mBase.getTheme();
136 }
137
138 @Override
139 public ClassLoader getClassLoader() {
140 return mBase.getClassLoader();
141 }
142
143 @Override
144 public String getPackageName() {
145 return mBase.getPackageName();
146 }
147
Dianne Hackbornd8e1dbb2013-01-17 17:47:37 -0800148 /** @hide */
149 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100150 @UnsupportedAppUsage
Dianne Hackbornd8e1dbb2013-01-17 17:47:37 -0800151 public String getBasePackageName() {
152 return mBase.getBasePackageName();
153 }
154
Dianne Hackborn95d78532013-09-11 09:51:14 -0700155 /** @hide */
156 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100157 @UnsupportedAppUsage
Dianne Hackborn95d78532013-09-11 09:51:14 -0700158 public String getOpPackageName() {
159 return mBase.getOpPackageName();
160 }
161
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800162 @Override
Dianne Hackborn5c1e00b2009-06-18 17:10:57 -0700163 public ApplicationInfo getApplicationInfo() {
164 return mBase.getApplicationInfo();
165 }
166
167 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800168 public String getPackageResourcePath() {
169 return mBase.getPackageResourcePath();
170 }
171
172 @Override
173 public String getPackageCodePath() {
174 return mBase.getPackageCodePath();
175 }
176
Joe Onorato23ecae32009-06-10 17:07:15 -0700177 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800178 public SharedPreferences getSharedPreferences(String name, int mode) {
179 return mBase.getSharedPreferences(name, mode);
180 }
181
Jeff Sharkey70168dd2016-03-30 21:47:16 -0600182 /** @removed */
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800183 @Override
Jeff Sharkey8fc29cf2015-11-30 17:51:00 -0700184 public SharedPreferences getSharedPreferences(File file, int mode) {
185 return mBase.getSharedPreferences(file, mode);
186 }
187
Christopher Tatefe2368c2017-05-17 15:42:35 -0700188 /** @hide */
189 @Override
190 public void reloadSharedPreferences() {
191 mBase.reloadSharedPreferences();
192 }
193
Jeff Sharkey8fc29cf2015-11-30 17:51:00 -0700194 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600195 public boolean moveSharedPreferencesFrom(Context sourceContext, String name) {
196 return mBase.moveSharedPreferencesFrom(sourceContext, name);
Jeff Sharkey35871f22016-01-29 17:13:29 -0700197 }
198
199 @Override
200 public boolean deleteSharedPreferences(String name) {
201 return mBase.deleteSharedPreferences(name);
202 }
203
204 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800205 public FileInputStream openFileInput(String name)
206 throws FileNotFoundException {
207 return mBase.openFileInput(name);
208 }
209
210 @Override
211 public FileOutputStream openFileOutput(String name, int mode)
212 throws FileNotFoundException {
213 return mBase.openFileOutput(name, mode);
214 }
215
216 @Override
217 public boolean deleteFile(String name) {
218 return mBase.deleteFile(name);
219 }
220
221 @Override
222 public File getFileStreamPath(String name) {
223 return mBase.getFileStreamPath(name);
224 }
225
Jeff Sharkey70168dd2016-03-30 21:47:16 -0600226 /** @removed */
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800227 @Override
Jeff Sharkey6a6cdaf2015-12-07 19:25:19 -0700228 public File getSharedPreferencesPath(String name) {
229 return mBase.getSharedPreferencesPath(name);
230 }
231
232 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800233 public String[] fileList() {
234 return mBase.fileList();
235 }
236
237 @Override
Jeff Sharkey2c1ba9a2016-02-17 15:29:38 -0700238 public File getDataDir() {
239 return mBase.getDataDir();
240 }
241
242 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800243 public File getFilesDir() {
244 return mBase.getFilesDir();
245 }
Christopher Tatea7835b62014-07-11 17:25:57 -0700246
247 @Override
248 public File getNoBackupFilesDir() {
249 return mBase.getNoBackupFilesDir();
250 }
251
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800252 @Override
Dianne Hackborne83cefce2010-02-04 17:38:14 -0800253 public File getExternalFilesDir(String type) {
254 return mBase.getExternalFilesDir(type);
255 }
Jeff Sharkey1abdb712013-08-11 16:28:14 -0700256
257 @Override
258 public File[] getExternalFilesDirs(String type) {
259 return mBase.getExternalFilesDirs(type);
260 }
261
Dianne Hackborne83cefce2010-02-04 17:38:14 -0800262 @Override
Dianne Hackborn805fd7e2011-01-16 18:30:29 -0800263 public File getObbDir() {
264 return mBase.getObbDir();
265 }
Jeff Sharkey1abdb712013-08-11 16:28:14 -0700266
267 @Override
268 public File[] getObbDirs() {
269 return mBase.getObbDirs();
270 }
271
Dianne Hackborn805fd7e2011-01-16 18:30:29 -0800272 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800273 public File getCacheDir() {
274 return mBase.getCacheDir();
275 }
276
277 @Override
Jeff Sharkey4ed745d2014-07-15 20:39:15 -0700278 public File getCodeCacheDir() {
279 return mBase.getCodeCacheDir();
280 }
281
282 @Override
Dianne Hackborne83cefce2010-02-04 17:38:14 -0800283 public File getExternalCacheDir() {
284 return mBase.getExternalCacheDir();
285 }
286
287 @Override
Jeff Sharkey1abdb712013-08-11 16:28:14 -0700288 public File[] getExternalCacheDirs() {
289 return mBase.getExternalCacheDirs();
290 }
291
292 @Override
Jeff Sharkey2ee3c1e2014-05-30 15:38:35 -0700293 public File[] getExternalMediaDirs() {
294 return mBase.getExternalMediaDirs();
295 }
296
297 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800298 public File getDir(String name, int mode) {
299 return mBase.getDir(name, mode);
300 }
301
Fyodor Kupolov61221292016-09-02 15:21:03 -0700302
303 /** @hide **/
304 @Override
305 public File getPreloadsFileCache() {
306 return mBase.getPreloadsFileCache();
307 }
308
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800309 @Override
310 public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory) {
311 return mBase.openOrCreateDatabase(name, mode, factory);
312 }
313
314 @Override
Vasu Nori74f170f2010-06-01 18:06:18 -0700315 public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory,
316 DatabaseErrorHandler errorHandler) {
317 return mBase.openOrCreateDatabase(name, mode, factory, errorHandler);
318 }
319
320 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600321 public boolean moveDatabaseFrom(Context sourceContext, String name) {
322 return mBase.moveDatabaseFrom(sourceContext, name);
Jeff Sharkey35871f22016-01-29 17:13:29 -0700323 }
324
325 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800326 public boolean deleteDatabase(String name) {
327 return mBase.deleteDatabase(name);
328 }
329
330 @Override
331 public File getDatabasePath(String name) {
332 return mBase.getDatabasePath(name);
333 }
334
335 @Override
336 public String[] databaseList() {
337 return mBase.databaseList();
338 }
339
340 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800341 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800342 public Drawable getWallpaper() {
343 return mBase.getWallpaper();
344 }
345
346 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800347 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800348 public Drawable peekWallpaper() {
349 return mBase.peekWallpaper();
350 }
351
352 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800353 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800354 public int getWallpaperDesiredMinimumWidth() {
355 return mBase.getWallpaperDesiredMinimumWidth();
356 }
357
358 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800359 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800360 public int getWallpaperDesiredMinimumHeight() {
361 return mBase.getWallpaperDesiredMinimumHeight();
362 }
363
364 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800365 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800366 public void setWallpaper(Bitmap bitmap) throws IOException {
367 mBase.setWallpaper(bitmap);
368 }
369
370 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800371 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800372 public void setWallpaper(InputStream data) throws IOException {
373 mBase.setWallpaper(data);
374 }
375
376 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800377 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800378 public void clearWallpaper() throws IOException {
379 mBase.clearWallpaper();
380 }
381
382 @Override
383 public void startActivity(Intent intent) {
384 mBase.startActivity(intent);
385 }
386
Amith Yamasani82644082012-08-03 13:09:11 -0700387 /** @hide */
388 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100389 @UnsupportedAppUsage
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700390 public void startActivityAsUser(Intent intent, UserHandle user) {
391 mBase.startActivityAsUser(intent, user);
Amith Yamasani82644082012-08-03 13:09:11 -0700392 }
393
Clara Bayarrid5bf3ed2015-03-27 17:32:45 +0000394 /** @hide **/
395 public void startActivityForResult(
396 String who, Intent intent, int requestCode, Bundle options) {
397 mBase.startActivityForResult(who, intent, requestCode, options);
398 }
399
400 /** @hide **/
401 public boolean canStartActivityForResult() {
402 return mBase.canStartActivityForResult();
403 }
404
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800405 @Override
Dianne Hackborna4972e92012-03-14 10:38:05 -0700406 public void startActivity(Intent intent, Bundle options) {
407 mBase.startActivity(intent, options);
408 }
409
Amith Yamasani258848d2012-08-10 17:06:33 -0700410 /** @hide */
411 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700412 public void startActivityAsUser(Intent intent, Bundle options, UserHandle user) {
413 mBase.startActivityAsUser(intent, options, user);
Amith Yamasani258848d2012-08-10 17:06:33 -0700414 }
415
Dianne Hackborna4972e92012-03-14 10:38:05 -0700416 @Override
Dianne Hackborn621e17d2010-11-22 15:59:56 -0800417 public void startActivities(Intent[] intents) {
418 mBase.startActivities(intents);
419 }
420
421 @Override
Dianne Hackborna4972e92012-03-14 10:38:05 -0700422 public void startActivities(Intent[] intents, Bundle options) {
423 mBase.startActivities(intents, options);
424 }
425
Amith Yamasaniea7e9152012-09-24 16:11:18 -0700426 /** @hide */
427 @Override
Selim Cinek7fa385a2018-01-24 08:35:28 -0800428 public int startActivitiesAsUser(Intent[] intents, Bundle options, UserHandle userHandle) {
429 return mBase.startActivitiesAsUser(intents, options, userHandle);
Amith Yamasaniea7e9152012-09-24 16:11:18 -0700430 }
431
Dianne Hackborna4972e92012-03-14 10:38:05 -0700432 @Override
Dianne Hackbornfa82f222009-09-17 15:14:12 -0700433 public void startIntentSender(IntentSender intent,
434 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
435 throws IntentSender.SendIntentException {
436 mBase.startIntentSender(intent, fillInIntent, flagsMask,
437 flagsValues, extraFlags);
438 }
Dianne Hackborna4972e92012-03-14 10:38:05 -0700439
440 @Override
441 public void startIntentSender(IntentSender intent,
442 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags,
443 Bundle options) throws IntentSender.SendIntentException {
444 mBase.startIntentSender(intent, fillInIntent, flagsMask,
445 flagsValues, extraFlags, options);
446 }
Dianne Hackbornfa82f222009-09-17 15:14:12 -0700447
448 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800449 public void sendBroadcast(Intent intent) {
450 mBase.sendBroadcast(intent);
451 }
452
Amith Yamasani67cf7d32012-02-16 14:31:23 -0800453 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800454 public void sendBroadcast(Intent intent, String receiverPermission) {
455 mBase.sendBroadcast(intent, receiverPermission);
456 }
457
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800458 /** @hide */
Fyodor Kupolovd4fd8c72015-07-13 19:19:25 -0700459 @Override
460 public void sendBroadcastMultiplePermissions(Intent intent, String[] receiverPermissions) {
461 mBase.sendBroadcastMultiplePermissions(intent, receiverPermissions);
462 }
463
464 /** @hide */
Tyler Gunnf955e562018-04-26 14:43:31 -0700465 @Override
466 public void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user,
467 String[] receiverPermissions) {
468 mBase.sendBroadcastAsUserMultiplePermissions(intent, user, receiverPermissions);
469 }
470
471 /** @hide */
Dianne Hackborna750a632015-06-16 17:18:23 -0700472 @SystemApi
473 @Override
474 public void sendBroadcast(Intent intent, String receiverPermission, Bundle options) {
475 mBase.sendBroadcast(intent, receiverPermission, options);
476 }
477
478 /** @hide */
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800479 @Override
480 public void sendBroadcast(Intent intent, String receiverPermission, int appOp) {
481 mBase.sendBroadcast(intent, receiverPermission, appOp);
482 }
483
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800484 @Override
485 public void sendOrderedBroadcast(Intent intent,
486 String receiverPermission) {
487 mBase.sendOrderedBroadcast(intent, receiverPermission);
488 }
489
490 @Override
491 public void sendOrderedBroadcast(
492 Intent intent, String receiverPermission, BroadcastReceiver resultReceiver,
493 Handler scheduler, int initialCode, String initialData,
494 Bundle initialExtras) {
495 mBase.sendOrderedBroadcast(intent, receiverPermission,
496 resultReceiver, scheduler, initialCode,
497 initialData, initialExtras);
498 }
499
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800500 /** @hide */
Dianne Hackborna750a632015-06-16 17:18:23 -0700501 @SystemApi
502 @Override
503 public void sendOrderedBroadcast(
504 Intent intent, String receiverPermission, Bundle options, BroadcastReceiver resultReceiver,
505 Handler scheduler, int initialCode, String initialData,
506 Bundle initialExtras) {
507 mBase.sendOrderedBroadcast(intent, receiverPermission,
508 options, resultReceiver, scheduler, initialCode,
509 initialData, initialExtras);
510 }
511
512 /** @hide */
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800513 @Override
514 public void sendOrderedBroadcast(
515 Intent intent, String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
516 Handler scheduler, int initialCode, String initialData,
517 Bundle initialExtras) {
518 mBase.sendOrderedBroadcast(intent, receiverPermission, appOp,
519 resultReceiver, scheduler, initialCode,
520 initialData, initialExtras);
521 }
522
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800523 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700524 public void sendBroadcastAsUser(Intent intent, UserHandle user) {
525 mBase.sendBroadcastAsUser(intent, user);
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700526 }
527
528 @Override
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700529 public void sendBroadcastAsUser(Intent intent, UserHandle user,
530 String receiverPermission) {
531 mBase.sendBroadcastAsUser(intent, user, receiverPermission);
532 }
533
Svet Ganov16a16892015-04-16 10:32:04 -0700534 /** @hide */
535 @Override
536 public void sendBroadcastAsUser(Intent intent, UserHandle user,
Chad Brubaker52c8edc2016-07-25 14:30:26 -0700537 String receiverPermission, Bundle options) {
538 mBase.sendBroadcastAsUser(intent, user, receiverPermission, options);
539 }
540
541 /** @hide */
542 @Override
543 public void sendBroadcastAsUser(Intent intent, UserHandle user,
Svet Ganov16a16892015-04-16 10:32:04 -0700544 String receiverPermission, int appOp) {
545 mBase.sendBroadcastAsUser(intent, user, receiverPermission, appOp);
546 }
547
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700548 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700549 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700550 String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler,
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700551 int initialCode, String initialData, Bundle initialExtras) {
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700552 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, resultReceiver,
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700553 scheduler, initialCode, initialData, initialExtras);
554 }
555
Amith Yamasani3cf75722014-05-16 12:37:29 -0700556 /** @hide */
557 @Override
558 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
559 String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
Dianne Hackbornfd854ee2015-07-13 18:00:37 -0700560 Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
Amith Yamasani3cf75722014-05-16 12:37:29 -0700561 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, resultReceiver,
562 scheduler, initialCode, initialData, initialExtras);
563 }
564
Dianne Hackbornfd854ee2015-07-13 18:00:37 -0700565 /** @hide */
566 @Override
567 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
568 String receiverPermission, int appOp, Bundle options, BroadcastReceiver resultReceiver,
569 Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
570 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, options,
571 resultReceiver, scheduler, initialCode, initialData, initialExtras);
572 }
573
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700574 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800575 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800576 public void sendStickyBroadcast(Intent intent) {
577 mBase.sendStickyBroadcast(intent);
578 }
579
580 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800581 @Deprecated
Dianne Hackbornefa199f2009-09-19 12:03:15 -0700582 public void sendStickyOrderedBroadcast(
583 Intent intent, BroadcastReceiver resultReceiver,
584 Handler scheduler, int initialCode, String initialData,
585 Bundle initialExtras) {
586 mBase.sendStickyOrderedBroadcast(intent,
587 resultReceiver, scheduler, initialCode,
588 initialData, initialExtras);
589 }
590
591 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800592 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800593 public void removeStickyBroadcast(Intent intent) {
594 mBase.removeStickyBroadcast(intent);
595 }
596
597 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800598 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700599 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user) {
600 mBase.sendStickyBroadcastAsUser(intent, user);
601 }
602
Dianne Hackborne0e413e2015-12-09 17:22:26 -0800603 /** @hide */
604 @Override
605 @Deprecated
606 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user, Bundle options) {
607 mBase.sendStickyBroadcastAsUser(intent, user, options);
608 }
609
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700610 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800611 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700612 public void sendStickyOrderedBroadcastAsUser(Intent intent,
613 UserHandle user, BroadcastReceiver resultReceiver,
614 Handler scheduler, int initialCode, String initialData,
615 Bundle initialExtras) {
616 mBase.sendStickyOrderedBroadcastAsUser(intent, user, resultReceiver,
617 scheduler, initialCode, initialData, initialExtras);
618 }
619
620 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800621 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700622 public void removeStickyBroadcastAsUser(Intent intent, UserHandle user) {
623 mBase.removeStickyBroadcastAsUser(intent, user);
624 }
625
626 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800627 public Intent registerReceiver(
628 BroadcastReceiver receiver, IntentFilter filter) {
629 return mBase.registerReceiver(receiver, filter);
630 }
631
632 @Override
633 public Intent registerReceiver(
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700634 BroadcastReceiver receiver, IntentFilter filter, int flags) {
635 return mBase.registerReceiver(receiver, filter, flags);
Chad Brubaker816c83b2017-03-02 10:27:59 -0800636 }
637
638 @Override
639 public Intent registerReceiver(
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800640 BroadcastReceiver receiver, IntentFilter filter,
641 String broadcastPermission, Handler scheduler) {
642 return mBase.registerReceiver(receiver, filter, broadcastPermission,
643 scheduler);
644 }
645
Chad Brubaker816c83b2017-03-02 10:27:59 -0800646 @Override
647 public Intent registerReceiver(
648 BroadcastReceiver receiver, IntentFilter filter,
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700649 String broadcastPermission, Handler scheduler, int flags) {
Chad Brubaker816c83b2017-03-02 10:27:59 -0800650 return mBase.registerReceiver(receiver, filter, broadcastPermission,
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700651 scheduler, flags);
Chad Brubaker816c83b2017-03-02 10:27:59 -0800652 }
653
Dianne Hackborn20e80982012-08-31 19:00:44 -0700654 /** @hide */
655 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100656 @UnsupportedAppUsage
Dianne Hackborn20e80982012-08-31 19:00:44 -0700657 public Intent registerReceiverAsUser(
658 BroadcastReceiver receiver, UserHandle user, IntentFilter filter,
659 String broadcastPermission, Handler scheduler) {
660 return mBase.registerReceiverAsUser(receiver, user, filter, broadcastPermission,
661 scheduler);
662 }
663
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800664 @Override
665 public void unregisterReceiver(BroadcastReceiver receiver) {
666 mBase.unregisterReceiver(receiver);
667 }
668
669 @Override
670 public ComponentName startService(Intent service) {
671 return mBase.startService(service);
672 }
673
Christopher Tate08992ac2017-03-21 11:37:06 -0700674 @Override
675 public ComponentName startForegroundService(Intent service) {
676 return mBase.startForegroundService(service);
677 }
678
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800679 @Override
680 public boolean stopService(Intent name) {
681 return mBase.stopService(name);
682 }
683
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700684 /** @hide */
685 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100686 @UnsupportedAppUsage
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700687 public ComponentName startServiceAsUser(Intent service, UserHandle user) {
688 return mBase.startServiceAsUser(service, user);
689 }
690
691 /** @hide */
692 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100693 @UnsupportedAppUsage
Christopher Tate08992ac2017-03-21 11:37:06 -0700694 public ComponentName startForegroundServiceAsUser(Intent service, UserHandle user) {
695 return mBase.startForegroundServiceAsUser(service, user);
696 }
697
Christopher Tate42a386b2016-11-07 12:21:21 -0800698 /** @hide */
699 @Override
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700700 public boolean stopServiceAsUser(Intent name, UserHandle user) {
701 return mBase.stopServiceAsUser(name, user);
702 }
703
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800704 @Override
705 public boolean bindService(Intent service, ServiceConnection conn,
706 int flags) {
707 return mBase.bindService(service, conn, flags);
708 }
709
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800710 /** @hide */
711 @Override
Amith Yamasani27b89e62013-01-16 12:30:11 -0800712 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
713 UserHandle user) {
714 return mBase.bindServiceAsUser(service, conn, flags, user);
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800715 }
716
Jeff Davidson6192bff2017-01-09 10:55:53 -0800717 /** @hide */
718 @Override
719 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
720 Handler handler, UserHandle user) {
721 return mBase.bindServiceAsUser(service, conn, flags, handler, user);
722 }
723
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800724 @Override
725 public void unbindService(ServiceConnection conn) {
726 mBase.unbindService(conn);
727 }
728
729 @Override
730 public boolean startInstrumentation(ComponentName className,
731 String profileFile, Bundle arguments) {
732 return mBase.startInstrumentation(className, profileFile, arguments);
733 }
734
735 @Override
736 public Object getSystemService(String name) {
737 return mBase.getSystemService(name);
738 }
739
740 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800741 public String getSystemServiceName(Class<?> serviceClass) {
742 return mBase.getSystemServiceName(serviceClass);
743 }
744
745 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800746 public int checkPermission(String permission, int pid, int uid) {
747 return mBase.checkPermission(permission, pid, uid);
748 }
749
Dianne Hackbornff170242014-11-19 10:59:01 -0800750 /** @hide */
751 @Override
752 public int checkPermission(String permission, int pid, int uid, IBinder callerToken) {
753 return mBase.checkPermission(permission, pid, uid, callerToken);
754 }
755
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800756 @Override
757 public int checkCallingPermission(String permission) {
758 return mBase.checkCallingPermission(permission);
759 }
760
761 @Override
762 public int checkCallingOrSelfPermission(String permission) {
763 return mBase.checkCallingOrSelfPermission(permission);
764 }
765
766 @Override
Svetoslavc6d1c342015-02-26 14:44:43 -0800767 public int checkSelfPermission(String permission) {
768 return mBase.checkSelfPermission(permission);
769 }
770
771 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800772 public void enforcePermission(
773 String permission, int pid, int uid, String message) {
774 mBase.enforcePermission(permission, pid, uid, message);
775 }
776
777 @Override
778 public void enforceCallingPermission(String permission, String message) {
779 mBase.enforceCallingPermission(permission, message);
780 }
781
782 @Override
783 public void enforceCallingOrSelfPermission(
784 String permission, String message) {
785 mBase.enforceCallingOrSelfPermission(permission, message);
786 }
787
788 @Override
789 public void grantUriPermission(String toPackage, Uri uri, int modeFlags) {
790 mBase.grantUriPermission(toPackage, uri, modeFlags);
791 }
792
793 @Override
794 public void revokeUriPermission(Uri uri, int modeFlags) {
795 mBase.revokeUriPermission(uri, modeFlags);
796 }
797
798 @Override
Dianne Hackborna47223f2017-03-30 13:49:13 -0700799 public void revokeUriPermission(String targetPackage, Uri uri, int modeFlags) {
800 mBase.revokeUriPermission(targetPackage, uri, modeFlags);
801 }
802
803 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800804 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags) {
805 return mBase.checkUriPermission(uri, pid, uid, modeFlags);
806 }
807
Dianne Hackbornff170242014-11-19 10:59:01 -0800808 /** @hide */
809 @Override
810 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags, IBinder callerToken) {
811 return mBase.checkUriPermission(uri, pid, uid, modeFlags, callerToken);
812 }
813
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800814 @Override
815 public int checkCallingUriPermission(Uri uri, int modeFlags) {
816 return mBase.checkCallingUriPermission(uri, modeFlags);
817 }
818
819 @Override
820 public int checkCallingOrSelfUriPermission(Uri uri, int modeFlags) {
821 return mBase.checkCallingOrSelfUriPermission(uri, modeFlags);
822 }
823
824 @Override
825 public int checkUriPermission(Uri uri, String readPermission,
826 String writePermission, int pid, int uid, int modeFlags) {
827 return mBase.checkUriPermission(uri, readPermission, writePermission,
828 pid, uid, modeFlags);
829 }
830
831 @Override
832 public void enforceUriPermission(
833 Uri uri, int pid, int uid, int modeFlags, String message) {
834 mBase.enforceUriPermission(uri, pid, uid, modeFlags, message);
835 }
836
837 @Override
838 public void enforceCallingUriPermission(
839 Uri uri, int modeFlags, String message) {
840 mBase.enforceCallingUriPermission(uri, modeFlags, message);
841 }
842
843 @Override
844 public void enforceCallingOrSelfUriPermission(
845 Uri uri, int modeFlags, String message) {
846 mBase.enforceCallingOrSelfUriPermission(uri, modeFlags, message);
847 }
848
849 @Override
850 public void enforceUriPermission(
851 Uri uri, String readPermission, String writePermission,
852 int pid, int uid, int modeFlags, String message) {
853 mBase.enforceUriPermission(
854 uri, readPermission, writePermission, pid, uid, modeFlags,
855 message);
856 }
857
858 @Override
859 public Context createPackageContext(String packageName, int flags)
860 throws PackageManager.NameNotFoundException {
861 return mBase.createPackageContext(packageName, flags);
862 }
Romain Guy870e09f2009-07-06 16:35:25 -0700863
Jeff Sharkey6d515712012-09-20 16:06:08 -0700864 /** @hide */
865 @Override
866 public Context createPackageContextAsUser(String packageName, int flags, UserHandle user)
867 throws PackageManager.NameNotFoundException {
868 return mBase.createPackageContextAsUser(packageName, flags, user);
869 }
870
Jim Millera75a8832013-02-07 16:53:32 -0800871 /** @hide */
Jeff Brown6e539312015-02-24 18:53:21 -0800872 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100873 @UnsupportedAppUsage
Svetoslav976e8bd2014-07-16 15:12:03 -0700874 public Context createApplicationContext(ApplicationInfo application,
875 int flags) throws PackageManager.NameNotFoundException {
876 return mBase.createApplicationContext(application, flags);
877 }
878
879 /** @hide */
Jim Millera75a8832013-02-07 16:53:32 -0800880 @Override
Adam Lesinski4e862812016-11-21 16:02:24 -0800881 public Context createContextForSplit(String splitName)
882 throws PackageManager.NameNotFoundException {
883 return mBase.createContextForSplit(splitName);
884 }
885
886 /** @hide */
887 @Override
Jim Millera75a8832013-02-07 16:53:32 -0800888 public int getUserId() {
889 return mBase.getUserId();
890 }
891
Romain Guy870e09f2009-07-06 16:35:25 -0700892 @Override
Dianne Hackborn756220b2012-08-14 16:45:30 -0700893 public Context createConfigurationContext(Configuration overrideConfiguration) {
894 return mBase.createConfigurationContext(overrideConfiguration);
895 }
896
897 @Override
Jeff Browna492c3a2012-08-23 19:48:44 -0700898 public Context createDisplayContext(Display display) {
899 return mBase.createDisplayContext(display);
900 }
901
902 @Override
Romain Guy870e09f2009-07-06 16:35:25 -0700903 public boolean isRestricted() {
904 return mBase.isRestricted();
905 }
Jeff Brown98365d72012-08-19 20:30:52 -0700906
907 /** @hide */
908 @Override
Craig Mautner48d0d182013-06-11 07:53:06 -0700909 public DisplayAdjustments getDisplayAdjustments(int displayId) {
910 return mBase.getDisplayAdjustments(displayId);
Jeff Brown98365d72012-08-19 20:30:52 -0700911 }
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700912
Adam Lesinski4ece3d62016-06-16 18:05:41 -0700913 /**
914 * @hide
915 */
916 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100917 @UnsupportedAppUsage
Adam Lesinski4ece3d62016-06-16 18:05:41 -0700918 public Display getDisplay() {
919 return mBase.getDisplay();
920 }
921
Andrii Kulianb047b8b2017-02-08 18:38:26 -0800922 /**
923 * @hide
924 */
925 @Override
926 public void updateDisplay(int displayId) {
927 mBase.updateDisplay(displayId);
928 }
929
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700930 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600931 public Context createDeviceProtectedStorageContext() {
932 return mBase.createDeviceProtectedStorageContext();
Jeff Sharkeye13529a2015-12-09 14:15:27 -0700933 }
934
935 /** {@hide} */
936 @SystemApi
937 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600938 public Context createCredentialProtectedStorageContext() {
939 return mBase.createCredentialProtectedStorageContext();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700940 }
941
942 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600943 public boolean isDeviceProtectedStorage() {
944 return mBase.isDeviceProtectedStorage();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700945 }
946
Jeff Sharkeye13529a2015-12-09 14:15:27 -0700947 /** {@hide} */
948 @SystemApi
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700949 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600950 public boolean isCredentialProtectedStorage() {
951 return mBase.isCredentialProtectedStorage();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700952 }
Tony Mak46aabe52016-11-14 12:53:06 +0000953
Seigo Nonaka6d6cd682017-06-22 08:22:18 -0700954 /** {@hide} */
955 @Override
956 public boolean canLoadUnsafeResources() {
957 return mBase.canLoadUnsafeResources();
958 }
959
Tony Mak46aabe52016-11-14 12:53:06 +0000960 /**
961 * @hide
962 */
963 @Override
964 public IBinder getActivityToken() {
965 return mBase.getActivityToken();
966 }
967
968 /**
969 * @hide
970 */
971 @Override
972 public IServiceConnection getServiceDispatcher(ServiceConnection conn, Handler handler,
973 int flags) {
974 return mBase.getServiceDispatcher(conn, handler, flags);
975 }
976
977 /**
978 * @hide
979 */
980 @Override
981 public IApplicationThread getIApplicationThread() {
982 return mBase.getIApplicationThread();
983 }
Tony Makbf9928d2016-12-22 11:02:45 +0000984
985 /**
986 * @hide
987 */
988 @Override
989 public Handler getMainThreadHandler() {
990 return mBase.getMainThreadHandler();
991 }
Philip P. Moltmannff6d6d92017-05-06 10:41:40 -0700992
993 /**
994 * @hide
995 */
Felipe Lemebb567ae2017-10-04 09:56:21 -0700996 @Override
Phil Weaver846cda932017-06-15 10:10:06 -0700997 public int getNextAutofillId() {
998 return mBase.getNextAutofillId();
Philip P. Moltmannff6d6d92017-05-06 10:41:40 -0700999 }
Felipe Lemebb567ae2017-10-04 09:56:21 -07001000
1001 /**
1002 * @hide
1003 */
1004 @Override
1005 public AutofillClient getAutofillClient() {
1006 return mBase.getAutofillClient();
1007 }
1008
1009 /**
1010 * @hide
1011 */
1012 @Override
1013 public void setAutofillClient(AutofillClient client) {
1014 mBase.setAutofillClient(client);
1015 }
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001016
1017 /**
1018 * @hide
1019 */
1020 @Override
1021 public boolean isAutofillCompatibilityEnabled() {
Svet Ganov59b4bab2018-02-15 13:16:20 -08001022 return mBase != null && mBase.isAutofillCompatibilityEnabled();
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001023 }
1024
1025 /**
1026 * @hide
1027 */
Svet Ganov47b37aa2018-02-16 00:11:39 -08001028 @TestApi
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001029 @Override
1030 public void setAutofillCompatibilityEnabled(boolean autofillCompatEnabled) {
Svet Ganov59b4bab2018-02-15 13:16:20 -08001031 if (mBase != null) {
1032 mBase.setAutofillCompatibilityEnabled(autofillCompatEnabled);
1033 }
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001034 }
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001035}