diff options
author | Wink Saville <wink@google.com> | 2011-12-07 20:15:45 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-12-07 20:15:45 -0800 |
commit | 234a5ef66275087aff9cfb94adc7608e9f358f11 (patch) | |
tree | 6cba1fb0ed4c50580d65aee4608c4adccd746ff7 | |
parent | d426c338a66f63f8e5528ac38ec5b61625f2c897 (diff) | |
parent | 975d348c18f7b9d378bebf3f69e6197b261705f0 (diff) | |
download | frameworks_base-234a5ef66275087aff9cfb94adc7608e9f358f11.zip frameworks_base-234a5ef66275087aff9cfb94adc7608e9f358f11.tar.gz frameworks_base-234a5ef66275087aff9cfb94adc7608e9f358f11.tar.bz2 |
Merge "When the SIM_READY set current preferred network type." into ics-mr1
5 files changed, 33 insertions, 0 deletions
diff --git a/telephony/java/com/android/internal/telephony/BaseCommands.java b/telephony/java/com/android/internal/telephony/BaseCommands.java index f111dd6..07b6183 100644 --- a/telephony/java/com/android/internal/telephony/BaseCommands.java +++ b/telephony/java/com/android/internal/telephony/BaseCommands.java @@ -683,6 +683,13 @@ public abstract class BaseCommands implements CommandsInterface { mRilConnectedRegistrants.remove(h); } + /** + * {@inheritDoc} + */ + @Override + public void setCurrentPreferredNetworkType() { + } + //***** Protected Methods /** * Store new RadioState and send notification based on the changes diff --git a/telephony/java/com/android/internal/telephony/CommandsInterface.java b/telephony/java/com/android/internal/telephony/CommandsInterface.java index 33ead75..d6e6ae0 100644 --- a/telephony/java/com/android/internal/telephony/CommandsInterface.java +++ b/telephony/java/com/android/internal/telephony/CommandsInterface.java @@ -1311,6 +1311,12 @@ public interface CommandsInterface { void queryAvailableBandMode (Message response); /** + * Set the current preferred network type. This will be the last + * networkType that was passed to setPreferredNetworkType. + */ + void setCurrentPreferredNetworkType(); + + /** * Requests to set the preferred network type for searching and registering * (CS/PS domain, RAT, and operation mode) * @param networkType one of NT_*_TYPE diff --git a/telephony/java/com/android/internal/telephony/RIL.java b/telephony/java/com/android/internal/telephony/RIL.java index 9f93fb8..f2e7f45 100644 --- a/telephony/java/com/android/internal/telephony/RIL.java +++ b/telephony/java/com/android/internal/telephony/RIL.java @@ -1823,6 +1823,16 @@ public final class RIL extends BaseCommands implements CommandsInterface { /** * {@inheritDoc} */ + @Override + public void setCurrentPreferredNetworkType() { + if (RILJ_LOGD) riljLog("setCurrentPreferredNetworkType: " + mSetPreferredNetworkType); + setPreferredNetworkType(mSetPreferredNetworkType, null); + } + private int mSetPreferredNetworkType; + + /** + * {@inheritDoc} + */ public void setPreferredNetworkType(int networkType , Message response) { RILRequest rr = RILRequest.obtain( RILConstants.RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE, response); @@ -1830,6 +1840,7 @@ public final class RIL extends BaseCommands implements CommandsInterface { rr.mp.writeInt(1); rr.mp.writeInt(networkType); + mSetPreferredNetworkType = networkType; mPreferredNetworkType = networkType; if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest) diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java index 3d6cd68..d939e98 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java @@ -257,6 +257,9 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { break; case EVENT_RUIM_READY: + // TODO: Consider calling setCurrentPreferredNetworkType as we do in GsmSST. + // cm.setCurrentPreferredNetworkType(); + // The RUIM is now ready i.e if it was locked it has been // unlocked. At this stage, the radio is already powered on. isSubscriptionFromRuim = true; @@ -277,6 +280,9 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { break; case EVENT_NV_READY: + // TODO: Consider calling setCurrentPreferredNetworkType as we do in GsmSST. + // cm.setCurrentPreferredNetworkType(); + isSubscriptionFromRuim = false; // For Non-RUIM phones, the subscription information is stored in // Non Volatile. Here when Non-Volatile is ready, we can poll the CDMA diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java index eea2780..84127cf 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java @@ -270,6 +270,9 @@ final class GsmServiceStateTracker extends ServiceStateTracker { break; case EVENT_SIM_READY: + // Set the network type, in case the radio does not restore it. + cm.setCurrentPreferredNetworkType(); + // The SIM is now ready i.e if it was locked // it has been unlocked. At this stage, the radio is already // powered on. |