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

Commit 6959a0f2 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Refactor keyboard layout unit tests

- Move predfined keys definitions to AbstractLayerBase and make it a
  top-level class.
- LayoutCustomizer extends AbstractLayoutBase that provides unit tests
  to access helper method and predefined key easily.
- Move shared layout custmizers to new layout.customizer package.
- Move private layout customizers to layout classes.

Change-Id: I9421cef1bedf5759fb0434842ac13a3fe3320b69
parent c5e6ce7b
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.inputmethod.keyboard.layout;

import com.android.inputmethod.keyboard.layout.Symbols.RtlSymbols;
import com.android.inputmethod.keyboard.layout.SymbolsShifted.RtlSymbolsShifted;
import com.android.inputmethod.keyboard.layout.customizer.LayoutCustomizer;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
import com.android.inputmethod.latin.Constants;
@@ -27,17 +28,15 @@ import java.util.Locale;
public final class Arabic extends LayoutBase {
    private static final String LAYOUT_NAME = "arabic";

    public Arabic(final LayoutCustomizer customizer) {
        super(customizer, ArabicSymbols.class, ArabicSymbolsShifted.class);
    public Arabic(final Locale locale) {
        super(new ArabicCustomizer(locale), ArabicSymbols.class, ArabicSymbolsShifted.class);
    }

    @Override
    public String getName() { return LAYOUT_NAME; }

    public static class ArabicCustomizer extends LayoutCustomizer {
        public ArabicCustomizer(final Locale locale) {
            super(locale);
        }
    private static class ArabicCustomizer extends LayoutCustomizer {
        ArabicCustomizer(final Locale locale) { super(locale); }

        @Override
        public ExpectedKey getAlphabetKey() { return ARABIC_ALPHABET_KEY; }
@@ -141,13 +140,12 @@ public final class Arabic extends LayoutBase {
    ExpectedKey[][] getCommonAlphabetLayout(final boolean isPhone) {
        if (isPhone) {
            return ALPHABET_COMMON;
        } else {
        }
        final ExpectedKeyboardBuilder builder = new ExpectedKeyboardBuilder(ALPHABET_COMMON);
        // U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
        builder.insertKeysAtRow(3, 2, "\u0626");
        return builder.build();
    }
    }

    @Override
    ExpectedKey[][] getCommonAlphabetShiftLayout(final boolean isPhone, final int elementId) {
+6 −4
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.inputmethod.keyboard.layout;

import com.android.inputmethod.keyboard.layout.customizer.LayoutCustomizer;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
import com.android.inputmethod.latin.Constants;
@@ -28,15 +29,16 @@ import java.util.Locale;
public final class ArmenianPhonetic extends LayoutBase {
    private static final String LAYOUT_NAME = "armenian_phonetic";

    public ArmenianPhonetic(final LayoutCustomizer customizer) {
        super(customizer, ArmenianSymbols.class, ArmenianSymbolsShifted.class);
    public ArmenianPhonetic(final Locale locale) {
        super(new ArmenianPhoneticCustomizer(locale), ArmenianSymbols.class,
                ArmenianSymbolsShifted.class);
    }

    @Override
    public String getName() { return LAYOUT_NAME; }

    public static class ArmenianPhoneticCustomizer extends LayoutCustomizer {
        public ArmenianPhoneticCustomizer(final Locale locale) { super(locale); }
    private static class ArmenianPhoneticCustomizer extends LayoutCustomizer {
        ArmenianPhoneticCustomizer(final Locale locale) { super(locale); }

        @Override
        public int getNumberOfRows() { return 5; }
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.inputmethod.keyboard.layout;

import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.keyboard.layout.customizer.LayoutCustomizer;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;

+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.inputmethod.keyboard.layout;

import com.android.inputmethod.keyboard.layout.customizer.LayoutCustomizer;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;

+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.inputmethod.keyboard.layout;

import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.keyboard.layout.customizer.LayoutCustomizer;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;

Loading