FileDocCategorySizeDatePackage
XmlUtils_Delegate.javaAPI DocAndroid 5.1 API2222Thu Mar 12 22:22:44 GMT 2015com.android.internal.util

XmlUtils_Delegate

public class XmlUtils_Delegate extends Object
Delegate used to provide new implementation of a select few methods of {@link XmlUtils} Through the layoutlib_create tool, the original methods of XmlUtils have been replaced by calls to methods of the same name in this delegate class.

Fields Summary
Constructors Summary
Methods Summary
static final intconvertValueToInt(java.lang.CharSequence charSeq, int defaultValue)

        if (null == charSeq)
            return defaultValue;

        String nm = charSeq.toString();

        // This code is copied from the original implementation. The issue is that
        // The Dalvik libraries are able to handle Integer.parse("XXXXXXXX", 16) where XXXXXXX
        // is > 80000000 but the Java VM cannot.

        int sign = 1;
        int index = 0;
        int len = nm.length();
        int base = 10;

        if ('-" == nm.charAt(0)) {
            sign = -1;
            index++;
        }

        if ('0" == nm.charAt(index)) {
            //  Quick check for a zero by itself
            if (index == (len - 1))
                return 0;

            char c = nm.charAt(index + 1);

            if ('x" == c || 'X" == c) {
                index += 2;
                base = 16;
            } else {
                index++;
                base = 8;
            }
        }
        else if ('#" == nm.charAt(index)) {
            index++;
            base = 16;
        }

        return ((int)Long.parseLong(nm.substring(index), base)) * sign;