am 78cff10f
: Add BuildCompatUtils to get an effective platfrom API version
* commit '78cff10f8d317641dd3531cce04e74502be8ad44': Add BuildCompatUtils to get an effective platfrom API version
This commit is contained in:
commit
bdb05cc89f
5 changed files with 52 additions and 23 deletions
|
@ -0,0 +1,43 @@
|
||||||
|
/*
|
||||||
|
* 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.compat;
|
||||||
|
|
||||||
|
import android.os.Build;
|
||||||
|
|
||||||
|
public final class BuildCompatUtils {
|
||||||
|
private BuildCompatUtils() {
|
||||||
|
// This utility class is not publicly instantiable.
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final boolean IS_RELEASE_BUILD = Build.VERSION.CODENAME.equals("REL");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The "effective" API version.
|
||||||
|
* {@link android.os.Build.VERSION#SDK_INT} if the platform is a release build.
|
||||||
|
* {@link android.os.Build.VERSION#SDK_INT} plus 1 if the platform is a development build.
|
||||||
|
*/
|
||||||
|
public static final int EFFECTIVE_SDK_INT = IS_RELEASE_BUILD
|
||||||
|
? Build.VERSION.SDK_INT
|
||||||
|
: Build.VERSION.SDK_INT + 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API version for L-release.
|
||||||
|
*/
|
||||||
|
// TODO: Substitute this constant reference with Build.VERSION_CODES.L* once the *next* version
|
||||||
|
// becomes available.
|
||||||
|
public static final int VERSION_CODES_LXX = 21;
|
||||||
|
}
|
|
@ -17,11 +17,11 @@
|
||||||
package com.android.inputmethod.keyboard;
|
package com.android.inputmethod.keyboard;
|
||||||
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Build.VERSION_CODES;
|
import android.os.Build.VERSION_CODES;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.inputmethod.annotations.UsedForTesting;
|
import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
|
import com.android.inputmethod.compat.BuildCompatUtils;
|
||||||
import com.android.inputmethod.latin.R;
|
import com.android.inputmethod.latin.R;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -47,8 +47,7 @@ public final class KeyboardTheme implements Comparable<KeyboardTheme> {
|
||||||
VERSION_CODES.ICE_CREAM_SANDWICH),
|
VERSION_CODES.ICE_CREAM_SANDWICH),
|
||||||
new KeyboardTheme(THEME_ID_LXX_LIGHT, R.style.KeyboardTheme_LXX_Light,
|
new KeyboardTheme(THEME_ID_LXX_LIGHT, R.style.KeyboardTheme_LXX_Light,
|
||||||
// Default theme for LXX.
|
// Default theme for LXX.
|
||||||
// TODO: Update this constant once the *next* version becomes available.
|
BuildCompatUtils.VERSION_CODES_LXX),
|
||||||
VERSION_CODES.CUR_DEVELOPMENT),
|
|
||||||
new KeyboardTheme(THEME_ID_LXX_DARK, R.style.KeyboardTheme_LXX_Dark,
|
new KeyboardTheme(THEME_ID_LXX_DARK, R.style.KeyboardTheme_LXX_Dark,
|
||||||
VERSION_CODES.BASE),
|
VERSION_CODES.BASE),
|
||||||
};
|
};
|
||||||
|
@ -99,15 +98,6 @@ public final class KeyboardTheme implements Comparable<KeyboardTheme> {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getSdkVersion() {
|
|
||||||
final int sdkVersion = Build.VERSION.SDK_INT;
|
|
||||||
// TODO: Consider to remove this check once the *next* version becomes available.
|
|
||||||
if (sdkVersion > VERSION_CODES.KITKAT) {
|
|
||||||
return VERSION_CODES.CUR_DEVELOPMENT;
|
|
||||||
}
|
|
||||||
return sdkVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
@UsedForTesting
|
@UsedForTesting
|
||||||
static KeyboardTheme getDefaultKeyboardTheme(final SharedPreferences prefs,
|
static KeyboardTheme getDefaultKeyboardTheme(final SharedPreferences prefs,
|
||||||
final int sdkVersion) {
|
final int sdkVersion) {
|
||||||
|
@ -140,7 +130,7 @@ public final class KeyboardTheme implements Comparable<KeyboardTheme> {
|
||||||
|
|
||||||
public static void saveKeyboardThemeId(final String themeIdString,
|
public static void saveKeyboardThemeId(final String themeIdString,
|
||||||
final SharedPreferences prefs) {
|
final SharedPreferences prefs) {
|
||||||
saveKeyboardThemeId(themeIdString, prefs, getSdkVersion());
|
saveKeyboardThemeId(themeIdString, prefs, BuildCompatUtils.EFFECTIVE_SDK_INT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UsedForTesting
|
@UsedForTesting
|
||||||
|
@ -159,7 +149,7 @@ public final class KeyboardTheme implements Comparable<KeyboardTheme> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static KeyboardTheme getKeyboardTheme(final SharedPreferences prefs) {
|
public static KeyboardTheme getKeyboardTheme(final SharedPreferences prefs) {
|
||||||
return getKeyboardTheme(prefs, getSdkVersion());
|
return getKeyboardTheme(prefs, BuildCompatUtils.EFFECTIVE_SDK_INT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UsedForTesting
|
@UsedForTesting
|
||||||
|
|
|
@ -24,6 +24,7 @@ import android.os.Build;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
|
||||||
|
import com.android.inputmethod.compat.BuildCompatUtils;
|
||||||
import com.android.inputmethod.keyboard.Key;
|
import com.android.inputmethod.keyboard.Key;
|
||||||
import com.android.inputmethod.keyboard.Keyboard;
|
import com.android.inputmethod.keyboard.Keyboard;
|
||||||
import com.android.inputmethod.keyboard.KeyboardId;
|
import com.android.inputmethod.keyboard.KeyboardId;
|
||||||
|
@ -121,9 +122,7 @@ final class EmojiCategory {
|
||||||
sCategoryTabIconAttr[i], 0);
|
sCategoryTabIconAttr[i], 0);
|
||||||
}
|
}
|
||||||
addShownCategoryId(EmojiCategory.ID_RECENTS);
|
addShownCategoryId(EmojiCategory.ID_RECENTS);
|
||||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2
|
if (BuildCompatUtils.EFFECTIVE_SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||||
|| android.os.Build.VERSION.CODENAME.equalsIgnoreCase("KeyLimePie")
|
|
||||||
|| android.os.Build.VERSION.CODENAME.equalsIgnoreCase("KitKat")) {
|
|
||||||
addShownCategoryId(EmojiCategory.ID_PEOPLE);
|
addShownCategoryId(EmojiCategory.ID_PEOPLE);
|
||||||
addShownCategoryId(EmojiCategory.ID_OBJECTS);
|
addShownCategoryId(EmojiCategory.ID_OBJECTS);
|
||||||
addShownCategoryId(EmojiCategory.ID_NATURE);
|
addShownCategoryId(EmojiCategory.ID_NATURE);
|
||||||
|
|
|
@ -24,6 +24,7 @@ import android.os.Build;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.android.inputmethod.compat.BuildCompatUtils;
|
||||||
import com.android.inputmethod.latin.AudioAndHapticFeedbackManager;
|
import com.android.inputmethod.latin.AudioAndHapticFeedbackManager;
|
||||||
import com.android.inputmethod.latin.InputAttributes;
|
import com.android.inputmethod.latin.InputAttributes;
|
||||||
import com.android.inputmethod.latin.R;
|
import com.android.inputmethod.latin.R;
|
||||||
|
@ -68,9 +69,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
||||||
public static final String PREF_BLOCK_POTENTIALLY_OFFENSIVE =
|
public static final String PREF_BLOCK_POTENTIALLY_OFFENSIVE =
|
||||||
"pref_key_block_potentially_offensive";
|
"pref_key_block_potentially_offensive";
|
||||||
public static final boolean ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS =
|
public static final boolean ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS =
|
||||||
(Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT)
|
BuildCompatUtils.EFFECTIVE_SDK_INT <= Build.VERSION_CODES.KITKAT;
|
||||||
|| (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT
|
|
||||||
&& Build.VERSION.CODENAME.equals("REL"));
|
|
||||||
public static final String PREF_SHOW_LANGUAGE_SWITCH_KEY =
|
public static final String PREF_SHOW_LANGUAGE_SWITCH_KEY =
|
||||||
"pref_show_language_switch_key";
|
"pref_show_language_switch_key";
|
||||||
public static final String PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST =
|
public static final String PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST =
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
package com.android.inputmethod.keyboard;
|
package com.android.inputmethod.keyboard;
|
||||||
|
|
||||||
|
import static com.android.inputmethod.compat.BuildCompatUtils.VERSION_CODES_LXX;
|
||||||
import static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_ICS;
|
import static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_ICS;
|
||||||
import static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_KLP;
|
import static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_KLP;
|
||||||
import static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_LXX_DARK;
|
import static com.android.inputmethod.keyboard.KeyboardTheme.THEME_ID_LXX_DARK;
|
||||||
|
@ -31,9 +32,6 @@ import android.test.suitebuilder.annotation.SmallTest;
|
||||||
public class KeyboardThemeTests extends AndroidTestCase {
|
public class KeyboardThemeTests extends AndroidTestCase {
|
||||||
private SharedPreferences mPrefs;
|
private SharedPreferences mPrefs;
|
||||||
|
|
||||||
// TODO: Remove this constant once the *next* version becomes available.
|
|
||||||
private static final int VERSION_CODES_LXX = VERSION_CODES.CUR_DEVELOPMENT;
|
|
||||||
|
|
||||||
private static final int THEME_ID_NULL = -1;
|
private static final int THEME_ID_NULL = -1;
|
||||||
private static final int THEME_ID_UNKNOWN = -2;
|
private static final int THEME_ID_UNKNOWN = -2;
|
||||||
private static final int THEME_ID_ILLEGAL = -3;
|
private static final int THEME_ID_ILLEGAL = -3;
|
||||||
|
|
Loading…
Reference in a new issue