Merge "Hide Wi-Fi Scanning message when Location is disabled (QS Internet Dialog)" into sc-v2-dev
This commit is contained in:
@@ -331,7 +331,7 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
showProgressBar();
|
||||
final boolean isDeviceLocked = mInternetDialogController.isDeviceLocked();
|
||||
final boolean isWifiEnabled = mWifiManager.isWifiEnabled();
|
||||
final boolean isWifiScanEnabled = mWifiManager.isScanAlwaysAvailable();
|
||||
final boolean isWifiScanEnabled = mInternetDialogController.isWifiScanEnabled();
|
||||
updateWifiToggle(isWifiEnabled, isDeviceLocked);
|
||||
updateConnectedWifi(isWifiEnabled, isDeviceLocked);
|
||||
updateWifiScanNotify(isWifiEnabled, isWifiScanEnabled, isDeviceLocked);
|
||||
|
||||
@@ -78,6 +78,7 @@ import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.statusbar.connectivity.NetworkController;
|
||||
import com.android.systemui.statusbar.connectivity.NetworkController.AccessPointController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.LocationController;
|
||||
import com.android.systemui.toast.SystemUIToast;
|
||||
import com.android.systemui.toast.ToastFactory;
|
||||
import com.android.systemui.util.CarrierConfigTracker;
|
||||
@@ -150,6 +151,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
private WindowManager mWindowManager;
|
||||
private ToastFactory mToastFactory;
|
||||
private SignalDrawable mSignalDrawable;
|
||||
private LocationController mLocationController;
|
||||
|
||||
@VisibleForTesting
|
||||
static final float TOAST_PARAMS_HORIZONTAL_WEIGHT = 1.0f;
|
||||
@@ -199,7 +201,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
GlobalSettings globalSettings, KeyguardStateController keyguardStateController,
|
||||
WindowManager windowManager, ToastFactory toastFactory,
|
||||
@Background Handler workerHandler,
|
||||
CarrierConfigTracker carrierConfigTracker) {
|
||||
CarrierConfigTracker carrierConfigTracker,
|
||||
LocationController locationController) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "Init InternetDialogController");
|
||||
}
|
||||
@@ -227,6 +230,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
mWindowManager = windowManager;
|
||||
mToastFactory = toastFactory;
|
||||
mSignalDrawable = new SignalDrawable(mContext);
|
||||
mLocationController = locationController;
|
||||
}
|
||||
|
||||
void onStart(@NonNull InternetDialogCallback callback, boolean canConfigWifi) {
|
||||
@@ -788,6 +792,14 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
return false;
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
boolean isWifiScanEnabled() {
|
||||
if (!mLocationController.isLocationEnabled()) {
|
||||
return false;
|
||||
}
|
||||
return mWifiManager.isScanAlwaysAvailable();
|
||||
}
|
||||
|
||||
static class WifiEntryConnectCallback implements WifiEntry.ConnectCallback {
|
||||
final ActivityStarter mActivityStarter;
|
||||
final WifiEntry mWifiEntry;
|
||||
|
||||
@@ -51,6 +51,7 @@ import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.statusbar.connectivity.NetworkController;
|
||||
import com.android.systemui.statusbar.connectivity.NetworkController.AccessPointController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.LocationController;
|
||||
import com.android.systemui.toast.SystemUIToast;
|
||||
import com.android.systemui.toast.ToastFactory;
|
||||
import com.android.systemui.util.CarrierConfigTracker;
|
||||
@@ -135,6 +136,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
private Animator mAnimator;
|
||||
@Mock
|
||||
private CarrierConfigTracker mCarrierConfigTracker;
|
||||
@Mock
|
||||
private LocationController mLocationController;
|
||||
|
||||
private TestableResources mTestableResources;
|
||||
private MockInternetDialogController mInternetDialogController;
|
||||
@@ -170,7 +173,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
mSubscriptionManager, mTelephonyManager, mWifiManager,
|
||||
mock(ConnectivityManager.class), mHandler, mExecutor, mBroadcastDispatcher,
|
||||
mock(KeyguardUpdateMonitor.class), mGlobalSettings, mKeyguardStateController,
|
||||
mWindowManager, mToastFactory, mWorkerHandler, mCarrierConfigTracker);
|
||||
mWindowManager, mToastFactory, mWorkerHandler, mCarrierConfigTracker,
|
||||
mLocationController);
|
||||
mSubscriptionManager.addOnSubscriptionsChangedListener(mExecutor,
|
||||
mInternetDialogController.mOnSubscriptionsChangedListener);
|
||||
mInternetDialogController.onStart(mInternetDialogCallback, true);
|
||||
@@ -602,6 +606,30 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
verify(mMergedCarrierEntry).setEnabled(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isWifiScanEnabled_locationOff_returnFalse() {
|
||||
when(mLocationController.isLocationEnabled()).thenReturn(false);
|
||||
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
|
||||
|
||||
assertThat(mInternetDialogController.isWifiScanEnabled()).isFalse();
|
||||
|
||||
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
|
||||
|
||||
assertThat(mInternetDialogController.isWifiScanEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isWifiScanEnabled_locationOn_returnIsScanAlwaysAvailable() {
|
||||
when(mLocationController.isLocationEnabled()).thenReturn(true);
|
||||
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
|
||||
|
||||
assertThat(mInternetDialogController.isWifiScanEnabled()).isFalse();
|
||||
|
||||
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
|
||||
|
||||
assertThat(mInternetDialogController.isWifiScanEnabled()).isTrue();
|
||||
}
|
||||
|
||||
private String getResourcesString(String name) {
|
||||
return mContext.getResources().getString(getResourcesId(name));
|
||||
}
|
||||
@@ -625,12 +653,13 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor, GlobalSettings globalSettings,
|
||||
KeyguardStateController keyguardStateController, WindowManager windowManager,
|
||||
ToastFactory toastFactory, Handler workerHandler,
|
||||
CarrierConfigTracker carrierConfigTracker) {
|
||||
CarrierConfigTracker carrierConfigTracker,
|
||||
LocationController locationController) {
|
||||
super(context, uiEventLogger, starter, accessPointController, subscriptionManager,
|
||||
telephonyManager, wifiManager, connectivityManager, handler, mainExecutor,
|
||||
broadcastDispatcher, keyguardUpdateMonitor, globalSettings,
|
||||
keyguardStateController, windowManager, toastFactory, workerHandler,
|
||||
carrierConfigTracker);
|
||||
carrierConfigTracker, locationController);
|
||||
mGlobalSettings = globalSettings;
|
||||
}
|
||||
|
||||
|
||||
@@ -282,7 +282,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void updateDialog_wifiOffAndWifiScanOff_hideWifiScanNotify() {
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(false);
|
||||
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
|
||||
when(mInternetDialogController.isWifiScanEnabled()).thenReturn(false);
|
||||
|
||||
mInternetDialog.updateDialog(false);
|
||||
|
||||
@@ -292,7 +292,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void updateDialog_wifiOffAndWifiScanOnAndDeviceLocked_hideWifiScanNotify() {
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(false);
|
||||
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
|
||||
when(mInternetDialogController.isWifiScanEnabled()).thenReturn(true);
|
||||
when(mInternetDialogController.isDeviceLocked()).thenReturn(true);
|
||||
|
||||
mInternetDialog.updateDialog(false);
|
||||
@@ -303,7 +303,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void updateDialog_wifiOffAndWifiScanOnAndDeviceUnlocked_showWifiScanNotify() {
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(false);
|
||||
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
|
||||
when(mInternetDialogController.isWifiScanEnabled()).thenReturn(true);
|
||||
when(mInternetDialogController.isDeviceLocked()).thenReturn(false);
|
||||
|
||||
mInternetDialog.updateDialog(false);
|
||||
|
||||
Reference in New Issue
Block a user