Fix getActiveSubscriptionInfoForIccId iccId comparison
The function compared references instead of strings.
Introduced by:
commit c22e8507402956a747469208bd1aa43dbd683e21
Author: Svet Ganov <svetoslavganov@google.com>
Date: Wed Apr 22 13:09:14 2015 -0700
Change-Id: Ib5bb464f708ff548588c2af30e14ea559cf45333
diff --git a/src/java/com/android/internal/telephony/SubscriptionController.java b/src/java/com/android/internal/telephony/SubscriptionController.java
index 351783b..0f8c96c 100644
--- a/src/java/com/android/internal/telephony/SubscriptionController.java
+++ b/src/java/com/android/internal/telephony/SubscriptionController.java
@@ -430,7 +430,8 @@
*/
@Override
public SubscriptionInfo getActiveSubscriptionInfoForIccId(String iccId, String callingPackage) {
- if (!canReadPhoneState(callingPackage, "getActiveSubscriptionInfoForIccId")) {
+ if (!canReadPhoneState(callingPackage, "getActiveSubscriptionInfoForIccId") ||
+ iccId == null) {
return null;
}
@@ -441,7 +442,7 @@
mContext.getOpPackageName());
if (subList != null) {
for (SubscriptionInfo si : subList) {
- if (si.getIccId() == iccId) {
+ if (iccId.equals(si.getIccId())) {
if (DBG)
logd("[getActiveSubInfoUsingIccId]+ iccId=" + iccId + " subInfo=" + si);
return si;