blob: 40559d31d631b4bb1809fba86802e55a74196347 [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 Inwood5c0d3542018-08-14 13:54:31 +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 Inwood5c0d3542018-08-14 13:54:31 +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 Inwood5c0d3542018-08-14 13:54:31 +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 Inwood5c0d3542018-08-14 13:54:31 +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
157 public String getOpPackageName() {
158 return mBase.getOpPackageName();
159 }
160
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800161 @Override
Dianne Hackborn5c1e00b2009-06-18 17:10:57 -0700162 public ApplicationInfo getApplicationInfo() {
163 return mBase.getApplicationInfo();
164 }
165
166 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800167 public String getPackageResourcePath() {
168 return mBase.getPackageResourcePath();
169 }
170
171 @Override
172 public String getPackageCodePath() {
173 return mBase.getPackageCodePath();
174 }
175
Joe Onorato23ecae32009-06-10 17:07:15 -0700176 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800177 public SharedPreferences getSharedPreferences(String name, int mode) {
178 return mBase.getSharedPreferences(name, mode);
179 }
180
Jeff Sharkey70168dd2016-03-30 21:47:16 -0600181 /** @removed */
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800182 @Override
Jeff Sharkey8fc29cf2015-11-30 17:51:00 -0700183 public SharedPreferences getSharedPreferences(File file, int mode) {
184 return mBase.getSharedPreferences(file, mode);
185 }
186
Christopher Tatefe2368c2017-05-17 15:42:35 -0700187 /** @hide */
188 @Override
189 public void reloadSharedPreferences() {
190 mBase.reloadSharedPreferences();
191 }
192
Jeff Sharkey8fc29cf2015-11-30 17:51:00 -0700193 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600194 public boolean moveSharedPreferencesFrom(Context sourceContext, String name) {
195 return mBase.moveSharedPreferencesFrom(sourceContext, name);
Jeff Sharkey35871f22016-01-29 17:13:29 -0700196 }
197
198 @Override
199 public boolean deleteSharedPreferences(String name) {
200 return mBase.deleteSharedPreferences(name);
201 }
202
203 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800204 public FileInputStream openFileInput(String name)
205 throws FileNotFoundException {
206 return mBase.openFileInput(name);
207 }
208
209 @Override
210 public FileOutputStream openFileOutput(String name, int mode)
211 throws FileNotFoundException {
212 return mBase.openFileOutput(name, mode);
213 }
214
215 @Override
216 public boolean deleteFile(String name) {
217 return mBase.deleteFile(name);
218 }
219
220 @Override
221 public File getFileStreamPath(String name) {
222 return mBase.getFileStreamPath(name);
223 }
224
Jeff Sharkey70168dd2016-03-30 21:47:16 -0600225 /** @removed */
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800226 @Override
Jeff Sharkey6a6cdaf2015-12-07 19:25:19 -0700227 public File getSharedPreferencesPath(String name) {
228 return mBase.getSharedPreferencesPath(name);
229 }
230
231 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800232 public String[] fileList() {
233 return mBase.fileList();
234 }
235
236 @Override
Jeff Sharkey2c1ba9a2016-02-17 15:29:38 -0700237 public File getDataDir() {
238 return mBase.getDataDir();
239 }
240
241 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800242 public File getFilesDir() {
243 return mBase.getFilesDir();
244 }
Christopher Tatea7835b62014-07-11 17:25:57 -0700245
246 @Override
247 public File getNoBackupFilesDir() {
248 return mBase.getNoBackupFilesDir();
249 }
250
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800251 @Override
Dianne Hackborne83cefce2010-02-04 17:38:14 -0800252 public File getExternalFilesDir(String type) {
253 return mBase.getExternalFilesDir(type);
254 }
Jeff Sharkey1abdb712013-08-11 16:28:14 -0700255
256 @Override
257 public File[] getExternalFilesDirs(String type) {
258 return mBase.getExternalFilesDirs(type);
259 }
260
Dianne Hackborne83cefce2010-02-04 17:38:14 -0800261 @Override
Dianne Hackborn805fd7e2011-01-16 18:30:29 -0800262 public File getObbDir() {
263 return mBase.getObbDir();
264 }
Jeff Sharkey1abdb712013-08-11 16:28:14 -0700265
266 @Override
267 public File[] getObbDirs() {
268 return mBase.getObbDirs();
269 }
270
Dianne Hackborn805fd7e2011-01-16 18:30:29 -0800271 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800272 public File getCacheDir() {
273 return mBase.getCacheDir();
274 }
275
276 @Override
Jeff Sharkey4ed745d2014-07-15 20:39:15 -0700277 public File getCodeCacheDir() {
278 return mBase.getCodeCacheDir();
279 }
280
281 @Override
Dianne Hackborne83cefce2010-02-04 17:38:14 -0800282 public File getExternalCacheDir() {
283 return mBase.getExternalCacheDir();
284 }
285
286 @Override
Jeff Sharkey1abdb712013-08-11 16:28:14 -0700287 public File[] getExternalCacheDirs() {
288 return mBase.getExternalCacheDirs();
289 }
290
291 @Override
Jeff Sharkey2ee3c1e2014-05-30 15:38:35 -0700292 public File[] getExternalMediaDirs() {
293 return mBase.getExternalMediaDirs();
294 }
295
296 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800297 public File getDir(String name, int mode) {
298 return mBase.getDir(name, mode);
299 }
300
Fyodor Kupolov61221292016-09-02 15:21:03 -0700301
302 /** @hide **/
303 @Override
304 public File getPreloadsFileCache() {
305 return mBase.getPreloadsFileCache();
306 }
307
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800308 @Override
309 public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory) {
310 return mBase.openOrCreateDatabase(name, mode, factory);
311 }
312
313 @Override
Vasu Nori74f170f2010-06-01 18:06:18 -0700314 public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory,
315 DatabaseErrorHandler errorHandler) {
316 return mBase.openOrCreateDatabase(name, mode, factory, errorHandler);
317 }
318
319 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600320 public boolean moveDatabaseFrom(Context sourceContext, String name) {
321 return mBase.moveDatabaseFrom(sourceContext, name);
Jeff Sharkey35871f22016-01-29 17:13:29 -0700322 }
323
324 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800325 public boolean deleteDatabase(String name) {
326 return mBase.deleteDatabase(name);
327 }
328
329 @Override
330 public File getDatabasePath(String name) {
331 return mBase.getDatabasePath(name);
332 }
333
334 @Override
335 public String[] databaseList() {
336 return mBase.databaseList();
337 }
338
339 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800340 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800341 public Drawable getWallpaper() {
342 return mBase.getWallpaper();
343 }
344
345 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800346 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800347 public Drawable peekWallpaper() {
348 return mBase.peekWallpaper();
349 }
350
351 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800352 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800353 public int getWallpaperDesiredMinimumWidth() {
354 return mBase.getWallpaperDesiredMinimumWidth();
355 }
356
357 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800358 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800359 public int getWallpaperDesiredMinimumHeight() {
360 return mBase.getWallpaperDesiredMinimumHeight();
361 }
362
363 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800364 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800365 public void setWallpaper(Bitmap bitmap) throws IOException {
366 mBase.setWallpaper(bitmap);
367 }
368
369 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800370 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800371 public void setWallpaper(InputStream data) throws IOException {
372 mBase.setWallpaper(data);
373 }
374
375 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800376 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800377 public void clearWallpaper() throws IOException {
378 mBase.clearWallpaper();
379 }
380
381 @Override
382 public void startActivity(Intent intent) {
383 mBase.startActivity(intent);
384 }
385
Amith Yamasani82644082012-08-03 13:09:11 -0700386 /** @hide */
387 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700388 public void startActivityAsUser(Intent intent, UserHandle user) {
389 mBase.startActivityAsUser(intent, user);
Amith Yamasani82644082012-08-03 13:09:11 -0700390 }
391
Clara Bayarrid5bf3ed2015-03-27 17:32:45 +0000392 /** @hide **/
393 public void startActivityForResult(
394 String who, Intent intent, int requestCode, Bundle options) {
395 mBase.startActivityForResult(who, intent, requestCode, options);
396 }
397
398 /** @hide **/
399 public boolean canStartActivityForResult() {
400 return mBase.canStartActivityForResult();
401 }
402
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800403 @Override
Dianne Hackborna4972e92012-03-14 10:38:05 -0700404 public void startActivity(Intent intent, Bundle options) {
405 mBase.startActivity(intent, options);
406 }
407
Amith Yamasani258848d2012-08-10 17:06:33 -0700408 /** @hide */
409 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700410 public void startActivityAsUser(Intent intent, Bundle options, UserHandle user) {
411 mBase.startActivityAsUser(intent, options, user);
Amith Yamasani258848d2012-08-10 17:06:33 -0700412 }
413
Dianne Hackborna4972e92012-03-14 10:38:05 -0700414 @Override
Dianne Hackborn621e17d2010-11-22 15:59:56 -0800415 public void startActivities(Intent[] intents) {
416 mBase.startActivities(intents);
417 }
418
419 @Override
Dianne Hackborna4972e92012-03-14 10:38:05 -0700420 public void startActivities(Intent[] intents, Bundle options) {
421 mBase.startActivities(intents, options);
422 }
423
Amith Yamasaniea7e9152012-09-24 16:11:18 -0700424 /** @hide */
425 @Override
Selim Cinek7fa385a2018-01-24 08:35:28 -0800426 public int startActivitiesAsUser(Intent[] intents, Bundle options, UserHandle userHandle) {
427 return mBase.startActivitiesAsUser(intents, options, userHandle);
Amith Yamasaniea7e9152012-09-24 16:11:18 -0700428 }
429
Dianne Hackborna4972e92012-03-14 10:38:05 -0700430 @Override
Dianne Hackbornfa82f222009-09-17 15:14:12 -0700431 public void startIntentSender(IntentSender intent,
432 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
433 throws IntentSender.SendIntentException {
434 mBase.startIntentSender(intent, fillInIntent, flagsMask,
435 flagsValues, extraFlags);
436 }
Dianne Hackborna4972e92012-03-14 10:38:05 -0700437
438 @Override
439 public void startIntentSender(IntentSender intent,
440 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags,
441 Bundle options) throws IntentSender.SendIntentException {
442 mBase.startIntentSender(intent, fillInIntent, flagsMask,
443 flagsValues, extraFlags, options);
444 }
Dianne Hackbornfa82f222009-09-17 15:14:12 -0700445
446 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800447 public void sendBroadcast(Intent intent) {
448 mBase.sendBroadcast(intent);
449 }
450
Amith Yamasani67cf7d32012-02-16 14:31:23 -0800451 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800452 public void sendBroadcast(Intent intent, String receiverPermission) {
453 mBase.sendBroadcast(intent, receiverPermission);
454 }
455
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800456 /** @hide */
Fyodor Kupolovd4fd8c72015-07-13 19:19:25 -0700457 @Override
458 public void sendBroadcastMultiplePermissions(Intent intent, String[] receiverPermissions) {
459 mBase.sendBroadcastMultiplePermissions(intent, receiverPermissions);
460 }
461
462 /** @hide */
Tyler Gunnf955e562018-04-26 14:43:31 -0700463 @Override
464 public void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user,
465 String[] receiverPermissions) {
466 mBase.sendBroadcastAsUserMultiplePermissions(intent, user, receiverPermissions);
467 }
468
469 /** @hide */
Dianne Hackborna750a632015-06-16 17:18:23 -0700470 @SystemApi
471 @Override
472 public void sendBroadcast(Intent intent, String receiverPermission, Bundle options) {
473 mBase.sendBroadcast(intent, receiverPermission, options);
474 }
475
476 /** @hide */
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800477 @Override
478 public void sendBroadcast(Intent intent, String receiverPermission, int appOp) {
479 mBase.sendBroadcast(intent, receiverPermission, appOp);
480 }
481
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800482 @Override
483 public void sendOrderedBroadcast(Intent intent,
484 String receiverPermission) {
485 mBase.sendOrderedBroadcast(intent, receiverPermission);
486 }
487
488 @Override
489 public void sendOrderedBroadcast(
490 Intent intent, String receiverPermission, BroadcastReceiver resultReceiver,
491 Handler scheduler, int initialCode, String initialData,
492 Bundle initialExtras) {
493 mBase.sendOrderedBroadcast(intent, receiverPermission,
494 resultReceiver, scheduler, initialCode,
495 initialData, initialExtras);
496 }
497
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800498 /** @hide */
Dianne Hackborna750a632015-06-16 17:18:23 -0700499 @SystemApi
500 @Override
501 public void sendOrderedBroadcast(
502 Intent intent, String receiverPermission, Bundle options, BroadcastReceiver resultReceiver,
503 Handler scheduler, int initialCode, String initialData,
504 Bundle initialExtras) {
505 mBase.sendOrderedBroadcast(intent, receiverPermission,
506 options, resultReceiver, scheduler, initialCode,
507 initialData, initialExtras);
508 }
509
510 /** @hide */
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800511 @Override
512 public void sendOrderedBroadcast(
513 Intent intent, String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
514 Handler scheduler, int initialCode, String initialData,
515 Bundle initialExtras) {
516 mBase.sendOrderedBroadcast(intent, receiverPermission, appOp,
517 resultReceiver, scheduler, initialCode,
518 initialData, initialExtras);
519 }
520
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800521 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700522 public void sendBroadcastAsUser(Intent intent, UserHandle user) {
523 mBase.sendBroadcastAsUser(intent, user);
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700524 }
525
526 @Override
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700527 public void sendBroadcastAsUser(Intent intent, UserHandle user,
528 String receiverPermission) {
529 mBase.sendBroadcastAsUser(intent, user, receiverPermission);
530 }
531
Svet Ganov16a16892015-04-16 10:32:04 -0700532 /** @hide */
533 @Override
534 public void sendBroadcastAsUser(Intent intent, UserHandle user,
Chad Brubaker52c8edc2016-07-25 14:30:26 -0700535 String receiverPermission, Bundle options) {
536 mBase.sendBroadcastAsUser(intent, user, receiverPermission, options);
537 }
538
539 /** @hide */
540 @Override
541 public void sendBroadcastAsUser(Intent intent, UserHandle user,
Svet Ganov16a16892015-04-16 10:32:04 -0700542 String receiverPermission, int appOp) {
543 mBase.sendBroadcastAsUser(intent, user, receiverPermission, appOp);
544 }
545
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700546 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700547 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700548 String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler,
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700549 int initialCode, String initialData, Bundle initialExtras) {
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700550 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, resultReceiver,
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700551 scheduler, initialCode, initialData, initialExtras);
552 }
553
Amith Yamasani3cf75722014-05-16 12:37:29 -0700554 /** @hide */
555 @Override
556 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
557 String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
Dianne Hackbornfd854ee2015-07-13 18:00:37 -0700558 Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
Amith Yamasani3cf75722014-05-16 12:37:29 -0700559 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, resultReceiver,
560 scheduler, initialCode, initialData, initialExtras);
561 }
562
Dianne Hackbornfd854ee2015-07-13 18:00:37 -0700563 /** @hide */
564 @Override
565 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
566 String receiverPermission, int appOp, Bundle options, BroadcastReceiver resultReceiver,
567 Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
568 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, options,
569 resultReceiver, scheduler, initialCode, initialData, initialExtras);
570 }
571
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700572 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800573 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800574 public void sendStickyBroadcast(Intent intent) {
575 mBase.sendStickyBroadcast(intent);
576 }
577
578 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800579 @Deprecated
Dianne Hackbornefa199f2009-09-19 12:03:15 -0700580 public void sendStickyOrderedBroadcast(
581 Intent intent, BroadcastReceiver resultReceiver,
582 Handler scheduler, int initialCode, String initialData,
583 Bundle initialExtras) {
584 mBase.sendStickyOrderedBroadcast(intent,
585 resultReceiver, scheduler, initialCode,
586 initialData, initialExtras);
587 }
588
589 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800590 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800591 public void removeStickyBroadcast(Intent intent) {
592 mBase.removeStickyBroadcast(intent);
593 }
594
595 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800596 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700597 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user) {
598 mBase.sendStickyBroadcastAsUser(intent, user);
599 }
600
Dianne Hackborne0e413e2015-12-09 17:22:26 -0800601 /** @hide */
602 @Override
603 @Deprecated
604 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user, Bundle options) {
605 mBase.sendStickyBroadcastAsUser(intent, user, options);
606 }
607
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700608 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800609 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700610 public void sendStickyOrderedBroadcastAsUser(Intent intent,
611 UserHandle user, BroadcastReceiver resultReceiver,
612 Handler scheduler, int initialCode, String initialData,
613 Bundle initialExtras) {
614 mBase.sendStickyOrderedBroadcastAsUser(intent, user, resultReceiver,
615 scheduler, initialCode, initialData, initialExtras);
616 }
617
618 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800619 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700620 public void removeStickyBroadcastAsUser(Intent intent, UserHandle user) {
621 mBase.removeStickyBroadcastAsUser(intent, user);
622 }
623
624 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800625 public Intent registerReceiver(
626 BroadcastReceiver receiver, IntentFilter filter) {
627 return mBase.registerReceiver(receiver, filter);
628 }
629
630 @Override
631 public Intent registerReceiver(
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700632 BroadcastReceiver receiver, IntentFilter filter, int flags) {
633 return mBase.registerReceiver(receiver, filter, flags);
Chad Brubaker816c83b2017-03-02 10:27:59 -0800634 }
635
636 @Override
637 public Intent registerReceiver(
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800638 BroadcastReceiver receiver, IntentFilter filter,
639 String broadcastPermission, Handler scheduler) {
640 return mBase.registerReceiver(receiver, filter, broadcastPermission,
641 scheduler);
642 }
643
Chad Brubaker816c83b2017-03-02 10:27:59 -0800644 @Override
645 public Intent registerReceiver(
646 BroadcastReceiver receiver, IntentFilter filter,
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700647 String broadcastPermission, Handler scheduler, int flags) {
Chad Brubaker816c83b2017-03-02 10:27:59 -0800648 return mBase.registerReceiver(receiver, filter, broadcastPermission,
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700649 scheduler, flags);
Chad Brubaker816c83b2017-03-02 10:27:59 -0800650 }
651
Dianne Hackborn20e80982012-08-31 19:00:44 -0700652 /** @hide */
653 @Override
Mathew Inwood5c0d3542018-08-14 13:54:31 +0100654 @UnsupportedAppUsage
Dianne Hackborn20e80982012-08-31 19:00:44 -0700655 public Intent registerReceiverAsUser(
656 BroadcastReceiver receiver, UserHandle user, IntentFilter filter,
657 String broadcastPermission, Handler scheduler) {
658 return mBase.registerReceiverAsUser(receiver, user, filter, broadcastPermission,
659 scheduler);
660 }
661
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800662 @Override
663 public void unregisterReceiver(BroadcastReceiver receiver) {
664 mBase.unregisterReceiver(receiver);
665 }
666
667 @Override
668 public ComponentName startService(Intent service) {
669 return mBase.startService(service);
670 }
671
Christopher Tate08992ac2017-03-21 11:37:06 -0700672 @Override
673 public ComponentName startForegroundService(Intent service) {
674 return mBase.startForegroundService(service);
675 }
676
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800677 @Override
678 public boolean stopService(Intent name) {
679 return mBase.stopService(name);
680 }
681
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700682 /** @hide */
683 @Override
Mathew Inwood5c0d3542018-08-14 13:54:31 +0100684 @UnsupportedAppUsage
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700685 public ComponentName startServiceAsUser(Intent service, UserHandle user) {
686 return mBase.startServiceAsUser(service, user);
687 }
688
689 /** @hide */
690 @Override
Mathew Inwood5c0d3542018-08-14 13:54:31 +0100691 @UnsupportedAppUsage
Christopher Tate08992ac2017-03-21 11:37:06 -0700692 public ComponentName startForegroundServiceAsUser(Intent service, UserHandle user) {
693 return mBase.startForegroundServiceAsUser(service, user);
694 }
695
Christopher Tate42a386b2016-11-07 12:21:21 -0800696 /** @hide */
697 @Override
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700698 public boolean stopServiceAsUser(Intent name, UserHandle user) {
699 return mBase.stopServiceAsUser(name, user);
700 }
701
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800702 @Override
703 public boolean bindService(Intent service, ServiceConnection conn,
704 int flags) {
705 return mBase.bindService(service, conn, flags);
706 }
707
Dianne Hackborn27b4d942018-11-12 15:01:40 -0800708 @Override
709 public boolean bindIsolatedService(Intent service, ServiceConnection conn,
710 int flags, String instanceName) {
711 return mBase.bindIsolatedService(service, conn, flags, instanceName);
712 }
713
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800714 /** @hide */
715 @Override
Amith Yamasani27b89e62013-01-16 12:30:11 -0800716 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
717 UserHandle user) {
718 return mBase.bindServiceAsUser(service, conn, flags, user);
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800719 }
720
Jeff Davidson6192bff2017-01-09 10:55:53 -0800721 /** @hide */
722 @Override
723 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
724 Handler handler, UserHandle user) {
725 return mBase.bindServiceAsUser(service, conn, flags, handler, user);
726 }
727
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800728 @Override
Dianne Hackborna631d562018-11-20 15:58:15 -0800729 public void updateServiceGroup(ServiceConnection conn, int group, int importance) {
730 mBase.updateServiceGroup(conn, group, importance);
731 }
732
733 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800734 public void unbindService(ServiceConnection conn) {
735 mBase.unbindService(conn);
736 }
737
738 @Override
739 public boolean startInstrumentation(ComponentName className,
740 String profileFile, Bundle arguments) {
741 return mBase.startInstrumentation(className, profileFile, arguments);
742 }
743
744 @Override
745 public Object getSystemService(String name) {
746 return mBase.getSystemService(name);
747 }
748
749 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800750 public String getSystemServiceName(Class<?> serviceClass) {
751 return mBase.getSystemServiceName(serviceClass);
752 }
753
754 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800755 public int checkPermission(String permission, int pid, int uid) {
756 return mBase.checkPermission(permission, pid, uid);
757 }
758
Dianne Hackbornff170242014-11-19 10:59:01 -0800759 /** @hide */
760 @Override
761 public int checkPermission(String permission, int pid, int uid, IBinder callerToken) {
762 return mBase.checkPermission(permission, pid, uid, callerToken);
763 }
764
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800765 @Override
766 public int checkCallingPermission(String permission) {
767 return mBase.checkCallingPermission(permission);
768 }
769
770 @Override
771 public int checkCallingOrSelfPermission(String permission) {
772 return mBase.checkCallingOrSelfPermission(permission);
773 }
774
775 @Override
Svetoslavc6d1c342015-02-26 14:44:43 -0800776 public int checkSelfPermission(String permission) {
777 return mBase.checkSelfPermission(permission);
778 }
779
780 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800781 public void enforcePermission(
782 String permission, int pid, int uid, String message) {
783 mBase.enforcePermission(permission, pid, uid, message);
784 }
785
786 @Override
787 public void enforceCallingPermission(String permission, String message) {
788 mBase.enforceCallingPermission(permission, message);
789 }
790
791 @Override
792 public void enforceCallingOrSelfPermission(
793 String permission, String message) {
794 mBase.enforceCallingOrSelfPermission(permission, message);
795 }
796
797 @Override
798 public void grantUriPermission(String toPackage, Uri uri, int modeFlags) {
799 mBase.grantUriPermission(toPackage, uri, modeFlags);
800 }
801
802 @Override
803 public void revokeUriPermission(Uri uri, int modeFlags) {
804 mBase.revokeUriPermission(uri, modeFlags);
805 }
806
807 @Override
Dianne Hackborna47223f2017-03-30 13:49:13 -0700808 public void revokeUriPermission(String targetPackage, Uri uri, int modeFlags) {
809 mBase.revokeUriPermission(targetPackage, uri, modeFlags);
810 }
811
812 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800813 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags) {
814 return mBase.checkUriPermission(uri, pid, uid, modeFlags);
815 }
816
Dianne Hackbornff170242014-11-19 10:59:01 -0800817 /** @hide */
818 @Override
819 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags, IBinder callerToken) {
820 return mBase.checkUriPermission(uri, pid, uid, modeFlags, callerToken);
821 }
822
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800823 @Override
824 public int checkCallingUriPermission(Uri uri, int modeFlags) {
825 return mBase.checkCallingUriPermission(uri, modeFlags);
826 }
827
828 @Override
829 public int checkCallingOrSelfUriPermission(Uri uri, int modeFlags) {
830 return mBase.checkCallingOrSelfUriPermission(uri, modeFlags);
831 }
832
833 @Override
834 public int checkUriPermission(Uri uri, String readPermission,
835 String writePermission, int pid, int uid, int modeFlags) {
836 return mBase.checkUriPermission(uri, readPermission, writePermission,
837 pid, uid, modeFlags);
838 }
839
840 @Override
841 public void enforceUriPermission(
842 Uri uri, int pid, int uid, int modeFlags, String message) {
843 mBase.enforceUriPermission(uri, pid, uid, modeFlags, message);
844 }
845
846 @Override
847 public void enforceCallingUriPermission(
848 Uri uri, int modeFlags, String message) {
849 mBase.enforceCallingUriPermission(uri, modeFlags, message);
850 }
851
852 @Override
853 public void enforceCallingOrSelfUriPermission(
854 Uri uri, int modeFlags, String message) {
855 mBase.enforceCallingOrSelfUriPermission(uri, modeFlags, message);
856 }
857
858 @Override
859 public void enforceUriPermission(
860 Uri uri, String readPermission, String writePermission,
861 int pid, int uid, int modeFlags, String message) {
862 mBase.enforceUriPermission(
863 uri, readPermission, writePermission, pid, uid, modeFlags,
864 message);
865 }
866
867 @Override
868 public Context createPackageContext(String packageName, int flags)
869 throws PackageManager.NameNotFoundException {
870 return mBase.createPackageContext(packageName, flags);
871 }
Romain Guy870e09f2009-07-06 16:35:25 -0700872
Jeff Sharkey6d515712012-09-20 16:06:08 -0700873 /** @hide */
874 @Override
875 public Context createPackageContextAsUser(String packageName, int flags, UserHandle user)
876 throws PackageManager.NameNotFoundException {
877 return mBase.createPackageContextAsUser(packageName, flags, user);
878 }
879
Jim Millera75a8832013-02-07 16:53:32 -0800880 /** @hide */
Jeff Brown6e539312015-02-24 18:53:21 -0800881 @Override
Mathew Inwood5c0d3542018-08-14 13:54:31 +0100882 @UnsupportedAppUsage
Svetoslav976e8bd2014-07-16 15:12:03 -0700883 public Context createApplicationContext(ApplicationInfo application,
884 int flags) throws PackageManager.NameNotFoundException {
885 return mBase.createApplicationContext(application, flags);
886 }
887
888 /** @hide */
Jim Millera75a8832013-02-07 16:53:32 -0800889 @Override
Adam Lesinski4e862812016-11-21 16:02:24 -0800890 public Context createContextForSplit(String splitName)
891 throws PackageManager.NameNotFoundException {
892 return mBase.createContextForSplit(splitName);
893 }
894
895 /** @hide */
896 @Override
Jim Millera75a8832013-02-07 16:53:32 -0800897 public int getUserId() {
898 return mBase.getUserId();
899 }
900
Romain Guy870e09f2009-07-06 16:35:25 -0700901 @Override
Dianne Hackborn756220b2012-08-14 16:45:30 -0700902 public Context createConfigurationContext(Configuration overrideConfiguration) {
903 return mBase.createConfigurationContext(overrideConfiguration);
904 }
905
906 @Override
Jeff Browna492c3a2012-08-23 19:48:44 -0700907 public Context createDisplayContext(Display display) {
908 return mBase.createDisplayContext(display);
909 }
910
911 @Override
Romain Guy870e09f2009-07-06 16:35:25 -0700912 public boolean isRestricted() {
913 return mBase.isRestricted();
914 }
Jeff Brown98365d72012-08-19 20:30:52 -0700915
916 /** @hide */
917 @Override
Craig Mautner48d0d182013-06-11 07:53:06 -0700918 public DisplayAdjustments getDisplayAdjustments(int displayId) {
919 return mBase.getDisplayAdjustments(displayId);
Jeff Brown98365d72012-08-19 20:30:52 -0700920 }
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700921
Wale Ogunwale691af682019-02-11 03:09:10 -0800922 /** @hide */
923 @TestApi
Adam Lesinski4ece3d62016-06-16 18:05:41 -0700924 @Override
925 public Display getDisplay() {
926 return mBase.getDisplay();
927 }
928
Andrii Kulianb047b8b2017-02-08 18:38:26 -0800929 /**
930 * @hide
931 */
932 @Override
Yohei Yukawa5281b6b2018-10-15 07:38:25 +0800933 public int getDisplayId() {
934 return mBase.getDisplayId();
935 }
936
937 /**
938 * @hide
939 */
940 @Override
Andrii Kulianb047b8b2017-02-08 18:38:26 -0800941 public void updateDisplay(int displayId) {
942 mBase.updateDisplay(displayId);
943 }
944
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700945 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600946 public Context createDeviceProtectedStorageContext() {
947 return mBase.createDeviceProtectedStorageContext();
Jeff Sharkeye13529a2015-12-09 14:15:27 -0700948 }
949
950 /** {@hide} */
951 @SystemApi
952 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600953 public Context createCredentialProtectedStorageContext() {
954 return mBase.createCredentialProtectedStorageContext();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700955 }
956
957 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600958 public boolean isDeviceProtectedStorage() {
959 return mBase.isDeviceProtectedStorage();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700960 }
961
Jeff Sharkeye13529a2015-12-09 14:15:27 -0700962 /** {@hide} */
963 @SystemApi
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700964 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600965 public boolean isCredentialProtectedStorage() {
966 return mBase.isCredentialProtectedStorage();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700967 }
Tony Mak46aabe52016-11-14 12:53:06 +0000968
Seigo Nonaka6d6cd682017-06-22 08:22:18 -0700969 /** {@hide} */
970 @Override
971 public boolean canLoadUnsafeResources() {
972 return mBase.canLoadUnsafeResources();
973 }
974
Tony Mak46aabe52016-11-14 12:53:06 +0000975 /**
976 * @hide
977 */
978 @Override
979 public IBinder getActivityToken() {
980 return mBase.getActivityToken();
981 }
982
983 /**
984 * @hide
985 */
986 @Override
987 public IServiceConnection getServiceDispatcher(ServiceConnection conn, Handler handler,
988 int flags) {
989 return mBase.getServiceDispatcher(conn, handler, flags);
990 }
991
992 /**
993 * @hide
994 */
995 @Override
996 public IApplicationThread getIApplicationThread() {
997 return mBase.getIApplicationThread();
998 }
Tony Makbf9928d2016-12-22 11:02:45 +0000999
1000 /**
1001 * @hide
1002 */
1003 @Override
1004 public Handler getMainThreadHandler() {
1005 return mBase.getMainThreadHandler();
1006 }
Philip P. Moltmannff6d6d92017-05-06 10:41:40 -07001007
1008 /**
1009 * @hide
1010 */
Felipe Lemebb567ae2017-10-04 09:56:21 -07001011 @Override
Phil Weaver846cda932017-06-15 10:10:06 -07001012 public int getNextAutofillId() {
1013 return mBase.getNextAutofillId();
Philip P. Moltmannff6d6d92017-05-06 10:41:40 -07001014 }
Felipe Lemebb567ae2017-10-04 09:56:21 -07001015
1016 /**
1017 * @hide
1018 */
1019 @Override
1020 public AutofillClient getAutofillClient() {
1021 return mBase.getAutofillClient();
1022 }
1023
1024 /**
1025 * @hide
1026 */
1027 @Override
1028 public void setAutofillClient(AutofillClient client) {
1029 mBase.setAutofillClient(client);
1030 }
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001031
Felipe Lemea4f39cd2019-02-19 15:08:59 -08001032 /** @hide */
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001033 @Override
Felipe Lemea4f39cd2019-02-19 15:08:59 -08001034 public AutofillOptions getAutofillOptions() {
1035 return mBase == null ? null : mBase.getAutofillOptions();
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001036 }
1037
Felipe Lemea4f39cd2019-02-19 15:08:59 -08001038 /** @hide */
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001039 @Override
Felipe Lemea4f39cd2019-02-19 15:08:59 -08001040 public void setAutofillOptions(AutofillOptions options) {
Svet Ganov59b4bab2018-02-15 13:16:20 -08001041 if (mBase != null) {
Felipe Lemea4f39cd2019-02-19 15:08:59 -08001042 mBase.setAutofillOptions(options);
Svet Ganov59b4bab2018-02-15 13:16:20 -08001043 }
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001044 }
Felipe Lemeecb08be2018-11-27 15:48:47 -08001045
1046 /**
1047 * @hide
1048 */
1049 @Override
Felipe Leme326f15a2019-02-19 09:42:24 -08001050 public ContentCaptureOptions getContentCaptureOptions() {
1051 return mBase == null ? null : mBase.getContentCaptureOptions();
Felipe Lemeecb08be2018-11-27 15:48:47 -08001052 }
1053
1054 /**
1055 * @hide
1056 */
Felipe Leme326f15a2019-02-19 09:42:24 -08001057 @TestApi
Felipe Lemeecb08be2018-11-27 15:48:47 -08001058 @Override
Felipe Leme326f15a2019-02-19 09:42:24 -08001059 public void setContentCaptureOptions(ContentCaptureOptions options) {
1060 if (mBase != null) {
1061 mBase.setContentCaptureOptions(options);
1062 }
Felipe Lemeecb08be2018-11-27 15:48:47 -08001063 }
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001064}