summaryrefslogtreecommitdiffstats
path: root/core/java/android/os
diff options
context:
space:
mode:
authorDoug Zongker <dougz@android.com>2011-06-14 11:07:24 -0700
committerDoug Zongker <dougz@android.com>2011-06-14 11:51:59 -0700
commitad2171acf423224d925d1b7cefa7184882e100bf (patch)
treea3962b549dc8c13512ad1b4c6c4c5d268e22a47c /core/java/android/os
parent26cfe80fe168f8cecea6a9eab697c80f1efeccce (diff)
downloadframeworks_base-ad2171acf423224d925d1b7cefa7184882e100bf.zip
frameworks_base-ad2171acf423224d925d1b7cefa7184882e100bf.tar.gz
frameworks_base-ad2171acf423224d925d1b7cefa7184882e100bf.tar.bz2
deprecate RADIO constant, add getRadioVersion method
On many devices the radio version system property is only available when the radio is on, which is frequently not the case when the static initializers for the Build class are run (eg, if the system has just booted). This means RADIO is forever "unknown" on these devices. Deprecate it and add a method to return the radio version instead. Apps will still have to deal with getting a null back if the radio version is currently unavailable. Change-Id: I63528eae93e1b9d0f7cec5a382724d0391ba1104
Diffstat (limited to 'core/java/android/os')
-rw-r--r--core/java/android/os/Build.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index 8ff5beb..3ccc814 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -16,6 +16,8 @@
package android.os;
+import com.android.internal.telephony.TelephonyProperties;
+
/**
* Information about the current build, extracted from system properties.
*/
@@ -56,8 +58,16 @@ public class Build {
/** The system bootloader version number. */
public static final String BOOTLOADER = getString("ro.bootloader");
- /** The radio firmware version number. */
- public static final String RADIO = getString("gsm.version.baseband");
+ /**
+ * The radio firmware version number.
+ *
+ * @deprecated The radio firmware version is frequently not
+ * available when this class is initialized, leading to a blank or
+ * "unknown" value for this string. Use
+ * {@link #getRadioVersion} instead.
+ */
+ @Deprecated
+ public static final String RADIO = getString(TelephonyProperties.PROPERTY_BASEBAND_VERSION);
/** The name of the hardware (from the kernel command line or /proc). */
public static final String HARDWARE = getString("ro.hardware");
@@ -266,6 +276,14 @@ public class Build {
public static final String USER = getString("ro.build.user");
public static final String HOST = getString("ro.build.host");
+ /**
+ * Returns the version string for the radio firmware. May return
+ * null (if, for instance, the radio is not currently on).
+ */
+ public static String getRadioVersion() {
+ return SystemProperties.get(TelephonyProperties.PROPERTY_BASEBAND_VERSION, null);
+ }
+
private static String getString(String property) {
return SystemProperties.get(property, UNKNOWN);
}