private static boolean matchTypedValue(
     final TypedArray a, final int index, final int intValue, final String strValue) {
   // If <case> does not have "index" attribute, that means this <case> is wild-card for
   // the attribute.
   final TypedValue v = a.peekValue(index);
   if (v == null) {
     return true;
   }
   if (ResourceUtils.isIntegerValue(v)) {
     return intValue == a.getInt(index, 0);
   }
   if (ResourceUtils.isStringValue(v)) {
     return StringUtils.containsInArray(strValue, a.getString(index).split("\\|"));
   }
   return false;
 }
 private static boolean matchString(final TypedArray a, final int index, final String value) {
   // If <case> does not have "index" attribute, that means this <case> is wild-card for
   // the attribute.
   return !a.hasValue(index)
       || StringUtils.containsInArray(value, a.getString(index).split("\\|"));
 }