Example usage for android.support.v4.text TextDirectionHeuristicsCompat FIRSTSTRONG_LTR

List of usage examples for android.support.v4.text TextDirectionHeuristicsCompat FIRSTSTRONG_LTR

Introduction

In this page you can find the example usage for android.support.v4.text TextDirectionHeuristicsCompat FIRSTSTRONG_LTR.

Prototype

TextDirectionHeuristicCompat FIRSTSTRONG_LTR

To view the source code for android.support.v4.text TextDirectionHeuristicsCompat FIRSTSTRONG_LTR.

Click Source Link

Usage

From source file:com.poloure.simplerss.Utilities.java

static boolean isTextRtl(CharSequence c) {
    return TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR.isRtl(c, 0, c.length() - 1);
}

From source file:com.facebook.react.flat.RCTText.java

private static Layout createTextLayout(int width, YogaMeasureMode widthMode, TextUtils.TruncateAt ellipsize,
        boolean shouldIncludeFontPadding, int maxLines, boolean isSingleLine, CharSequence text, int textSize,
        float extraSpacing, float spacingMultiplier, int textStyle, Layout.Alignment textAlignment) {
    Layout newLayout;/*from   w w  w. ja v  a2 s  .  co  m*/

    final @TextLayoutBuilder.MeasureMode int textMeasureMode;
    switch (widthMode) {
    case UNDEFINED:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_UNSPECIFIED;
        break;
    case EXACTLY:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_EXACTLY;
        break;
    case AT_MOST:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_AT_MOST;
        break;
    default:
        throw new IllegalStateException("Unexpected size mode: " + widthMode);
    }

    sTextLayoutBuilder.setEllipsize(ellipsize).setMaxLines(maxLines).setSingleLine(isSingleLine).setText(text)
            .setTextSize(textSize).setWidth(width, textMeasureMode);

    sTextLayoutBuilder.setTextStyle(textStyle);

    sTextLayoutBuilder.setTextDirection(TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR);
    sTextLayoutBuilder.setIncludeFontPadding(shouldIncludeFontPadding);
    sTextLayoutBuilder.setTextSpacingExtra(extraSpacing);
    sTextLayoutBuilder.setTextSpacingMultiplier(spacingMultiplier);
    sTextLayoutBuilder.setAlignment(textAlignment);

    newLayout = sTextLayoutBuilder.build();

    sTextLayoutBuilder.setText(null);

    return newLayout;
}

From source file:com.lamcreations.scaffold.common.utils.CollapsingTextHelper.java

private boolean calculateIsRtl(CharSequence text) {
    boolean defaultIsRtl = ViewCompat.getLayoutDirection(this.mView) == ViewCompat.LAYOUT_DIRECTION_RTL;
    return (defaultIsRtl ? TextDirectionHeuristicsCompat.FIRSTSTRONG_RTL
            : TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR).isRtl(text, 0, text.length());
}

From source file:com.bitflake.counter.HorizontalPicker.java

private TextDirectionHeuristicCompat getTextDirectionHeuristic() {

    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {

        return TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR;

    } else {// ww  w. ja  v a  2  s  . c  o  m

        // Always need to resolve layout direction first
        final boolean defaultIsRtl = (getLayoutDirection() == LAYOUT_DIRECTION_RTL);

        switch (getTextDirection()) {
        default:
        case TEXT_DIRECTION_FIRST_STRONG:
            return (defaultIsRtl ? TextDirectionHeuristicsCompat.FIRSTSTRONG_RTL
                    : TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR);
        case TEXT_DIRECTION_ANY_RTL:
            return TextDirectionHeuristicsCompat.ANYRTL_LTR;
        case TEXT_DIRECTION_LTR:
            return TextDirectionHeuristicsCompat.LTR;
        case TEXT_DIRECTION_RTL:
            return TextDirectionHeuristicsCompat.RTL;
        case TEXT_DIRECTION_LOCALE:
            return TextDirectionHeuristicsCompat.LOCALE;
        }
    }
}

From source file:org.xbmc.kore.ui.RemoteActivity.java

/**
 * Callbacks from Send text dialog// w w w. j ava2s  .  c  o  m
 */
