diff --git a/src/java/cyanogenmod/os/Build.java b/src/java/cyanogenmod/os/Build.java index ceb865f..3595ead 100644 --- a/src/java/cyanogenmod/os/Build.java +++ b/src/java/cyanogenmod/os/Build.java @@ -17,6 +17,7 @@ package cyanogenmod.os; import android.os.SystemProperties; +import android.text.TextUtils; import android.util.SparseArray; /** @@ -84,9 +85,13 @@ public class Build { /** * Retrieve the name for the SDK int * @param sdkInt - * @return name of the SDK int + * @return name of the SDK int, {@link #UNKNOWN) if not known */ public static String getNameForSDKInt(int sdkInt) { - return sdkMap.get(sdkInt); + final String name = sdkMap.get(sdkInt); + if (TextUtils.isEmpty(name)) { + return UNKNOWN; + } + return name; } } diff --git a/tests/src/org/cyanogenmod/tests/versioning/unit/BuildTest.java b/tests/src/org/cyanogenmod/tests/versioning/unit/BuildTest.java index fea1f27..2b83827 100644 --- a/tests/src/org/cyanogenmod/tests/versioning/unit/BuildTest.java +++ b/tests/src/org/cyanogenmod/tests/versioning/unit/BuildTest.java @@ -56,4 +56,11 @@ public class BuildTest extends AndroidTestCase { } assertEquals(0, i); } + + @SmallTest + public void testSdkLevelRetrieveNameImpossible() { + String name = Build.getNameForSDKInt(Integer.MAX_VALUE); + assertNotNull(name); + assertEquals(Build.UNKNOWN, name); + } }