diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java b/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java index 60d9a054d..0ea9c742f 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java @@ -21,46 +21,43 @@ import android.os.Build; import android.os.Build.VERSION_CODES; import android.util.Log; +import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.latin.R; import java.util.Arrays; -import java.util.Comparator; -public final class KeyboardTheme { +public final class KeyboardTheme implements Comparable { private static final String TAG = KeyboardTheme.class.getSimpleName(); static final String KLP_KEYBOARD_THEME_KEY = "pref_keyboard_layout_20110916"; static final String LXX_KEYBOARD_THEME_KEY = "pref_keyboard_theme_20140509"; - static final int THEME_ID_ICS = 0; - static final int THEME_ID_KLP = 2; - static final int THEME_ID_LXX_DARK = 3; - static final int DEFAULT_THEME_ID = THEME_ID_KLP; + public static final int THEME_ID_ICS = 0; + public static final int THEME_ID_KLP = 2; + public static final int THEME_ID_LXX_DARK = 3; + public static final int DEFAULT_THEME_ID = THEME_ID_KLP; private static final KeyboardTheme[] KEYBOARD_THEMES = { new KeyboardTheme(THEME_ID_ICS, R.style.KeyboardTheme_ICS, + // This has never been selected because we support ICS or later. VERSION_CODES.BASE), new KeyboardTheme(THEME_ID_KLP, R.style.KeyboardTheme_KLP, + // Default theme for ICS, JB, and KLP. VERSION_CODES.ICE_CREAM_SANDWICH), new KeyboardTheme(THEME_ID_LXX_DARK, R.style.KeyboardTheme_LXX_Dark, + // Default theme for LXX. // TODO: Update this constant once the *next* version becomes available. VERSION_CODES.CUR_DEVELOPMENT), }; + static { // Sort {@link #KEYBOARD_THEME} by descending order of {@link #mMinApiVersion}. - Arrays.sort(KEYBOARD_THEMES, new Comparator() { - @Override - public int compare(final KeyboardTheme lhs, final KeyboardTheme rhs) { - if (lhs.mMinApiVersion > rhs.mMinApiVersion) return -1; - if (lhs.mMinApiVersion < rhs.mMinApiVersion) return 1; - return 0; - } - }); + Arrays.sort(KEYBOARD_THEMES); } public final int mThemeId; public final int mStyleId; - final int mMinApiVersion; + private final int mMinApiVersion; // Note: The themeId should be aligned with "themeId" attribute of Keyboard style // in values/themes-