public void onSendTextFinished(String text, boolean done) {
    if (TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR.isRtl(text, 0, text.length())) {
        text = new StringBuilder(text).reverse().toString();
    }
    Input.SendText action = new Input.SendText(text, done);
    action.execute(hostManager.getConnection(), null, null);
}

From source file:android.support.design.widget.CollapsingTextHelper.java

private boolean calculateIsRtl(CharSequence text) {
    final boolean defaultIsRtl = ViewCompat.getLayoutDirection(mView) == ViewCompat.LAYOUT_DIRECTION_RTL;
    return (defaultIsRtl ? TextDirectionHeuristicsCompat.FIRSTSTRONG_RTL
            : TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR).isRtl(text, 0, text.length());
}

From source file:com.facebook.litho.widget.TextSpec.java

private static Layout createTextLayout(int widthSpec, TruncateAt ellipsize, boolean shouldIncludeFontPadding,
        int maxLines, float shadowRadius, float shadowDx, float shadowDy, int shadowColor, boolean isSingleLine,
        CharSequence text, int textColor, ColorStateList textColorStateList, int linkColor, int textSize,
        float extraSpacing, float spacingMultiplier, int textStyle, Typeface typeface, Alignment textAlignment,
        boolean glyphWarming, YogaDirection layoutDirection, int minEms, int maxEms, int minWidth, int maxWidth,
        TextDirectionHeuristicCompat textDirection) {
    Layout newLayout;/*from   w w  w  .  ja  v a2  s . com*/

    TextLayoutBuilder layoutBuilder = sTextLayoutBuilderPool.acquire();
    if (layoutBuilder == null) {
        layoutBuilder = new TextLayoutBuilder();
        layoutBuilder.setShouldCacheLayout(false);
    }

    final @TextLayoutBuilder.MeasureMode int textMeasureMode;
    switch (SizeSpec.getMode(widthSpec)) {
    case UNSPECIFIED:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_UNSPECIFIED;
        break;
    case EXACTLY:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_EXACTLY;
        break;
    case AT_MOST:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_AT_MOST;
        break;
    default:
        throw new IllegalStateException("Unexpected size mode: " + SizeSpec.getMode(widthSpec));
    }

    layoutBuilder.setEllipsize(ellipsize).setMaxLines(maxLines)
            .setShadowLayer(shadowRadius, shadowDx, shadowDy, shadowColor).setSingleLine(isSingleLine)
            .setText(text).setTextSize(textSize).setWidth(SizeSpec.getSize(widthSpec), textMeasureMode);

    if (minEms != DEFAULT_EMS) {
        layoutBuilder.setMinEms(minEms);
    } else {
        layoutBuilder.setMinWidth(minWidth);
    }

    if (maxEms != DEFAULT_EMS) {
        layoutBuilder.setMaxEms(maxEms);
    } else {
        layoutBuilder.setMaxWidth(maxWidth);
    }

    if (textColor != 0) {
        layoutBuilder.setTextColor(textColor);
    } else {
        layoutBuilder.setTextColor(textColorStateList);
    }

    if (typeface != DEFAULT_TYPEFACE) {
        layoutBuilder.setTypeface(typeface);
    } else {
        layoutBuilder.setTextStyle(textStyle);
    }

    if (textDirection != null) {
        layoutBuilder.setTextDirection(textDirection);
    } else {
        layoutBuilder.setTextDirection(
                layoutDirection == YogaDirection.RTL ? TextDirectionHeuristicsCompat.FIRSTSTRONG_RTL
                        : TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR);
    }

    layoutBuilder.setIncludeFontPadding(shouldIncludeFontPadding);
    layoutBuilder.setTextSpacingExtra(extraSpacing);
    layoutBuilder.setTextSpacingMultiplier(spacingMultiplier);
    layoutBuilder.setAlignment(textAlignment);
    layoutBuilder.setLinkColor(linkColor);

    newLayout = layoutBuilder.build();

    layoutBuilder.setText(null);
    sTextLayoutBuilderPool.release(layoutBuilder);

    if (glyphWarming && !isEligibleForCreatingDisplayLists()) {
        GlyphWarmer.getInstance().warmLayout(newLayout);
    }

    return newLayout;
}