Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d0b1c8c authored by Satoshi Kataoka's avatar Satoshi Kataoka Committed by Android Git Automerger
Browse files

am 142511c4: Merge "Add margin to the label of language"

* commit '142511c4':
  Add margin to the label of language
parents 9202af7f 142511c4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -122,4 +122,6 @@
    <dimen name="accessibility_edge_slop">8dp</dimen>

    <integer name="user_dictionary_max_word_length" translatable="false">48</integer>

    <dimen name="language_on_spacebar_horizontal_margin">1dp</dimen>
</resources>
+10 −5
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
    private final NonDistinctMultitouchHelper mNonDistinctMultitouchHelper;

    private final KeyTimerHandler mKeyTimerHandler;
    private final int mLanguageOnSpacebarHorizontalMargin;

    private static final class KeyTimerHandler extends StaticInnerHandlerWrapper<MainKeyboardView>
            implements TimerProxy {
@@ -512,6 +513,9 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
                altCodeKeyWhileTypingFadeinAnimatorResId, this);

        mKeyboardActionListener = KeyboardActionListener.EMPTY_LISTENER;

        mLanguageOnSpacebarHorizontalMargin =
                (int) getResources().getDimension(R.dimen.language_on_spacebar_horizontal_margin);
    }

    @Override
@@ -1188,26 +1192,27 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
        }
    }

    private static boolean fitsTextIntoWidth(final int width, final String text,
            final Paint paint) {
    private boolean fitsTextIntoWidth(final int width, final String text, final Paint paint) {
        final int maxTextWidth = width - mLanguageOnSpacebarHorizontalMargin * 2;
        paint.setTextScaleX(1.0f);
        final float textWidth = TypefaceUtils.getLabelWidth(text, paint);
        if (textWidth < width) {
            return true;
        }

        final float scaleX = width / textWidth;
        final float scaleX = maxTextWidth / textWidth;
        if (scaleX < MINIMUM_XSCALE_OF_LANGUAGE_NAME) {
            return false;
        }

        paint.setTextScaleX(scaleX);
        return TypefaceUtils.getLabelWidth(text, paint) < width;
        return TypefaceUtils.getLabelWidth(text, paint) < maxTextWidth;
    }

    // Layout language name on spacebar.
    private static String layoutLanguageOnSpacebar(final Paint paint,
    private String layoutLanguageOnSpacebar(final Paint paint,
            final InputMethodSubtype subtype, final int width) {

        // Choose appropriate language name to fit into the width.
        final String fullText = SubtypeLocaleUtils.getFullDisplayName(subtype);
        if (fitsTextIntoWidth(width, fullText, paint)) {