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

Commit 78a0f6f9 authored by Jimmy Chen's avatar Jimmy Chen
Browse files

p2p: Close the channel when onStop is called.

P2P dialog is moved to an indenpendent activity, it will push Settings
to background and trigger onPause(). As P2P dialog is a Dialog Activity,
it won't trigger onStop, but SoftAp and NAN activity will. Moving
channel closing to onStop to adapt to new P2P dialog design.

Bug: 219406778
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
      create a p2p connection between 2 devices with this build.
Change-Id: I2fab5aa1021ec1a993f811c7310079db9d7f03c0
parent 1adba841
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -375,13 +375,20 @@ public class WifiP2pSettings extends DashboardFragment
        super.onPause();
        if (mWifiP2pManager != null && mChannel != null) {
            mWifiP2pManager.stopPeerDiscovery(mChannel, null);
        }
        getActivity().unregisterReceiver(mReceiver);
    }

    @Override
    public void onStop() {
        super.onStop();
        if (mWifiP2pManager != null && mChannel != null) {
            if (!mLastGroupFormed) {
                // Close the channel when p2p doesn't connected.
                mChannel.close();
                mChannel = null;
            }
        }
        getActivity().unregisterReceiver(mReceiver);
    }

    @Override
+7 −2
Original line number Diff line number Diff line
@@ -319,12 +319,18 @@ public class WifiP2pSettingsTest {
        assertThat(mFragment.onCreateDialog(-1 /* id */)).isNull();
    }

    @Test
    public void onStop_notLastGroupFormed_shouldCloseChannel() {
        mFragment.onStop();

        assertThat(mFragment.mChannel).isNull();
    }

    @Test
    public void peerDiscovery_whenOnPause_shouldStop() {
        mFragment.onPause();

        verify(mWifiP2pManager, times(1)).stopPeerDiscovery(any(), any());
        assertThat(mFragment.mChannel).isNull();
    }

    @Test
@@ -332,7 +338,6 @@ public class WifiP2pSettingsTest {
        mFragment.onPause();

        verify(mWifiP2pManager, times(1)).stopPeerDiscovery(any(), any());
        assertThat(mFragment.mChannel).isNull();

        mFragment.onResume();
        assertThat(mFragment.mChannel).isNotNull();