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