Merge "Prevent early destroying HotspotTile" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
0fcf7f11a7
@@ -56,8 +56,9 @@ public class HotspotControllerImpl implements HotspotController, WifiManager.Sof
|
||||
|
||||
private int mHotspotState;
|
||||
private volatile int mNumConnectedDevices;
|
||||
private volatile boolean mIsTetheringSupported;
|
||||
private volatile boolean mHasTetherableWifiRegexs;
|
||||
// Assume tethering is available until told otherwise
|
||||
private volatile boolean mIsTetheringSupported = true;
|
||||
private volatile boolean mHasTetherableWifiRegexs = true;
|
||||
private boolean mWaitingForTerminalState;
|
||||
|
||||
private TetheringManager.TetheringEventCallback mTetheringCallback =
|
||||
@@ -97,6 +98,15 @@ public class HotspotControllerImpl implements HotspotController, WifiManager.Sof
|
||||
new HandlerExecutor(backgroundHandler), mTetheringCallback);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether hotspot is currently supported.
|
||||
*
|
||||
* This will return {@code true} immediately on creation of the controller, but may be updated
|
||||
* later. Callbacks from this controllers will notify if the state changes.
|
||||
*
|
||||
* @return {@code true} if hotspot is supported (or we haven't been told it's not)
|
||||
* @see #addCallback
|
||||
*/
|
||||
@Override
|
||||
public boolean isHotspotSupported() {
|
||||
return mIsTetheringSupported && mHasTetherableWifiRegexs
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.systemui.statusbar.policy;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
@@ -140,13 +139,16 @@ public class HotspotControllerImplTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefault_hotspotNotSupported() {
|
||||
assertFalse(mController.isHotspotSupported());
|
||||
public void testHotspotSupported_default() {
|
||||
assertTrue(mController.isHotspotSupported());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHotspotSupported_rightConditions() {
|
||||
mTetheringCallbackCaptor.getValue().onTetheringSupported(true);
|
||||
|
||||
assertTrue(mController.isHotspotSupported());
|
||||
|
||||
mTetheringCallbackCaptor.getValue()
|
||||
.onTetherableInterfaceRegexpsChanged(mTetheringInterfaceRegexps);
|
||||
|
||||
@@ -154,13 +156,21 @@ public class HotspotControllerImplTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHotspotSupported_callbackCalledOnChange() {
|
||||
public void testHotspotSupported_callbackCalledOnChange_tetheringSupported() {
|
||||
mController.addCallback(mCallback1);
|
||||
mTetheringCallbackCaptor.getValue().onTetheringSupported(false);
|
||||
|
||||
verify(mCallback1).onHotspotAvailabilityChanged(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHotspotSupported_callbackCalledOnChange_tetherableInterfaces() {
|
||||
when(mTetheringInterfaceRegexps.getTetherableWifiRegexs())
|
||||
.thenReturn(Collections.emptyList());
|
||||
mController.addCallback(mCallback1);
|
||||
mTetheringCallbackCaptor.getValue().onTetheringSupported(true);
|
||||
mTetheringCallbackCaptor.getValue()
|
||||
.onTetherableInterfaceRegexpsChanged(mTetheringInterfaceRegexps);
|
||||
|
||||
verify(mCallback1).onHotspotAvailabilityChanged(true);
|
||||
verify(mCallback1).onHotspotAvailabilityChanged(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user