package com.serenegiant.utils; import android.os.Build; public final class BuildCheck { private static final boolean check(final int value) { return (Build.VERSION.SDK_INT >= value); } /** * Magic version number for a current development build, * which has not yet turned into an official release. API=10000 * @return */ public static boolean isCurrentDevelopment() { return (Build.VERSION.SDK_INT == Build.VERSION_CODES.CUR_DEVELOPMENT); } /** * October 2008: The original, first, version of Android. Yay!, API>=1 * @return */ public static boolean isBase() { return check(Build.VERSION_CODES.BASE); } /** * February 2009: First Android update, officially called 1.1., API>=2 * @return */ public static boolean isBase11() { return check(Build.VERSION_CODES.BASE_1_1); } /** * May 2009: Android 1.5., API>=3 * @return */ public static boolean isCupcake() { return check(Build.VERSION_CODES.CUPCAKE); } /** * May 2009: Android 1.5., API>=3 * @return */ public static boolean isAndroid1_5() { return check(Build.VERSION_CODES.CUPCAKE); } /** * September 2009: Android 1.6., API>=4 * @return */ public static boolean isDonut() { return check(Build.VERSION_CODES.DONUT); } /** * September 2009: Android 1.6., API>=4 * @return */ public static boolean isAndroid1_6() { return check(Build.VERSION_CODES.DONUT); } /** * November 2009: Android 2.0, API>=5 * @return */ public static boolean isEclair() { return check(Build.VERSION_CODES.ECLAIR); } /** * November 2009: Android 2.0, API>=5 * @return */ public static boolean isAndroid2_0() { return check(Build.VERSION_CODES.ECLAIR); } /** * December 2009: Android 2.0.1, API>=6 * @return */ public static boolean isEclair01() { return check(Build.VERSION_CODES.ECLAIR_0_1); } /** * January 2010: Android 2.1, API>=7 * @return */ public static boolean isEclairMR1() { return check(Build.VERSION_CODES.ECLAIR_MR1); } /** * June 2010: Android 2.2, API>=8 * @return */ public static boolean isFroyo() { return check(Build.VERSION_CODES.FROYO); } /** * June 2010: Android 2.2, API>=8 * @return */ public static boolean isAndroid2_2() { return check(Build.VERSION_CODES.FROYO); } /** * November 2010: Android 2.3, API>=9 * @return */ public static boolean isGingerBread() { return check(Build.VERSION_CODES.GINGERBREAD); } /** * November 2010: Android 2.3, API>=9 * @return */ public static boolean isAndroid2_3() { return check(Build.VERSION_CODES.GINGERBREAD); } /** * February 2011: Android 2.3.3., API>=10 * @return */ public static boolean isGingerBreadMR1() { return check(Build.VERSION_CODES.GINGERBREAD_MR1); } /** * February 2011: Android 2.3.3., API>=10 * @return */ public static boolean isAndroid2_3_3() { return check(Build.VERSION_CODES.GINGERBREAD_MR1); } /** * February 2011: Android 3.0., API>=11 * @return */ public static boolean isHoneyComb() { return check(Build.VERSION_CODES.HONEYCOMB); } /** * February 2011: Android 3.0., API>=11 * @return */ public static boolean isAndroid3() { return check(Build.VERSION_CODES.HONEYCOMB); } /** * May 2011: Android 3.1., API>=12 * @return */ public static boolean isHoneyCombMR1() { return check(Build.VERSION_CODES.HONEYCOMB_MR1); } /** * May 2011: Android 3.1., API>=12 * @return */ public static boolean isAndroid3_1() { return check(Build.VERSION_CODES.HONEYCOMB_MR1); } /** * June 2011: Android 3.2., API>=13 * @return */ public static boolean isHoneyCombMR2() { return check(Build.VERSION_CODES.HONEYCOMB_MR2); } /** * June 2011: Android 3.2., API>=13 * @return */ public static boolean isAndroid3_2() { return check(Build.VERSION_CODES.HONEYCOMB_MR2); } /** * October 2011: Android 4.0., API>=14 * @return */ public static boolean isIcecreamSandwich() { return check(Build.VERSION_CODES.ICE_CREAM_SANDWICH); } /** * October 2011: Android 4.0., API>=14 * @return */ public static boolean isAndroid4() { return check(Build.VERSION_CODES.ICE_CREAM_SANDWICH); } /** * December 2011: Android 4.0.3., API>=15 * @return */ public static boolean isIcecreamSandwichMR1() { return check(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1); } /** * December 2011: Android 4.0.3., API>=15 * @return */ public static boolean isAndroid4_0_3() { return check(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1); } /** * June 2012: Android 4.1., API>=16 * @return */ public static boolean isJellyBean() { return check(Build.VERSION_CODES.JELLY_BEAN); } /** * June 2012: Android 4.1., API>=16 * @return */ public static boolean isAndroid4_1() { return check(Build.VERSION_CODES.JELLY_BEAN); } /** * November 2012: Android 4.2, Moar jelly beans!, API>=17 * @return */ public static boolean isJellyBeanMr1() { return check(Build.VERSION_CODES.JELLY_BEAN_MR1); } /** * November 2012: Android 4.2, Moar jelly beans!, API>=17 * @return */ public static boolean isAndroid4_2() { return check(Build.VERSION_CODES.JELLY_BEAN_MR1); } /** * July 2013: Android 4.3, the revenge of the beans., API>=18 * @return */ public static boolean isJellyBeanMR2() { return check(Build.VERSION_CODES.JELLY_BEAN_MR2); } /** * July 2013: Android 4.3, the revenge of the beans., API>=18 * @return */ public static boolean isAndroid4_3() { return check(Build.VERSION_CODES.JELLY_BEAN_MR2); } /** * October 2013: Android 4.4, KitKat, another tasty treat., API>=19 * @return */ public static boolean isKitKat() { return check(Build.VERSION_CODES.KITKAT); } /** * October 2013: Android 4.4, KitKat, another tasty treat., API>=19 * @return */ public static boolean isAndroid4_4() { return check(Build.VERSION_CODES.KITKAT); } /** * Android 4.4W: KitKat for watches, snacks on the run., API>=20 * @return */ public static boolean isKitKatWatch() { return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH); } /** * Lollipop. A flat one with beautiful shadows. But still tasty., API>=21 * @return */ public static boolean isL() { return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP); } /** * Lollipop. A flat one with beautiful shadows. But still tasty., API>=21 * @return */ public static boolean isLollipop() { return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP); } /** * Lollipop. A flat one with beautiful shadows. But still tasty., API>=21 * @return */ public static boolean isAndroid5() { return check(Build.VERSION_CODES.LOLLIPOP); } /** * Lollipop with an extra sugar coating on the outside!, API>=22 * @return */ public static boolean isLollipopMR1() { return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1); } /** * Marshmallow. A flat one with beautiful shadows. But still tasty., API>=23 * @return */ public static boolean isM() { return check(Build.VERSION_CODES.M); } /** * Marshmallow. A flat one with beautiful shadows. But still tasty., API>=23 * @return */ public static boolean isMarshmallow() { return check(Build.VERSION_CODES.M); } /** * Marshmallow. A flat one with beautiful shadows. But still tasty., API>=23 * @return */ public static boolean isAndroid6() { return check(Build.VERSION_CODES.M); } /** * 虫歯の元, API >= 24 * @return */ public static boolean isN() { return check(Build.VERSION_CODES.N); } /** * 歯にくっつくやつ, API >= 24 * @return */ public static boolean isNougat() { return check(Build.VERSION_CODES.N); } /** * API >= 24 * @return */ public static boolean isAndroid7() { return check(Build.VERSION_CODES.N); } /** * API>=25 * @return */ public static boolean isNMR1() { return check(Build.VERSION_CODES.N_MR1); } /** * API>=25 * @return */ public static boolean isNougatMR1() { return check(Build.VERSION_CODES.N_MR1); } /** * おれおれぇー API>=26 * @return */ public static boolean isO() { return check(Build.VERSION_CODES.O); } /** * おれおれぇー API>=26 * @return */ public static boolean isOreo() { return check(Build.VERSION_CODES.O); } /** * おれおれぇー API>=26 * @return */ public static boolean isAndroid8() { return check(Build.VERSION_CODES.O); } /** * おれおれぇー API>=27 * @return */ public static boolean isOMR1() { return check(Build.VERSION_CODES.O_MR1); } /** * おれおれぇー MR1 API>=27 * @return */ public static boolean isOreoMR1() { return check((Build.VERSION_CODES.O_MR1)); } /** * おっ!ぱい API>=28 * @return */ public static boolean isP() { return check((Build.VERSION_CODES.P)); } /** * おっ!ぱい API>=28 * @return */ public static boolean isPie() { return check((Build.VERSION_CODES.P)); } /** * おっ!ぱい API>=28 * @return */ public static boolean isAndroid9() { return check((Build.VERSION_CODES.P)); } }