diff options
| author | Romain Guy <romainguy@android.com> | 2009-07-06 16:35:25 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@android.com> | 2009-07-06 16:45:17 -0700 |
| commit | 870e09fcd2dfdc12ac318962efd28b0420c562bb (patch) | |
| tree | e96f3395c7176695e7007b21ec054c1e3d5a5e71 /core/java/android/view | |
| parent | 453dd50e707aa3a4d24240935f3ff7ea0a08dc7a (diff) | |
| download | frameworks_base-870e09fcd2dfdc12ac318962efd28b0420c562bb.zip frameworks_base-870e09fcd2dfdc12ac318962efd28b0420c562bb.tar.gz frameworks_base-870e09fcd2dfdc12ac318962efd28b0420c562bb.tar.bz2 | |
Fixes #1963229. Introduces Context#isRestricted().
A restricted Context is a special type of Context that prevents specific features
from being used. For instance, android:onClick, used by View, can be dangerous when
used from within apps widgets. By using a restricted Context to inflate apps widgets,
widgets providers are prevented from using android:onClick.
Diffstat (limited to 'core/java/android/view')
| -rw-r--r-- | core/java/android/view/View.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index b3180ca..ff8868b 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -1996,6 +1996,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility mMinHeight = a.getDimensionPixelSize(attr, 0); break; case R.styleable.View_onClick: + if (context.isRestricted()) { + throw new IllegalStateException("The android:onClick attribute cannot " + + "be used within a restricted context"); + } + final String handlerName = a.getString(attr); if (handlerName != null) { setOnClickListener(new OnClickListener() { |
