summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2013-09-27 11:10:36 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-09-27 11:10:36 -0700
commitba1ae3af76466b94efedf06c4efac365fd7b9300 (patch)
tree6b0640b781940911edbfac1416fc415b1b1e17d8 /core/java/android
parenta6226a2d202619ddb7e3e9765a3dc9f20241f853 (diff)
parent427864188dfc5dd803b15797379b9dc6673abd16 (diff)
downloadframeworks_base-ba1ae3af76466b94efedf06c4efac365fd7b9300.zip
frameworks_base-ba1ae3af76466b94efedf06c4efac365fd7b9300.tar.gz
frameworks_base-ba1ae3af76466b94efedf06c4efac365fd7b9300.tar.bz2
am 42786418: Don\'t instantiate non-Fragments in Fragment.instantiate
* commit '427864188dfc5dd803b15797379b9dc6673abd16': Don't instantiate non-Fragments in Fragment.instantiate
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/Fragment.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java
index 28876d3..32ee601 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -572,6 +572,10 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
if (clazz == null) {
// Class not found in the cache, see if it's real, and try to add it
clazz = context.getClassLoader().loadClass(fname);
+ if (!Fragment.class.isAssignableFrom(clazz)) {
+ throw new InstantiationException("Trying to instantiate a class " + fname
+ + " that is not a Fragment", new ClassCastException());
+ }
sClassMap.put(fname, clazz);
}
Fragment f = (Fragment)clazz.newInstance();