From 39a72dd207eb009d3bf84bb10b7c72fb7a6853c1 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Mon, 15 Dec 2014 11:15:49 -0800 Subject: [PATCH] Clean up ViewStub inflation to ensure it has resources BUG: 18642716 Change-Id: I52be9d379672ef143cd385c78a8e0744225de4ae --- core/java/android/view/ViewStub.java | 25 ++++++++----------------- core/res/res/values/attrs.xml | 2 ++ 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/core/java/android/view/ViewStub.java b/core/java/android/view/ViewStub.java index d68a860a6761d..9f9ed5b5d4dc1 100644 --- a/core/java/android/view/ViewStub.java +++ b/core/java/android/view/ViewStub.java @@ -69,8 +69,8 @@ import java.lang.ref.WeakReference; */ @RemoteView public final class ViewStub extends View { - private int mLayoutResource = 0; private int mInflatedId; + private int mLayoutResource; private WeakReference mInflatedViewRef; @@ -78,7 +78,7 @@ public final class ViewStub extends View { private OnInflateListener mInflateListener; public ViewStub(Context context) { - initialize(context); + this(context, 0); } /** @@ -88,38 +88,29 @@ public final class ViewStub extends View { * @param layoutResource The reference to a layout resource that will be inflated. */ public ViewStub(Context context, int layoutResource) { + this(context, null); + mLayoutResource = layoutResource; - initialize(context); } public ViewStub(Context context, AttributeSet attrs) { this(context, attrs, 0); } - @SuppressWarnings({"UnusedDeclaration"}) public ViewStub(Context context, AttributeSet attrs, int defStyleAttr) { this(context, attrs, defStyleAttr, 0); } public ViewStub(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - TypedArray a = context.obtainStyledAttributes( - attrs, com.android.internal.R.styleable.ViewStub, defStyleAttr, defStyleRes); + super(context); + final TypedArray a = context.obtainStyledAttributes(attrs, + R.styleable.ViewStub, defStyleAttr, defStyleRes); mInflatedId = a.getResourceId(R.styleable.ViewStub_inflatedId, NO_ID); mLayoutResource = a.getResourceId(R.styleable.ViewStub_layout, 0); - + mID = a.getResourceId(R.styleable.ViewStub_id, NO_ID); a.recycle(); - a = context.obtainStyledAttributes( - attrs, com.android.internal.R.styleable.View, defStyleAttr, defStyleRes); - mID = a.getResourceId(R.styleable.View_id, NO_ID); - a.recycle(); - - initialize(context); - } - - private void initialize(Context context) { - mContext = context; setVisibility(GONE); setWillNotDraw(true); } diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index b5c71056ade35..0f59d8d10e229 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -2722,6 +2722,8 @@ + +