Merge "Avoid flicker in Internet dialog" into sc-v2-dev am: 87a136a103
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16187606 Change-Id: I7f3cdbb24aa35ba13b8aca418d13a913d0d85431
This commit is contained in:
@@ -128,7 +128,9 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
private boolean mCanConfigMobileData;
|
||||
|
||||
// Wi-Fi entries
|
||||
@VisibleForTesting
|
||||
protected WifiEntry mConnectedWifiEntry;
|
||||
@VisibleForTesting
|
||||
protected int mWifiEntriesCount;
|
||||
|
||||
// Wi-Fi scanning progress bar
|
||||
@@ -334,6 +336,9 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
mSeeAllLayout.setOnClickListener(v -> onClickSeeMoreButton());
|
||||
mWiFiToggle.setOnCheckedChangeListener(
|
||||
(buttonView, isChecked) -> {
|
||||
if (isChecked) {
|
||||
mWifiScanNotifyLayout.setVisibility(View.GONE);
|
||||
}
|
||||
buttonView.setChecked(isChecked);
|
||||
mWifiManager.setWifiEnabled(isChecked);
|
||||
});
|
||||
@@ -576,12 +581,12 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
@WorkerThread
|
||||
public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||
@Nullable WifiEntry connectedEntry) {
|
||||
mConnectedWifiEntry = connectedEntry;
|
||||
mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
|
||||
mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
|
||||
mHandler.post(() -> {
|
||||
mAdapter.notifyDataSetChanged();
|
||||
mConnectedWifiEntry = connectedEntry;
|
||||
mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
|
||||
updateDialog(false /* shouldUpdateMobileNetwork */);
|
||||
mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
|
||||
mAdapter.notifyDataSetChanged();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -99,7 +99,8 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
mInternetDialogController, true, true, true, mock(UiEventLogger.class), mHandler,
|
||||
mBgExecutor);
|
||||
mInternetDialog.mAdapter = mInternetAdapter;
|
||||
mInternetDialog.onAccessPointsChanged(mWifiEntries, mInternetWifiEntry);
|
||||
mInternetDialog.mConnectedWifiEntry = mInternetWifiEntry;
|
||||
mInternetDialog.mWifiEntriesCount = mWifiEntries.size();
|
||||
mInternetDialog.show();
|
||||
|
||||
mDialogView = mInternetDialog.mDialogView;
|
||||
@@ -209,7 +210,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void updateDialog_wifiOnAndNoConnectedWifi_hideConnectedWifi() {
|
||||
// The precondition WiFi ON is already in setUp()
|
||||
mInternetDialog.onAccessPointsChanged(mWifiEntries, null /* connectedEntry*/);
|
||||
mInternetDialog.mConnectedWifiEntry = null;
|
||||
doReturn(false).when(mInternetDialogController).activeNetworkIsCellular();
|
||||
|
||||
mInternetDialog.updateDialog(false);
|
||||
@@ -220,7 +221,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void updateDialog_wifiOnAndNoWifiList_hideWifiListAndSeeAll() {
|
||||
// The precondition WiFi ON is already in setUp()
|
||||
mInternetDialog.onAccessPointsChanged(null /* wifiEntries */, mInternetWifiEntry);
|
||||
mInternetDialog.mWifiEntriesCount = 0;
|
||||
|
||||
mInternetDialog.updateDialog(false);
|
||||
|
||||
@@ -366,7 +367,8 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
public void showProgressBar_wifiEnabledWithoutWifiEntries_showProgressBarThenHideSearch() {
|
||||
Mockito.reset(mHandler);
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
mInternetDialog.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry*/);
|
||||
mInternetDialog.mConnectedWifiEntry = null;
|
||||
mInternetDialog.mWifiEntriesCount = 0;
|
||||
|
||||
mInternetDialog.showProgressBar();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user