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

Commit bdb05cc8 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android Git Automerger
Browse files

am 78cff10f: Add BuildCompatUtils to get an effective platfrom API version

* commit '78cff10f':
  Add BuildCompatUtils to get an effective platfrom API version
parents 7edc27f1 78cff10f
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
/*
 * 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;
}
+4 −14
Original line number Diff line number Diff line
@@ -17,11 +17,11 @@
package com.android.inputmethod.keyboard;

import android.content.SharedPreferences;
import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.util.Log;

import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.compat.BuildCompatUtils;
import com.android.inputmethod.latin.R;

import java.util.Arrays;
@@ -47,8 +47,7 @@ public final class KeyboardTheme implements Comparable<KeyboardTheme> {
                VERSION_CODES.ICE_CREAM_SANDWICH),
        new KeyboardTheme(THEME_ID_LXX_LIGHT, R.style.KeyboardTheme_LXX_Light,
                // Default theme for LXX.
                // TODO: Update this constant once the *next* version becomes available.
                VERSION_CODES.CUR_DEVELOPMENT),
                BuildCompatUtils.VERSION_CODES_LXX),
        new KeyboardTheme(THEME_ID_LXX_DARK, R.style.KeyboardTheme_LXX_Dark,
                VERSION_CODES.BASE),
    };
@@ -99,15 +98,6 @@ public final class KeyboardTheme implements Comparable<KeyboardTheme> {
        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
    static KeyboardTheme getDefaultKeyboardTheme(final SharedPreferences prefs,
            final int sdkVersion) {
@@ -140,7 +130,7 @@ public final class KeyboardTheme implements Comparable<KeyboardTheme> {

    public static void saveKeyboardThemeId(final String themeIdString,
            final SharedPreferences prefs) {
        saveKeyboardThemeId(themeIdString, prefs, getSdkVersion());
        saveKeyboardThemeId(themeIdString, prefs, BuildCompatUtils.EFFECTIVE_SDK_INT);
    }

    @UsedForTesting
@@ -159,7 +149,7 @@ public final class KeyboardTheme implements Comparable<KeyboardTheme> {
    }

    public static KeyboardTheme getKeyboardTheme(final SharedPreferences prefs) {
        return getKeyboardTheme(prefs, getSdkVersion());
        return getKeyboardTheme(prefs, BuildCompatUtils.EFFECTIVE_SDK_INT);
    }

    @UsedForTesting
+2 −3
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.os.Build;
import android.util.Log;
import android.util.Pair;

import com.android.inputmethod.compat.BuildCompatUtils;
import com.android.inputmethod.keyboard.Key;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardId;
@@ -121,9 +122,7 @@ final class EmojiCategory {
                    sCategoryTabIconAttr[i], 0);
        }
        addShownCategoryId(EmojiCategory.ID_RECENTS);
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2
                || android.os.Build.VERSION.CODENAME.equalsIgnoreCase("KeyLimePie")
                || android.os.Build.VERSION.CODENAME.equalsIgnoreCase("KitKat")) {
        if (BuildCompatUtils.EFFECTIVE_SDK_INT >= Build.VERSION_CODES.KITKAT) {
            addShownCategoryId(EmojiCategory.ID_PEOPLE);
            addShownCategoryId(EmojiCategory.ID_OBJECTS);
            addShownCategoryId(EmojiCategory.ID_NATURE);
+2 −3
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.os.Build;
import android.preference.PreferenceManager;
import android.util.Log;

import com.android.inputmethod.compat.BuildCompatUtils;
import com.android.inputmethod.latin.AudioAndHapticFeedbackManager;
import com.android.inputmethod.latin.InputAttributes;
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 =
            "pref_key_block_potentially_offensive";
    public static final boolean ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS =
            (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT)
            || (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT
                    && Build.VERSION.CODENAME.equals("REL"));
            BuildCompatUtils.EFFECTIVE_SDK_INT <= Build.VERSION_CODES.KITKAT;
    public static final String PREF_SHOW_LANGUAGE_SWITCH_KEY =
            "pref_show_language_switch_key";
    public static final String PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST =
+1 −3
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

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_KLP;
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 {
    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_UNKNOWN = -2;
    private static final int THEME_ID_ILLEGAL = -3;