Merge "[Provider Model] Fix WiFi SSID disappear issue"
This commit is contained in:
committed by
Android (Google) Code Review
commit
cf89194f3a
@@ -24,7 +24,6 @@ import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -34,6 +33,7 @@ import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.settingslib.Utils;
|
||||
@@ -43,7 +43,6 @@ import com.android.wifitrackerlib.WifiEntry;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Adapter for showing Wi-Fi networks.
|
||||
@@ -54,9 +53,10 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern
|
||||
private static final String ACTION_WIFI_DIALOG = "com.android.settings.WIFI_DIALOG";
|
||||
private static final String EXTRA_CHOSEN_WIFI_ENTRY_KEY = "key_chosen_wifientry_key";
|
||||
private static final String EXTRA_CONNECT_FOR_CALLER = "connect_for_caller";
|
||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
|
||||
private final InternetDialogController mInternetDialogController;
|
||||
private List<WifiEntry> mWifiEntries;
|
||||
private int mWifiEntriesCount;
|
||||
|
||||
protected View mHolderView;
|
||||
protected Context mContext;
|
||||
@@ -76,54 +76,31 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull InternetViewHolder viewHolder, int position) {
|
||||
List<WifiEntry> wifiList = getWifiEntryList();
|
||||
if (wifiList != null && wifiList.size() != 0) {
|
||||
int count = getItemCount();
|
||||
if (wifiList.size() > count) {
|
||||
wifiList = getWifiEntryList().subList(0, count - 1);
|
||||
}
|
||||
|
||||
if (position < wifiList.size()) {
|
||||
viewHolder.onBind(wifiList.get(position));
|
||||
}
|
||||
} else if (DEBUG) {
|
||||
Log.d(TAG, "onBindViewHolder, Wi-Fi entry list = null");
|
||||
if (mWifiEntries == null || position >= mWifiEntriesCount) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private List<WifiEntry> getWifiEntryList() {
|
||||
if (mInternetDialogController.getWifiEntryList() == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return mInternetDialogController.getWifiEntryList().stream()
|
||||
.filter(wifiEntry -> (!wifiEntry.isDefaultNetwork()
|
||||
|| !wifiEntry.hasInternetAccess()))
|
||||
.limit(getItemCount())
|
||||
.collect(Collectors.toList());
|
||||
viewHolder.onBind(mWifiEntries.get(position));
|
||||
}
|
||||
|
||||
/**
|
||||
* The total number of networks (mobile network and entries of Wi-Fi) should be four in
|
||||
* {@link InternetDialog}.
|
||||
* Updates the Wi-Fi networks.
|
||||
*
|
||||
* Airplane mode is ON (mobile network is gone):
|
||||
* Return four Wi-Fi's entries if no internet Wi-Fi.
|
||||
* Return three Wi-Fi's entries if one internet Wi-Fi.
|
||||
* Airplane mode is OFF (mobile network is visible):
|
||||
* Return three Wi-Fi's entries if no internet Wi-Fi.
|
||||
* Return two Wi-Fi's entries if one internet Wi-Fi.
|
||||
* @param wifiEntries the updated Wi-Fi entries.
|
||||
* @param wifiEntriesCount the total number of Wi-Fi entries.
|
||||
*/
|
||||
public void setWifiEntries(@Nullable List<WifiEntry> wifiEntries, int wifiEntriesCount) {
|
||||
mWifiEntries = wifiEntries;
|
||||
mWifiEntriesCount = wifiEntriesCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the total number of Wi-Fi networks.
|
||||
*
|
||||
* @return The total number of networks.
|
||||
* @return The total number of Wi-Fi entries.
|
||||
*/
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
final boolean hasInternetWifi = mInternetDialogController.getInternetWifiEntry() != null;
|
||||
if (mInternetDialogController.isAirplaneModeEnabled()) {
|
||||
return hasInternetWifi ? 3 : 4;
|
||||
} else {
|
||||
return hasInternetWifi ? 2 : 3;
|
||||
}
|
||||
return mWifiEntriesCount;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -210,6 +187,9 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern
|
||||
}
|
||||
|
||||
Drawable getWifiDrawable(@NonNull WifiEntry wifiEntry) throws Throwable {
|
||||
if (wifiEntry.getLevel() == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
|
||||
return null;
|
||||
}
|
||||
final Drawable drawable = mWifiIconInjector.getIcon(wifiEntry.shouldShowXLevelIcon(),
|
||||
wifiEntry.getLevel());
|
||||
if (drawable == null) {
|
||||
|
||||
@@ -21,13 +21,11 @@ import static com.android.systemui.Prefs.Key.QS_HAS_TURNED_OFF_MOBILE_DATA;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.wifi.ScanResult;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
@@ -54,7 +52,9 @@ import android.widget.ProgressBar;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.annotation.WorkerThread;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
@@ -91,8 +91,6 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
@VisibleForTesting
|
||||
protected View mDialogView;
|
||||
@VisibleForTesting
|
||||
protected WifiEntry mConnectedWifiEntry;
|
||||
@VisibleForTesting
|
||||
protected boolean mCanConfigWifi;
|
||||
|
||||
private InternetDialogFactory mInternetDialogFactory;
|
||||
@@ -131,6 +129,10 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||
private boolean mCanConfigMobileData;
|
||||
|
||||
// Wi-Fi entries
|
||||
protected WifiEntry mConnectedWifiEntry;
|
||||
protected int mWifiEntriesCount;
|
||||
|
||||
// Wi-Fi scanning progress bar
|
||||
protected boolean mIsProgressBarVisible;
|
||||
protected boolean mIsSearchingHidden;
|
||||
@@ -315,15 +317,10 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
updateWifiToggle(isWifiEnabled, isDeviceLocked);
|
||||
updateConnectedWifi(isWifiEnabled, isDeviceLocked);
|
||||
|
||||
List<WifiEntry> wifiEntryList = mInternetDialogController.getWifiEntryList();
|
||||
final int wifiListVisibility =
|
||||
(isDeviceLocked || wifiEntryList == null || wifiEntryList.size() <= 0)
|
||||
? View.GONE : View.VISIBLE;
|
||||
mWifiRecyclerView.setVisibility(wifiListVisibility);
|
||||
if (wifiListVisibility == View.VISIBLE) {
|
||||
mAdapter.notifyDataSetChanged();
|
||||
}
|
||||
mSeeAllLayout.setVisibility(wifiListVisibility);
|
||||
final int visibility = (isDeviceLocked || !isWifiEnabled || mWifiEntriesCount <= 0)
|
||||
? View.GONE : View.VISIBLE;
|
||||
mWifiRecyclerView.setVisibility(visibility);
|
||||
mSeeAllLayout.setVisibility(visibility);
|
||||
}
|
||||
|
||||
private void setOnClickListener() {
|
||||
@@ -457,8 +454,7 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
return;
|
||||
}
|
||||
setProgressBarVisible(true);
|
||||
List<ScanResult> wifiScanResults = mWifiManager.getScanResults();
|
||||
if (wifiScanResults != null && wifiScanResults.size() > 0) {
|
||||
if (mConnectedWifiEntry != null || mWifiEntriesCount > 0) {
|
||||
mHandler.postDelayed(mHideProgressBarRunnable, PROGRESS_DELAY_MS);
|
||||
} else if (!mIsSearchingHidden) {
|
||||
mHandler.postDelayed(mHideSearchingRunnable, PROGRESS_DELAY_MS);
|
||||
@@ -543,8 +539,8 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
}
|
||||
|
||||
@Override
|
||||
@WorkerThread
|
||||
public void onDataConnectionStateChanged(int state, int networkType) {
|
||||
mAdapter.notifyDataSetChanged();
|
||||
mHandler.post(() -> updateDialog());
|
||||
}
|
||||
|
||||
@@ -559,10 +555,16 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAccessPointsChanged(List<WifiEntry> wifiEntryList, WifiEntry connectedEntry) {
|
||||
@WorkerThread
|
||||
public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||
@Nullable WifiEntry connectedEntry) {
|
||||
mConnectedWifiEntry = connectedEntry;
|
||||
mAdapter.notifyDataSetChanged();
|
||||
mHandler.post(() -> updateDialog());
|
||||
mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
|
||||
mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
|
||||
mHandler.post(() -> {
|
||||
mAdapter.notifyDataSetChanged();
|
||||
updateDialog();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -575,24 +577,6 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWifiStateReceived(Context context, Intent intent) {
|
||||
if (intent == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
String action = intent.getAction();
|
||||
if (action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
|
||||
mInternetDialogController.scanWifiAccessPoints();
|
||||
showProgressBar();
|
||||
return;
|
||||
}
|
||||
|
||||
if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
|
||||
mHandler.post(() -> updateDialog());
|
||||
}
|
||||
}
|
||||
|
||||
public enum InternetDialogEvent implements UiEventLogger.UiEventEnum {
|
||||
@UiEvent(doc = "The Internet dialog became visible on the screen.")
|
||||
INTERNET_DIALOG_SHOW(843);
|
||||
|
||||
@@ -32,7 +32,6 @@ import android.net.ConnectivityManager;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkRequest;
|
||||
import android.net.wifi.ScanResult;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings;
|
||||
@@ -53,6 +52,7 @@ import android.widget.Toast;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.annotation.WorkerThread;
|
||||
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
@@ -108,6 +108,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
R.string.all_network_unavailable;
|
||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
|
||||
static final int MAX_WIFI_ENTRY_COUNT = 4;
|
||||
|
||||
private WifiManager mWifiManager;
|
||||
private Context mContext;
|
||||
private SubscriptionManager mSubscriptionManager;
|
||||
@@ -122,7 +124,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
private AccessPointController mAccessPointController;
|
||||
private IntentFilter mConnectionStateFilter;
|
||||
private InternetDialogCallback mCallback;
|
||||
private List<WifiEntry> mWifiEntry;
|
||||
private WifiEntry mConnectedEntry;
|
||||
private int mWifiEntriesCount;
|
||||
private UiEventLogger mUiEventLogger;
|
||||
private BroadcastDispatcher mBroadcastDispatcher;
|
||||
private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||
@@ -132,8 +135,6 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
@VisibleForTesting
|
||||
protected ActivityStarter mActivityStarter;
|
||||
@VisibleForTesting
|
||||
protected WifiEntry mConnectedEntry;
|
||||
@VisibleForTesting
|
||||
protected SubscriptionManager.OnSubscriptionsChangedListener mOnSubscriptionsChangedListener;
|
||||
@VisibleForTesting
|
||||
protected InternetTelephonyCallback mInternetTelephonyCallback;
|
||||
@@ -141,9 +142,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
protected WifiUtils.InternetIconInjector mWifiIconInjector;
|
||||
@VisibleForTesting
|
||||
protected boolean mCanConfigWifi;
|
||||
|
||||
@VisibleForTesting
|
||||
KeyguardStateController mKeyguardStateController;
|
||||
protected KeyguardStateController mKeyguardStateController;
|
||||
|
||||
private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
|
||||
new KeyguardUpdateMonitorCallback() {
|
||||
@@ -185,8 +185,6 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
|
||||
mKeyguardStateController = keyguardStateController;
|
||||
mConnectionStateFilter = new IntentFilter();
|
||||
mConnectionStateFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
|
||||
mConnectionStateFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
|
||||
mConnectionStateFilter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
||||
mUiEventLogger = uiEventLogger;
|
||||
mActivityStarter = starter;
|
||||
@@ -291,8 +289,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
return mContext.getText(SUBTITLE_TEXT_UNLOCK_TO_VIEW_NETWORKS);
|
||||
}
|
||||
|
||||
final List<ScanResult> wifiList = mWifiManager.getScanResults();
|
||||
if (wifiList != null && wifiList.size() != 0) {
|
||||
if (mConnectedEntry != null || mWifiEntriesCount > 0) {
|
||||
return mCanConfigWifi ? mContext.getText(SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT) : null;
|
||||
}
|
||||
|
||||
@@ -576,18 +573,6 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
}
|
||||
}
|
||||
|
||||
List<WifiEntry> getWifiEntryList() {
|
||||
return mWifiEntry;
|
||||
}
|
||||
|
||||
WifiEntry getInternetWifiEntry() {
|
||||
if (mConnectedEntry == null || !mConnectedEntry.isDefaultNetwork()
|
||||
|| !mConnectedEntry.hasInternetAccess()) {
|
||||
return null;
|
||||
}
|
||||
return mConnectedEntry;
|
||||
}
|
||||
|
||||
WifiManager getWifiManager() {
|
||||
return mWifiManager;
|
||||
}
|
||||
@@ -765,22 +750,33 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
}
|
||||
}
|
||||
|
||||
void scanWifiAccessPoints() {
|
||||
private void scanWifiAccessPoints() {
|
||||
if (mCanConfigWifi) {
|
||||
mAccessPointController.scanForAccessPoints();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@WorkerThread
|
||||
public void onAccessPointsChanged(List<WifiEntry> accessPoints) {
|
||||
if (accessPoints == null || !mCanConfigWifi) {
|
||||
if (!mCanConfigWifi) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (accessPoints == null || accessPoints.size() == 0) {
|
||||
mConnectedEntry = null;
|
||||
mWifiEntriesCount = 0;
|
||||
if (mCallback != null) {
|
||||
mCallback.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
boolean hasConnectedWifi = false;
|
||||
mWifiEntry = accessPoints;
|
||||
for (WifiEntry wifiEntry : accessPoints) {
|
||||
if (wifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
|
||||
final int accessPointSize = accessPoints.size();
|
||||
for (int i = 0; i < accessPointSize; i++) {
|
||||
WifiEntry wifiEntry = accessPoints.get(i);
|
||||
if (wifiEntry.isDefaultNetwork() && wifiEntry.hasInternetAccess()) {
|
||||
mConnectedEntry = wifiEntry;
|
||||
hasConnectedWifi = true;
|
||||
break;
|
||||
@@ -790,7 +786,23 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
mConnectedEntry = null;
|
||||
}
|
||||
|
||||
mCallback.onAccessPointsChanged(mWifiEntry, getInternetWifiEntry());
|
||||
int count = MAX_WIFI_ENTRY_COUNT;
|
||||
if (hasCarrier()) {
|
||||
count -= 1;
|
||||
}
|
||||
if (hasConnectedWifi) {
|
||||
count -= 1;
|
||||
}
|
||||
final List<WifiEntry> wifiEntries = accessPoints.stream()
|
||||
.filter(wifiEntry -> (!wifiEntry.isDefaultNetwork()
|
||||
|| !wifiEntry.hasInternetAccess()))
|
||||
.limit(count)
|
||||
.collect(Collectors.toList());
|
||||
mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
|
||||
|
||||
if (mCallback != null) {
|
||||
mCallback.onAccessPointsChanged(wifiEntries, mConnectedEntry);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -843,8 +855,17 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
|
||||
private class DataConnectivityListener extends ConnectivityManager.NetworkCallback {
|
||||
@Override
|
||||
@WorkerThread
|
||||
public void onCapabilitiesChanged(@NonNull Network network,
|
||||
@NonNull NetworkCapabilities networkCapabilities) {
|
||||
if (mCanConfigWifi) {
|
||||
for (int transport : networkCapabilities.getTransportTypes()) {
|
||||
if (transport == NetworkCapabilities.TRANSPORT_WIFI) {
|
||||
scanWifiAccessPoints();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
final Network activeNetwork = mConnectivityManager.getActiveNetwork();
|
||||
if (activeNetwork != null && activeNetwork.equals(network)) {
|
||||
// update UI
|
||||
@@ -857,11 +878,6 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
final String action = intent.getAction();
|
||||
if (mCanConfigWifi && (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)
|
||||
|| action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION))) {
|
||||
mCallback.onWifiStateReceived(context, intent);
|
||||
}
|
||||
|
||||
if (action.equals(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED");
|
||||
@@ -917,8 +933,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
|
||||
void dismissDialog();
|
||||
|
||||
void onAccessPointsChanged(List<WifiEntry> wifiEntryList, WifiEntry connectedEntry);
|
||||
|
||||
void onWifiStateReceived(Context context, Intent intent);
|
||||
void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||
@Nullable WifiEntry connectedEntry);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,11 @@ package com.android.systemui.qs.tiles.dialog;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.reset;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -24,6 +27,7 @@ import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@SmallTest
|
||||
@RunWith(AndroidTestingRunner.class)
|
||||
@@ -35,6 +39,8 @@ public class InternetAdapterTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private WifiEntry mInternetWifiEntry;
|
||||
@Mock
|
||||
private List<WifiEntry> mWifiEntries;
|
||||
@Mock
|
||||
private WifiEntry mWifiEntry;
|
||||
@Mock
|
||||
private InternetDialogController mInternetDialogController;
|
||||
@@ -56,43 +62,17 @@ public class InternetAdapterTest extends SysuiTestCase {
|
||||
|
||||
mInternetAdapter = new InternetAdapter(mInternetDialogController);
|
||||
mViewHolder = mInternetAdapter.onCreateViewHolder(new LinearLayout(mContext), 0);
|
||||
when(mInternetDialogController.getInternetWifiEntry()).thenReturn(mInternetWifiEntry);
|
||||
when(mInternetDialogController.getWifiEntryList()).thenReturn(Arrays.asList(mWifiEntry));
|
||||
mInternetAdapter.setWifiEntries(Arrays.asList(mWifiEntry), 1 /* wifiEntriesCount */);
|
||||
mViewHolder.mWifiIconInjector = mWifiIconInjector;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getItemCount_withApmOnWifiOnNoInternetWifi_returnFour() {
|
||||
// The preconditions WiFi ON is already in setUp()
|
||||
when(mInternetDialogController.getInternetWifiEntry()).thenReturn(null);
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
||||
public void getItemCount_returnWifiEntriesCount() {
|
||||
for (int i = 0; i < InternetDialogController.MAX_WIFI_ENTRY_COUNT; i++) {
|
||||
mInternetAdapter.setWifiEntries(mWifiEntries, i /* wifiEntriesCount */);
|
||||
|
||||
assertThat(mInternetAdapter.getItemCount()).isEqualTo(4);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getItemCount_withApmOnWifiOnHasInternetWifi_returnThree() {
|
||||
// The preconditions WiFi ON and Internet WiFi are already in setUp()
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
||||
|
||||
assertThat(mInternetAdapter.getItemCount()).isEqualTo(3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getItemCount_withApmOffWifiOnNoInternetWifi_returnThree() {
|
||||
// The preconditions WiFi ON is already in setUp()
|
||||
when(mInternetDialogController.getInternetWifiEntry()).thenReturn(null);
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(false);
|
||||
|
||||
assertThat(mInternetAdapter.getItemCount()).isEqualTo(3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getItemCount_withApmOffWifiOnHasInternetWifi_returnTwo() {
|
||||
// The preconditions WiFi ON and Internet WiFi are already in setUp()
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(false);
|
||||
|
||||
assertThat(mInternetAdapter.getItemCount()).isEqualTo(2);
|
||||
assertThat(mInternetAdapter.getItemCount()).isEqualTo(i);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -118,7 +98,17 @@ public class InternetAdapterTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onBindViewHolder_bindDefaultWifiNetwork_getIconWithInternet() {
|
||||
public void onBindViewHolder_wifiLevelUnreachable_shouldNotGetWifiIcon() {
|
||||
reset(mWifiIconInjector);
|
||||
when(mWifiEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_UNREACHABLE);
|
||||
|
||||
mInternetAdapter.onBindViewHolder(mViewHolder, 0);
|
||||
|
||||
verify(mWifiIconInjector, never()).getIcon(anyBoolean(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onBindViewHolder_shouldNotShowXLevelIcon_getIconWithInternet() {
|
||||
when(mWifiEntry.shouldShowXLevelIcon()).thenReturn(false);
|
||||
|
||||
mInternetAdapter.onBindViewHolder(mViewHolder, 0);
|
||||
@@ -127,7 +117,7 @@ public class InternetAdapterTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onBindViewHolder_bindNoDefaultWifiNetwork_getIconWithNoInternet() {
|
||||
public void onBindViewHolder_shouldShowXLevelIcon_getIconWithNoInternet() {
|
||||
when(mWifiEntry.shouldShowXLevelIcon()).thenReturn(true);
|
||||
|
||||
mInternetAdapter.onBindViewHolder(mViewHolder, 0);
|
||||
|
||||
@@ -18,7 +18,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.wifi.ScanResult;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.telephony.ServiceState;
|
||||
@@ -85,14 +84,26 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private WifiEntry mConnectedEntry;
|
||||
@Mock
|
||||
private WifiEntry mWifiEntry1;
|
||||
@Mock
|
||||
private WifiEntry mWifiEntry2;
|
||||
@Mock
|
||||
private WifiEntry mWifiEntry3;
|
||||
@Mock
|
||||
private WifiEntry mWifiEntry4;
|
||||
@Mock
|
||||
private ServiceState mServiceState;
|
||||
@Mock
|
||||
private BroadcastDispatcher mBroadcastDispatcher;
|
||||
@Mock
|
||||
private WifiUtils.InternetIconInjector mWifiIconInjector;
|
||||
@Mock
|
||||
InternetDialogController.InternetDialogCallback mInternetDialogCallback;
|
||||
|
||||
private MockInternetDialogController mInternetDialogController;
|
||||
private FakeExecutor mExecutor = new FakeExecutor(new FakeSystemClock());
|
||||
private List<WifiEntry> mAccessPoints = new ArrayList<>();
|
||||
private List<WifiEntry> mWifiEntries = new ArrayList<>();
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -101,6 +112,12 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
when(mKeyguardStateController.isUnlocked()).thenReturn(true);
|
||||
when(mConnectedEntry.isDefaultNetwork()).thenReturn(true);
|
||||
when(mConnectedEntry.hasInternetAccess()).thenReturn(true);
|
||||
when(mWifiEntry1.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
|
||||
when(mWifiEntry2.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
|
||||
when(mWifiEntry3.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
|
||||
when(mWifiEntry4.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
|
||||
mAccessPoints.add(mConnectedEntry);
|
||||
mAccessPoints.add(mWifiEntry1);
|
||||
when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{SUB_ID});
|
||||
|
||||
mInternetDialogController = new MockInternetDialogController(mContext,
|
||||
@@ -110,10 +127,9 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
mock(KeyguardUpdateMonitor.class), mGlobalSettings, mKeyguardStateController);
|
||||
mSubscriptionManager.addOnSubscriptionsChangedListener(mExecutor,
|
||||
mInternetDialogController.mOnSubscriptionsChangedListener);
|
||||
mInternetDialogController.onStart(
|
||||
mock(InternetDialogController.InternetDialogCallback.class), true);
|
||||
mInternetDialogController.onStart(mInternetDialogCallback, true);
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
mInternetDialogController.mActivityStarter = mActivityStarter;
|
||||
mInternetDialogController.mConnectedEntry = mConnectedEntry;
|
||||
mInternetDialogController.mWifiIconInjector = mWifiIconInjector;
|
||||
}
|
||||
|
||||
@@ -159,9 +175,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
public void getSubtitleText_withNoWifiEntry_returnSearchWifi() {
|
||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
List<ScanResult> wifiScanResults = mock(ArrayList.class);
|
||||
doReturn(0).when(wifiScanResults).size();
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||
|
||||
assertThat(mInternetDialogController.getSubtitleText(true))
|
||||
.isEqualTo(getResourcesString("wifi_empty_list_wifi_on"));
|
||||
@@ -175,11 +189,9 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void getSubtitleText_withWifiEntry_returnTapToConnect() {
|
||||
// The preconditions WiFi Entries is already in setUp()
|
||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
List<ScanResult> wifiScanResults = mock(ArrayList.class);
|
||||
doReturn(1).when(wifiScanResults).size();
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
|
||||
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||
.isEqualTo(getResourcesString("tap_a_network_to_connect"));
|
||||
@@ -205,9 +217,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
public void getSubtitleText_withNoService_returnNoNetworksAvailable() {
|
||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
List<ScanResult> wifiScanResults = new ArrayList<>();
|
||||
doReturn(wifiScanResults).when(mWifiManager).getScanResults();
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||
|
||||
doReturn(ServiceState.STATE_OUT_OF_SERVICE).when(mServiceState).getState();
|
||||
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
||||
@@ -221,9 +231,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
public void getSubtitleText_withMobileDataDisabled_returnNoOtherAvailable() {
|
||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
List<ScanResult> wifiScanResults = new ArrayList<>();
|
||||
doReturn(wifiScanResults).when(mWifiManager).getScanResults();
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||
|
||||
doReturn(ServiceState.STATE_IN_SERVICE).when(mServiceState).getState();
|
||||
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
||||
@@ -240,38 +248,9 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
.isNotEqualTo(getResourcesString("non_carrier_network_unavailable"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInternetWifiEntry_connectedEntryIsNull_returnNull() {
|
||||
mInternetDialogController.mConnectedEntry = null;
|
||||
|
||||
assertThat(mInternetDialogController.getInternetWifiEntry()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInternetWifiEntry_connectedWifiIsNotDefaultNetwork_returnNull() {
|
||||
when(mConnectedEntry.isDefaultNetwork()).thenReturn(false);
|
||||
|
||||
assertThat(mInternetDialogController.getInternetWifiEntry()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInternetWifiEntry_connectedWifiHasNotInternetAccess_returnNull() {
|
||||
when(mConnectedEntry.hasInternetAccess()).thenReturn(false);
|
||||
|
||||
assertThat(mInternetDialogController.getInternetWifiEntry()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInternetWifiEntry_connectedEntryIsInternetWifi_returnConnectedEntry() {
|
||||
// The preconditions have been set in setUp().
|
||||
// - The connected Wi-Fi entry have both default network and internet access conditions.
|
||||
|
||||
assertThat(mInternetDialogController.getInternetWifiEntry()).isEqualTo(mConnectedEntry);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getWifiDetailsSettingsIntent_withNoConnectedEntry_returnNull() {
|
||||
mInternetDialogController.mConnectedEntry = null;
|
||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||
|
||||
assertThat(mInternetDialogController.getWifiDetailsSettingsIntent()).isNull();
|
||||
}
|
||||
@@ -303,7 +282,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void launchWifiNetworkDetailsSetting_withNoConnectedEntry_doNothing() {
|
||||
mInternetDialogController.mConnectedEntry = null;
|
||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||
|
||||
mInternetDialogController.launchWifiNetworkDetailsSetting();
|
||||
|
||||
@@ -335,13 +314,140 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void scanWifiAccessPoints_cannotConfigWifi_doNothing() {
|
||||
reset(mAccessPointController);
|
||||
public void onAccessPointsChanged_canNotConfigWifi_doNothing() {
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.mCanConfigWifi = false;
|
||||
|
||||
mInternetDialogController.scanWifiAccessPoints();
|
||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||
|
||||
verify(mAccessPointController, never()).scanForAccessPoints();
|
||||
verify(mInternetDialogCallback, never()).onAccessPointsChanged(any(), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onAccessPointsChanged_nullAccessPoints_callbackBothNull() {
|
||||
reset(mInternetDialogCallback);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||
|
||||
verify(mInternetDialogCallback)
|
||||
.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onAccessPointsChanged_oneConnectedEntry_callbackConnectedEntryOnly() {
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(true);
|
||||
mAccessPoints.clear();
|
||||
mAccessPoints.add(mConnectedEntry);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.clear();
|
||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onAccessPointsChanged_noConnectedEntryAndOneOther_callbackWifiEntriesOnly() {
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(true);
|
||||
mAccessPoints.clear();
|
||||
mAccessPoints.add(mWifiEntry1);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.clear();
|
||||
mWifiEntries.add(mWifiEntry1);
|
||||
verify(mInternetDialogCallback)
|
||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onAccessPointsChanged_oneConnectedEntryAndOneOther_callbackCorrectly() {
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(true);
|
||||
mAccessPoints.clear();
|
||||
mAccessPoints.add(mConnectedEntry);
|
||||
mAccessPoints.add(mWifiEntry1);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.clear();
|
||||
mWifiEntries.add(mWifiEntry1);
|
||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onAccessPointsChanged_oneConnectedEntryAndTwoOthers_callbackCorrectly() {
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(true);
|
||||
mAccessPoints.clear();
|
||||
mAccessPoints.add(mConnectedEntry);
|
||||
mAccessPoints.add(mWifiEntry1);
|
||||
mAccessPoints.add(mWifiEntry2);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.clear();
|
||||
mWifiEntries.add(mWifiEntry1);
|
||||
mWifiEntries.add(mWifiEntry2);
|
||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onAccessPointsChanged_oneConnectedEntryAndThreeOthers_callbackCutMore() {
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(true);
|
||||
mAccessPoints.clear();
|
||||
mAccessPoints.add(mConnectedEntry);
|
||||
mAccessPoints.add(mWifiEntry1);
|
||||
mAccessPoints.add(mWifiEntry2);
|
||||
mAccessPoints.add(mWifiEntry3);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.clear();
|
||||
mWifiEntries.add(mWifiEntry1);
|
||||
mWifiEntries.add(mWifiEntry2);
|
||||
mWifiEntries.add(mWifiEntry3);
|
||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
||||
|
||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.remove(mWifiEntry3);
|
||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onAccessPointsChanged_oneConnectedEntryAndFourOthers_callbackCutMore() {
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(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);
|
||||
|
||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.remove(mWifiEntry3);
|
||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
||||
}
|
||||
|
||||
private String getResourcesString(String name) {
|
||||
|
||||
@@ -12,7 +12,6 @@ import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.net.wifi.ScanResult;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.telephony.TelephonyManager;
|
||||
@@ -38,8 +37,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@SmallTest
|
||||
@@ -61,7 +58,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private WifiEntry mInternetWifiEntry;
|
||||
@Mock
|
||||
private WifiEntry mWifiEntry;
|
||||
private List<WifiEntry> mWifiEntries;
|
||||
@Mock
|
||||
private InternetAdapter mInternetAdapter;
|
||||
@Mock
|
||||
@@ -85,20 +82,17 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
when(mInternetWifiEntry.getSummary(false)).thenReturn(WIFI_SUMMARY);
|
||||
when(mInternetWifiEntry.isDefaultNetwork()).thenReturn(true);
|
||||
when(mInternetWifiEntry.hasInternetAccess()).thenReturn(true);
|
||||
when(mWifiEntry.getTitle()).thenReturn(WIFI_TITLE);
|
||||
when(mWifiEntry.getSummary(false)).thenReturn(WIFI_SUMMARY);
|
||||
when(mWifiEntries.size()).thenReturn(1);
|
||||
|
||||
when(mInternetDialogController.getMobileNetworkTitle()).thenReturn(MOBILE_NETWORK_TITLE);
|
||||
when(mInternetDialogController.getMobileNetworkSummary())
|
||||
.thenReturn(MOBILE_NETWORK_SUMMARY);
|
||||
when(mInternetDialogController.getWifiManager()).thenReturn(mWifiManager);
|
||||
when(mInternetDialogController.getInternetWifiEntry()).thenReturn(mInternetWifiEntry);
|
||||
when(mInternetDialogController.getWifiEntryList()).thenReturn(Arrays.asList(mWifiEntry));
|
||||
|
||||
mInternetDialog = new InternetDialog(mContext, mock(InternetDialogFactory.class),
|
||||
mInternetDialogController, true, true, true, mock(UiEventLogger.class), mHandler);
|
||||
mInternetDialog.mAdapter = mInternetAdapter;
|
||||
mInternetDialog.mConnectedWifiEntry = mInternetWifiEntry;
|
||||
mInternetDialog.onAccessPointsChanged(mWifiEntries, mInternetWifiEntry);
|
||||
mInternetDialog.show();
|
||||
|
||||
mDialogView = mInternetDialog.mDialogView;
|
||||
@@ -165,7 +159,8 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void updateDialog_wifiOnAndNoConnectedWifi_hideConnectedWifi() {
|
||||
mInternetDialog.mConnectedWifiEntry = null;
|
||||
// The precondition WiFi ON is already in setUp()
|
||||
mInternetDialog.onAccessPointsChanged(mWifiEntries, null /* connectedEntry*/);
|
||||
doReturn(false).when(mInternetDialogController).activeNetworkIsCellular();
|
||||
|
||||
mInternetDialog.updateDialog();
|
||||
@@ -175,7 +170,8 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void updateDialog_wifiOnAndNoWifiList_hideWifiListAndSeeAll() {
|
||||
when(mInternetDialogController.getWifiEntryList()).thenReturn(null);
|
||||
// The precondition WiFi ON is already in setUp()
|
||||
mInternetDialog.onAccessPointsChanged(null /* wifiEntries */, mInternetWifiEntry);
|
||||
|
||||
mInternetDialog.updateDialog();
|
||||
|
||||
@@ -258,9 +254,6 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
public void showProgressBar_wifiEnabledWithWifiEntry_showProgressBarThenHide() {
|
||||
Mockito.reset(mHandler);
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
List<ScanResult> wifiScanResults = mock(ArrayList.class);
|
||||
when(wifiScanResults.size()).thenReturn(1);
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
|
||||
mInternetDialog.showProgressBar();
|
||||
|
||||
@@ -277,12 +270,10 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void showProgressBar_wifiEnabledWithoutWifiScanResults_showProgressBarThenHideSearch() {
|
||||
public void showProgressBar_wifiEnabledWithoutWifiEntries_showProgressBarThenHideSearch() {
|
||||
Mockito.reset(mHandler);
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
List<ScanResult> wifiScanResults = mock(ArrayList.class);
|
||||
when(wifiScanResults.size()).thenReturn(0);
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
mInternetDialog.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry*/);
|
||||
|
||||
mInternetDialog.showProgressBar();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user