Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ecf08fa authored by John Wang's avatar John Wang Committed by Android Git Automerger
Browse files

am 815b8e4a: Merge "Add emergencyOnly indicator in ServiceState." into froyo

Merge commit '815b8e4a' into froyo-plus-aosp

* commit '815b8e4a':
  Add emergencyOnly indicator in ServiceState.
parents 692329cf 815b8e4a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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) {
+30 −3
Original line number Diff line number Diff line
@@ -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
+7 −13
Original line number Diff line number Diff line
@@ -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();
        }