blob: 0859f97e81a10bfd656a3860f224d45c6310f900 [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
Bo Liu58a57662019-03-06 20:21:45 +0000709 public boolean bindService(Intent service, int flags, Executor executor,
710 ServiceConnection conn) {
711 return mBase.bindService(service, flags, executor, conn);
712 }
713
714 @Override
715 public boolean bindIsolatedService(Intent service, int flags, String instanceName,
716 Executor executor, ServiceConnection conn) {
717 return mBase.bindIsolatedService(service, flags, instanceName, executor, conn);
Dianne Hackborn27b4d942018-11-12 15:01:40 -0800718 }
719
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800720 /** @hide */
721 @Override
Amith Yamasani27b89e62013-01-16 12:30:11 -0800722 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
723 UserHandle user) {
724 return mBase.bindServiceAsUser(service, conn, flags, user);
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800725 }
726
Jeff Davidson6192bff2017-01-09 10:55:53 -0800727 /** @hide */
728 @Override
729 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
730 Handler handler, UserHandle user) {
731 return mBase.bindServiceAsUser(service, conn, flags, handler, user);
732 }
733
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800734 @Override
Dianne Hackborna631d562018-11-20 15:58:15 -0800735 public void updateServiceGroup(ServiceConnection conn, int group, int importance) {
736 mBase.updateServiceGroup(conn, group, importance);
737 }
738
739 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800740 public void unbindService(ServiceConnection conn) {
741 mBase.unbindService(conn);
742 }
743
744 @Override
745 public boolean startInstrumentation(ComponentName className,
746 String profileFile, Bundle arguments) {
747 return mBase.startInstrumentation(className, profileFile, arguments);
748 }
749
750 @Override
751 public Object getSystemService(String name) {
752 return mBase.getSystemService(name);
753 }
754
755 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800756 public String getSystemServiceName(Class<?> serviceClass) {
757 return mBase.getSystemServiceName(serviceClass);
758 }
759
760 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800761 public int checkPermission(String permission, int pid, int uid) {
762 return mBase.checkPermission(permission, pid, uid);
763 }
764
Dianne Hackbornff170242014-11-19 10:59:01 -0800765 /** @hide */
766 @Override
767 public int checkPermission(String permission, int pid, int uid, IBinder callerToken) {
768 return mBase.checkPermission(permission, pid, uid, callerToken);
769 }
770
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800771 @Override
772 public int checkCallingPermission(String permission) {
773 return mBase.checkCallingPermission(permission);
774 }
775
776 @Override
777 public int checkCallingOrSelfPermission(String permission) {
778 return mBase.checkCallingOrSelfPermission(permission);
779 }
780
781 @Override
Svetoslavc6d1c342015-02-26 14:44:43 -0800782 public int checkSelfPermission(String permission) {
783 return mBase.checkSelfPermission(permission);
784 }
785
786 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800787 public void enforcePermission(
788 String permission, int pid, int uid, String message) {
789 mBase.enforcePermission(permission, pid, uid, message);
790 }
791
792 @Override
793 public void enforceCallingPermission(String permission, String message) {
794 mBase.enforceCallingPermission(permission, message);
795 }
796
797 @Override
798 public void enforceCallingOrSelfPermission(
799 String permission, String message) {
800 mBase.enforceCallingOrSelfPermission(permission, message);
801 }
802
803 @Override
804 public void grantUriPermission(String toPackage, Uri uri, int modeFlags) {
805 mBase.grantUriPermission(toPackage, uri, modeFlags);
806 }
807
808 @Override
809 public void revokeUriPermission(Uri uri, int modeFlags) {
810 mBase.revokeUriPermission(uri, modeFlags);
811 }
812
813 @Override
Dianne Hackborna47223f2017-03-30 13:49:13 -0700814 public void revokeUriPermission(String targetPackage, Uri uri, int modeFlags) {
815 mBase.revokeUriPermission(targetPackage, uri, modeFlags);
816 }
817
818 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800819 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags) {
820 return mBase.checkUriPermission(uri, pid, uid, modeFlags);
821 }
822
Dianne Hackbornff170242014-11-19 10:59:01 -0800823 /** @hide */
824 @Override
825 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags, IBinder callerToken) {
826 return mBase.checkUriPermission(uri, pid, uid, modeFlags, callerToken);
827 }
828
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800829 @Override
830 public int checkCallingUriPermission(Uri uri, int modeFlags) {
831 return mBase.checkCallingUriPermission(uri, modeFlags);
832 }
833
834 @Override
835 public int checkCallingOrSelfUriPermission(Uri uri, int modeFlags) {
836 return mBase.checkCallingOrSelfUriPermission(uri, modeFlags);
837 }
838
839 @Override
840 public int checkUriPermission(Uri uri, String readPermission,
841 String writePermission, int pid, int uid, int modeFlags) {
842 return mBase.checkUriPermission(uri, readPermission, writePermission,
843 pid, uid, modeFlags);
844 }
845
846 @Override
847 public void enforceUriPermission(
848 Uri uri, int pid, int uid, int modeFlags, String message) {
849 mBase.enforceUriPermission(uri, pid, uid, modeFlags, message);
850 }
851
852 @Override
853 public void enforceCallingUriPermission(
854 Uri uri, int modeFlags, String message) {
855 mBase.enforceCallingUriPermission(uri, modeFlags, message);
856 }
857
858 @Override
859 public void enforceCallingOrSelfUriPermission(
860 Uri uri, int modeFlags, String message) {
861 mBase.enforceCallingOrSelfUriPermission(uri, modeFlags, message);
862 }
863
864 @Override
865 public void enforceUriPermission(
866 Uri uri, String readPermission, String writePermission,
867 int pid, int uid, int modeFlags, String message) {
868 mBase.enforceUriPermission(
869 uri, readPermission, writePermission, pid, uid, modeFlags,
870 message);
871 }
872
873 @Override
874 public Context createPackageContext(String packageName, int flags)
875 throws PackageManager.NameNotFoundException {
876 return mBase.createPackageContext(packageName, flags);
877 }
Romain Guy870e09f2009-07-06 16:35:25 -0700878
Jeff Sharkey6d515712012-09-20 16:06:08 -0700879 /** @hide */
880 @Override
881 public Context createPackageContextAsUser(String packageName, int flags, UserHandle user)
882 throws PackageManager.NameNotFoundException {
883 return mBase.createPackageContextAsUser(packageName, flags, user);
884 }
885
Jim Millera75a8832013-02-07 16:53:32 -0800886 /** @hide */
Jeff Brown6e539312015-02-24 18:53:21 -0800887 @Override
Mathew Inwood5c0d3542018-08-14 13:54:31 +0100888 @UnsupportedAppUsage
Svetoslav976e8bd2014-07-16 15:12:03 -0700889 public Context createApplicationContext(ApplicationInfo application,
890 int flags) throws PackageManager.NameNotFoundException {
891 return mBase.createApplicationContext(application, flags);
892 }
893
894 /** @hide */
Jim Millera75a8832013-02-07 16:53:32 -0800895 @Override
Adam Lesinski4e862812016-11-21 16:02:24 -0800896 public Context createContextForSplit(String splitName)
897 throws PackageManager.NameNotFoundException {
898 return mBase.createContextForSplit(splitName);
899 }
900
901 /** @hide */
902 @Override
Jim Millera75a8832013-02-07 16:53:32 -0800903 public int getUserId() {
904 return mBase.getUserId();
905 }
906
Romain Guy870e09f2009-07-06 16:35:25 -0700907 @Override
Dianne Hackborn756220b2012-08-14 16:45:30 -0700908 public Context createConfigurationContext(Configuration overrideConfiguration) {
909 return mBase.createConfigurationContext(overrideConfiguration);
910 }
911
912 @Override
Jeff Browna492c3a2012-08-23 19:48:44 -0700913 public Context createDisplayContext(Display display) {
914 return mBase.createDisplayContext(display);
915 }
916
917 @Override
Romain Guy870e09f2009-07-06 16:35:25 -0700918 public boolean isRestricted() {
919 return mBase.isRestricted();
920 }
Jeff Brown98365d72012-08-19 20:30:52 -0700921
922 /** @hide */
923 @Override
Craig Mautner48d0d182013-06-11 07:53:06 -0700924 public DisplayAdjustments getDisplayAdjustments(int displayId) {
925 return mBase.getDisplayAdjustments(displayId);
Jeff Brown98365d72012-08-19 20:30:52 -0700926 }
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700927
Wale Ogunwale691af682019-02-11 03:09:10 -0800928 /** @hide */
929 @TestApi
Adam Lesinski4ece3d62016-06-16 18:05:41 -0700930 @Override
931 public Display getDisplay() {
932 return mBase.getDisplay();
933 }
934
Andrii Kulianb047b8b2017-02-08 18:38:26 -0800935 /**
936 * @hide
937 */
938 @Override
Yohei Yukawa5281b6b2018-10-15 07:38:25 +0800939 public int getDisplayId() {
940 return mBase.getDisplayId();
941 }
942
943 /**
944 * @hide
945 */
946 @Override
Andrii Kulianb047b8b2017-02-08 18:38:26 -0800947 public void updateDisplay(int displayId) {
948 mBase.updateDisplay(displayId);
949 }
950
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700951 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600952 public Context createDeviceProtectedStorageContext() {
953 return mBase.createDeviceProtectedStorageContext();
Jeff Sharkeye13529a2015-12-09 14:15:27 -0700954 }
955
956 /** {@hide} */
957 @SystemApi
958 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600959 public Context createCredentialProtectedStorageContext() {
960 return mBase.createCredentialProtectedStorageContext();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700961 }
962
963 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600964 public boolean isDeviceProtectedStorage() {
965 return mBase.isDeviceProtectedStorage();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700966 }
967
Jeff Sharkeye13529a2015-12-09 14:15:27 -0700968 /** {@hide} */
969 @SystemApi
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700970 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600971 public boolean isCredentialProtectedStorage() {
972 return mBase.isCredentialProtectedStorage();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700973 }
Tony Mak46aabe52016-11-14 12:53:06 +0000974
Seigo Nonaka6d6cd682017-06-22 08:22:18 -0700975 /** {@hide} */
976 @Override
977 public boolean canLoadUnsafeResources() {
978 return mBase.canLoadUnsafeResources();
979 }
980
Tony Mak46aabe52016-11-14 12:53:06 +0000981 /**
982 * @hide
983 */
984 @Override
985 public IBinder getActivityToken() {
986 return mBase.getActivityToken();
987 }
988
989 /**
990 * @hide
991 */
992 @Override
993 public IServiceConnection getServiceDispatcher(ServiceConnection conn, Handler handler,
994 int flags) {
995 return mBase.getServiceDispatcher(conn, handler, flags);
996 }
997
998 /**
999 * @hide
1000 */
1001 @Override
1002 public IApplicationThread getIApplicationThread() {
1003 return mBase.getIApplicationThread();
1004 }
Tony Makbf9928d2016-12-22 11:02:45 +00001005
1006 /**
1007 * @hide
1008 */
1009 @Override
1010 public Handler getMainThreadHandler() {
1011 return mBase.getMainThreadHandler();
1012 }
Philip P. Moltmannff6d6d92017-05-06 10:41:40 -07001013
1014 /**
1015 * @hide
1016 */
Felipe Lemebb567ae2017-10-04 09:56:21 -07001017 @Override
Phil Weaver846cda932017-06-15 10:10:06 -07001018 public int getNextAutofillId() {
1019 return mBase.getNextAutofillId();
Philip P. Moltmannff6d6d92017-05-06 10:41:40 -07001020 }
Felipe Lemebb567ae2017-10-04 09:56:21 -07001021
1022 /**
1023 * @hide
1024 */
1025 @Override
1026 public AutofillClient getAutofillClient() {
1027 return mBase.getAutofillClient();
1028 }
1029
1030 /**
1031 * @hide
1032 */
1033 @Override
1034 public void setAutofillClient(AutofillClient client) {
1035 mBase.setAutofillClient(client);
1036 }
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001037
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 AutofillOptions getAutofillOptions() {
1041 return mBase == null ? null : mBase.getAutofillOptions();
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001042 }
1043
Felipe Lemea4f39cd2019-02-19 15:08:59 -08001044 /** @hide */
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001045 @Override
Felipe Lemea4f39cd2019-02-19 15:08:59 -08001046 public void setAutofillOptions(AutofillOptions options) {
Svet Ganov59b4bab2018-02-15 13:16:20 -08001047 if (mBase != null) {
Felipe Lemea4f39cd2019-02-19 15:08:59 -08001048 mBase.setAutofillOptions(options);
Svet Ganov59b4bab2018-02-15 13:16:20 -08001049 }
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001050 }
Felipe Lemeecb08be2018-11-27 15:48:47 -08001051
1052 /**
1053 * @hide
1054 */
1055 @Override
Felipe Leme326f15a2019-02-19 09:42:24 -08001056 public ContentCaptureOptions getContentCaptureOptions() {
1057 return mBase == null ? null : mBase.getContentCaptureOptions();
Felipe Lemeecb08be2018-11-27 15:48:47 -08001058 }
1059
1060 /**
1061 * @hide
1062 */
Felipe Leme326f15a2019-02-19 09:42:24 -08001063 @TestApi
Felipe Lemeecb08be2018-11-27 15:48:47 -08001064 @Override
Felipe Leme326f15a2019-02-19 09:42:24 -08001065 public void setContentCaptureOptions(ContentCaptureOptions options) {
1066 if (mBase != null) {
1067 mBase.setContentCaptureOptions(options);
1068 }
Felipe Lemeecb08be2018-11-27 15:48:47 -08001069 }
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001070}