Merge "Prevent brief flash of "Error" in hotspot status text" into oc-mr1-dev
am: bc6dc5c20c
Change-Id: I64d32e5ac1724ff4c79f1ea4516fa83492a39377
This commit is contained in:
@@ -139,6 +139,7 @@ public class WifiTetherPreferenceController extends AbstractPreferenceController
|
|||||||
|
|
||||||
private void handleWifiApStateChanged(int state, int reason) {
|
private void handleWifiApStateChanged(int state, int reason) {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
|
case WifiManager.WIFI_AP_STATE_ENABLING:
|
||||||
case WifiManager.WIFI_AP_STATE_ENABLED:
|
case WifiManager.WIFI_AP_STATE_ENABLED:
|
||||||
/**
|
/**
|
||||||
* Summary on enable is handled by tether
|
* Summary on enable is handled by tether
|
||||||
|
@@ -161,12 +161,7 @@ public class WifiTetherPreferenceControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testReceiver_apStateChangedToDisabled_shouldUpdatePreferenceSummary() {
|
public void testReceiver_apStateChangedToDisabled_shouldUpdatePreferenceSummary() {
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
final BroadcastReceiver receiver = ReflectionHelpers.getField(mController, "mReceiver");
|
receiveApStateChangedBroadcast(WifiManager.WIFI_AP_STATE_DISABLED);
|
||||||
final Intent broadcast = new Intent(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
|
|
||||||
broadcast.putExtra(WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_DISABLED);
|
|
||||||
|
|
||||||
receiver.onReceive(RuntimeEnvironment.application, broadcast);
|
|
||||||
|
|
||||||
assertThat(mPreference.getSummary().toString()).isEqualTo(
|
assertThat(mPreference.getSummary().toString()).isEqualTo(
|
||||||
RuntimeEnvironment.application.getString(R.string.wifi_hotspot_off_subtext));
|
RuntimeEnvironment.application.getString(R.string.wifi_hotspot_off_subtext));
|
||||||
}
|
}
|
||||||
@@ -174,16 +169,28 @@ public class WifiTetherPreferenceControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testReceiver_apStateChangedToDisabling_shouldUpdatePreferenceSummary() {
|
public void testReceiver_apStateChangedToDisabling_shouldUpdatePreferenceSummary() {
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
final BroadcastReceiver receiver = ReflectionHelpers.getField(mController, "mReceiver");
|
receiveApStateChangedBroadcast(WifiManager.WIFI_AP_STATE_DISABLING);
|
||||||
final Intent broadcast = new Intent(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
|
|
||||||
broadcast.putExtra(WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_DISABLING);
|
|
||||||
|
|
||||||
receiver.onReceive(RuntimeEnvironment.application, broadcast);
|
|
||||||
|
|
||||||
assertThat(mPreference.getSummary().toString()).isEqualTo(
|
assertThat(mPreference.getSummary().toString()).isEqualTo(
|
||||||
RuntimeEnvironment.application.getString(R.string.wifi_tether_stopping));
|
RuntimeEnvironment.application.getString(R.string.wifi_tether_stopping));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testReceiver_apStateChangedToEnablingOrEnabled_shouldNotUpdatePreferenceSummary() {
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
receiveApStateChangedBroadcast(WifiManager.WIFI_AP_STATE_DISABLED);
|
||||||
|
assertThat(mPreference.getSummary().toString()).isEqualTo(
|
||||||
|
RuntimeEnvironment.application.getString(R.string.wifi_hotspot_off_subtext));
|
||||||
|
|
||||||
|
// When turning on the hotspot, we receive STATE_ENABLING followed by STATE_ENABLED. Neither
|
||||||
|
// of these should change the summary.
|
||||||
|
receiveApStateChangedBroadcast(WifiManager.WIFI_AP_STATE_ENABLING);
|
||||||
|
assertThat(mPreference.getSummary().toString()).isEqualTo(
|
||||||
|
RuntimeEnvironment.application.getString(R.string.wifi_hotspot_off_subtext));
|
||||||
|
receiveApStateChangedBroadcast(WifiManager.WIFI_AP_STATE_ENABLED);
|
||||||
|
assertThat(mPreference.getSummary().toString()).isEqualTo(
|
||||||
|
RuntimeEnvironment.application.getString(R.string.wifi_hotspot_off_subtext));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testReceiver_goingToAirplaneMode_shouldClearPreferenceSummary() {
|
public void testReceiver_goingToAirplaneMode_shouldClearPreferenceSummary() {
|
||||||
final ContentResolver cr = mock(ContentResolver.class);
|
final ContentResolver cr = mock(ContentResolver.class);
|
||||||
@@ -248,4 +255,16 @@ public class WifiTetherPreferenceControllerTest {
|
|||||||
onStopCalled = true;
|
onStopCalled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper to cause the controller to receive a WIFI_AP_STATE_CHANGED_ACTION with a specific
|
||||||
|
* state.
|
||||||
|
* @param state - the state, as specified by one of the WifiManager.WIFI_AP_STATE_* values
|
||||||
|
*/
|
||||||
|
private void receiveApStateChangedBroadcast(int state) {
|
||||||
|
final BroadcastReceiver receiver = ReflectionHelpers.getField(mController, "mReceiver");
|
||||||
|
final Intent broadcast = new Intent(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
|
||||||
|
broadcast.putExtra(WifiManager.EXTRA_WIFI_AP_STATE, state);
|
||||||
|
receiver.onReceive(RuntimeEnvironment.application, broadcast);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user