am 815b8e4a: Merge "Add emergencyOnly indicator in ServiceState." into froyo
Merge commit '815b8e4ac4ddb20e8c0539ecba50c9e7382d0656' into froyo-plus-aosp * commit '815b8e4ac4ddb20e8c0539ecba50c9e7382d0656': Add emergencyOnly indicator in ServiceState.
This commit is contained in:
@@ -818,7 +818,7 @@ public class StatusBarPolicy {
|
||||
|
||||
final ContentResolver cr = mContext.getContentResolver();
|
||||
if (Settings.System.getInt(cr,
|
||||
Settings.System.POWER_SOUNDS_ENABLED, 1) == 1)
|
||||
Settings.System.POWER_SOUNDS_ENABLED, 1) == 1)
|
||||
{
|
||||
final String soundPath = Settings.System.getString(cr,
|
||||
Settings.System.LOW_BATTERY_SOUND);
|
||||
@@ -972,7 +972,8 @@ public class StatusBarPolicy {
|
||||
int iconLevel = -1;
|
||||
int[] iconList;
|
||||
|
||||
if (!hasService()) {
|
||||
// Display signal strength while in "emergency calls only" mode
|
||||
if (!hasService() && !mServiceState.isEmergencyOnly()) {
|
||||
//Slog.d(TAG, "updateSignalStrength: no service");
|
||||
if (Settings.System.getInt(mContext.getContentResolver(),
|
||||
Settings.System.AIRPLANE_MODE_ON, 0) == 1) {
|
||||
|
||||
@@ -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() {
|
||||
@@ -247,6 +252,13 @@ public class ServiceState implements Parcelable {
|
||||
return mRoaming;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public boolean isEmergencyOnly() {
|
||||
return mIsEmergencyOnly;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@@ -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
|
||||
|
||||
@@ -102,7 +102,6 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
* Mark when service state is in emergency call only mode
|
||||
*/
|
||||
private boolean mEmergencyOnly = false;
|
||||
private boolean mNewEmergencyOnly = false;
|
||||
|
||||
private RegistrantList gprsAttachedRegistrants = new RegistrantList();
|
||||
private RegistrantList gprsDetachedRegistrants = new RegistrantList();
|
||||
@@ -591,8 +590,8 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
if (rule != curSpnRule
|
||||
|| !TextUtils.equals(spn, curSpn)
|
||||
|| !TextUtils.equals(plmn, curPlmn)) {
|
||||
boolean showSpn = mEmergencyOnly
|
||||
|| (rule & SIMRecords.SPN_RULE_SHOW_SPN) == SIMRecords.SPN_RULE_SHOW_SPN;
|
||||
boolean showSpn = !mEmergencyOnly
|
||||
&& (rule & SIMRecords.SPN_RULE_SHOW_SPN) == SIMRecords.SPN_RULE_SHOW_SPN;
|
||||
boolean showPlmn =
|
||||
(rule & SIMRecords.SPN_RULE_SHOW_PLMN) == SIMRecords.SPN_RULE_SHOW_PLMN;
|
||||
|
||||
@@ -672,9 +671,9 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
newSS.setState (regCodeToServiceState(regState));
|
||||
|
||||
if (regState == 10 || regState == 12 || regState == 13 || regState == 14) {
|
||||
mNewEmergencyOnly = true;
|
||||
mEmergencyOnly = true;
|
||||
} else {
|
||||
mNewEmergencyOnly = false;
|
||||
mEmergencyOnly = false;
|
||||
}
|
||||
|
||||
// LAC and CID are -1 if not avail
|
||||
@@ -741,6 +740,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
roaming = false;
|
||||
}
|
||||
newSS.setRoaming(roaming);
|
||||
newSS.setEmergencyOnly(mEmergencyOnly);
|
||||
pollStateDone();
|
||||
}
|
||||
}
|
||||
@@ -886,8 +886,6 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
|
||||
boolean hasLocationChanged = !newCellLoc.equals(cellLoc);
|
||||
|
||||
boolean hasEmergencyOnlyChanged = mNewEmergencyOnly != mEmergencyOnly;
|
||||
|
||||
// Add an event log when connection state changes
|
||||
if (ss.getState() != newSS.getState() || gprsState != newGPRSState) {
|
||||
EventLog.writeEvent(EventLogTags.GSM_SERVICE_STATE_CHANGE,
|
||||
@@ -905,8 +903,6 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
cellLoc = newCellLoc;
|
||||
newCellLoc = tcl;
|
||||
|
||||
mEmergencyOnly = mNewEmergencyOnly;
|
||||
|
||||
// Add an event log when network type switched
|
||||
// TODO: we may add filtering to reduce the event logged,
|
||||
// i.e. check preferred network setting, only switch to 2G, etc
|
||||
@@ -937,6 +933,8 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
if (hasChanged) {
|
||||
String operatorNumeric;
|
||||
|
||||
updateSpnDisplay();
|
||||
|
||||
phone.setSystemProperty(TelephonyProperties.PROPERTY_OPERATOR_ALPHA,
|
||||
ss.getOperatorAlphaLong());
|
||||
|
||||
@@ -1005,10 +1003,6 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
phone.notifyServiceStateChanged(ss);
|
||||
}
|
||||
|
||||
if (hasChanged || hasEmergencyOnlyChanged) {
|
||||
updateSpnDisplay();
|
||||
}
|
||||
|
||||
if (hasGprsAttached) {
|
||||
gprsAttachedRegistrants.notifyRegistrants();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user