aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java')
-rw-r--r--tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java168
1 files changed, 0 insertions, 168 deletions
diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java
deleted file mode 100644
index 1f13b4106..000000000
--- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.inputmethod.keyboard;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.test.AndroidTestCase;
-import android.view.ContextThemeWrapper;
-import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodSubtype;
-
-import com.android.inputmethod.compat.InputMethodSubtypeCompatUtils;
-import com.android.inputmethod.keyboard.KeyboardLayoutSet.Builder;
-import com.android.inputmethod.latin.R;
-import com.android.inputmethod.latin.RichInputMethodManager;
-import com.android.inputmethod.latin.RichInputMethodSubtype;
-import com.android.inputmethod.latin.common.Constants;
-import com.android.inputmethod.latin.settings.Settings;
-import com.android.inputmethod.latin.utils.AdditionalSubtypeUtils;
-import com.android.inputmethod.latin.utils.ResourceUtils;
-import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
-
-import java.util.ArrayList;
-import java.util.Locale;
-
-public abstract class KeyboardLayoutSetTestsBase extends AndroidTestCase {
- // All input method subtypes of LatinIME.
- private final ArrayList<InputMethodSubtype> mAllSubtypesList = new ArrayList<>();
-
- public interface SubtypeFilter {
- public boolean accept(final InputMethodSubtype subtype);
- }
-
- public static final SubtypeFilter FILTER_IS_ASCII_CAPABLE = new SubtypeFilter() {
- @Override
- public boolean accept(InputMethodSubtype subtype) {
- return InputMethodSubtypeCompatUtils.isAsciiCapable(subtype);
- }
- };
-
- public static final SubtypeFilter FILTER_IS_ADDITIONAL_SUBTYPE = new SubtypeFilter() {
- @Override
- public boolean accept(InputMethodSubtype subtype) {
- return AdditionalSubtypeUtils.isAdditionalSubtype(subtype);
- }
- };
-
- private RichInputMethodManager mRichImm;
- private InputMethodSubtype[] mSavedAdditionalSubtypes;
- private int mScreenMetrics;
-
- protected abstract int getKeyboardThemeForTests();
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- final Context context = getContext();
- final Resources res = context.getResources();
- RichInputMethodManager.init(context);
- mRichImm = RichInputMethodManager.getInstance();
-
- // Save and reset additional subtypes preference.
- mSavedAdditionalSubtypes = mRichImm.getAdditionalSubtypes();
- final InputMethodSubtype[] predefinedAdditionalSubtypes =
- AdditionalSubtypeUtils.createAdditionalSubtypesArray(
- AdditionalSubtypeUtils.createPrefSubtypes(
- res.getStringArray(R.array.predefined_subtypes)));
- mRichImm.setAdditionalInputMethodSubtypes(predefinedAdditionalSubtypes);
-
- final KeyboardTheme keyboardTheme = KeyboardTheme.searchKeyboardThemeById(
- getKeyboardThemeForTests(), KeyboardTheme.KEYBOARD_THEMES);
- setContext(new ContextThemeWrapper(getContext(), keyboardTheme.mStyleId));
- KeyboardLayoutSet.onKeyboardThemeChanged();
-
- mScreenMetrics = Settings.readScreenMetrics(res);
-
- final InputMethodInfo imi = mRichImm.getInputMethodInfoOfThisIme();
- final int subtypeCount = imi.getSubtypeCount();
- for (int index = 0; index < subtypeCount; index++) {
- mAllSubtypesList.add(imi.getSubtypeAt(index));
- }
- }
-
- @Override
- protected void tearDown() throws Exception {
- // Restore additional subtypes preference.
- mRichImm.setAdditionalInputMethodSubtypes(mSavedAdditionalSubtypes);
- super.tearDown();
- }
-
- protected final ArrayList<InputMethodSubtype> getAllSubtypesList() {
- return mAllSubtypesList;
- }
-
- protected final ArrayList<InputMethodSubtype> getSubtypesFilteredBy(
- final SubtypeFilter filter) {
- final ArrayList<InputMethodSubtype> list = new ArrayList<>();
- for (final InputMethodSubtype subtype : mAllSubtypesList) {
- if (filter.accept(subtype)) {
- list.add(subtype);
- }
- }
- return list;
- }
-
- protected final boolean isPhone() {
- return Constants.isPhone(mScreenMetrics);
- }
-
- protected final InputMethodSubtype getSubtype(final Locale locale,
- final String keyboardLayout) {
- for (final InputMethodSubtype subtype : mAllSubtypesList) {
- final Locale subtypeLocale = SubtypeLocaleUtils.getSubtypeLocale(subtype);
- final String subtypeLayout = SubtypeLocaleUtils.getKeyboardLayoutSetName(subtype);
- if (locale.equals(subtypeLocale) && keyboardLayout.equals(subtypeLayout)) {
- // Found subtype that matches locale and keyboard layout.
- return subtype;
- }
- }
- for (final InputMethodSubtype subtype : getSubtypesFilteredBy(FILTER_IS_ASCII_CAPABLE)) {
- final Locale subtypeLocale = SubtypeLocaleUtils.getSubtypeLocale(subtype);
- if (locale.equals(subtypeLocale)) {
- // Create additional subtype.
- return AdditionalSubtypeUtils.createAsciiEmojiCapableAdditionalSubtype(
- locale.toString(), keyboardLayout);
- }
- }
- throw new RuntimeException(
- "Unknown subtype: locale=" + locale + " keyboardLayout=" + keyboardLayout);
- }
-
- protected KeyboardLayoutSet createKeyboardLayoutSet(final InputMethodSubtype subtype,
- final EditorInfo editorInfo) {
- return createKeyboardLayoutSet(subtype, editorInfo, false /* voiceInputKeyEnabled */,
- false /* languageSwitchKeyEnabled */, false /* splitLayoutEnabled */);
- }
-
- protected KeyboardLayoutSet createKeyboardLayoutSet(final InputMethodSubtype subtype,
- final EditorInfo editorInfo, final boolean voiceInputKeyEnabled,
- final boolean languageSwitchKeyEnabled, final boolean splitLayoutEnabled) {
- final Context context = getContext();
- final Resources res = context.getResources();
- final int keyboardWidth = ResourceUtils.getDefaultKeyboardWidth(context);
- final int keyboardHeight = ResourceUtils.getDefaultKeyboardHeight(res);
- final Builder builder = new Builder(context, editorInfo);
- builder.setKeyboardGeometry(keyboardWidth, keyboardHeight)
- .setSubtype(RichInputMethodSubtype.getRichInputMethodSubtype(subtype))
- .setVoiceInputKeyEnabled(voiceInputKeyEnabled)
- .setLanguageSwitchKeyEnabled(languageSwitchKeyEnabled)
- .setSplitLayoutEnabledByUser(splitLayoutEnabled);
- return builder.build();
- }
-}