compat/src/main/java/androidx/core/text/BidiFormatter.java
private byte skipTagForward() {
            int initialCharIndex = charIndex;
            while (charIndex < length) {
                lastChar = text.charAt(charIndex++);
                if (lastChar == '>') {
                    // The end of the tag.
                    return Character.DIRECTIONALITY_WHITESPACE;
                }
                if (lastChar == '"' || lastChar == '\'') {
                    // Skip over a quoted attribute value inside the tag.
                    char quote = lastChar;
                    while (charIndex < length && (lastChar = text.charAt(charIndex++)) != quote) {}
                }
            }
            // The original '<' wasn't the start of a tag after all.
            charIndex = initialCharIndex;
            lastChar = '<';
            return Character.DIRECTIONALITY_OTHER_NEUTRALS;
        }
/**
         * Advances charIndex forward through an HTML tag (after the opening &lt; has already been
         * read) and returns Character.DIRECTIONALITY_WHITESPACE. If there is no matching &gt;,
         * does not change charIndex and returns Character.DIRECTIONALITY_OTHER_NEUTRALS (for the
         * &lt; that hadn't been part of a tag after all).
         */
Advances charIndex forward through an HTML tag (after the opening < has already been
read) and returns Character.DIRECTIONALITY_WHITESPACE. If there is no matching >,
does not change charIndex and returns Character.DIRECTIONALITY_OTHER_NEUTRALS (for the
< that hadn't been part of a tag after all).
Advances charIndex forward through an HTML tag ( after the opening < has already been read ) and returns Character . DIRECTIONALITY_WHITESPACE . If there is no matching > does not change charIndex and returns Character . DIRECTIONALITY_OTHER_NEUTRALS ( for the < that hadn ' t been part of a tag after all ) .
private byte skipTagForward() {
            int initialCharIndex = charIndex;
            while (charIndex < length) {
                lastChar = text.charAt(charIndex++);
                if (lastChar == '>') {
                    return Character.DIRECTIONALITY_WHITESPACE;
                }
                if (lastChar == '"' || lastChar == '\'') {
                    char quote = lastChar;
                    while (charIndex < length && (lastChar = text.charAt(charIndex++)) != quote) {}
                }
            }
            charIndex = initialCharIndex;
            lastChar = '<';
            return Character.DIRECTIONALITY_OTHER_NEUTRALS;
        }
private byte skipTagForward ( ) { int initialCharIndex = charIndex ; while ( charIndex < length ) { lastChar = text . charAt ( charIndex ++ ) ; if ( lastChar == '>' ) { return Character . DIRECTIONALITY_WHITESPACE ; } if ( lastChar == '"' || lastChar == '\'' ) { char quote = lastChar ; while ( charIndex < length && ( lastChar = text . charAt ( charIndex ++ ) ) != quote ) { } } } charIndex = initialCharIndex ; lastChar = '<' ; return Character . DIRECTIONALITY_OTHER_NEUTRALS ; }
Advances charIndex forward through an HTML tag (after the opening &lt; has already been
 read) and returns Character.DIRECTIONALITY_WHITESPACE.
Advances charIndex forward through an HTML tag ( after the opening &lt ; has already been read ) and returns Character . DIRECTIONALITY_WHITESPACE .
// The end of the tag. // Skip over a quoted attribute value inside the tag. // The original '<' wasn't the start of a tag after all.