summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewStub.java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2009-12-15 11:43:34 -0800
committerAdam Powell <adamp@google.com>2009-12-15 11:45:58 -0800
commit58acbafcf2263232c4805cf7a39196acf03763d9 (patch)
tree34a2ae00838504d2851d509327f6297051a3a4f4 /core/java/android/view/ViewStub.java
parent3beb2fa488052e66dda265df25b1266033989113 (diff)
Fix for http://b/issue?id=2323459 and generics correctness on a WeakReference
ViewStub.setVisibility now passes View.GONE through. Even though this doesn't make a lot of sense to do in practice, it preserves the value for future ViewStub.getVisibility calls.
Diffstat (limited to 'core/java/android/view/ViewStub.java')
-rw-r--r--core/java/android/view/ViewStub.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/view/ViewStub.java b/core/java/android/view/ViewStub.java
index 703a38f299ca..d5e9af4ae21b 100644
--- a/core/java/android/view/ViewStub.java
+++ b/core/java/android/view/ViewStub.java
@@ -207,9 +207,11 @@ public final class ViewStub extends View {
} else {
throw new IllegalStateException("setVisibility called on un-referenced view");
}
- } else if (visibility == VISIBLE || visibility == INVISIBLE) {
+ } else {
super.setVisibility(visibility);
- inflate();
+ if (visibility == VISIBLE || visibility == INVISIBLE) {
+ inflate();
+ }
}
}
@@ -244,7 +246,7 @@ public final class ViewStub extends View {
parent.addView(view, index);
}
- mInflatedViewRef = new WeakReference(view);
+ mInflatedViewRef = new WeakReference<View>(view);
if (mInflateListener != null) {
mInflateListener.onInflate(this, view);