Loading tools/layoutlib/bridge/src/android/content/res/BridgeResources.java +1 −4 Original line number Diff line number Diff line Loading @@ -48,9 +48,6 @@ import java.io.FileNotFoundException; import java.io.InputStream; import java.util.Iterator; /** * */ public final class BridgeResources extends Resources { private BridgeContext mContext; Loading Loading @@ -278,7 +275,7 @@ public final class BridgeResources extends Resources { * always Strings. The ideal signature for the method should be <T super String>, but java * generics don't support it. */ private <T extends CharSequence> T[] fillValues(ArrayResourceValue resValue, T[] values) { <T extends CharSequence> T[] fillValues(ArrayResourceValue resValue, T[] values) { int i = 0; for (Iterator<String> iterator = resValue.iterator(); iterator.hasNext(); i++) { @SuppressWarnings("unchecked") Loading tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java +15 −5 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.res; import com.android.ide.common.rendering.api.ArrayResourceValue; import com.android.ide.common.rendering.api.AttrResourceValue; import com.android.ide.common.rendering.api.LayoutLog; import com.android.ide.common.rendering.api.RenderResources; Loading @@ -33,6 +34,7 @@ import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.annotation.Nullable; import android.content.res.Resources.NotFoundException; import android.content.res.Resources.Theme; import android.graphics.drawable.Drawable; import android.util.DisplayMetrics; Loading Loading @@ -740,13 +742,21 @@ public final class BridgeTypedArray extends TypedArray { */ @Override public CharSequence[] getTextArray(int index) { String value = getString(index); if (value != null) { return new CharSequence[] { value }; } if (!hasValue(index)) { return null; } ResourceValue resVal = mResourceData[index]; if (resVal instanceof ArrayResourceValue) { ArrayResourceValue array = (ArrayResourceValue) resVal; int count = array.getElementCount(); return count >= 0 ? mBridgeResources.fillValues(array, new CharSequence[count]) : null; } int id = getResourceId(index, 0); String resIdMessage = id > 0 ? " (resource id 0x" + Integer.toHexString(id) + ')' : ""; throw new NotFoundException( String.format("%1$s in %2$s%3$s is not a valid array resource.", resVal.getValue(), mNames[index], resIdMessage)); } @Override public int[] extractThemeAttrs() { Loading Loading
tools/layoutlib/bridge/src/android/content/res/BridgeResources.java +1 −4 Original line number Diff line number Diff line Loading @@ -48,9 +48,6 @@ import java.io.FileNotFoundException; import java.io.InputStream; import java.util.Iterator; /** * */ public final class BridgeResources extends Resources { private BridgeContext mContext; Loading Loading @@ -278,7 +275,7 @@ public final class BridgeResources extends Resources { * always Strings. The ideal signature for the method should be <T super String>, but java * generics don't support it. */ private <T extends CharSequence> T[] fillValues(ArrayResourceValue resValue, T[] values) { <T extends CharSequence> T[] fillValues(ArrayResourceValue resValue, T[] values) { int i = 0; for (Iterator<String> iterator = resValue.iterator(); iterator.hasNext(); i++) { @SuppressWarnings("unchecked") Loading
tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java +15 −5 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.res; import com.android.ide.common.rendering.api.ArrayResourceValue; import com.android.ide.common.rendering.api.AttrResourceValue; import com.android.ide.common.rendering.api.LayoutLog; import com.android.ide.common.rendering.api.RenderResources; Loading @@ -33,6 +34,7 @@ import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.annotation.Nullable; import android.content.res.Resources.NotFoundException; import android.content.res.Resources.Theme; import android.graphics.drawable.Drawable; import android.util.DisplayMetrics; Loading Loading @@ -740,13 +742,21 @@ public final class BridgeTypedArray extends TypedArray { */ @Override public CharSequence[] getTextArray(int index) { String value = getString(index); if (value != null) { return new CharSequence[] { value }; } if (!hasValue(index)) { return null; } ResourceValue resVal = mResourceData[index]; if (resVal instanceof ArrayResourceValue) { ArrayResourceValue array = (ArrayResourceValue) resVal; int count = array.getElementCount(); return count >= 0 ? mBridgeResources.fillValues(array, new CharSequence[count]) : null; } int id = getResourceId(index, 0); String resIdMessage = id > 0 ? " (resource id 0x" + Integer.toHexString(id) + ')' : ""; throw new NotFoundException( String.format("%1$s in %2$s%3$s is not a valid array resource.", resVal.getValue(), mNames[index], resIdMessage)); } @Override public int[] extractThemeAttrs() { Loading