From 5b462477a90cd08551149fc649ff3035b5331d2d Mon Sep 17 00:00:00 2001 From: jsh Date: Tue, 1 Sep 2009 16:13:55 -0700 Subject: [PATCH] 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. --- core/java/android/accounts/AccountManagerService.java | 2 +- .../internal/telephony/cdma/CdmaServiceStateTracker.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java index 5ed89418238f5..8cfb75830728c 100644 --- a/core/java/android/accounts/AccountManagerService.java +++ b/core/java/android/accounts/AccountManagerService.java @@ -1397,7 +1397,7 @@ public class AccountManagerService extends IAccountManager.Stub { 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 4c958f6e8c5e6..dab529ee63e7e 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.CommandException; 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 @@ final class CdmaServiceStateTracker extends ServiceStateTracker { 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);