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

Commit c8eb559c authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 5956190 from 90676d67 to qt-qpr2-release

Change-Id: I389b2dc542ca73a060ac3a81851c3f69c8034d53
parents ecc23f73 90676d67
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -181,6 +181,8 @@ public class CellBroadcastHandler extends WakeLockStateMachine {
            logd("Device location is outside the broadcast area "
                    + CbGeoUtils.encodeGeometriesToString(broadcastArea));
        }

        sendMessage(EVENT_BROADCAST_NOT_REQUIRED);
    }

    /**
+20 −3
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ public abstract class WakeLockStateMachine extends StateMachine {
    /** Release wakelock after a short timeout when returning to idle state. */
    static final int EVENT_RELEASE_WAKE_LOCK = 3;

    /** Broadcast not required due to geo-fencing check */
    static final int EVENT_BROADCAST_NOT_REQUIRED = 4;

    @UnsupportedAppUsage
    protected Phone mPhone;

@@ -152,13 +155,14 @@ public abstract class WakeLockStateMachine extends StateMachine {
        @Override
        public void exit() {
            mWakeLock.acquire();
            if (DBG) log("acquired wakelock, leaving Idle state");
            if (DBG) log("Idle: acquired wakelock, leaving Idle state");
        }

        @Override
        public boolean processMessage(Message msg) {
            switch (msg.what) {
                case EVENT_NEW_SMS_MESSAGE:
                    log("Idle: new cell broadcast message");
                    // transition to waiting state if we sent a broadcast
                    if (handleSmsMessage(msg)) {
                        transitionTo(mWaitingState);
@@ -166,9 +170,14 @@ public abstract class WakeLockStateMachine extends StateMachine {
                    return HANDLED;

                case EVENT_RELEASE_WAKE_LOCK:
                    log("Idle: release wakelock");
                    releaseWakeLock();
                    return HANDLED;

                case EVENT_BROADCAST_NOT_REQUIRED:
                    log("Idle: broadcast not required");
                    return HANDLED;

                default:
                    return NOT_HANDLED;
            }
@@ -184,19 +193,27 @@ public abstract class WakeLockStateMachine extends StateMachine {
        public boolean processMessage(Message msg) {
            switch (msg.what) {
                case EVENT_NEW_SMS_MESSAGE:
                    log("deferring message until return to idle");
                    log("Waiting: deferring message until return to idle");
                    deferMessage(msg);
                    return HANDLED;

                case EVENT_BROADCAST_COMPLETE:
                    log("broadcast complete, returning to idle");
                    log("Waiting: broadcast complete, returning to idle");
                    transitionTo(mIdleState);
                    return HANDLED;

                case EVENT_RELEASE_WAKE_LOCK:
                    log("Waiting: release wakelock");
                    releaseWakeLock();
                    return HANDLED;

                case EVENT_BROADCAST_NOT_REQUIRED:
                    log("Waiting: broadcast not required");
                    if (mReceiverCount.get() == 0) {
                        transitionTo(mIdleState);
                    }
                    return HANDLED;

                default:
                    return NOT_HANDLED;
            }
+3 −3
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ public class DataConnectionReasons {
        // Soft failure reasons. Normally the reasons from users or policy settings.
        DATA_DISABLED(false),               // Data is disabled by the user or policy.
        ROAMING_DISABLED(false),            // Data roaming is disabled by the user.
        DEFAULT_DATA_UNSELECTED(false),     // Default data not selected.

        // Belows are all hard failure reasons.
        NOT_ATTACHED(true),
@@ -111,7 +112,6 @@ public class DataConnectionReasons {
        PS_RESTRICTED(true),
        UNDESIRED_POWER_STATE(true),
        INTERNAL_DATA_DISABLED(true),
        DEFAULT_DATA_UNSELECTED(true),
        RADIO_DISABLED_BY_CARRIER(true),
        APN_NOT_CONNECTABLE(true),
        ON_IWLAN(true),
+27 −1
Original line number Diff line number Diff line
@@ -610,6 +610,33 @@ public class DcTrackerTest extends TelephonyTest {
        }
    }

    // Test the unmetered APN setup when data is disabled.
    @Test
    @SmallTest
    public void testTrySetupDataUnmeteredDefaultNotSelected() throws Exception {
        initApns(PhoneConstants.APN_TYPE_FOTA, new String[]{PhoneConstants.APN_TYPE_ALL});
        doReturn(SubscriptionManager.INVALID_SUBSCRIPTION_ID).when(mIsub).getDefaultDataSubId();

        mBundle.putStringArray(CarrierConfigManager.KEY_CARRIER_METERED_APN_TYPES_STRINGS,
                new String[]{PhoneConstants.APN_TYPE_DEFAULT});

        logd("Sending EVENT_RECORDS_LOADED");
        mDct.sendMessage(mDct.obtainMessage(DctConstants.EVENT_RECORDS_LOADED, null));
        waitForMs(200);

        logd("Sending EVENT_DATA_CONNECTION_ATTACHED");
        mDct.sendMessage(mDct.obtainMessage(DctConstants.EVENT_DATA_CONNECTION_ATTACHED, null));
        waitForMs(200);

        mDct.sendMessage(mDct.obtainMessage(DctConstants.EVENT_TRY_SETUP_DATA, mApnContext));
        waitForMs(200);

        verify(mSimulatedCommandsVerifier, times(1)).setupDataCall(
                eq(AccessNetworkType.EUTRAN), any(DataProfile.class),
                eq(false), eq(false), eq(DataService.REQUEST_REASON_NORMAL), any(),
                any(Message.class));
    }

    // Test the normal data call setup scenario.
    @Test
    @MediumTest
@@ -766,7 +793,6 @@ public class DcTrackerTest extends TelephonyTest {
        assertEquals(DctConstants.State.CONNECTED, mDct.getState(PhoneConstants.APN_TYPE_IMS));
    }


    @Test
    @MediumTest
    public void testTrySetupDataMmsAllowedDataDisabled() throws Exception {