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

Commit 2d973aba authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fixed service state changed event" am: 372b449b am: 292e308e

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2034524

Change-Id: I11bc0e03070ea4a2e6fe318d5f742d5b9a3afddd
parents cc5442ba 292e308e
Loading
Loading
Loading
Loading
+35 −3
Original line number Diff line number Diff line
@@ -1205,7 +1205,15 @@ public class ServiceState implements Parcelable {
        }
    }

    private void init() {
    /**
     * Initialize the service state. Set everything to the default value.
     *
     * @param legacyMode {@code true} if the device is on IWLAN legacy mode, where IWLAN is
     * considered as a RAT on WWAN {@link NetworkRegistrationInfo}. {@code false} if the device
     * is on AP-assisted mode, where IWLAN should be reported through WLAN.
     * {@link NetworkRegistrationInfo}.
     */
    private void init(boolean legacyMode) {
        if (DBG) Rlog.d(LOG_TAG, "init");
        mVoiceRegState = STATE_OUT_OF_SERVICE;
        mDataRegState = STATE_OUT_OF_SERVICE;
@@ -1237,6 +1245,13 @@ public class ServiceState implements Parcelable {
                    .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
                    .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN)
                    .build());
            if (!legacyMode) {
                addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder()
                        .setDomain(NetworkRegistrationInfo.DOMAIN_PS)
                        .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WLAN)
                        .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN)
                        .build());
            }
        }
        mOperatorAlphaLongRaw = null;
        mOperatorAlphaShortRaw = null;
@@ -1245,15 +1260,32 @@ public class ServiceState implements Parcelable {
    }

    public void setStateOutOfService() {
        init();
        init(true);
    }

    public void setStateOff() {
        init();
        init(true);
        mVoiceRegState = STATE_POWER_OFF;
        mDataRegState = STATE_POWER_OFF;
    }

    /**
     * Set the service state to out-of-service
     *
     * @param legacyMode {@code true} if the device is on IWLAN legacy mode, where IWLAN is
     * considered as a RAT on WWAN {@link NetworkRegistrationInfo}. {@code false} if the device
     * is on AP-assisted mode, where IWLAN should be reported through WLAN.
     * @param powerOff {@code true} if this is a power off case (i.e. Airplane mode on).
     * @hide
     */
    public void setOutOfService(boolean legacyMode, boolean powerOff) {
        init(legacyMode);
        if (powerOff) {
            mVoiceRegState = STATE_POWER_OFF;
            mDataRegState = STATE_POWER_OFF;
        }
    }

    public void setState(int state) {
        setVoiceRegState(state);
        if (DBG) Rlog.e(LOG_TAG, "[ServiceState] setState deprecated use setVoiceRegState()");