blob: 3cdfc6ee4527115a1e6157e6b7040378eae4f757 [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
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700389 public void startActivityAsUser(Intent intent, UserHandle user) {
390 mBase.startActivityAsUser(intent, user);
Amith Yamasani82644082012-08-03 13:09:11 -0700391 }
392
Clara Bayarrid5bf3ed2015-03-27 17:32:45 +0000393 /** @hide **/
394 public void startActivityForResult(
395 String who, Intent intent, int requestCode, Bundle options) {
396 mBase.startActivityForResult(who, intent, requestCode, options);
397 }
398
399 /** @hide **/
400 public boolean canStartActivityForResult() {
401 return mBase.canStartActivityForResult();
402 }
403
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800404 @Override
Dianne Hackborna4972e92012-03-14 10:38:05 -0700405 public void startActivity(Intent intent, Bundle options) {
406 mBase.startActivity(intent, options);
407 }
408
Amith Yamasani258848d2012-08-10 17:06:33 -0700409 /** @hide */
410 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700411 public void startActivityAsUser(Intent intent, Bundle options, UserHandle user) {
412 mBase.startActivityAsUser(intent, options, user);
Amith Yamasani258848d2012-08-10 17:06:33 -0700413 }
414
Dianne Hackborna4972e92012-03-14 10:38:05 -0700415 @Override
Dianne Hackborn621e17d2010-11-22 15:59:56 -0800416 public void startActivities(Intent[] intents) {
417 mBase.startActivities(intents);
418 }
419
420 @Override
Dianne Hackborna4972e92012-03-14 10:38:05 -0700421 public void startActivities(Intent[] intents, Bundle options) {
422 mBase.startActivities(intents, options);
423 }
424
Amith Yamasaniea7e9152012-09-24 16:11:18 -0700425 /** @hide */
426 @Override
Selim Cinek7fa385a2018-01-24 08:35:28 -0800427 public int startActivitiesAsUser(Intent[] intents, Bundle options, UserHandle userHandle) {
428 return mBase.startActivitiesAsUser(intents, options, userHandle);
Amith Yamasaniea7e9152012-09-24 16:11:18 -0700429 }
430
Dianne Hackborna4972e92012-03-14 10:38:05 -0700431 @Override
Dianne Hackbornfa82f222009-09-17 15:14:12 -0700432 public void startIntentSender(IntentSender intent,
433 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
434 throws IntentSender.SendIntentException {
435 mBase.startIntentSender(intent, fillInIntent, flagsMask,
436 flagsValues, extraFlags);
437 }
Dianne Hackborna4972e92012-03-14 10:38:05 -0700438
439 @Override
440 public void startIntentSender(IntentSender intent,
441 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags,
442 Bundle options) throws IntentSender.SendIntentException {
443 mBase.startIntentSender(intent, fillInIntent, flagsMask,
444 flagsValues, extraFlags, options);
445 }
Dianne Hackbornfa82f222009-09-17 15:14:12 -0700446
447 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800448 public void sendBroadcast(Intent intent) {
449 mBase.sendBroadcast(intent);
450 }
451
Amith Yamasani67cf7d32012-02-16 14:31:23 -0800452 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800453 public void sendBroadcast(Intent intent, String receiverPermission) {
454 mBase.sendBroadcast(intent, receiverPermission);
455 }
456
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800457 /** @hide */
Fyodor Kupolovd4fd8c72015-07-13 19:19:25 -0700458 @Override
459 public void sendBroadcastMultiplePermissions(Intent intent, String[] receiverPermissions) {
460 mBase.sendBroadcastMultiplePermissions(intent, receiverPermissions);
461 }
462
463 /** @hide */
Tyler Gunnf955e562018-04-26 14:43:31 -0700464 @Override
465 public void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user,
466 String[] receiverPermissions) {
467 mBase.sendBroadcastAsUserMultiplePermissions(intent, user, receiverPermissions);
468 }
469
470 /** @hide */
Dianne Hackborna750a632015-06-16 17:18:23 -0700471 @SystemApi
472 @Override
473 public void sendBroadcast(Intent intent, String receiverPermission, Bundle options) {
474 mBase.sendBroadcast(intent, receiverPermission, options);
475 }
476
477 /** @hide */
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800478 @Override
479 public void sendBroadcast(Intent intent, String receiverPermission, int appOp) {
480 mBase.sendBroadcast(intent, receiverPermission, appOp);
481 }
482
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800483 @Override
484 public void sendOrderedBroadcast(Intent intent,
485 String receiverPermission) {
486 mBase.sendOrderedBroadcast(intent, receiverPermission);
487 }
488
489 @Override
490 public void sendOrderedBroadcast(
491 Intent intent, String receiverPermission, BroadcastReceiver resultReceiver,
492 Handler scheduler, int initialCode, String initialData,
493 Bundle initialExtras) {
494 mBase.sendOrderedBroadcast(intent, receiverPermission,
495 resultReceiver, scheduler, initialCode,
496 initialData, initialExtras);
497 }
498
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800499 /** @hide */
Dianne Hackborna750a632015-06-16 17:18:23 -0700500 @SystemApi
501 @Override
502 public void sendOrderedBroadcast(
503 Intent intent, String receiverPermission, Bundle options, BroadcastReceiver resultReceiver,
504 Handler scheduler, int initialCode, String initialData,
505 Bundle initialExtras) {
506 mBase.sendOrderedBroadcast(intent, receiverPermission,
507 options, resultReceiver, scheduler, initialCode,
508 initialData, initialExtras);
509 }
510
511 /** @hide */
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800512 @Override
513 public void sendOrderedBroadcast(
514 Intent intent, String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
515 Handler scheduler, int initialCode, String initialData,
516 Bundle initialExtras) {
517 mBase.sendOrderedBroadcast(intent, receiverPermission, appOp,
518 resultReceiver, scheduler, initialCode,
519 initialData, initialExtras);
520 }
521
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800522 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700523 public void sendBroadcastAsUser(Intent intent, UserHandle user) {
524 mBase.sendBroadcastAsUser(intent, user);
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700525 }
526
527 @Override
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700528 public void sendBroadcastAsUser(Intent intent, UserHandle user,
529 String receiverPermission) {
530 mBase.sendBroadcastAsUser(intent, user, receiverPermission);
531 }
532
Svet Ganov16a16892015-04-16 10:32:04 -0700533 /** @hide */
534 @Override
535 public void sendBroadcastAsUser(Intent intent, UserHandle user,
Chad Brubaker52c8edc2016-07-25 14:30:26 -0700536 String receiverPermission, Bundle options) {
537 mBase.sendBroadcastAsUser(intent, user, receiverPermission, options);
538 }
539
540 /** @hide */
541 @Override
542 public void sendBroadcastAsUser(Intent intent, UserHandle user,
Svet Ganov16a16892015-04-16 10:32:04 -0700543 String receiverPermission, int appOp) {
544 mBase.sendBroadcastAsUser(intent, user, receiverPermission, appOp);
545 }
546
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700547 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700548 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700549 String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler,
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700550 int initialCode, String initialData, Bundle initialExtras) {
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700551 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, resultReceiver,
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700552 scheduler, initialCode, initialData, initialExtras);
553 }
554
Amith Yamasani3cf75722014-05-16 12:37:29 -0700555 /** @hide */
556 @Override
557 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
558 String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
Dianne Hackbornfd854ee2015-07-13 18:00:37 -0700559 Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
Amith Yamasani3cf75722014-05-16 12:37:29 -0700560 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, resultReceiver,
561 scheduler, initialCode, initialData, initialExtras);
562 }
563
Dianne Hackbornfd854ee2015-07-13 18:00:37 -0700564 /** @hide */
565 @Override
566 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
567 String receiverPermission, int appOp, Bundle options, BroadcastReceiver resultReceiver,
568 Handler scheduler, int initialCode, String initialData, Bundle initialExtras) {
569 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, options,
570 resultReceiver, scheduler, initialCode, initialData, initialExtras);
571 }
572
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700573 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800574 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800575 public void sendStickyBroadcast(Intent intent) {
576 mBase.sendStickyBroadcast(intent);
577 }
578
579 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800580 @Deprecated
Dianne Hackbornefa199f2009-09-19 12:03:15 -0700581 public void sendStickyOrderedBroadcast(
582 Intent intent, BroadcastReceiver resultReceiver,
583 Handler scheduler, int initialCode, String initialData,
584 Bundle initialExtras) {
585 mBase.sendStickyOrderedBroadcast(intent,
586 resultReceiver, scheduler, initialCode,
587 initialData, initialExtras);
588 }
589
590 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800591 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800592 public void removeStickyBroadcast(Intent intent) {
593 mBase.removeStickyBroadcast(intent);
594 }
595
596 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800597 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700598 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user) {
599 mBase.sendStickyBroadcastAsUser(intent, user);
600 }
601
Dianne Hackborne0e413e2015-12-09 17:22:26 -0800602 /** @hide */
603 @Override
604 @Deprecated
605 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user, Bundle options) {
606 mBase.sendStickyBroadcastAsUser(intent, user, options);
607 }
608
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700609 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800610 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700611 public void sendStickyOrderedBroadcastAsUser(Intent intent,
612 UserHandle user, BroadcastReceiver resultReceiver,
613 Handler scheduler, int initialCode, String initialData,
614 Bundle initialExtras) {
615 mBase.sendStickyOrderedBroadcastAsUser(intent, user, resultReceiver,
616 scheduler, initialCode, initialData, initialExtras);
617 }
618
619 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800620 @Deprecated
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700621 public void removeStickyBroadcastAsUser(Intent intent, UserHandle user) {
622 mBase.removeStickyBroadcastAsUser(intent, user);
623 }
624
625 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800626 public Intent registerReceiver(
627 BroadcastReceiver receiver, IntentFilter filter) {
628 return mBase.registerReceiver(receiver, filter);
629 }
630
631 @Override
632 public Intent registerReceiver(
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700633 BroadcastReceiver receiver, IntentFilter filter, int flags) {
634 return mBase.registerReceiver(receiver, filter, flags);
Chad Brubaker816c83b2017-03-02 10:27:59 -0800635 }
636
637 @Override
638 public Intent registerReceiver(
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800639 BroadcastReceiver receiver, IntentFilter filter,
640 String broadcastPermission, Handler scheduler) {
641 return mBase.registerReceiver(receiver, filter, broadcastPermission,
642 scheduler);
643 }
644
Chad Brubaker816c83b2017-03-02 10:27:59 -0800645 @Override
646 public Intent registerReceiver(
647 BroadcastReceiver receiver, IntentFilter filter,
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700648 String broadcastPermission, Handler scheduler, int flags) {
Chad Brubaker816c83b2017-03-02 10:27:59 -0800649 return mBase.registerReceiver(receiver, filter, broadcastPermission,
Chad Brubaker6d6015f2017-04-18 11:25:16 -0700650 scheduler, flags);
Chad Brubaker816c83b2017-03-02 10:27:59 -0800651 }
652
Dianne Hackborn20e80982012-08-31 19:00:44 -0700653 /** @hide */
654 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100655 @UnsupportedAppUsage
Dianne Hackborn20e80982012-08-31 19:00:44 -0700656 public Intent registerReceiverAsUser(
657 BroadcastReceiver receiver, UserHandle user, IntentFilter filter,
658 String broadcastPermission, Handler scheduler) {
659 return mBase.registerReceiverAsUser(receiver, user, filter, broadcastPermission,
660 scheduler);
661 }
662
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800663 @Override
664 public void unregisterReceiver(BroadcastReceiver receiver) {
665 mBase.unregisterReceiver(receiver);
666 }
667
668 @Override
669 public ComponentName startService(Intent service) {
670 return mBase.startService(service);
671 }
672
Christopher Tate08992ac2017-03-21 11:37:06 -0700673 @Override
674 public ComponentName startForegroundService(Intent service) {
675 return mBase.startForegroundService(service);
676 }
677
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800678 @Override
679 public boolean stopService(Intent name) {
680 return mBase.stopService(name);
681 }
682
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700683 /** @hide */
684 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100685 @UnsupportedAppUsage
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700686 public ComponentName startServiceAsUser(Intent service, UserHandle user) {
687 return mBase.startServiceAsUser(service, user);
688 }
689
690 /** @hide */
691 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100692 @UnsupportedAppUsage
Christopher Tate08992ac2017-03-21 11:37:06 -0700693 public ComponentName startForegroundServiceAsUser(Intent service, UserHandle user) {
694 return mBase.startForegroundServiceAsUser(service, user);
695 }
696
Christopher Tate42a386b2016-11-07 12:21:21 -0800697 /** @hide */
698 @Override
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700699 public boolean stopServiceAsUser(Intent name, UserHandle user) {
700 return mBase.stopServiceAsUser(name, user);
701 }
702
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800703 @Override
704 public boolean bindService(Intent service, ServiceConnection conn,
705 int flags) {
706 return mBase.bindService(service, conn, flags);
707 }
708
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800709 /** @hide */
710 @Override
Amith Yamasani27b89e62013-01-16 12:30:11 -0800711 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
712 UserHandle user) {
713 return mBase.bindServiceAsUser(service, conn, flags, user);
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800714 }
715
Jeff Davidson6192bff2017-01-09 10:55:53 -0800716 /** @hide */
717 @Override
718 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
719 Handler handler, UserHandle user) {
720 return mBase.bindServiceAsUser(service, conn, flags, handler, user);
721 }
722
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800723 @Override
724 public void unbindService(ServiceConnection conn) {
725 mBase.unbindService(conn);
726 }
727
728 @Override
729 public boolean startInstrumentation(ComponentName className,
730 String profileFile, Bundle arguments) {
731 return mBase.startInstrumentation(className, profileFile, arguments);
732 }
733
734 @Override
735 public Object getSystemService(String name) {
736 return mBase.getSystemService(name);
737 }
738
739 @Override
Jeff Brown6e539312015-02-24 18:53:21 -0800740 public String getSystemServiceName(Class<?> serviceClass) {
741 return mBase.getSystemServiceName(serviceClass);
742 }
743
744 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800745 public int checkPermission(String permission, int pid, int uid) {
746 return mBase.checkPermission(permission, pid, uid);
747 }
748
Dianne Hackbornff170242014-11-19 10:59:01 -0800749 /** @hide */
750 @Override
751 public int checkPermission(String permission, int pid, int uid, IBinder callerToken) {
752 return mBase.checkPermission(permission, pid, uid, callerToken);
753 }
754
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800755 @Override
756 public int checkCallingPermission(String permission) {
757 return mBase.checkCallingPermission(permission);
758 }
759
760 @Override
761 public int checkCallingOrSelfPermission(String permission) {
762 return mBase.checkCallingOrSelfPermission(permission);
763 }
764
765 @Override
Svetoslavc6d1c342015-02-26 14:44:43 -0800766 public int checkSelfPermission(String permission) {
767 return mBase.checkSelfPermission(permission);
768 }
769
770 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800771 public void enforcePermission(
772 String permission, int pid, int uid, String message) {
773 mBase.enforcePermission(permission, pid, uid, message);
774 }
775
776 @Override
777 public void enforceCallingPermission(String permission, String message) {
778 mBase.enforceCallingPermission(permission, message);
779 }
780
781 @Override
782 public void enforceCallingOrSelfPermission(
783 String permission, String message) {
784 mBase.enforceCallingOrSelfPermission(permission, message);
785 }
786
787 @Override
788 public void grantUriPermission(String toPackage, Uri uri, int modeFlags) {
789 mBase.grantUriPermission(toPackage, uri, modeFlags);
790 }
791
792 @Override
793 public void revokeUriPermission(Uri uri, int modeFlags) {
794 mBase.revokeUriPermission(uri, modeFlags);
795 }
796
797 @Override
Dianne Hackborna47223f2017-03-30 13:49:13 -0700798 public void revokeUriPermission(String targetPackage, Uri uri, int modeFlags) {
799 mBase.revokeUriPermission(targetPackage, uri, modeFlags);
800 }
801
802 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800803 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags) {
804 return mBase.checkUriPermission(uri, pid, uid, modeFlags);
805 }
806
Dianne Hackbornff170242014-11-19 10:59:01 -0800807 /** @hide */
808 @Override
809 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags, IBinder callerToken) {
810 return mBase.checkUriPermission(uri, pid, uid, modeFlags, callerToken);
811 }
812
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800813 @Override
814 public int checkCallingUriPermission(Uri uri, int modeFlags) {
815 return mBase.checkCallingUriPermission(uri, modeFlags);
816 }
817
818 @Override
819 public int checkCallingOrSelfUriPermission(Uri uri, int modeFlags) {
820 return mBase.checkCallingOrSelfUriPermission(uri, modeFlags);
821 }
822
823 @Override
824 public int checkUriPermission(Uri uri, String readPermission,
825 String writePermission, int pid, int uid, int modeFlags) {
826 return mBase.checkUriPermission(uri, readPermission, writePermission,
827 pid, uid, modeFlags);
828 }
829
830 @Override
831 public void enforceUriPermission(
832 Uri uri, int pid, int uid, int modeFlags, String message) {
833 mBase.enforceUriPermission(uri, pid, uid, modeFlags, message);
834 }
835
836 @Override
837 public void enforceCallingUriPermission(
838 Uri uri, int modeFlags, String message) {
839 mBase.enforceCallingUriPermission(uri, modeFlags, message);
840 }
841
842 @Override
843 public void enforceCallingOrSelfUriPermission(
844 Uri uri, int modeFlags, String message) {
845 mBase.enforceCallingOrSelfUriPermission(uri, modeFlags, message);
846 }
847
848 @Override
849 public void enforceUriPermission(
850 Uri uri, String readPermission, String writePermission,
851 int pid, int uid, int modeFlags, String message) {
852 mBase.enforceUriPermission(
853 uri, readPermission, writePermission, pid, uid, modeFlags,
854 message);
855 }
856
857 @Override
858 public Context createPackageContext(String packageName, int flags)
859 throws PackageManager.NameNotFoundException {
860 return mBase.createPackageContext(packageName, flags);
861 }
Romain Guy870e09f2009-07-06 16:35:25 -0700862
Jeff Sharkey6d515712012-09-20 16:06:08 -0700863 /** @hide */
864 @Override
865 public Context createPackageContextAsUser(String packageName, int flags, UserHandle user)
866 throws PackageManager.NameNotFoundException {
867 return mBase.createPackageContextAsUser(packageName, flags, user);
868 }
869
Jim Millera75a8832013-02-07 16:53:32 -0800870 /** @hide */
Jeff Brown6e539312015-02-24 18:53:21 -0800871 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100872 @UnsupportedAppUsage
Svetoslav976e8bd2014-07-16 15:12:03 -0700873 public Context createApplicationContext(ApplicationInfo application,
874 int flags) throws PackageManager.NameNotFoundException {
875 return mBase.createApplicationContext(application, flags);
876 }
877
878 /** @hide */
Jim Millera75a8832013-02-07 16:53:32 -0800879 @Override
Adam Lesinski4e862812016-11-21 16:02:24 -0800880 public Context createContextForSplit(String splitName)
881 throws PackageManager.NameNotFoundException {
882 return mBase.createContextForSplit(splitName);
883 }
884
885 /** @hide */
886 @Override
Jim Millera75a8832013-02-07 16:53:32 -0800887 public int getUserId() {
888 return mBase.getUserId();
889 }
890
Romain Guy870e09f2009-07-06 16:35:25 -0700891 @Override
Dianne Hackborn756220b2012-08-14 16:45:30 -0700892 public Context createConfigurationContext(Configuration overrideConfiguration) {
893 return mBase.createConfigurationContext(overrideConfiguration);
894 }
895
896 @Override
Jeff Browna492c3a2012-08-23 19:48:44 -0700897 public Context createDisplayContext(Display display) {
898 return mBase.createDisplayContext(display);
899 }
900
901 @Override
Romain Guy870e09f2009-07-06 16:35:25 -0700902 public boolean isRestricted() {
903 return mBase.isRestricted();
904 }
Jeff Brown98365d72012-08-19 20:30:52 -0700905
906 /** @hide */
907 @Override
Craig Mautner48d0d182013-06-11 07:53:06 -0700908 public DisplayAdjustments getDisplayAdjustments(int displayId) {
909 return mBase.getDisplayAdjustments(displayId);
Jeff Brown98365d72012-08-19 20:30:52 -0700910 }
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700911
Adam Lesinski4ece3d62016-06-16 18:05:41 -0700912 /**
913 * @hide
914 */
915 @Override
Mathew Inwood1c77a112018-08-14 14:06:26 +0100916 @UnsupportedAppUsage
Adam Lesinski4ece3d62016-06-16 18:05:41 -0700917 public Display getDisplay() {
918 return mBase.getDisplay();
919 }
920
Andrii Kulianb047b8b2017-02-08 18:38:26 -0800921 /**
922 * @hide
923 */
924 @Override
925 public void updateDisplay(int displayId) {
926 mBase.updateDisplay(displayId);
927 }
928
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700929 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600930 public Context createDeviceProtectedStorageContext() {
931 return mBase.createDeviceProtectedStorageContext();
Jeff Sharkeye13529a2015-12-09 14:15:27 -0700932 }
933
934 /** {@hide} */
935 @SystemApi
936 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600937 public Context createCredentialProtectedStorageContext() {
938 return mBase.createCredentialProtectedStorageContext();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700939 }
940
941 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600942 public boolean isDeviceProtectedStorage() {
943 return mBase.isDeviceProtectedStorage();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700944 }
945
Jeff Sharkeye13529a2015-12-09 14:15:27 -0700946 /** {@hide} */
947 @SystemApi
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700948 @Override
Jeff Sharkey8a372a02016-03-16 16:25:45 -0600949 public boolean isCredentialProtectedStorage() {
950 return mBase.isCredentialProtectedStorage();
Jeff Sharkey7a30a302015-12-08 14:20:06 -0700951 }
Tony Mak46aabe52016-11-14 12:53:06 +0000952
Seigo Nonaka6d6cd682017-06-22 08:22:18 -0700953 /** {@hide} */
954 @Override
955 public boolean canLoadUnsafeResources() {
956 return mBase.canLoadUnsafeResources();
957 }
958
Tony Mak46aabe52016-11-14 12:53:06 +0000959 /**
960 * @hide
961 */
962 @Override
963 public IBinder getActivityToken() {
964 return mBase.getActivityToken();
965 }
966
967 /**
968 * @hide
969 */
970 @Override
971 public IServiceConnection getServiceDispatcher(ServiceConnection conn, Handler handler,
972 int flags) {
973 return mBase.getServiceDispatcher(conn, handler, flags);
974 }
975
976 /**
977 * @hide
978 */
979 @Override
980 public IApplicationThread getIApplicationThread() {
981 return mBase.getIApplicationThread();
982 }
Tony Makbf9928d2016-12-22 11:02:45 +0000983
984 /**
985 * @hide
986 */
987 @Override
988 public Handler getMainThreadHandler() {
989 return mBase.getMainThreadHandler();
990 }
Philip P. Moltmannff6d6d92017-05-06 10:41:40 -0700991
992 /**
993 * @hide
994 */
Felipe Lemebb567ae2017-10-04 09:56:21 -0700995 @Override
Phil Weaver846cda932017-06-15 10:10:06 -0700996 public int getNextAutofillId() {
997 return mBase.getNextAutofillId();
Philip P. Moltmannff6d6d92017-05-06 10:41:40 -0700998 }
Felipe Lemebb567ae2017-10-04 09:56:21 -0700999
1000 /**
1001 * @hide
1002 */
1003 @Override
1004 public AutofillClient getAutofillClient() {
1005 return mBase.getAutofillClient();
1006 }
1007
1008 /**
1009 * @hide
1010 */
1011 @Override
1012 public void setAutofillClient(AutofillClient client) {
1013 mBase.setAutofillClient(client);
1014 }
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001015
1016 /**
1017 * @hide
1018 */
1019 @Override
1020 public boolean isAutofillCompatibilityEnabled() {
Svet Ganov59b4bab2018-02-15 13:16:20 -08001021 return mBase != null && mBase.isAutofillCompatibilityEnabled();
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001022 }
1023
1024 /**
1025 * @hide
1026 */
Svet Ganov47b37aa2018-02-16 00:11:39 -08001027 @TestApi
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001028 @Override
1029 public void setAutofillCompatibilityEnabled(boolean autofillCompatEnabled) {
Svet Ganov59b4bab2018-02-15 13:16:20 -08001030 if (mBase != null) {
1031 mBase.setAutofillCompatibilityEnabled(autofillCompatEnabled);
1032 }
Svetoslav Ganov24c90452017-12-27 15:17:14 -08001033 }
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001034}