blob: 606a1f4dadbdc280b1902d9920481b02cdf97885 [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 Hackborn5ac72a22012-08-29 18:32:08 -070019import android.app.Activity;
20import android.app.ActivityManagerNative;
21import android.app.LoadedApk;
Dianne Hackborn5c1e00b2009-06-18 17:10:57 -070022import android.content.pm.ApplicationInfo;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080023import android.content.pm.PackageManager;
24import android.content.res.AssetManager;
Dianne Hackborn756220b2012-08-14 16:45:30 -070025import android.content.res.Configuration;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080026import android.content.res.Resources;
Vasu Nori74f170f2010-06-01 18:06:18 -070027import android.database.DatabaseErrorHandler;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080028import android.database.sqlite.SQLiteDatabase;
29import android.database.sqlite.SQLiteDatabase.CursorFactory;
30import android.graphics.Bitmap;
31import android.graphics.drawable.Drawable;
32import android.net.Uri;
33import android.os.Bundle;
34import android.os.Handler;
35import android.os.Looper;
Dianne Hackborn5ac72a22012-08-29 18:32:08 -070036import android.os.RemoteException;
Dianne Hackborn79af1dd2012-08-16 16:42:52 -070037import android.os.UserHandle;
Craig Mautner48d0d182013-06-11 07:53:06 -070038import android.view.DisplayAdjustments;
Jeff Browna492c3a2012-08-23 19:48:44 -070039import android.view.Display;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080040
41import java.io.File;
42import java.io.FileInputStream;
43import java.io.FileNotFoundException;
44import java.io.FileOutputStream;
45import java.io.IOException;
46import java.io.InputStream;
47
48/**
49 * Proxying implementation of Context that simply delegates all of its calls to
50 * another Context. Can be subclassed to modify behavior without changing
51 * the original Context.
52 */
53public class ContextWrapper extends Context {
54 Context mBase;
55
56 public ContextWrapper(Context base) {
57 mBase = base;
58 }
59
60 /**
61 * Set the base context for this ContextWrapper. All calls will then be
62 * delegated to the base context. Throws
63 * IllegalStateException if a base context has already been set.
64 *
65 * @param base The new base context for this wrapper.
66 */
67 protected void attachBaseContext(Context base) {
68 if (mBase != null) {
69 throw new IllegalStateException("Base context already set");
70 }
71 mBase = base;
72 }
73
74 /**
75 * @return the base context as set by the constructor or setBaseContext
76 */
77 public Context getBaseContext() {
78 return mBase;
79 }
80
81 @Override
82 public AssetManager getAssets() {
83 return mBase.getAssets();
84 }
85
86 @Override
87 public Resources getResources()
88 {
89 return mBase.getResources();
90 }
91
92 @Override
93 public PackageManager getPackageManager() {
94 return mBase.getPackageManager();
95 }
96
97 @Override
98 public ContentResolver getContentResolver() {
99 return mBase.getContentResolver();
100 }
101
102 @Override
103 public Looper getMainLooper() {
104 return mBase.getMainLooper();
105 }
106
107 @Override
108 public Context getApplicationContext() {
109 return mBase.getApplicationContext();
110 }
111
112 @Override
113 public void setTheme(int resid) {
114 mBase.setTheme(resid);
115 }
116
Dianne Hackborn247fe742011-01-08 17:25:57 -0800117 /** @hide */
118 @Override
119 public int getThemeResId() {
120 return mBase.getThemeResId();
121 }
122
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800123 @Override
124 public Resources.Theme getTheme() {
125 return mBase.getTheme();
126 }
127
128 @Override
129 public ClassLoader getClassLoader() {
130 return mBase.getClassLoader();
131 }
132
133 @Override
134 public String getPackageName() {
135 return mBase.getPackageName();
136 }
137
Dianne Hackbornd8e1dbb2013-01-17 17:47:37 -0800138 /** @hide */
139 @Override
140 public String getBasePackageName() {
141 return mBase.getBasePackageName();
142 }
143
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800144 @Override
Dianne Hackborn5c1e00b2009-06-18 17:10:57 -0700145 public ApplicationInfo getApplicationInfo() {
146 return mBase.getApplicationInfo();
147 }
148
149 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800150 public String getPackageResourcePath() {
151 return mBase.getPackageResourcePath();
152 }
153
154 @Override
155 public String getPackageCodePath() {
156 return mBase.getPackageCodePath();
157 }
158
Dianne Hackborn7f205432009-07-28 00:13:47 -0700159 /** @hide */
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800160 @Override
Joe Onorato23ecae32009-06-10 17:07:15 -0700161 public File getSharedPrefsFile(String name) {
162 return mBase.getSharedPrefsFile(name);
163 }
164
165 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800166 public SharedPreferences getSharedPreferences(String name, int mode) {
167 return mBase.getSharedPreferences(name, mode);
168 }
169
170 @Override
171 public FileInputStream openFileInput(String name)
172 throws FileNotFoundException {
173 return mBase.openFileInput(name);
174 }
175
176 @Override
177 public FileOutputStream openFileOutput(String name, int mode)
178 throws FileNotFoundException {
179 return mBase.openFileOutput(name, mode);
180 }
181
182 @Override
183 public boolean deleteFile(String name) {
184 return mBase.deleteFile(name);
185 }
186
187 @Override
188 public File getFileStreamPath(String name) {
189 return mBase.getFileStreamPath(name);
190 }
191
192 @Override
193 public String[] fileList() {
194 return mBase.fileList();
195 }
196
197 @Override
198 public File getFilesDir() {
199 return mBase.getFilesDir();
200 }
201
202 @Override
Dianne Hackborne83cefce2010-02-04 17:38:14 -0800203 public File getExternalFilesDir(String type) {
204 return mBase.getExternalFilesDir(type);
205 }
206
207 @Override
Dianne Hackborn805fd7e2011-01-16 18:30:29 -0800208 public File getObbDir() {
209 return mBase.getObbDir();
210 }
211
212 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800213 public File getCacheDir() {
214 return mBase.getCacheDir();
215 }
216
217 @Override
Dianne Hackborne83cefce2010-02-04 17:38:14 -0800218 public File getExternalCacheDir() {
219 return mBase.getExternalCacheDir();
220 }
221
222 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800223 public File getDir(String name, int mode) {
224 return mBase.getDir(name, mode);
225 }
226
227 @Override
228 public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory) {
229 return mBase.openOrCreateDatabase(name, mode, factory);
230 }
231
232 @Override
Vasu Nori74f170f2010-06-01 18:06:18 -0700233 public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory,
234 DatabaseErrorHandler errorHandler) {
235 return mBase.openOrCreateDatabase(name, mode, factory, errorHandler);
236 }
237
238 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800239 public boolean deleteDatabase(String name) {
240 return mBase.deleteDatabase(name);
241 }
242
243 @Override
244 public File getDatabasePath(String name) {
245 return mBase.getDatabasePath(name);
246 }
247
248 @Override
249 public String[] databaseList() {
250 return mBase.databaseList();
251 }
252
253 @Override
254 public Drawable getWallpaper() {
255 return mBase.getWallpaper();
256 }
257
258 @Override
259 public Drawable peekWallpaper() {
260 return mBase.peekWallpaper();
261 }
262
263 @Override
264 public int getWallpaperDesiredMinimumWidth() {
265 return mBase.getWallpaperDesiredMinimumWidth();
266 }
267
268 @Override
269 public int getWallpaperDesiredMinimumHeight() {
270 return mBase.getWallpaperDesiredMinimumHeight();
271 }
272
273 @Override
274 public void setWallpaper(Bitmap bitmap) throws IOException {
275 mBase.setWallpaper(bitmap);
276 }
277
278 @Override
279 public void setWallpaper(InputStream data) throws IOException {
280 mBase.setWallpaper(data);
281 }
282
283 @Override
284 public void clearWallpaper() throws IOException {
285 mBase.clearWallpaper();
286 }
287
288 @Override
289 public void startActivity(Intent intent) {
290 mBase.startActivity(intent);
291 }
292
Amith Yamasani82644082012-08-03 13:09:11 -0700293 /** @hide */
294 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700295 public void startActivityAsUser(Intent intent, UserHandle user) {
296 mBase.startActivityAsUser(intent, user);
Amith Yamasani82644082012-08-03 13:09:11 -0700297 }
298
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800299 @Override
Dianne Hackborna4972e92012-03-14 10:38:05 -0700300 public void startActivity(Intent intent, Bundle options) {
301 mBase.startActivity(intent, options);
302 }
303
Amith Yamasani258848d2012-08-10 17:06:33 -0700304 /** @hide */
305 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700306 public void startActivityAsUser(Intent intent, Bundle options, UserHandle user) {
307 mBase.startActivityAsUser(intent, options, user);
Amith Yamasani258848d2012-08-10 17:06:33 -0700308 }
309
Dianne Hackborna4972e92012-03-14 10:38:05 -0700310 @Override
Dianne Hackborn621e17d2010-11-22 15:59:56 -0800311 public void startActivities(Intent[] intents) {
312 mBase.startActivities(intents);
313 }
314
315 @Override
Dianne Hackborna4972e92012-03-14 10:38:05 -0700316 public void startActivities(Intent[] intents, Bundle options) {
317 mBase.startActivities(intents, options);
318 }
319
Amith Yamasaniea7e9152012-09-24 16:11:18 -0700320 /** @hide */
321 @Override
322 public void startActivitiesAsUser(Intent[] intents, Bundle options, UserHandle userHandle) {
323 mBase.startActivitiesAsUser(intents, options, userHandle);
324 }
325
Dianne Hackborna4972e92012-03-14 10:38:05 -0700326 @Override
Dianne Hackbornfa82f222009-09-17 15:14:12 -0700327 public void startIntentSender(IntentSender intent,
328 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
329 throws IntentSender.SendIntentException {
330 mBase.startIntentSender(intent, fillInIntent, flagsMask,
331 flagsValues, extraFlags);
332 }
Dianne Hackborna4972e92012-03-14 10:38:05 -0700333
334 @Override
335 public void startIntentSender(IntentSender intent,
336 Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags,
337 Bundle options) throws IntentSender.SendIntentException {
338 mBase.startIntentSender(intent, fillInIntent, flagsMask,
339 flagsValues, extraFlags, options);
340 }
Dianne Hackbornfa82f222009-09-17 15:14:12 -0700341
342 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800343 public void sendBroadcast(Intent intent) {
344 mBase.sendBroadcast(intent);
345 }
346
Amith Yamasani67cf7d32012-02-16 14:31:23 -0800347 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800348 public void sendBroadcast(Intent intent, String receiverPermission) {
349 mBase.sendBroadcast(intent, receiverPermission);
350 }
351
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800352 /** @hide */
353 @Override
354 public void sendBroadcast(Intent intent, String receiverPermission, int appOp) {
355 mBase.sendBroadcast(intent, receiverPermission, appOp);
356 }
357
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800358 @Override
359 public void sendOrderedBroadcast(Intent intent,
360 String receiverPermission) {
361 mBase.sendOrderedBroadcast(intent, receiverPermission);
362 }
363
364 @Override
365 public void sendOrderedBroadcast(
366 Intent intent, String receiverPermission, BroadcastReceiver resultReceiver,
367 Handler scheduler, int initialCode, String initialData,
368 Bundle initialExtras) {
369 mBase.sendOrderedBroadcast(intent, receiverPermission,
370 resultReceiver, scheduler, initialCode,
371 initialData, initialExtras);
372 }
373
Dianne Hackbornf51f6122013-02-04 18:23:34 -0800374 /** @hide */
375 @Override
376 public void sendOrderedBroadcast(
377 Intent intent, String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
378 Handler scheduler, int initialCode, String initialData,
379 Bundle initialExtras) {
380 mBase.sendOrderedBroadcast(intent, receiverPermission, appOp,
381 resultReceiver, scheduler, initialCode,
382 initialData, initialExtras);
383 }
384
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800385 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700386 public void sendBroadcastAsUser(Intent intent, UserHandle user) {
387 mBase.sendBroadcastAsUser(intent, user);
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700388 }
389
390 @Override
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700391 public void sendBroadcastAsUser(Intent intent, UserHandle user,
392 String receiverPermission) {
393 mBase.sendBroadcastAsUser(intent, user, receiverPermission);
394 }
395
396 @Override
Dianne Hackborn79af1dd2012-08-16 16:42:52 -0700397 public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700398 String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler,
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700399 int initialCode, String initialData, Bundle initialExtras) {
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700400 mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, resultReceiver,
Dianne Hackborn7d19e022012-08-07 19:12:33 -0700401 scheduler, initialCode, initialData, initialExtras);
402 }
403
404 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800405 public void sendStickyBroadcast(Intent intent) {
406 mBase.sendStickyBroadcast(intent);
407 }
408
409 @Override
Dianne Hackbornefa199f2009-09-19 12:03:15 -0700410 public void sendStickyOrderedBroadcast(
411 Intent intent, BroadcastReceiver resultReceiver,
412 Handler scheduler, int initialCode, String initialData,
413 Bundle initialExtras) {
414 mBase.sendStickyOrderedBroadcast(intent,
415 resultReceiver, scheduler, initialCode,
416 initialData, initialExtras);
417 }
418
419 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800420 public void removeStickyBroadcast(Intent intent) {
421 mBase.removeStickyBroadcast(intent);
422 }
423
424 @Override
Dianne Hackborn5ac72a22012-08-29 18:32:08 -0700425 public void sendStickyBroadcastAsUser(Intent intent, UserHandle user) {
426 mBase.sendStickyBroadcastAsUser(intent, user);
427 }
428
429 @Override
430 public void sendStickyOrderedBroadcastAsUser(Intent intent,
431 UserHandle user, BroadcastReceiver resultReceiver,
432 Handler scheduler, int initialCode, String initialData,
433 Bundle initialExtras) {
434 mBase.sendStickyOrderedBroadcastAsUser(intent, user, resultReceiver,
435 scheduler, initialCode, initialData, initialExtras);
436 }
437
438 @Override
439 public void removeStickyBroadcastAsUser(Intent intent, UserHandle user) {
440 mBase.removeStickyBroadcastAsUser(intent, user);
441 }
442
443 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800444 public Intent registerReceiver(
445 BroadcastReceiver receiver, IntentFilter filter) {
446 return mBase.registerReceiver(receiver, filter);
447 }
448
449 @Override
450 public Intent registerReceiver(
451 BroadcastReceiver receiver, IntentFilter filter,
452 String broadcastPermission, Handler scheduler) {
453 return mBase.registerReceiver(receiver, filter, broadcastPermission,
454 scheduler);
455 }
456
Dianne Hackborn20e80982012-08-31 19:00:44 -0700457 /** @hide */
458 @Override
459 public Intent registerReceiverAsUser(
460 BroadcastReceiver receiver, UserHandle user, IntentFilter filter,
461 String broadcastPermission, Handler scheduler) {
462 return mBase.registerReceiverAsUser(receiver, user, filter, broadcastPermission,
463 scheduler);
464 }
465
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800466 @Override
467 public void unregisterReceiver(BroadcastReceiver receiver) {
468 mBase.unregisterReceiver(receiver);
469 }
470
471 @Override
472 public ComponentName startService(Intent service) {
473 return mBase.startService(service);
474 }
475
476 @Override
477 public boolean stopService(Intent name) {
478 return mBase.stopService(name);
479 }
480
Dianne Hackborn7767eac2012-08-23 18:25:40 -0700481 /** @hide */
482 @Override
483 public ComponentName startServiceAsUser(Intent service, UserHandle user) {
484 return mBase.startServiceAsUser(service, user);
485 }
486
487 /** @hide */
488 @Override
489 public boolean stopServiceAsUser(Intent name, UserHandle user) {
490 return mBase.stopServiceAsUser(name, user);
491 }
492
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800493 @Override
494 public boolean bindService(Intent service, ServiceConnection conn,
495 int flags) {
496 return mBase.bindService(service, conn, flags);
497 }
498
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800499 /** @hide */
500 @Override
Amith Yamasani27b89e62013-01-16 12:30:11 -0800501 public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
502 UserHandle user) {
503 return mBase.bindServiceAsUser(service, conn, flags, user);
Amith Yamasani37ce3a82012-02-06 12:04:42 -0800504 }
505
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800506 @Override
507 public void unbindService(ServiceConnection conn) {
508 mBase.unbindService(conn);
509 }
510
511 @Override
512 public boolean startInstrumentation(ComponentName className,
513 String profileFile, Bundle arguments) {
514 return mBase.startInstrumentation(className, profileFile, arguments);
515 }
516
517 @Override
518 public Object getSystemService(String name) {
519 return mBase.getSystemService(name);
520 }
521
522 @Override
523 public int checkPermission(String permission, int pid, int uid) {
524 return mBase.checkPermission(permission, pid, uid);
525 }
526
527 @Override
528 public int checkCallingPermission(String permission) {
529 return mBase.checkCallingPermission(permission);
530 }
531
532 @Override
533 public int checkCallingOrSelfPermission(String permission) {
534 return mBase.checkCallingOrSelfPermission(permission);
535 }
536
537 @Override
538 public void enforcePermission(
539 String permission, int pid, int uid, String message) {
540 mBase.enforcePermission(permission, pid, uid, message);
541 }
542
543 @Override
544 public void enforceCallingPermission(String permission, String message) {
545 mBase.enforceCallingPermission(permission, message);
546 }
547
548 @Override
549 public void enforceCallingOrSelfPermission(
550 String permission, String message) {
551 mBase.enforceCallingOrSelfPermission(permission, message);
552 }
553
554 @Override
555 public void grantUriPermission(String toPackage, Uri uri, int modeFlags) {
556 mBase.grantUriPermission(toPackage, uri, modeFlags);
557 }
558
559 @Override
560 public void revokeUriPermission(Uri uri, int modeFlags) {
561 mBase.revokeUriPermission(uri, modeFlags);
562 }
563
564 @Override
565 public int checkUriPermission(Uri uri, int pid, int uid, int modeFlags) {
566 return mBase.checkUriPermission(uri, pid, uid, modeFlags);
567 }
568
569 @Override
570 public int checkCallingUriPermission(Uri uri, int modeFlags) {
571 return mBase.checkCallingUriPermission(uri, modeFlags);
572 }
573
574 @Override
575 public int checkCallingOrSelfUriPermission(Uri uri, int modeFlags) {
576 return mBase.checkCallingOrSelfUriPermission(uri, modeFlags);
577 }
578
579 @Override
580 public int checkUriPermission(Uri uri, String readPermission,
581 String writePermission, int pid, int uid, int modeFlags) {
582 return mBase.checkUriPermission(uri, readPermission, writePermission,
583 pid, uid, modeFlags);
584 }
585
586 @Override
587 public void enforceUriPermission(
588 Uri uri, int pid, int uid, int modeFlags, String message) {
589 mBase.enforceUriPermission(uri, pid, uid, modeFlags, message);
590 }
591
592 @Override
593 public void enforceCallingUriPermission(
594 Uri uri, int modeFlags, String message) {
595 mBase.enforceCallingUriPermission(uri, modeFlags, message);
596 }
597
598 @Override
599 public void enforceCallingOrSelfUriPermission(
600 Uri uri, int modeFlags, String message) {
601 mBase.enforceCallingOrSelfUriPermission(uri, modeFlags, message);
602 }
603
604 @Override
605 public void enforceUriPermission(
606 Uri uri, String readPermission, String writePermission,
607 int pid, int uid, int modeFlags, String message) {
608 mBase.enforceUriPermission(
609 uri, readPermission, writePermission, pid, uid, modeFlags,
610 message);
611 }
612
613 @Override
614 public Context createPackageContext(String packageName, int flags)
615 throws PackageManager.NameNotFoundException {
616 return mBase.createPackageContext(packageName, flags);
617 }
Romain Guy870e09f2009-07-06 16:35:25 -0700618
Jeff Sharkey6d515712012-09-20 16:06:08 -0700619 /** @hide */
620 @Override
621 public Context createPackageContextAsUser(String packageName, int flags, UserHandle user)
622 throws PackageManager.NameNotFoundException {
623 return mBase.createPackageContextAsUser(packageName, flags, user);
624 }
625
Jim Millera75a8832013-02-07 16:53:32 -0800626 /** @hide */
627 @Override
628 public int getUserId() {
629 return mBase.getUserId();
630 }
631
Romain Guy870e09f2009-07-06 16:35:25 -0700632 @Override
Dianne Hackborn756220b2012-08-14 16:45:30 -0700633 public Context createConfigurationContext(Configuration overrideConfiguration) {
634 return mBase.createConfigurationContext(overrideConfiguration);
635 }
636
637 @Override
Jeff Browna492c3a2012-08-23 19:48:44 -0700638 public Context createDisplayContext(Display display) {
639 return mBase.createDisplayContext(display);
640 }
641
642 @Override
Romain Guy870e09f2009-07-06 16:35:25 -0700643 public boolean isRestricted() {
644 return mBase.isRestricted();
645 }
Jeff Brown98365d72012-08-19 20:30:52 -0700646
647 /** @hide */
648 @Override
Craig Mautner48d0d182013-06-11 07:53:06 -0700649 public DisplayAdjustments getDisplayAdjustments(int displayId) {
650 return mBase.getDisplayAdjustments(displayId);
Jeff Brown98365d72012-08-19 20:30:52 -0700651 }
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800652}