Fix some sign in errors.
AccountManagerService.SimWatcher was checking if storedImsi = "initial"
instead of null as an initial condition. Also, on NV-only CDMA devices
we were only sending SIM_STATE_CHANGED notifications when the radio
powered down, which meant storedImsi was only initialized if the radio
powered down.
diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java
index 5ed8941..8cfb758 100644
--- a/core/java/android/accounts/AccountManagerService.java
+++ b/core/java/android/accounts/AccountManagerService.java
@@ -1397,7 +1397,7 @@
Log.v(TAG, "current IMSI=" + imsi + "; stored IMSI=" + storedImsi);
}
- if (!imsi.equals(storedImsi) && !"initial".equals(storedImsi)) {
+ if (!imsi.equals(storedImsi) && !TextUtils.isEmpty(storedImsi)) {
if (Log.isLoggable(TAG, Log.VERBOSE)) {
Log.v(TAG, "wiping all passwords and authtokens");
}
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
index 4c958f6..dab529e 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
@@ -46,6 +46,7 @@
import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.DataConnectionTracker;
import com.android.internal.telephony.gsm.MccTable;
+import com.android.internal.telephony.IccCard;
import com.android.internal.telephony.PhoneProxy;
import com.android.internal.telephony.ServiceStateTracker;
import com.android.internal.telephony.TelephonyEventLog;
@@ -443,6 +444,8 @@
if (!mIsMinInfoReady) {
mIsMinInfoReady = true;
}
+ phone.getIccCard().broadcastIccStateChangedIntent(IccCard.INTENT_VALUE_ICC_IMSI,
+ null);
} else {
Log.w(LOG_TAG,"error parsing cdmaSubscription params num="
+ cdmaSubscription.length);