Merge changes I59be2364,Ia7889a78,I6082226a into sc-v2-dev
* changes: [Provider Model] Listen for callback to highlight WiFi network [Provider Model] Reduce the max of WiFi networks (QS Internet Dialog) [Provider Model] Fix WiFi list count timing issue (QS Internet Dialog)
This commit is contained in:
@@ -53,7 +53,10 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern
|
|||||||
|
|
||||||
private final InternetDialogController mInternetDialogController;
|
private final InternetDialogController mInternetDialogController;
|
||||||
private List<WifiEntry> mWifiEntries;
|
private List<WifiEntry> mWifiEntries;
|
||||||
private int mWifiEntriesCount;
|
@VisibleForTesting
|
||||||
|
protected int mWifiEntriesCount;
|
||||||
|
@VisibleForTesting
|
||||||
|
protected int mMaxEntriesCount = InternetDialogController.MAX_WIFI_ENTRY_COUNT;
|
||||||
|
|
||||||
protected View mHolderView;
|
protected View mHolderView;
|
||||||
protected Context mContext;
|
protected Context mContext;
|
||||||
@@ -87,7 +90,8 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern
|
|||||||
*/
|
*/
|
||||||
public void setWifiEntries(@Nullable List<WifiEntry> wifiEntries, int wifiEntriesCount) {
|
public void setWifiEntries(@Nullable List<WifiEntry> wifiEntries, int wifiEntriesCount) {
|
||||||
mWifiEntries = wifiEntries;
|
mWifiEntries = wifiEntries;
|
||||||
mWifiEntriesCount = wifiEntriesCount;
|
mWifiEntriesCount =
|
||||||
|
(wifiEntriesCount < mMaxEntriesCount) ? wifiEntriesCount : mMaxEntriesCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -100,6 +104,20 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern
|
|||||||
return mWifiEntriesCount;
|
return mWifiEntriesCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the maximum number of Wi-Fi networks.
|
||||||
|
*/
|
||||||
|
public void setMaxEntriesCount(int count) {
|
||||||
|
if (count < 0 || mMaxEntriesCount == count) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mMaxEntriesCount = count;
|
||||||
|
if (mWifiEntriesCount > count) {
|
||||||
|
mWifiEntriesCount = count;
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ViewHolder for binding Wi-Fi view.
|
* ViewHolder for binding Wi-Fi view.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
package com.android.systemui.qs.tiles.dialog;
|
package com.android.systemui.qs.tiles.dialog;
|
||||||
|
|
||||||
import static com.android.systemui.Prefs.Key.QS_HAS_TURNED_OFF_MOBILE_DATA;
|
import static com.android.systemui.Prefs.Key.QS_HAS_TURNED_OFF_MOBILE_DATA;
|
||||||
|
import static com.android.systemui.qs.tiles.dialog.InternetDialogController.MAX_WIFI_ENTRY_COUNT;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -79,6 +80,7 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||||
|
|
||||||
static final long PROGRESS_DELAY_MS = 1500L;
|
static final long PROGRESS_DELAY_MS = 1500L;
|
||||||
|
static final int MAX_NETWORK_COUNT = 4;
|
||||||
|
|
||||||
private final Handler mHandler;
|
private final Handler mHandler;
|
||||||
private final Executor mBackgroundExecutor;
|
private final Executor mBackgroundExecutor;
|
||||||
@@ -138,7 +140,7 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected int mWifiEntriesCount;
|
protected int mWifiEntriesCount;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected boolean mHasMoreEntry;
|
protected boolean mHasMoreWifiEntries;
|
||||||
|
|
||||||
// Wi-Fi scanning progress bar
|
// Wi-Fi scanning progress bar
|
||||||
protected boolean mIsProgressBarVisible;
|
protected boolean mIsProgressBarVisible;
|
||||||
@@ -462,21 +464,36 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
mSeeAllLayout.setVisibility(View.GONE);
|
mSeeAllLayout.setVisibility(View.GONE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mWifiRecyclerView.setMinimumHeight(mWifiNetworkHeight * getWifiListMaxCount());
|
final int wifiListMaxCount = getWifiListMaxCount();
|
||||||
|
if (mAdapter.getItemCount() > wifiListMaxCount) {
|
||||||
|
mHasMoreWifiEntries = true;
|
||||||
|
}
|
||||||
|
mAdapter.setMaxEntriesCount(wifiListMaxCount);
|
||||||
|
final int wifiListMinHeight = mWifiNetworkHeight * wifiListMaxCount;
|
||||||
|
if (mWifiRecyclerView.getMinimumHeight() != wifiListMinHeight) {
|
||||||
|
mWifiRecyclerView.setMinimumHeight(wifiListMinHeight);
|
||||||
|
}
|
||||||
mWifiRecyclerView.setVisibility(View.VISIBLE);
|
mWifiRecyclerView.setVisibility(View.VISIBLE);
|
||||||
mSeeAllLayout.setVisibility(mHasMoreEntry ? View.VISIBLE : View.INVISIBLE);
|
mSeeAllLayout.setVisibility(mHasMoreWifiEntries ? View.VISIBLE : View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@MainThread
|
@MainThread
|
||||||
int getWifiListMaxCount() {
|
int getWifiListMaxCount() {
|
||||||
int count = InternetDialogController.MAX_WIFI_ENTRY_COUNT;
|
// Use the maximum count of networks to calculate the remaining count for Wi-Fi networks.
|
||||||
|
int count = MAX_NETWORK_COUNT;
|
||||||
if (mEthernetLayout.getVisibility() == View.VISIBLE) {
|
if (mEthernetLayout.getVisibility() == View.VISIBLE) {
|
||||||
count -= 1;
|
count -= 1;
|
||||||
}
|
}
|
||||||
if (mMobileNetworkLayout.getVisibility() == View.VISIBLE) {
|
if (mMobileNetworkLayout.getVisibility() == View.VISIBLE) {
|
||||||
count -= 1;
|
count -= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the remaining count is greater than the maximum count of the Wi-Fi network, the
|
||||||
|
// maximum count of the Wi-Fi network is used.
|
||||||
|
if (count > MAX_WIFI_ENTRY_COUNT) {
|
||||||
|
count = MAX_WIFI_ENTRY_COUNT;
|
||||||
|
}
|
||||||
if (mConnectedWifListLayout.getVisibility() == View.VISIBLE) {
|
if (mConnectedWifListLayout.getVisibility() == View.VISIBLE) {
|
||||||
count -= 1;
|
count -= 1;
|
||||||
}
|
}
|
||||||
@@ -654,14 +671,14 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
@Override
|
@Override
|
||||||
@WorkerThread
|
@WorkerThread
|
||||||
public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||||
@Nullable WifiEntry connectedEntry, boolean hasMoreEntry) {
|
@Nullable WifiEntry connectedEntry, boolean hasMoreWifiEntries) {
|
||||||
// Should update the carrier network layout when it is connected under airplane mode ON.
|
// Should update the carrier network layout when it is connected under airplane mode ON.
|
||||||
boolean shouldUpdateCarrierNetwork = mMobileNetworkLayout.getVisibility() == View.VISIBLE
|
boolean shouldUpdateCarrierNetwork = mMobileNetworkLayout.getVisibility() == View.VISIBLE
|
||||||
&& mInternetDialogController.isAirplaneModeEnabled();
|
&& mInternetDialogController.isAirplaneModeEnabled();
|
||||||
mHandler.post(() -> {
|
mHandler.post(() -> {
|
||||||
mConnectedWifiEntry = connectedEntry;
|
mConnectedWifiEntry = connectedEntry;
|
||||||
mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
|
mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
|
||||||
mHasMoreEntry = hasMoreEntry;
|
mHasMoreWifiEntries = hasMoreWifiEntries;
|
||||||
updateDialog(shouldUpdateCarrierNetwork /* shouldUpdateMobileNetwork */);
|
updateDialog(shouldUpdateCarrierNetwork /* shouldUpdateMobileNetwork */);
|
||||||
mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
|
mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
|
||||||
mAdapter.notifyDataSetChanged();
|
mAdapter.notifyDataSetChanged();
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package com.android.systemui.qs.tiles.dialog;
|
|||||||
|
|
||||||
import static com.android.settingslib.mobile.MobileMappings.getIconKey;
|
import static com.android.settingslib.mobile.MobileMappings.getIconKey;
|
||||||
import static com.android.settingslib.mobile.MobileMappings.mapIconSets;
|
import static com.android.settingslib.mobile.MobileMappings.mapIconSets;
|
||||||
|
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_CONNECTED;
|
||||||
|
|
||||||
import android.animation.Animator;
|
import android.animation.Animator;
|
||||||
import android.animation.AnimatorListenerAdapter;
|
import android.animation.AnimatorListenerAdapter;
|
||||||
@@ -125,7 +126,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
R.string.all_network_unavailable;
|
R.string.all_network_unavailable;
|
||||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||||
|
|
||||||
static final int MAX_WIFI_ENTRY_COUNT = 4;
|
static final int MAX_WIFI_ENTRY_COUNT = 3;
|
||||||
|
|
||||||
private WifiManager mWifiManager;
|
private WifiManager mWifiManager;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
@@ -143,8 +144,6 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
private AccessPointController mAccessPointController;
|
private AccessPointController mAccessPointController;
|
||||||
private IntentFilter mConnectionStateFilter;
|
private IntentFilter mConnectionStateFilter;
|
||||||
private InternetDialogCallback mCallback;
|
private InternetDialogCallback mCallback;
|
||||||
private WifiEntry mConnectedEntry;
|
|
||||||
private int mWifiEntriesCount;
|
|
||||||
private UiEventLogger mUiEventLogger;
|
private UiEventLogger mUiEventLogger;
|
||||||
private BroadcastDispatcher mBroadcastDispatcher;
|
private BroadcastDispatcher mBroadcastDispatcher;
|
||||||
private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||||
@@ -156,6 +155,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
private SignalDrawable mSignalDrawable;
|
private SignalDrawable mSignalDrawable;
|
||||||
private LocationController mLocationController;
|
private LocationController mLocationController;
|
||||||
private DialogLaunchAnimator mDialogLaunchAnimator;
|
private DialogLaunchAnimator mDialogLaunchAnimator;
|
||||||
|
private boolean mHasWifiEntries;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final float TOAST_PARAMS_HORIZONTAL_WEIGHT = 1.0f;
|
static final float TOAST_PARAMS_HORIZONTAL_WEIGHT = 1.0f;
|
||||||
@@ -177,6 +177,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
protected KeyguardStateController mKeyguardStateController;
|
protected KeyguardStateController mKeyguardStateController;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected boolean mHasEthernet = false;
|
protected boolean mHasEthernet = false;
|
||||||
|
@VisibleForTesting
|
||||||
|
protected ConnectedWifiInternetMonitor mConnectedWifiInternetMonitor;
|
||||||
|
|
||||||
private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
|
private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
|
||||||
new KeyguardUpdateMonitorCallback() {
|
new KeyguardUpdateMonitorCallback() {
|
||||||
@@ -237,6 +239,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
mSignalDrawable = new SignalDrawable(mContext);
|
mSignalDrawable = new SignalDrawable(mContext);
|
||||||
mLocationController = locationController;
|
mLocationController = locationController;
|
||||||
mDialogLaunchAnimator = dialogLaunchAnimator;
|
mDialogLaunchAnimator = dialogLaunchAnimator;
|
||||||
|
mConnectedWifiInternetMonitor = new ConnectedWifiInternetMonitor();
|
||||||
}
|
}
|
||||||
|
|
||||||
void onStart(@NonNull InternetDialogCallback callback, boolean canConfigWifi) {
|
void onStart(@NonNull InternetDialogCallback callback, boolean canConfigWifi) {
|
||||||
@@ -277,6 +280,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
mAccessPointController.removeAccessPointCallback(this);
|
mAccessPointController.removeAccessPointCallback(this);
|
||||||
mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateCallback);
|
mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateCallback);
|
||||||
mConnectivityManager.unregisterNetworkCallback(mConnectivityManagerNetworkCallback);
|
mConnectivityManager.unregisterNetworkCallback(mConnectivityManagerNetworkCallback);
|
||||||
|
mConnectedWifiInternetMonitor.unregisterCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -334,7 +338,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
return mContext.getText(SUBTITLE_TEXT_UNLOCK_TO_VIEW_NETWORKS);
|
return mContext.getText(SUBTITLE_TEXT_UNLOCK_TO_VIEW_NETWORKS);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mConnectedEntry != null || mWifiEntriesCount > 0) {
|
if (mHasWifiEntries) {
|
||||||
return mCanConfigWifi ? mContext.getText(SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT) : null;
|
return mCanConfigWifi ? mContext.getText(SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -875,43 +879,30 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (accessPoints == null || accessPoints.size() == 0) {
|
|
||||||
mConnectedEntry = null;
|
|
||||||
mWifiEntriesCount = 0;
|
|
||||||
mCallback.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */,
|
|
||||||
false /* hasMoreEntry */);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean hasMoreEntry = false;
|
|
||||||
int count = MAX_WIFI_ENTRY_COUNT;
|
|
||||||
if (mHasEthernet) {
|
|
||||||
count -= 1;
|
|
||||||
}
|
|
||||||
if (hasActiveSubId() || isCarrierNetworkActive()) {
|
|
||||||
count -= 1;
|
|
||||||
}
|
|
||||||
final int wifiTotalCount = accessPoints.size();
|
|
||||||
if (count > wifiTotalCount) {
|
|
||||||
count = wifiTotalCount;
|
|
||||||
} else if (count < wifiTotalCount) {
|
|
||||||
hasMoreEntry = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
WifiEntry connectedEntry = null;
|
WifiEntry connectedEntry = null;
|
||||||
final List<WifiEntry> wifiEntries = new ArrayList<>();
|
List<WifiEntry> wifiEntries = null;
|
||||||
for (int i = 0; i < count; i++) {
|
final int accessPointsSize = (accessPoints == null) ? 0 : accessPoints.size();
|
||||||
WifiEntry entry = accessPoints.get(i);
|
final boolean hasMoreWifiEntries = (accessPointsSize > MAX_WIFI_ENTRY_COUNT);
|
||||||
if (connectedEntry == null && entry.isDefaultNetwork() && entry.hasInternetAccess()) {
|
if (accessPointsSize > 0) {
|
||||||
connectedEntry = entry;
|
wifiEntries = new ArrayList<>();
|
||||||
} else {
|
final int count = hasMoreWifiEntries ? MAX_WIFI_ENTRY_COUNT : accessPointsSize;
|
||||||
wifiEntries.add(entry);
|
mConnectedWifiInternetMonitor.unregisterCallback();
|
||||||
|
for (int i = 0; i < count; i++) {
|
||||||
|
WifiEntry entry = accessPoints.get(i);
|
||||||
|
mConnectedWifiInternetMonitor.registerCallbackIfNeed(entry);
|
||||||
|
if (connectedEntry == null && entry.isDefaultNetwork()
|
||||||
|
&& entry.hasInternetAccess()) {
|
||||||
|
connectedEntry = entry;
|
||||||
|
} else {
|
||||||
|
wifiEntries.add(entry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
mHasWifiEntries = true;
|
||||||
|
} else {
|
||||||
|
mHasWifiEntries = false;
|
||||||
}
|
}
|
||||||
mConnectedEntry = connectedEntry;
|
|
||||||
mWifiEntriesCount = wifiEntries.size();
|
|
||||||
|
|
||||||
mCallback.onAccessPointsChanged(wifiEntries, mConnectedEntry, hasMoreEntry);
|
mCallback.onAccessPointsChanged(wifiEntries, connectedEntry, hasMoreWifiEntries);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -986,6 +977,55 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper class for monitoring the Internet access of the connected WifiEntry.
|
||||||
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
|
protected class ConnectedWifiInternetMonitor implements WifiEntry.WifiEntryCallback {
|
||||||
|
|
||||||
|
private WifiEntry mWifiEntry;
|
||||||
|
|
||||||
|
public void registerCallbackIfNeed(WifiEntry entry) {
|
||||||
|
if (entry == null || mWifiEntry != null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// If the Wi-Fi is not connected yet, or it's the connected Wi-Fi with Internet
|
||||||
|
// access. Then we don't need to listen to the callback to update the Wi-Fi entries.
|
||||||
|
if (entry.getConnectedState() != CONNECTED_STATE_CONNECTED
|
||||||
|
|| (entry.isDefaultNetwork() && entry.hasInternetAccess())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mWifiEntry = entry;
|
||||||
|
entry.setListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void unregisterCallback() {
|
||||||
|
if (mWifiEntry == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mWifiEntry.setListener(null);
|
||||||
|
mWifiEntry = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@MainThread
|
||||||
|
@Override
|
||||||
|
public void onUpdated() {
|
||||||
|
if (mWifiEntry == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
WifiEntry entry = mWifiEntry;
|
||||||
|
if (entry.getConnectedState() != CONNECTED_STATE_CONNECTED) {
|
||||||
|
unregisterCallback();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (entry.isDefaultNetwork() && entry.hasInternetAccess()) {
|
||||||
|
unregisterCallback();
|
||||||
|
// Trigger onAccessPointsChanged() to update the Wi-Fi entries.
|
||||||
|
scanWifiAccessPoints();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return {@code true} If the Ethernet exists
|
* Return {@code true} If the Ethernet exists
|
||||||
*/
|
*/
|
||||||
@@ -1061,7 +1101,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
void dismissDialog();
|
void dismissDialog();
|
||||||
|
|
||||||
void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||||
@Nullable WifiEntry connectedEntry, boolean hasMoreEntry);
|
@Nullable WifiEntry connectedEntry, boolean hasMoreWifiEntries);
|
||||||
}
|
}
|
||||||
|
|
||||||
void makeOverlayToast(int stringId) {
|
void makeOverlayToast(int stringId) {
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.android.systemui.qs.tiles.dialog;
|
package com.android.systemui.qs.tiles.dialog;
|
||||||
|
|
||||||
|
import static com.android.systemui.qs.tiles.dialog.InternetDialogController.MAX_WIFI_ENTRY_COUNT;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||||
@@ -83,7 +85,7 @@ public class InternetAdapterTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getItemCount_returnWifiEntriesCount() {
|
public void getItemCount_returnWifiEntriesCount() {
|
||||||
for (int i = 0; i < InternetDialogController.MAX_WIFI_ENTRY_COUNT; i++) {
|
for (int i = 0; i < MAX_WIFI_ENTRY_COUNT; i++) {
|
||||||
mInternetAdapter.setWifiEntries(mWifiEntries, i /* wifiEntriesCount */);
|
mInternetAdapter.setWifiEntries(mWifiEntries, i /* wifiEntriesCount */);
|
||||||
|
|
||||||
assertThat(mInternetAdapter.getItemCount()).isEqualTo(i);
|
assertThat(mInternetAdapter.getItemCount()).isEqualTo(i);
|
||||||
@@ -140,6 +142,60 @@ public class InternetAdapterTest extends SysuiTestCase {
|
|||||||
verify(mWifiIconInjector).getIcon(eq(true) /* noInternet */, anyInt());
|
verify(mWifiIconInjector).getIcon(eq(true) /* noInternet */, anyInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setWifiEntries_wifiCountLessThenMaxCount_setWifiCount() {
|
||||||
|
final int wifiCount = MAX_WIFI_ENTRY_COUNT - 1;
|
||||||
|
mInternetAdapter.mMaxEntriesCount = MAX_WIFI_ENTRY_COUNT;
|
||||||
|
|
||||||
|
mInternetAdapter.setWifiEntries(mWifiEntries, wifiCount);
|
||||||
|
|
||||||
|
assertThat(mInternetAdapter.mWifiEntriesCount).isEqualTo(wifiCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setWifiEntries_wifiCountGreaterThenMaxCount_setMaxCount() {
|
||||||
|
final int wifiCount = MAX_WIFI_ENTRY_COUNT;
|
||||||
|
mInternetAdapter.mMaxEntriesCount = MAX_WIFI_ENTRY_COUNT - 1;
|
||||||
|
|
||||||
|
mInternetAdapter.setWifiEntries(mWifiEntries, wifiCount);
|
||||||
|
|
||||||
|
assertThat(mInternetAdapter.mWifiEntriesCount).isEqualTo(mInternetAdapter.mMaxEntriesCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setMaxEntriesCount_maxCountLessThenZero_doNothing() {
|
||||||
|
mInternetAdapter.mMaxEntriesCount = MAX_WIFI_ENTRY_COUNT;
|
||||||
|
final int maxCount = -1;
|
||||||
|
|
||||||
|
mInternetAdapter.setMaxEntriesCount(maxCount);
|
||||||
|
|
||||||
|
assertThat(mInternetAdapter.mMaxEntriesCount).isEqualTo(MAX_WIFI_ENTRY_COUNT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setMaxEntriesCount_maxCountGreaterThenWifiCount_updateMaxCount() {
|
||||||
|
mInternetAdapter.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT - 2;
|
||||||
|
mInternetAdapter.mMaxEntriesCount = MAX_WIFI_ENTRY_COUNT;
|
||||||
|
final int maxCount = MAX_WIFI_ENTRY_COUNT - 1;
|
||||||
|
|
||||||
|
mInternetAdapter.setMaxEntriesCount(maxCount);
|
||||||
|
|
||||||
|
assertThat(mInternetAdapter.mWifiEntriesCount).isEqualTo(MAX_WIFI_ENTRY_COUNT - 2);
|
||||||
|
assertThat(mInternetAdapter.mMaxEntriesCount).isEqualTo(maxCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setMaxEntriesCount_maxCountLessThenWifiCount_updateBothCount() {
|
||||||
|
mInternetAdapter.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT;
|
||||||
|
mInternetAdapter.mMaxEntriesCount = MAX_WIFI_ENTRY_COUNT;
|
||||||
|
final int maxCount = MAX_WIFI_ENTRY_COUNT - 1;
|
||||||
|
|
||||||
|
mInternetAdapter.setMaxEntriesCount(maxCount);
|
||||||
|
|
||||||
|
assertThat(mInternetAdapter.mWifiEntriesCount).isEqualTo(maxCount);
|
||||||
|
assertThat(mInternetAdapter.mMaxEntriesCount).isEqualTo(maxCount);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void viewHolderUpdateEndIcon_wifiConnected_updateGearIcon() {
|
public void viewHolderUpdateEndIcon_wifiConnected_updateGearIcon() {
|
||||||
mTestableResources.addOverride(GEAR_ICON_RES_ID, mGearIcon);
|
mTestableResources.addOverride(GEAR_ICON_RES_ID, mGearIcon);
|
||||||
|
|||||||
@@ -434,7 +434,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void onAccessPointsChanged_oneConnectedEntry_callbackConnectedEntryOnly() {
|
public void onAccessPointsChanged_oneConnectedEntry_callbackConnectedEntryOnly() {
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
fakeAirplaneModeEnabled(true);
|
|
||||||
mAccessPoints.clear();
|
mAccessPoints.clear();
|
||||||
mAccessPoints.add(mConnectedEntry);
|
mAccessPoints.add(mConnectedEntry);
|
||||||
|
|
||||||
@@ -448,7 +447,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void onAccessPointsChanged_noConnectedEntryAndOneOther_callbackWifiEntriesOnly() {
|
public void onAccessPointsChanged_noConnectedEntryAndOneOther_callbackWifiEntriesOnly() {
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
fakeAirplaneModeEnabled(true);
|
|
||||||
mAccessPoints.clear();
|
mAccessPoints.clear();
|
||||||
mAccessPoints.add(mWifiEntry1);
|
mAccessPoints.add(mWifiEntry1);
|
||||||
|
|
||||||
@@ -463,7 +461,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void onAccessPointsChanged_oneConnectedEntryAndOneOther_callbackCorrectly() {
|
public void onAccessPointsChanged_oneConnectedEntryAndOneOther_callbackCorrectly() {
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
fakeAirplaneModeEnabled(true);
|
|
||||||
mAccessPoints.clear();
|
mAccessPoints.clear();
|
||||||
mAccessPoints.add(mConnectedEntry);
|
mAccessPoints.add(mConnectedEntry);
|
||||||
mAccessPoints.add(mWifiEntry1);
|
mAccessPoints.add(mWifiEntry1);
|
||||||
@@ -479,7 +476,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void onAccessPointsChanged_oneConnectedEntryAndTwoOthers_callbackCorrectly() {
|
public void onAccessPointsChanged_oneConnectedEntryAndTwoOthers_callbackCorrectly() {
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
fakeAirplaneModeEnabled(true);
|
|
||||||
mAccessPoints.clear();
|
mAccessPoints.clear();
|
||||||
mAccessPoints.add(mConnectedEntry);
|
mAccessPoints.add(mConnectedEntry);
|
||||||
mAccessPoints.add(mWifiEntry1);
|
mAccessPoints.add(mWifiEntry1);
|
||||||
@@ -497,7 +493,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void onAccessPointsChanged_oneConnectedEntryAndThreeOthers_callbackCutMore() {
|
public void onAccessPointsChanged_oneConnectedEntryAndThreeOthers_callbackCutMore() {
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
fakeAirplaneModeEnabled(true);
|
|
||||||
mAccessPoints.clear();
|
mAccessPoints.clear();
|
||||||
mAccessPoints.add(mConnectedEntry);
|
mAccessPoints.add(mConnectedEntry);
|
||||||
mAccessPoints.add(mWifiEntry1);
|
mAccessPoints.add(mWifiEntry1);
|
||||||
@@ -509,86 +504,13 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mWifiEntries.clear();
|
mWifiEntries.clear();
|
||||||
mWifiEntries.add(mWifiEntry1);
|
mWifiEntries.add(mWifiEntry1);
|
||||||
mWifiEntries.add(mWifiEntry2);
|
mWifiEntries.add(mWifiEntry2);
|
||||||
mWifiEntries.add(mWifiEntry3);
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
|
||||||
false /* hasMoreEntry */);
|
|
||||||
|
|
||||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
|
||||||
reset(mInternetDialogCallback);
|
|
||||||
fakeAirplaneModeEnabled(false);
|
|
||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
|
||||||
|
|
||||||
mWifiEntries.remove(mWifiEntry3);
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
||||||
true /* hasMoreEntry */);
|
true /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onAccessPointsChanged_oneConnectedEntryAndFourOthers_callbackCutMore() {
|
|
||||||
reset(mInternetDialogCallback);
|
|
||||||
fakeAirplaneModeEnabled(true);
|
|
||||||
mAccessPoints.clear();
|
|
||||||
mAccessPoints.add(mConnectedEntry);
|
|
||||||
mAccessPoints.add(mWifiEntry1);
|
|
||||||
mAccessPoints.add(mWifiEntry2);
|
|
||||||
mAccessPoints.add(mWifiEntry3);
|
|
||||||
mAccessPoints.add(mWifiEntry4);
|
|
||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
|
||||||
|
|
||||||
mWifiEntries.clear();
|
|
||||||
mWifiEntries.add(mWifiEntry1);
|
|
||||||
mWifiEntries.add(mWifiEntry2);
|
|
||||||
mWifiEntries.add(mWifiEntry3);
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
|
||||||
true /* hasMoreEntry */);
|
|
||||||
|
|
||||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
|
||||||
reset(mInternetDialogCallback);
|
|
||||||
fakeAirplaneModeEnabled(false);
|
|
||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
|
||||||
|
|
||||||
mWifiEntries.remove(mWifiEntry3);
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
|
||||||
true /* hasMoreEntry */);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onAccessPointsChanged_oneCarrierWifiAndFourOthers_callbackCutMore() {
|
|
||||||
reset(mInternetDialogCallback);
|
|
||||||
fakeAirplaneModeEnabled(true);
|
|
||||||
when(mMergedCarrierEntry.isDefaultNetwork()).thenReturn(true);
|
|
||||||
mAccessPoints.clear();
|
|
||||||
mAccessPoints.add(mWifiEntry1);
|
|
||||||
mAccessPoints.add(mWifiEntry2);
|
|
||||||
mAccessPoints.add(mWifiEntry3);
|
|
||||||
mAccessPoints.add(mWifiEntry4);
|
|
||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
|
||||||
|
|
||||||
mWifiEntries.clear();
|
|
||||||
mWifiEntries.add(mWifiEntry1);
|
|
||||||
mWifiEntries.add(mWifiEntry2);
|
|
||||||
mWifiEntries.add(mWifiEntry3);
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
|
||||||
null /* connectedEntry */, true /* hasMoreEntry */);
|
|
||||||
|
|
||||||
// Turn off airplane mode to has carrier WiFi, then Wi-Fi entries will keep the same.
|
|
||||||
reset(mInternetDialogCallback);
|
|
||||||
fakeAirplaneModeEnabled(false);
|
|
||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
|
||||||
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
|
||||||
null /* connectedEntry */, true /* hasMoreEntry */);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onAccessPointsChanged_fourWifiEntries_callbackCutMore() {
|
public void onAccessPointsChanged_fourWifiEntries_callbackCutMore() {
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
fakeAirplaneModeEnabled(true);
|
|
||||||
mAccessPoints.clear();
|
mAccessPoints.clear();
|
||||||
mAccessPoints.add(mWifiEntry1);
|
mAccessPoints.add(mWifiEntry1);
|
||||||
mAccessPoints.add(mWifiEntry2);
|
mAccessPoints.add(mWifiEntry2);
|
||||||
@@ -601,27 +523,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mWifiEntries.add(mWifiEntry1);
|
mWifiEntries.add(mWifiEntry1);
|
||||||
mWifiEntries.add(mWifiEntry2);
|
mWifiEntries.add(mWifiEntry2);
|
||||||
mWifiEntries.add(mWifiEntry3);
|
mWifiEntries.add(mWifiEntry3);
|
||||||
mWifiEntries.add(mWifiEntry4);
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
|
||||||
null /* connectedEntry */, false /* hasMoreEntry */);
|
|
||||||
|
|
||||||
// If the Ethernet exists, then Wi-Fi entries will cut last one.
|
|
||||||
reset(mInternetDialogCallback);
|
|
||||||
mInternetDialogController.mHasEthernet = true;
|
|
||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
|
||||||
|
|
||||||
mWifiEntries.remove(mWifiEntry4);
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
|
||||||
null /* connectedEntry */, true /* hasMoreEntry */);
|
|
||||||
|
|
||||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
|
||||||
reset(mInternetDialogCallback);
|
|
||||||
fakeAirplaneModeEnabled(false);
|
|
||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
|
||||||
|
|
||||||
mWifiEntries.remove(mWifiEntry3);
|
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
||||||
null /* connectedEntry */, true /* hasMoreEntry */);
|
null /* connectedEntry */, true /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
@@ -643,6 +544,37 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
null /* connectedEntry */, false /* hasMoreEntry */);
|
null /* connectedEntry */, false /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onAccessPointsChanged_connectedWifiNoInternetAccess_shouldSetListener() {
|
||||||
|
reset(mWifiEntry1);
|
||||||
|
mAccessPoints.clear();
|
||||||
|
when(mWifiEntry1.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
||||||
|
when(mWifiEntry1.isDefaultNetwork()).thenReturn(true);
|
||||||
|
when(mWifiEntry1.hasInternetAccess()).thenReturn(false);
|
||||||
|
mAccessPoints.add(mWifiEntry1);
|
||||||
|
|
||||||
|
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||||
|
|
||||||
|
verify(mWifiEntry1).setListener(mInternetDialogController.mConnectedWifiInternetMonitor);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onUpdated_connectedWifiHasInternetAccess_shouldScanWifiAccessPoints() {
|
||||||
|
reset(mAccessPointController);
|
||||||
|
when(mWifiEntry1.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
||||||
|
when(mWifiEntry1.isDefaultNetwork()).thenReturn(true);
|
||||||
|
when(mWifiEntry1.hasInternetAccess()).thenReturn(false);
|
||||||
|
InternetDialogController.ConnectedWifiInternetMonitor mConnectedWifiInternetMonitor =
|
||||||
|
mInternetDialogController.mConnectedWifiInternetMonitor;
|
||||||
|
mConnectedWifiInternetMonitor.registerCallbackIfNeed(mWifiEntry1);
|
||||||
|
|
||||||
|
// When the hasInternetAccess() changed to true, and call back the onUpdated() function.
|
||||||
|
when(mWifiEntry1.hasInternetAccess()).thenReturn(true);
|
||||||
|
mConnectedWifiInternetMonitor.onUpdated();
|
||||||
|
|
||||||
|
verify(mAccessPointController).scanForAccessPoints();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setMergedCarrierWifiEnabledIfNeed_carrierProvisionsEnabled_doNothing() {
|
public void setMergedCarrierWifiEnabledIfNeed_carrierProvisionsEnabled_doNothing() {
|
||||||
when(mCarrierConfigTracker.getCarrierProvisionsWifiMergedNetworksBool(SUB_ID))
|
when(mCarrierConfigTracker.getCarrierProvisionsWifiMergedNetworksBool(SUB_ID))
|
||||||
|
|||||||
@@ -312,6 +312,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
|
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
|
||||||
// Show a blank block to fix the dialog height even if there is no WiFi list
|
// Show a blank block to fix the dialog height even if there is no WiFi list
|
||||||
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
|
verify(mInternetAdapter).setMaxEntriesCount(3);
|
||||||
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,6 +327,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
|
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
|
||||||
// Show a blank block to fix the dialog height even if there is no WiFi list
|
// Show a blank block to fix the dialog height even if there is no WiFi list
|
||||||
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
|
verify(mInternetAdapter).setMaxEntriesCount(3);
|
||||||
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -339,6 +341,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
// Show a blank block to fix the dialog height even if there is no WiFi list
|
// Show a blank block to fix the dialog height even if there is no WiFi list
|
||||||
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
|
verify(mInternetAdapter).setMaxEntriesCount(2);
|
||||||
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -347,12 +350,13 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
||||||
mInternetDialog.mConnectedWifiEntry = null;
|
mInternetDialog.mConnectedWifiEntry = null;
|
||||||
mInternetDialog.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT;
|
mInternetDialog.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT;
|
||||||
mInternetDialog.mHasMoreEntry = true;
|
mInternetDialog.mHasMoreWifiEntries = true;
|
||||||
|
|
||||||
mInternetDialog.updateDialog(false);
|
mInternetDialog.updateDialog(false);
|
||||||
|
|
||||||
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
|
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
|
||||||
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
|
verify(mInternetAdapter).setMaxEntriesCount(3);
|
||||||
assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,12 +364,13 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
public void updateDialog_wifiOnAndHasBothWifiEntry_showBothWifiEntryAndSeeAll() {
|
public void updateDialog_wifiOnAndHasBothWifiEntry_showBothWifiEntryAndSeeAll() {
|
||||||
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
||||||
mInternetDialog.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT - 1;
|
mInternetDialog.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT - 1;
|
||||||
mInternetDialog.mHasMoreEntry = true;
|
mInternetDialog.mHasMoreWifiEntries = true;
|
||||||
|
|
||||||
mInternetDialog.updateDialog(false);
|
mInternetDialog.updateDialog(false);
|
||||||
|
|
||||||
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
|
verify(mInternetAdapter).setMaxEntriesCount(2);
|
||||||
assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -518,45 +523,46 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getWifiListMaxCount_returnCountCorrectly() {
|
public void getWifiListMaxCount_returnCountCorrectly() {
|
||||||
// Ethernet, MobileData, ConnectedWiFi are all hidden.
|
// Both of the Ethernet, MobileData is hidden.
|
||||||
// Then the maximum count is equal to MAX_WIFI_ENTRY_COUNT.
|
// Then the maximum count is equal to MAX_WIFI_ENTRY_COUNT.
|
||||||
setNetworkVisible(false, false, false);
|
setNetworkVisible(false, false, false);
|
||||||
|
|
||||||
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT);
|
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT);
|
||||||
|
|
||||||
// Only one of Ethernet, MobileData, ConnectedWiFi is displayed.
|
// If the Connected Wi-Fi is displayed then reduce one of the Wi-Fi list max count.
|
||||||
// Then the maximum count is equal to MAX_WIFI_ENTRY_COUNT - 1.
|
|
||||||
setNetworkVisible(true, false, false);
|
|
||||||
|
|
||||||
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 1);
|
|
||||||
|
|
||||||
setNetworkVisible(false, true, false);
|
|
||||||
|
|
||||||
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 1);
|
|
||||||
|
|
||||||
setNetworkVisible(false, false, true);
|
setNetworkVisible(false, false, true);
|
||||||
|
|
||||||
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 1);
|
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 1);
|
||||||
|
|
||||||
// Only one of Ethernet, MobileData, ConnectedWiFi is hidden.
|
// Only one of Ethernet, MobileData is displayed.
|
||||||
// Then the maximum count is equal to MAX_WIFI_ENTRY_COUNT - 2.
|
// Then the maximum count is equal to MAX_WIFI_ENTRY_COUNT.
|
||||||
setNetworkVisible(true, true, false);
|
setNetworkVisible(true, false, false);
|
||||||
|
|
||||||
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 2);
|
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT);
|
||||||
|
|
||||||
|
setNetworkVisible(false, true, false);
|
||||||
|
|
||||||
|
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT);
|
||||||
|
|
||||||
|
// If the Connected Wi-Fi is displayed then reduce one of the Wi-Fi list max count.
|
||||||
setNetworkVisible(true, false, true);
|
setNetworkVisible(true, false, true);
|
||||||
|
|
||||||
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 2);
|
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 1);
|
||||||
|
|
||||||
setNetworkVisible(false, true, true);
|
setNetworkVisible(false, true, true);
|
||||||
|
|
||||||
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 2);
|
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 1);
|
||||||
|
|
||||||
// Ethernet, MobileData, ConnectedWiFi are all displayed.
|
// Both of Ethernet, MobileData, ConnectedWiFi is displayed.
|
||||||
// Then the maximum count is equal to MAX_WIFI_ENTRY_COUNT - 3.
|
// Then the maximum count is equal to MAX_WIFI_ENTRY_COUNT - 1.
|
||||||
|
setNetworkVisible(true, true, false);
|
||||||
|
|
||||||
|
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 1);
|
||||||
|
|
||||||
|
// If the Connected Wi-Fi is displayed then reduce one of the Wi-Fi list max count.
|
||||||
setNetworkVisible(true, true, true);
|
setNetworkVisible(true, true, true);
|
||||||
|
|
||||||
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 3);
|
assertThat(mInternetDialog.getWifiListMaxCount()).isEqualTo(MAX_WIFI_ENTRY_COUNT - 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setNetworkVisible(boolean ethernetVisible, boolean mobileDataVisible,
|
private void setNetworkVisible(boolean ethernetVisible, boolean mobileDataVisible,
|
||||||
|
|||||||
Reference in New Issue
Block a user