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

Commit de8e8c98 authored by Hyunho's avatar Hyunho Committed by Brad Ebinger
Browse files

Remove airplane mode handling code.

In VZW TC 3.18, the device did not need to send a PUBLISH when a 412 response was received for a UN PUBLISH request.
Turn on airplane mode for testing. As a result, the device sends a UN PUBLISH request. However, since airplane mode has changed, the Framework sends a PUBLISH request to the ImsService.
So this case failed.

Bug: b/243137045
Test: Turn on airplane mode > deice sends a UN PUBLISH request > Not handle airplane mode change event in the publish controller.
Test: atest DeviceCapabilityListenerTest

Change-Id: Id96bd4a233e9208865afaa9c3fe0cccb239bad93
Merged-In: Id96bd4a233e9208865afaa9c3fe0cccb239bad93
(cherry picked from commit b4a75a44)
parent ed6a388e
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -101,7 +101,6 @@ public class DeviceCapabilityInfo {

    // Whether the settings are changed or not
    private int mTtyPreferredMode;
    private boolean mAirplaneMode;
    private boolean mMobileData;
    private boolean mVtSetting;

@@ -121,7 +120,6 @@ public class DeviceCapabilityInfo {
        mRcsRegistered = false;
        mRcsNetworkRegType = AccessNetworkConstants.TRANSPORT_TYPE_INVALID;
        mTtyPreferredMode = TelecomManager.TTY_MODE_OFF;
        mAirplaneMode = false;
        mMobileData = true;
        mVtSetting = true;
        mMmTelCapabilities = new MmTelCapabilities();
@@ -372,19 +370,6 @@ public class DeviceCapabilityInfo {
        return false;
    }

    /**
     * Update airplane mode state.
     * @return {@code true} if the airplane mode is changed, {@code false} otherwise.
     */
    public synchronized boolean updateAirplaneMode(boolean state) {
        if (mAirplaneMode != state) {
            logd("Airplane mode changes from " + mAirplaneMode + " to " + state);
            mAirplaneMode = state;
            return true;
        }
        return false;
    }

    /**
     * Update mobile data setting.
     * @return {@code true} if the mobile data setting is changed, {@code false} otherwise.
+0 −15
Original line number Diff line number Diff line
@@ -272,7 +272,6 @@ public class DeviceCapabilityListener {
    private void registerReceivers() {
        logd("registerReceivers");
        IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
        filter.addAction(TelecomManager.ACTION_TTY_PREFERRED_MODE_CHANGED);
        mContext.registerReceiver(mReceiver, filter, android.Manifest.permission.MODIFY_PHONE_STATE,
                null);
@@ -390,11 +389,6 @@ public class DeviceCapabilityListener {
                            TelecomManager.TTY_MODE_OFF);
                    handleTtyPreferredModeChanged(preferredMode);
                    break;

                case Intent.ACTION_AIRPLANE_MODE_CHANGED:
                    boolean airplaneMode = intent.getBooleanExtra("state", false);
                    handleAirplaneModeChanged(airplaneMode);
                    break;
            }
        }
    };
@@ -572,15 +566,6 @@ public class DeviceCapabilityListener {
        }
    }

    private void handleAirplaneModeChanged(boolean state) {
        boolean isChanged = mCapabilityInfo.updateAirplaneMode(state);
        logi("Airplane mode changed: " + state + ", isChanged="+ isChanged);
        if (isChanged) {
            mHandler.sendTriggeringPublishMessage(
                    PublishController.PUBLISH_TRIGGER_AIRPLANE_MODE_CHANGE);
        }
    }

    private void handleMobileDataChanged(boolean isEnabled) {
        boolean isChanged = mCapabilityInfo.updateMobileData(isEnabled);
        logi("Mobile data changed: " + isEnabled + ", isChanged=" + isChanged);
+13 −17
Original line number Diff line number Diff line
@@ -45,53 +45,49 @@ public interface PublishController extends ControllerBase {
    /** Publish trigger type: TTY preferred changes */
    int PUBLISH_TRIGGER_TTY_PREFERRED_CHANGE = 3;

    /** Publish trigger type: Airplane mode changes */
    int PUBLISH_TRIGGER_AIRPLANE_MODE_CHANGE = 4;

    /** Publish trigger type: Mobile data changes */
    int PUBLISH_TRIGGER_MOBILE_DATA_CHANGE = 5;
    int PUBLISH_TRIGGER_MOBILE_DATA_CHANGE = 4;

    /** Publish trigger type: VT setting changes */
    int PUBLISH_TRIGGER_VT_SETTING_CHANGE = 6;
    int PUBLISH_TRIGGER_VT_SETTING_CHANGE = 5;

    /** Publish trigger type: MMTEL registered */
    int PUBLISH_TRIGGER_MMTEL_REGISTERED = 7;
    int PUBLISH_TRIGGER_MMTEL_REGISTERED = 6;

    /** Publish trigger type: MMTEL unregistered */
    int PUBLISH_TRIGGER_MMTEL_UNREGISTERED = 8;
    int PUBLISH_TRIGGER_MMTEL_UNREGISTERED = 7;

    /** Publish trigger type: MMTEL capability changes */
    int PUBLISH_TRIGGER_MMTEL_CAPABILITY_CHANGE = 9;
    int PUBLISH_TRIGGER_MMTEL_CAPABILITY_CHANGE = 8;

    /** Publish trigger type: MMTEL associated uri changes */
    int PUBLISH_TRIGGER_MMTEL_URI_CHANGE = 10;
    int PUBLISH_TRIGGER_MMTEL_URI_CHANGE = 9;

    /** Publish trigger type: RCS registered */
    int PUBLISH_TRIGGER_RCS_REGISTERED = 11;
    int PUBLISH_TRIGGER_RCS_REGISTERED = 10;

    /** Publish trigger type: RCS unregistered */
    int PUBLISH_TRIGGER_RCS_UNREGISTERED = 12;
    int PUBLISH_TRIGGER_RCS_UNREGISTERED = 11;

    /** Publish trigger type: RCS associated uri changes */
    int PUBLISH_TRIGGER_RCS_URI_CHANGE = 13;
    int PUBLISH_TRIGGER_RCS_URI_CHANGE = 12;

    /** Publish trigger type: provisioning changes */
    int PUBLISH_TRIGGER_PROVISIONING_CHANGE = 14;
    int PUBLISH_TRIGGER_PROVISIONING_CHANGE = 13;

    /**The caps have been overridden for a test*/
    int PUBLISH_TRIGGER_OVERRIDE_CAPS = 15;
    int PUBLISH_TRIGGER_OVERRIDE_CAPS = 14;

    /** The Carrier Config for the subscription has Changed **/
    int PUBLISH_TRIGGER_CARRIER_CONFIG_CHANGED = 16;
    int PUBLISH_TRIGGER_CARRIER_CONFIG_CHANGED = 15;

    /** MMTEL and RCS are unregistered. **/
    int PUBLISH_TRIGGER_MMTEL_RCS_UNREGISTERED = 17;
    int PUBLISH_TRIGGER_MMTEL_RCS_UNREGISTERED = 16;

    @IntDef(value = {
            PUBLISH_TRIGGER_SERVICE,
            PUBLISH_TRIGGER_RETRY,
            PUBLISH_TRIGGER_TTY_PREFERRED_CHANGE,
            PUBLISH_TRIGGER_AIRPLANE_MODE_CHANGE,
            PUBLISH_TRIGGER_MOBILE_DATA_CHANGE,
            PUBLISH_TRIGGER_VT_SETTING_CHANGE,
            PUBLISH_TRIGGER_MMTEL_REGISTERED,
+0 −18
Original line number Diff line number Diff line
@@ -84,7 +84,6 @@ public class DeviceCapabilityListenerTest extends ImsTestBase {
                getProvisioningManager(anyInt());

        doReturn(true).when(mDeviceCapability).updateTtyPreferredMode(anyInt());
        doReturn(true).when(mDeviceCapability).updateAirplaneMode(anyBoolean());
        doReturn(true).when(mDeviceCapability).updateMobileData(anyBoolean());
        doReturn(true).when(mDeviceCapability).updateVtSetting(anyBoolean());
        doReturn(true).when(mDeviceCapability).updateVtSetting(anyBoolean());
@@ -142,23 +141,6 @@ public class DeviceCapabilityListenerTest extends ImsTestBase {
                PublishController.PUBLISH_TRIGGER_TTY_PREFERRED_CHANGE);
    }

    @Test
    @SmallTest
    public void testAirplaneModeChange() throws Exception {
        DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener();
        final BroadcastReceiver receiver = deviceCapListener.mReceiver;

        Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
        receiver.onReceive(mContext, intent);

        Handler handler = deviceCapListener.getHandler();
        waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS);

        verify(mDeviceCapability).updateAirplaneMode(anyBoolean());
        verify(mCallback).requestPublishFromInternal(
                PublishController.PUBLISH_TRIGGER_AIRPLANE_MODE_CHANGE);
    }

    @Test
    @SmallTest
    public void testMmtelRegistration() throws Exception {