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