diff options
author | Chris Manton <cmanton@google.com> | 2015-08-10 13:32:24 -0700 |
---|---|---|
committer | Junda Liu <junda@google.com> | 2015-08-11 16:28:11 +0000 |
commit | 1428f43fa742f59835ffabf8abe912e9d8bf8f19 (patch) | |
tree | ecb51f786fe8f2c2f2d231d53a09043a8705530f | |
parent | ad7719dea4e8fd34854e4dcc918fc593c4416d82 (diff) | |
download | frameworks_base-1428f43fa742f59835ffabf8abe912e9d8bf8f19.zip frameworks_base-1428f43fa742f59835ffabf8abe912e9d8bf8f19.tar.gz frameworks_base-1428f43fa742f59835ffabf8abe912e9d8bf8f19.tar.bz2 |
Save data registration roaming state
Carrier configuration may override the roaming state
but the roaming state may be required for specifying
proper APNs upon data call setup. This change stores
the unmodified roaming state.
bug: 22990977
Change-Id: I5ebe04f60709bc691e9c79be193f1790a7148818
-rw-r--r-- | telephony/java/android/telephony/ServiceState.java | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index 303a492..80515cf 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -220,6 +220,8 @@ public class ServiceState implements Parcelable { private int mCdmaEriIconIndex; private int mCdmaEriIconMode; + private boolean mIsDataRoamingFromRegistration; + /** * get String description of roaming type * @hide @@ -297,6 +299,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex = s.mCdmaEriIconIndex; mCdmaEriIconMode = s.mCdmaEriIconMode; mIsEmergencyOnly = s.mIsEmergencyOnly; + mIsDataRoamingFromRegistration = s.mIsDataRoamingFromRegistration; } /** @@ -324,6 +327,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex = in.readInt(); mCdmaEriIconMode = in.readInt(); mIsEmergencyOnly = in.readInt() != 0; + mIsDataRoamingFromRegistration = in.readInt() != 0; } public void writeToParcel(Parcel out, int flags) { @@ -348,6 +352,7 @@ public class ServiceState implements Parcelable { out.writeInt(mCdmaEriIconIndex); out.writeInt(mCdmaEriIconMode); out.writeInt(mIsEmergencyOnly ? 1 : 0); + out.writeInt(mIsDataRoamingFromRegistration ? 1 : 0); } public int describeContents() { @@ -439,6 +444,26 @@ public class ServiceState implements Parcelable { } /** + * Set whether data network registration state is roaming + * + * This should only be set to the roaming value received + * once the data registration phase has completed. + * @hide + */ + public void setDataRoamingFromRegistration(boolean dataRoaming) { + mIsDataRoamingFromRegistration = dataRoaming; + } + + /** + * Get whether data network registration state is roaming + * @return true if registration indicates roaming, false otherwise + * @hide + */ + public boolean getDataRoamingFromRegistration() { + return mIsDataRoamingFromRegistration; + } + + /** * Get current data network roaming type * @return roaming type * @hide @@ -599,7 +624,8 @@ public class ServiceState implements Parcelable { + ((null == mDataOperatorNumeric) ? 0 : mDataOperatorNumeric.hashCode()) + mCdmaRoamingIndicator + mCdmaDefaultRoamingIndicator - + (mIsEmergencyOnly ? 1 : 0)); + + (mIsEmergencyOnly ? 1 : 0) + + (mIsDataRoamingFromRegistration ? 1 : 0)); } @Override @@ -635,7 +661,8 @@ public class ServiceState implements Parcelable { && equalsHandlesNulls(mCdmaRoamingIndicator, s.mCdmaRoamingIndicator) && equalsHandlesNulls(mCdmaDefaultRoamingIndicator, s.mCdmaDefaultRoamingIndicator) - && mIsEmergencyOnly == s.mIsEmergencyOnly); + && mIsEmergencyOnly == s.mIsEmergencyOnly + && mIsDataRoamingFromRegistration == s.mIsDataRoamingFromRegistration); } /** @@ -736,7 +763,8 @@ public class ServiceState implements Parcelable { + " " + mSystemId + " RoamInd=" + mCdmaRoamingIndicator + " DefRoamInd=" + mCdmaDefaultRoamingIndicator - + " EmergOnly=" + mIsEmergencyOnly); + + " EmergOnly=" + mIsEmergencyOnly + + " IsDataRoamingFromRegistration=" + mIsDataRoamingFromRegistration); } private void setNullState(int state) { @@ -762,6 +790,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex = -1; mCdmaEriIconMode = -1; mIsEmergencyOnly = false; + mIsDataRoamingFromRegistration = false; } public void setStateOutOfService() { @@ -934,6 +963,7 @@ public class ServiceState implements Parcelable { mCdmaRoamingIndicator = m.getInt("cdmaRoamingIndicator"); mCdmaDefaultRoamingIndicator = m.getInt("cdmaDefaultRoamingIndicator"); mIsEmergencyOnly = m.getBoolean("emergencyOnly"); + mIsDataRoamingFromRegistration = m.getBoolean("isDataRoamingFromRegistration"); } /** @@ -962,6 +992,7 @@ public class ServiceState implements Parcelable { m.putInt("cdmaRoamingIndicator", mCdmaRoamingIndicator); m.putInt("cdmaDefaultRoamingIndicator", mCdmaDefaultRoamingIndicator); m.putBoolean("emergencyOnly", Boolean.valueOf(mIsEmergencyOnly)); + m.putBoolean("isDataRoamingFromRegistration", Boolean.valueOf(mIsDataRoamingFromRegistration)); } /** @hide */ |