From 0aed038b0aa3facb69d00a654df6c177fbe09dc0 Mon Sep 17 00:00:00 2001 From: Yu Date: Mon, 24 Oct 2022 10:33:56 +0800 Subject: [PATCH] Make p2p start searching after turning off airplane mode. In the P2P page, p2p stops searching when airplane mode is turned on, and should start searching when airplane mode is turned off. Bug: 255249207 Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest Signed-off-by: Yu Change-Id: I71d5eb6c3d8533417e8ae9ac09e7fac73983644e --- .../settings/wifi/p2p/WifiP2pSettings.java | 5 ++++- .../settings/wifi/p2p/WifiP2pSettingsTest.java | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java index 10ee24191e4..f862371c502 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java @@ -630,10 +630,13 @@ public class WifiP2pSettings extends DashboardFragment } private void handleP2pStateChanged() { - updateSearchMenu(false); mThisDevicePreferenceController.setEnabled(mWifiP2pEnabled); mPersistentCategoryController.setEnabled(mWifiP2pEnabled); mPeerCategoryController.setEnabled(mWifiP2pEnabled); + if (mWifiP2pEnabled) { + startSearch(); + } + updateSearchMenu(mWifiP2pEnabled); } private void updateSearchMenu(boolean searching) { diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java index 939e7037f0c..3769f30fbee 100644 --- a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java +++ b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java @@ -147,7 +147,19 @@ public class WifiP2pSettingsTest { } @Test - public void beSearching_getP2pStateEnabledIntent_shouldBeFalse() { + public void beSearching_getP2pStateDisabledIntent_shouldBeFalse() { + final Bundle bundle = new Bundle(); + final Intent intent = new Intent(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION); + bundle.putInt(WifiP2pManager.EXTRA_WIFI_STATE, WifiP2pManager.WIFI_P2P_STATE_DISABLED); + intent.putExtras(bundle); + + mFragment.mReceiver.onReceive(mContext, intent); + + assertThat(mFragment.mWifiP2pSearching).isFalse(); + } + + @Test + public void beSearching_getP2pStateEnabledIntent_shouldBeTrue() { final Bundle bundle = new Bundle(); final Intent intent = new Intent(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION); bundle.putInt(WifiP2pManager.EXTRA_WIFI_STATE, WifiP2pManager.WIFI_P2P_STATE_ENABLED); @@ -155,7 +167,7 @@ public class WifiP2pSettingsTest { mFragment.mReceiver.onReceive(mContext, intent); - assertThat(mFragment.mWifiP2pSearching).isFalse(); + assertThat(mFragment.mWifiP2pSearching).isTrue(); } @Test