Fix bug# 1997056
The SID and NID in CDMA_SUBSCRIPTION are in hexadecimal format. So change the parseInt() in CdmaServiceStateTracker and add comments in CommandsInterface.
modified: java/com/android/internal/telephony/CommandsInterface.java
modified: java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
modified: java/com/android/internal/telephony/RIL.java
modified: java/com/android/internal/telephony/CommandsInterface.java
modified: java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
modified: java/com/android/internal/telephony/RIL.java
diff --git a/telephony/java/com/android/internal/telephony/CommandsInterface.java b/telephony/java/com/android/internal/telephony/CommandsInterface.java
index a7ac2bc..ebdac4e 100644
--- a/telephony/java/com/android/internal/telephony/CommandsInterface.java
+++ b/telephony/java/com/android/internal/telephony/CommandsInterface.java
@@ -1225,8 +1225,8 @@
* Request the device MDN / H_SID / H_NID / MIN.
* "response" is const char **
* [0] is MDN if CDMA subscription is available
- * [1] is H_SID (Home SID) if CDMA subscription is available
- * [2] is H_NID (Home NID) if CDMA subscription is available
+ * [1] is H_SID (Home SID) in hexadecimal if CDMA subscription is available
+ * [2] is H_NID (Home NID) in hexadecimal if CDMA subscription is available
* [3] is MIN (10 digits, MIN2+MIN1) if CDMA subscription is available
*/
public void getCDMASubscription(Message response);
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
index e785709..d5da666 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
@@ -401,11 +401,11 @@
// TODO: Only grabbing the first SID/NID for now.
if (cdmaSubscription[1] != null) {
String[] sid = cdmaSubscription[1].split(",");
- mHomeSystemId = sid.length > 0 ? Integer.parseInt(sid[0]) : 0;
+ mHomeSystemId = sid.length > 0 ? Integer.parseInt(sid[0], 16) : 0;
}
if (cdmaSubscription[2] != null) {
String[] nid = cdmaSubscription[2].split(",");
- mHomeNetworkId = nid.length > 0 ? Integer.parseInt(nid[0]) : 0;
+ mHomeNetworkId = nid.length > 0 ? Integer.parseInt(nid[0], 16) : 0;
}
mMin = cdmaSubscription[3];
mPrlVersion = cdmaSubscription[4];