private static int convertValueToInt(CharSequence charSeq,int defaultValue){
  if (null == charSeq)   return defaultValue;
  String nm=charSeq.toString();
  int value;
  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)) {
    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 Integer.parseInt(nm.substring(index),base) * sign;
}

private static int convertValueToInt ( CharSequence charSeq , int defaultValue ) { if ( null == charSeq ) return defaultValue ; String nm = charSeq . toString ( ) ; int value ; 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 ) ) { 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 Integer . parseInt ( nm . substring ( index ) , base ) * sign ; }
copied from com . android . internal . util . xmlutils from android source
