159c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka/* 259c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * Copyright (C) 2014 The Android Open Source Project 359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * 459c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License"); 559c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * you may not use this file except in compliance with the License. 659c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * You may obtain a copy of the License at 759c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * 859c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * http://www.apache.org/licenses/LICENSE-2.0 959c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * 1059c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software 1159c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS, 1259c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * See the License for the specific language governing permissions and 1459c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka * limitations under the License. 1559c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka */ 1659c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 1759c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaokapackage com.android.inputmethod.keyboard; 1859c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 1978cff10f8d317641dd3531cce04e74502be8ad44Tadashi G. Takaokaimport static com.android.inputmethod.compat.BuildCompatUtils.VERSION_CODES_LXX; 20f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaokaimport static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_ICS; 21f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaokaimport static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_KLP; 22f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaokaimport static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_LXX_DARK; 23f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaokaimport static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_LXX_LIGHT; 24f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka 2559c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaokaimport android.content.SharedPreferences; 2659c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaokaimport android.os.Build.VERSION_CODES; 2759c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaokaimport android.preference.PreferenceManager; 2859c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaokaimport android.test.AndroidTestCase; 2959c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaokaimport android.test.suitebuilder.annotation.SmallTest; 3059c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 3159c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka@SmallTest 3259c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaokapublic class KeyboardThemeTests extends AndroidTestCase { 3359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka private SharedPreferences mPrefs; 3459c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 3559c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka private static final int THEME_ID_NULL = -1; 363b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private static final int THEME_ID_UNKNOWN = -2; 373b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private static final int THEME_ID_ILLEGAL = -3; 383b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private static final String ILLEGAL_THEME_ID_STRING = "ThisCausesNumberFormatExecption"; 3959c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 4059c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka @Override 4159c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka protected void setUp() throws Exception { 4259c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka super.setUp(); 4359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka mPrefs = PreferenceManager.getDefaultSharedPreferences(getContext()); 4459c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 4559c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 463b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka /* 473b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka * Helper functions. 483b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka */ 493b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 503b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private static boolean isValidKeyboardThemeId(final int themeId) { 513b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka switch (themeId) { 523b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka case THEME_ID_ICS: 533b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka case THEME_ID_KLP: 54f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka case THEME_ID_LXX_LIGHT: 5504e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka case THEME_ID_LXX_DARK: 563b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka return true; 573b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka default: 583b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka return false; 593b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 603b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 613b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 623b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void setKeyboardThemePreference(final String prefKey, final int themeId) { 633b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final String themeIdString = Integer.toString(themeId); 643b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka if (isValidKeyboardThemeId(themeId) || themeId == THEME_ID_UNKNOWN) { 653b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Set valid theme id to preference. 663b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka mPrefs.edit().putString(prefKey, themeIdString).apply(); 673b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka return; 683b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 693b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka if (themeId == THEME_ID_NULL) { 703b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Simulate undefined preference. 713b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka mPrefs.edit().remove(prefKey).apply(); 723b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka return; 733b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 743b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // themeId == THEME_ID_ILLEGAL 753b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Simulate illegal format theme id in preference. 763b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka mPrefs.edit().putString(prefKey, ILLEGAL_THEME_ID_STRING).apply(); 773b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 783b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 793b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertKeyboardTheme(final int sdkVersion, final int expectedThemeId) { 803b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertEquals(expectedThemeId, KeyboardTheme.getKeyboardTheme(mPrefs, sdkVersion).mThemeId); 813b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 823b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 833b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka /* 843b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka * Test keyboard theme preference on the same platform version and the same keyboard version. 853b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka */ 863b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 87f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka private void assertKeyboardThemePreference(final int sdkVersion, final int previousThemeId, 883b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final int expectedThemeId) { 89f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka // Clear preferences before testing. 90f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka setKeyboardThemePreference(KeyboardTheme.KLP_KEYBOARD_THEME_KEY, THEME_ID_NULL); 91f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka setKeyboardThemePreference(KeyboardTheme.LXX_KEYBOARD_THEME_KEY, THEME_ID_NULL); 92f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka // Set the preference of the sdkVersion to previousThemeId. 933b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final String prefKey = KeyboardTheme.getPreferenceKey(sdkVersion); 94f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka setKeyboardThemePreference(prefKey, previousThemeId); 953b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardTheme(sdkVersion, expectedThemeId); 963b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 973b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 983b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertKeyboardThemePreferenceOnKlp(final int sdkVersion) { 993b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final int defaultThemeId = THEME_ID_KLP; 1003b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_NULL, defaultThemeId); 1013b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_ICS, THEME_ID_ICS); 1023b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_KLP, THEME_ID_KLP); 103f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_LXX_LIGHT, THEME_ID_LXX_LIGHT); 10404e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_LXX_DARK, THEME_ID_LXX_DARK); 1053b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_UNKNOWN, defaultThemeId); 1063b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_ILLEGAL, defaultThemeId); 1073b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 1083b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 1093b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testKeyboardThemePreferenceOnKlp() { 1103b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreferenceOnKlp(VERSION_CODES.ICE_CREAM_SANDWICH); 1113b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreferenceOnKlp(VERSION_CODES.ICE_CREAM_SANDWICH_MR1); 1123b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreferenceOnKlp(VERSION_CODES.JELLY_BEAN); 1133b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreferenceOnKlp(VERSION_CODES.JELLY_BEAN_MR1); 1143b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreferenceOnKlp(VERSION_CODES.JELLY_BEAN_MR2); 1153b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreferenceOnKlp(VERSION_CODES.KITKAT); 1163b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 1173b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 1183b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertKeyboardThemePreferenceOnLxx(final int sdkVersion) { 119f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka final int defaultThemeId = THEME_ID_LXX_LIGHT; 1203b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_NULL, defaultThemeId); 1213b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_ICS, THEME_ID_ICS); 1223b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_KLP, THEME_ID_KLP); 123f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_LXX_LIGHT, THEME_ID_LXX_LIGHT); 12404e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_LXX_DARK, THEME_ID_LXX_DARK); 1253b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_UNKNOWN, defaultThemeId); 1263b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreference(sdkVersion, THEME_ID_ILLEGAL, defaultThemeId); 1273b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 1283b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 1293b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testKeyboardThemePreferenceOnLxx() { 1303b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardThemePreferenceOnLxx(VERSION_CODES_LXX); 1313b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 1323b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 1333b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka /* 1343b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka * Test default keyboard theme based on the platform version. 1353b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka */ 1363b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 137f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka private void assertDefaultKeyboardTheme(final int sdkVersion, final int previousThemeId, 13859c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka final int expectedThemeId) { 1393b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final String oldPrefKey = KeyboardTheme.KLP_KEYBOARD_THEME_KEY; 140f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka setKeyboardThemePreference(oldPrefKey, previousThemeId); 1413b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 14259c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka final KeyboardTheme defaultTheme = 14359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka KeyboardTheme.getDefaultKeyboardTheme(mPrefs, sdkVersion); 1443b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 14559c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka assertNotNull(defaultTheme); 14659c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka assertEquals(expectedThemeId, defaultTheme.mThemeId); 1473b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka if (sdkVersion <= VERSION_CODES.KITKAT) { 1483b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Old preference must be retained if it is valid. Otherwise it must be pruned. 149f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka assertEquals(isValidKeyboardThemeId(previousThemeId), mPrefs.contains(oldPrefKey)); 1503b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka return; 1513b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 1523b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Old preference must be removed. 1533b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertFalse(mPrefs.contains(oldPrefKey)); 15459c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 15559c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 1563b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertDefaultKeyboardThemeOnKlp(final int sdkVersion) { 1573b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_NULL, THEME_ID_KLP); 15859c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_ICS, THEME_ID_ICS); 15959c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_KLP, THEME_ID_KLP); 1603b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_UNKNOWN, THEME_ID_KLP); 1613b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_ILLEGAL, THEME_ID_KLP); 16259c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 16359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 1643b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testDefaultKeyboardThemeOnKlp() { 1653b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardThemeOnKlp(VERSION_CODES.ICE_CREAM_SANDWICH); 1663b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardThemeOnKlp(VERSION_CODES.ICE_CREAM_SANDWICH_MR1); 1673b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardThemeOnKlp(VERSION_CODES.JELLY_BEAN); 1683b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardThemeOnKlp(VERSION_CODES.JELLY_BEAN_MR1); 1693b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardThemeOnKlp(VERSION_CODES.JELLY_BEAN_MR2); 1703b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardThemeOnKlp(VERSION_CODES.KITKAT); 17159c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 17259c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 1733b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertDefaultKeyboardThemeOnLxx(final int sdkVersion) { 17436100397231addedc6e3bfde4003a83476e8f9c9Tadashi G. Takaoka // Forced to switch to LXX theme. 175f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_NULL, THEME_ID_LXX_LIGHT); 176f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_ICS, THEME_ID_LXX_LIGHT); 177f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_KLP, THEME_ID_LXX_LIGHT); 178f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_UNKNOWN, THEME_ID_LXX_LIGHT); 179f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertDefaultKeyboardTheme(sdkVersion, THEME_ID_ILLEGAL, THEME_ID_LXX_LIGHT); 1803b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 1813b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 1823b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testDefaultKeyboardThemeOnLxx() { 1833b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertDefaultKeyboardThemeOnLxx(VERSION_CODES_LXX); 1843b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 1853b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 1863b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka /* 1873b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka * Test keyboard theme preference while upgrading the keyboard that doesn't support LXX theme 1883b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka * to the keyboard that supports LXX theme. 1893b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka */ 1903b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 191f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka private void assertUpgradeKeyboardToLxxOn(final int sdkVersion, final int previousThemeId, 1923b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final int expectedThemeId) { 193f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka setKeyboardThemePreference(KeyboardTheme.KLP_KEYBOARD_THEME_KEY, previousThemeId); 1943b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Clean up new keyboard theme preference to simulate "upgrade to LXX keyboard". 1953b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka setKeyboardThemePreference(KeyboardTheme.LXX_KEYBOARD_THEME_KEY, THEME_ID_NULL); 1963b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 1973b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final KeyboardTheme theme = KeyboardTheme.getKeyboardTheme(mPrefs, sdkVersion); 1983b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 1993b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertNotNull(theme); 2003b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertEquals(expectedThemeId, theme.mThemeId); 2013b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka if (sdkVersion <= VERSION_CODES.KITKAT) { 2023b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // New preference must not exist. 2033b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertFalse(mPrefs.contains(KeyboardTheme.LXX_KEYBOARD_THEME_KEY)); 2043b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Old preference must be retained if it is valid. Otherwise it must be pruned. 205f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka assertEquals(isValidKeyboardThemeId(previousThemeId), 2063b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka mPrefs.contains(KeyboardTheme.KLP_KEYBOARD_THEME_KEY)); 207f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka if (isValidKeyboardThemeId(previousThemeId)) { 2083b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Old preference must have an expected value. 2093b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertEquals(mPrefs.getString(KeyboardTheme.KLP_KEYBOARD_THEME_KEY, null), 2103b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka Integer.toString(expectedThemeId)); 2113b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2123b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka return; 2133b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2143b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Old preference must be removed. 2153b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertFalse(mPrefs.contains(KeyboardTheme.KLP_KEYBOARD_THEME_KEY)); 2163b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // New preference must not exist. 2173b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertFalse(mPrefs.contains(KeyboardTheme.LXX_KEYBOARD_THEME_KEY)); 2183b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2193b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2203b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertUpgradeKeyboardToLxxOnKlp(final int sdkVersion) { 2213b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_NULL, THEME_ID_KLP); 2223b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_ICS, THEME_ID_ICS); 2233b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_KLP, THEME_ID_KLP); 2243b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_UNKNOWN, THEME_ID_KLP); 2253b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_ILLEGAL, THEME_ID_KLP); 2263b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2273b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2283b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Upgrading keyboard on I,J and K. 2293b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testUpgradeKeyboardToLxxOnKlp() { 2303b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOnKlp(VERSION_CODES.ICE_CREAM_SANDWICH); 2313b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOnKlp(VERSION_CODES.ICE_CREAM_SANDWICH_MR1); 2323b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOnKlp(VERSION_CODES.JELLY_BEAN); 2333b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOnKlp(VERSION_CODES.JELLY_BEAN_MR1); 2343b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOnKlp(VERSION_CODES.JELLY_BEAN_MR2); 2353b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOnKlp(VERSION_CODES.KITKAT); 2363b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2373b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2383b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertUpgradeKeyboardToLxxOnLxx(final int sdkVersion) { 2393b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Forced to switch to LXX theme. 240f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_NULL, THEME_ID_LXX_LIGHT); 241f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_ICS, THEME_ID_LXX_LIGHT); 242f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_KLP, THEME_ID_LXX_LIGHT); 243f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_UNKNOWN, THEME_ID_LXX_LIGHT); 244f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertUpgradeKeyboardToLxxOn(sdkVersion, THEME_ID_ILLEGAL, THEME_ID_LXX_LIGHT); 2453b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2463b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2473b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Upgrading keyboard on L. 2483b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testUpgradeKeyboardToLxxOnLxx() { 2493b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradeKeyboardToLxxOnLxx(VERSION_CODES_LXX); 25059c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 25159c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 2523b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka /* 2533b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka * Test keyboard theme preference while upgrading platform version. 2543b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka */ 2553b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2563b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertUpgradePlatformFromTo(final int oldSdkVersion, final int newSdkVersion, 257f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka final int previousThemeId, final int expectedThemeId) { 2583b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka if (newSdkVersion < oldSdkVersion) { 2593b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // No need to test. 2603b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka return; 2613b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2623b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Clean up preferences. 2633b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka setKeyboardThemePreference(KeyboardTheme.KLP_KEYBOARD_THEME_KEY, THEME_ID_NULL); 2643b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka setKeyboardThemePreference(KeyboardTheme.LXX_KEYBOARD_THEME_KEY, THEME_ID_NULL); 2653b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2663b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final String oldPrefKey = KeyboardTheme.getPreferenceKey(oldSdkVersion); 267f67172552033ad5bfc9aadea5d2729d65a666e91Tadashi G. Takaoka setKeyboardThemePreference(oldPrefKey, previousThemeId); 2683b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2693b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertKeyboardTheme(newSdkVersion, expectedThemeId); 27059c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 27159c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 2723b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertUpgradePlatformFromKlpToKlp(final int oldSdkVersion, 2733b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final int newSdkVersion) { 2743b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromTo(oldSdkVersion, newSdkVersion, THEME_ID_NULL, THEME_ID_KLP); 2753b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromTo(oldSdkVersion, newSdkVersion, THEME_ID_ICS, THEME_ID_ICS); 2763b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromTo(oldSdkVersion, newSdkVersion, THEME_ID_KLP, THEME_ID_KLP); 2773b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromTo(oldSdkVersion, newSdkVersion, THEME_ID_UNKNOWN, THEME_ID_KLP); 2783b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromTo(oldSdkVersion, newSdkVersion, THEME_ID_ILLEGAL, THEME_ID_KLP); 2793b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2803b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2813b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertUpgradePlatformToKlpFrom(final int oldSdkVersion) { 2823b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromKlpToKlp(oldSdkVersion, VERSION_CODES.ICE_CREAM_SANDWICH); 2833b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromKlpToKlp(oldSdkVersion, VERSION_CODES.ICE_CREAM_SANDWICH_MR1); 2843b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromKlpToKlp(oldSdkVersion, VERSION_CODES.JELLY_BEAN); 2853b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromKlpToKlp(oldSdkVersion, VERSION_CODES.JELLY_BEAN_MR1); 2863b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromKlpToKlp(oldSdkVersion, VERSION_CODES.JELLY_BEAN_MR2); 2873b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformFromKlpToKlp(oldSdkVersion, VERSION_CODES.KITKAT); 2883b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2893b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 2903b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Update platform from I,J, and K to I,J, and K 2913b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testUpgradePlatformToKlpFromKlp() { 2923b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToKlpFrom(VERSION_CODES.ICE_CREAM_SANDWICH); 2933b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToKlpFrom(VERSION_CODES.ICE_CREAM_SANDWICH_MR1); 2943b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToKlpFrom(VERSION_CODES.JELLY_BEAN); 2953b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToKlpFrom(VERSION_CODES.JELLY_BEAN_MR1); 2963b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToKlpFrom(VERSION_CODES.JELLY_BEAN_MR2); 2973b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToKlpFrom(VERSION_CODES.KITKAT); 2983b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka } 2993b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka 3003b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka private void assertUpgradePlatformToLxxFrom(final int oldSdkVersion) { 3013b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Forced to switch to LXX theme. 3023b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final int newSdkVersion = VERSION_CODES_LXX; 30304e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 304f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_NULL, THEME_ID_LXX_LIGHT); 30504e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 306f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_ICS, THEME_ID_LXX_LIGHT); 30704e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 308f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_KLP, THEME_ID_LXX_LIGHT); 30904e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 310f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_UNKNOWN, THEME_ID_LXX_LIGHT); 31104e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 312f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_ILLEGAL, THEME_ID_LXX_LIGHT); 31359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 31459c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 3153b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Update platform from I,J, and K to L 3163b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testUpgradePlatformToLxx() { 3173b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToLxxFrom(VERSION_CODES.ICE_CREAM_SANDWICH); 3183b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToLxxFrom(VERSION_CODES.ICE_CREAM_SANDWICH_MR1); 3193b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToLxxFrom(VERSION_CODES.JELLY_BEAN); 3203b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToLxxFrom(VERSION_CODES.JELLY_BEAN_MR1); 3213b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToLxxFrom(VERSION_CODES.JELLY_BEAN_MR2); 3223b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka assertUpgradePlatformToLxxFrom(VERSION_CODES.KITKAT); 32359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 32459c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka 3253b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka // Update platform from L to L. 3263b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka public void testUpgradePlatformToLxxFromLxx() { 3273b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final int oldSdkVersion = VERSION_CODES_LXX; 3283b12718537f40b262e5eeb5c8168d69b2afa6955Tadashi G. Takaoka final int newSdkVersion = VERSION_CODES_LXX; 32904e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 330f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_NULL, THEME_ID_LXX_LIGHT); 33104e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 33204e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_ICS, THEME_ID_ICS); 33304e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 33404e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_KLP, THEME_ID_KLP); 33504e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 336f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_LXX_LIGHT, THEME_ID_LXX_LIGHT); 337f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertUpgradePlatformFromTo( 338f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_LXX_DARK, THEME_ID_LXX_DARK); 339f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka assertUpgradePlatformFromTo( 340f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_UNKNOWN, THEME_ID_LXX_LIGHT); 34104e2a494e2bcdf50b6e6bb8ba0e2b25efd91fd35Tadashi G. Takaoka assertUpgradePlatformFromTo( 342f9f409530ccdc975ef965b1d1fee44bbd341d718Tadashi G. Takaoka oldSdkVersion, newSdkVersion, THEME_ID_ILLEGAL, THEME_ID_LXX_LIGHT); 34359c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka } 34459c3ef1ff8df23e3c3e3f549c0289c479553c666Tadashi G. Takaoka} 345