From 56c2d2ff27536a1d8edf0037cd41ff3ea3272fd9 Mon Sep 17 00:00:00 2001 From: John Wang Date: Wed, 7 Apr 2010 08:57:17 -0700 Subject: Add emergencyOnly indicator in ServiceState. For bug 2536842 to show signal strength in Emergency mode. The STATE_EMERGENCY_ONLY of ServiceState is not in-use. So add a hide interface to indicate Emergency mode. Change-Id: I19398ac5e73a722dcaaf744347f961d1fa7513ac --- telephony/java/android/telephony/ServiceState.java | 33 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'telephony/java/android/telephony/ServiceState.java') diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index 48a40fa..6c66559 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -113,6 +113,8 @@ public class ServiceState implements Parcelable { private String mOperatorNumeric; private boolean mIsManualNetworkSelection; + private boolean mIsEmergencyOnly; + //***** CDMA private int mRadioTechnology; private boolean mCssIndicator; @@ -170,6 +172,7 @@ public class ServiceState implements Parcelable { mCdmaDefaultRoamingIndicator = s.mCdmaDefaultRoamingIndicator; mCdmaEriIconIndex = s.mCdmaEriIconIndex; mCdmaEriIconMode = s.mCdmaEriIconMode; + mIsEmergencyOnly = s.mIsEmergencyOnly; } /** @@ -190,6 +193,7 @@ public class ServiceState implements Parcelable { mCdmaDefaultRoamingIndicator = in.readInt(); mCdmaEriIconIndex = in.readInt(); mCdmaEriIconMode = in.readInt(); + mIsEmergencyOnly = in.readInt() != 0; } public void writeToParcel(Parcel out, int flags) { @@ -207,6 +211,7 @@ public class ServiceState implements Parcelable { out.writeInt(mCdmaDefaultRoamingIndicator); out.writeInt(mCdmaEriIconIndex); out.writeInt(mCdmaEriIconMode); + out.writeInt(mIsEmergencyOnly ? 1 : 0); } public int describeContents() { @@ -250,6 +255,13 @@ public class ServiceState implements Parcelable { /** * @hide */ + public boolean isEmergencyOnly() { + return mIsEmergencyOnly; + } + + /** + * @hide + */ public int getCdmaRoamingIndicator(){ return this.mCdmaRoamingIndicator; } @@ -330,7 +342,8 @@ public class ServiceState implements Parcelable { + ((null == mOperatorAlphaShort) ? 0 : mOperatorAlphaShort.hashCode()) + ((null == mOperatorNumeric) ? 0 : mOperatorNumeric.hashCode()) + mCdmaRoamingIndicator - + mCdmaDefaultRoamingIndicator); + + mCdmaDefaultRoamingIndicator + + (mIsEmergencyOnly ? 1 : 0)); } @Override @@ -359,7 +372,8 @@ public class ServiceState implements Parcelable { && equalsHandlesNulls(mSystemId, s.mSystemId) && equalsHandlesNulls(mCdmaRoamingIndicator, s.mCdmaRoamingIndicator) && equalsHandlesNulls(mCdmaDefaultRoamingIndicator, - s.mCdmaDefaultRoamingIndicator)); + s.mCdmaDefaultRoamingIndicator) + && mIsEmergencyOnly == s.mIsEmergencyOnly); } @Override @@ -418,7 +432,8 @@ public class ServiceState implements Parcelable { + " " + mNetworkId + " " + mSystemId + "RoamInd: " + mCdmaRoamingIndicator - + "DefRoamInd: " + mCdmaDefaultRoamingIndicator); + + "DefRoamInd: " + mCdmaDefaultRoamingIndicator + + "EmergOnly: " + mIsEmergencyOnly); } public void setStateOutOfService() { @@ -436,6 +451,7 @@ public class ServiceState implements Parcelable { mCdmaDefaultRoamingIndicator = -1; mCdmaEriIconIndex = -1; mCdmaEriIconMode = -1; + mIsEmergencyOnly = false; } // TODO - can't this be combined with the above func.. @@ -454,6 +470,7 @@ public class ServiceState implements Parcelable { mCdmaDefaultRoamingIndicator = -1; mCdmaEriIconIndex = -1; mCdmaEriIconMode = -1; + mIsEmergencyOnly = false; } public void setState(int state) { @@ -464,6 +481,14 @@ public class ServiceState implements Parcelable { mRoaming = roaming; } + + /** + * @hide + */ + public void setEmergencyOnly(boolean emergencyOnly) { + mIsEmergencyOnly = emergencyOnly; + } + /** * @hide */ @@ -542,6 +567,7 @@ public class ServiceState implements Parcelable { mSystemId = m.getInt("systemId"); mCdmaRoamingIndicator = m.getInt("cdmaRoamingIndicator"); mCdmaDefaultRoamingIndicator = m.getInt("cdmaDefaultRoamingIndicator"); + mIsEmergencyOnly = m.getBoolean("emergencyOnly"); } /** @@ -563,6 +589,7 @@ public class ServiceState implements Parcelable { m.putInt("systemId", mSystemId); m.putInt("cdmaRoamingIndicator", mCdmaRoamingIndicator); m.putInt("cdmaDefaultRoamingIndicator", mCdmaDefaultRoamingIndicator); + m.putBoolean("emergencyOnly", Boolean.valueOf(mIsEmergencyOnly)); } //***** CDMA -- cgit v1.1