[Provider Model] Enforce DISALLOW_CONFIG_WIFI in Internet Panel
- Avoid the appearance of WiFi-related strings in sub-title
- Hide all of Wi-Fi related views
- Do not scan Wi-Fi result
Bug: 195669955
Test: manual test
atest -c InternetDialogControllerTest \
InternetDialogTest
Change-Id: I5c19e6a8e52d2c9207053ffb7539d931d1f04799
This commit is contained in:
@@ -122,8 +122,9 @@ public class InternetTile extends QSTileImpl<SignalState> {
|
||||
|
||||
@Override
|
||||
protected void handleClick(@Nullable View view) {
|
||||
boolean canConfigMobileData = mAccessPointController.canConfigMobileData();
|
||||
mHandler.post(() -> mInternetDialogFactory.create(true, canConfigMobileData));
|
||||
mHandler.post(() -> mInternetDialogFactory.create(true,
|
||||
mAccessPointController.canConfigMobileData(),
|
||||
mAccessPointController.canConfigWifi()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -51,7 +51,6 @@ import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.Space;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -93,6 +92,8 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
protected View mDialogView;
|
||||
@VisibleForTesting
|
||||
protected WifiEntry mConnectedWifiEntry;
|
||||
@VisibleForTesting
|
||||
protected boolean mCanConfigWifi;
|
||||
|
||||
private InternetDialogFactory mInternetDialogFactory;
|
||||
private SubscriptionManager mSubscriptionManager;
|
||||
@@ -151,7 +152,8 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
|
||||
public InternetDialog(Context context, InternetDialogFactory internetDialogFactory,
|
||||
InternetDialogController internetDialogController, boolean canConfigMobileData,
|
||||
boolean aboveStatusBar, UiEventLogger uiEventLogger, @Main Handler handler) {
|
||||
boolean canConfigWifi, boolean aboveStatusBar, UiEventLogger uiEventLogger,
|
||||
@Main Handler handler) {
|
||||
super(context, R.style.Theme_SystemUI_Dialog_Internet);
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "Init InternetDialog");
|
||||
@@ -165,6 +167,7 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
mTelephonyManager = mInternetDialogController.getTelephonyManager();
|
||||
mWifiManager = mInternetDialogController.getWifiManager();
|
||||
mCanConfigMobileData = canConfigMobileData;
|
||||
mCanConfigWifi = canConfigWifi;
|
||||
|
||||
mLayoutManager = new LinearLayoutManager(mContext) {
|
||||
@Override
|
||||
@@ -247,7 +250,19 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "onStart");
|
||||
}
|
||||
mInternetDialogController.onStart(this);
|
||||
mInternetDialogController.onStart(this, mCanConfigWifi);
|
||||
if (!mCanConfigWifi) {
|
||||
hideWifiViews();
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void hideWifiViews() {
|
||||
setProgressBarVisible(false);
|
||||
mTurnWifiOnLayout.setVisibility(View.GONE);
|
||||
mConnectedWifListLayout.setVisibility(View.GONE);
|
||||
mWifiRecyclerView.setVisibility(View.GONE);
|
||||
mSeeAllLayout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -286,9 +301,13 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
} else {
|
||||
mInternetDialogSubTitle.setText(getSubtitleText());
|
||||
}
|
||||
showProgressBar();
|
||||
setMobileDataLayout(mInternetDialogController.activeNetworkIsCellular());
|
||||
|
||||
if (!mCanConfigWifi) {
|
||||
return;
|
||||
}
|
||||
|
||||
showProgressBar();
|
||||
final boolean isDeviceLocked = mInternetDialogController.isDeviceLocked();
|
||||
final boolean isWifiEnabled = mWifiManager.isWifiEnabled();
|
||||
updateWifiToggle(isWifiEnabled, isDeviceLocked);
|
||||
@@ -379,8 +398,8 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
return;
|
||||
}
|
||||
mConnectedWifListLayout.setVisibility(View.VISIBLE);
|
||||
mConnectedWifiTitleText.setText(mInternetDialogController.getInternetWifiTitle());
|
||||
mConnectedWifiSummaryText.setText(mInternetDialogController.getInternetWifiSummary());
|
||||
mConnectedWifiTitleText.setText(mConnectedWifiEntry.getTitle());
|
||||
mConnectedWifiSummaryText.setText(mConnectedWifiEntry.getSummary(false));
|
||||
mConnectedWifiIcon.setImageDrawable(
|
||||
mInternetDialogController.getInternetWifiDrawable(mConnectedWifiEntry));
|
||||
if (mInternetDialogController.isNightMode()) {
|
||||
|
||||
@@ -139,6 +139,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
protected InternetTelephonyCallback mInternetTelephonyCallback;
|
||||
@VisibleForTesting
|
||||
protected WifiUtils.InternetIconInjector mWifiIconInjector;
|
||||
@VisibleForTesting
|
||||
protected boolean mCanConfigWifi;
|
||||
|
||||
@VisibleForTesting
|
||||
KeyguardStateController mKeyguardStateController;
|
||||
@@ -193,7 +195,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
mWifiIconInjector = new WifiUtils.InternetIconInjector(mContext);
|
||||
}
|
||||
|
||||
void onStart(@NonNull InternetDialogCallback callback) {
|
||||
void onStart(@NonNull InternetDialogCallback callback, boolean canConfigWifi) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "onStart");
|
||||
}
|
||||
@@ -217,6 +219,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
mConnectivityManager.registerNetworkCallback(new NetworkRequest.Builder()
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
||||
.build(), new DataConnectivityListener(), mHandler);
|
||||
mCanConfigWifi = canConfigWifi;
|
||||
scanWifiAccessPoints();
|
||||
}
|
||||
|
||||
@@ -270,7 +273,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!mWifiManager.isWifiEnabled()) {
|
||||
if (mCanConfigWifi && !mWifiManager.isWifiEnabled()) {
|
||||
// When the airplane mode is off and Wi-Fi is disabled.
|
||||
// Sub-Title: Wi-Fi is off
|
||||
if (DEBUG) {
|
||||
@@ -290,10 +293,10 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
|
||||
final List<ScanResult> wifiList = mWifiManager.getScanResults();
|
||||
if (wifiList != null && wifiList.size() != 0) {
|
||||
return mContext.getText(SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT);
|
||||
return mCanConfigWifi ? mContext.getText(SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT) : null;
|
||||
}
|
||||
|
||||
if (isProgressBarVisible) {
|
||||
if (mCanConfigWifi && isProgressBarVisible) {
|
||||
// When the Wi-Fi scan result callback is received
|
||||
// Sub-Title: Searching for networks...
|
||||
return mContext.getText(SUBTITLE_TEXT_SEARCHING_FOR_NETWORKS);
|
||||
@@ -317,7 +320,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
return mContext.getText(SUBTITLE_TEXT_ALL_CARRIER_NETWORK_UNAVAILABLE);
|
||||
}
|
||||
|
||||
if (!isMobileDataEnabled()) {
|
||||
if (mCanConfigWifi && !isMobileDataEnabled()) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "Mobile data off");
|
||||
}
|
||||
@@ -331,7 +334,10 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
return mContext.getText(SUBTITLE_TEXT_ALL_CARRIER_NETWORK_UNAVAILABLE);
|
||||
}
|
||||
|
||||
return mContext.getText(SUBTITLE_TEXT_NON_CARRIER_NETWORK_UNAVAILABLE);
|
||||
if (mCanConfigWifi) {
|
||||
return mContext.getText(SUBTITLE_TEXT_NON_CARRIER_NETWORK_UNAVAILABLE);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Drawable getInternetWifiDrawable(@NonNull WifiEntry wifiEntry) {
|
||||
@@ -549,26 +555,6 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
return summary;
|
||||
}
|
||||
|
||||
String getInternetWifiTitle() {
|
||||
if (getInternetWifiEntry() == null) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "connected entry is null");
|
||||
}
|
||||
return "";
|
||||
}
|
||||
return getInternetWifiEntry().getTitle();
|
||||
}
|
||||
|
||||
String getInternetWifiSummary() {
|
||||
if (getInternetWifiEntry() == null) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "connected entry is null");
|
||||
}
|
||||
return "";
|
||||
}
|
||||
return getInternetWifiEntry().getSummary(false);
|
||||
}
|
||||
|
||||
void launchNetworkSetting() {
|
||||
mCallback.dismissDialog();
|
||||
mActivityStarter.postStartActivityDismissingKeyguard(getSettingsIntent(), 0);
|
||||
@@ -780,12 +766,14 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
}
|
||||
|
||||
void scanWifiAccessPoints() {
|
||||
mAccessPointController.scanForAccessPoints();
|
||||
if (mCanConfigWifi) {
|
||||
mAccessPointController.scanForAccessPoints();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAccessPointsChanged(List<WifiEntry> accessPoints) {
|
||||
if (accessPoints == null) {
|
||||
if (accessPoints == null || !mCanConfigWifi) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -869,8 +857,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
final String action = intent.getAction();
|
||||
if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)
|
||||
|| action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
|
||||
if (mCanConfigWifi && (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)
|
||||
|| action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION))) {
|
||||
mCallback.onWifiStateReceived(context, intent);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,17 +31,17 @@ private val DEBUG = Log.isLoggable(TAG, Log.DEBUG)
|
||||
*/
|
||||
@SysUISingleton
|
||||
class InternetDialogFactory @Inject constructor(
|
||||
@Main private val handler: Handler,
|
||||
private val internetDialogController: InternetDialogController,
|
||||
private val context: Context,
|
||||
private val uiEventLogger: UiEventLogger
|
||||
@Main private val handler: Handler,
|
||||
private val internetDialogController: InternetDialogController,
|
||||
private val context: Context,
|
||||
private val uiEventLogger: UiEventLogger
|
||||
) {
|
||||
companion object {
|
||||
var internetDialog: InternetDialog? = null
|
||||
}
|
||||
|
||||
/** Creates a [InternetDialog]. */
|
||||
fun create(aboveStatusBar: Boolean, canConfigMobileData: Boolean) {
|
||||
fun create(aboveStatusBar: Boolean, canConfigMobileData: Boolean, canConfigWifi: Boolean) {
|
||||
if (internetDialog != null) {
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "InternetDialog is showing, do not create it twice.")
|
||||
@@ -49,7 +49,7 @@ class InternetDialogFactory @Inject constructor(
|
||||
return
|
||||
} else {
|
||||
internetDialog = InternetDialog(context, this, internetDialogController,
|
||||
canConfigMobileData, aboveStatusBar, uiEventLogger, handler)
|
||||
canConfigMobileData, canConfigWifi, aboveStatusBar, uiEventLogger, handler)
|
||||
internetDialog?.show()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -793,8 +793,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
||||
mReceiverHandler.post(this::handleConfigurationChanged);
|
||||
break;
|
||||
case Settings.Panel.ACTION_INTERNET_CONNECTIVITY:
|
||||
boolean canConfigMobileData = mAccessPoints.canConfigMobileData();
|
||||
mMainHandler.post(() -> mInternetDialogFactory.create(true, canConfigMobileData));
|
||||
mMainHandler.post(() -> mInternetDialogFactory.create(true,
|
||||
mAccessPoints.canConfigMobileData(), mAccessPoints.canConfigWifi()));
|
||||
break;
|
||||
default:
|
||||
int subId = intent.getIntExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX,
|
||||
|
||||
@@ -10,6 +10,7 @@ import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.reset;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -100,6 +101,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
when(mKeyguardStateController.isUnlocked()).thenReturn(true);
|
||||
when(mConnectedEntry.isDefaultNetwork()).thenReturn(true);
|
||||
when(mConnectedEntry.hasInternetAccess()).thenReturn(true);
|
||||
when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{SUB_ID});
|
||||
|
||||
mInternetDialogController = new MockInternetDialogController(mContext,
|
||||
mock(UiEventLogger.class), mock(ActivityStarter.class), mAccessPointController,
|
||||
@@ -109,7 +111,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
mSubscriptionManager.addOnSubscriptionsChangedListener(mExecutor,
|
||||
mInternetDialogController.mOnSubscriptionsChangedListener);
|
||||
mInternetDialogController.onStart(
|
||||
mock(InternetDialogController.InternetDialogCallback.class));
|
||||
mock(InternetDialogController.InternetDialogCallback.class), true);
|
||||
mInternetDialogController.mActivityStarter = mActivityStarter;
|
||||
mInternetDialogController.mConnectedEntry = mConnectedEntry;
|
||||
mInternetDialogController.mWifiIconInjector = mWifiIconInjector;
|
||||
@@ -143,8 +145,14 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(false);
|
||||
|
||||
assertTrue(TextUtils.equals(mInternetDialogController.getSubtitleText(false),
|
||||
getResourcesString("wifi_is_off")));
|
||||
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||
.isEqualTo(getResourcesString("wifi_is_off"));
|
||||
|
||||
// if the Wi-Fi disallow config, then don't return Wi-Fi related string.
|
||||
mInternetDialogController.mCanConfigWifi = false;
|
||||
|
||||
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||
.isNotEqualTo(getResourcesString("wifi_is_off"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -155,8 +163,14 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
doReturn(0).when(wifiScanResults).size();
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
|
||||
assertTrue(TextUtils.equals(mInternetDialogController.getSubtitleText(true),
|
||||
getResourcesString("wifi_empty_list_wifi_on")));
|
||||
assertThat(mInternetDialogController.getSubtitleText(true))
|
||||
.isEqualTo(getResourcesString("wifi_empty_list_wifi_on"));
|
||||
|
||||
// if the Wi-Fi disallow config, then don't return Wi-Fi related string.
|
||||
mInternetDialogController.mCanConfigWifi = false;
|
||||
|
||||
assertThat(mInternetDialogController.getSubtitleText(true))
|
||||
.isNotEqualTo(getResourcesString("wifi_empty_list_wifi_on"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -167,8 +181,14 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
doReturn(1).when(wifiScanResults).size();
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
|
||||
assertTrue(TextUtils.equals(mInternetDialogController.getSubtitleText(false),
|
||||
getResourcesString("tap_a_network_to_connect")));
|
||||
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||
.isEqualTo(getResourcesString("tap_a_network_to_connect"));
|
||||
|
||||
// if the Wi-Fi disallow config, then don't return Wi-Fi related string.
|
||||
mInternetDialogController.mCanConfigWifi = false;
|
||||
|
||||
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||
.isNotEqualTo(getResourcesString("tap_a_network_to_connect"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -188,8 +208,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
List<ScanResult> wifiScanResults = new ArrayList<>();
|
||||
doReturn(wifiScanResults).when(mWifiManager).getScanResults();
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
when(mSubscriptionManager.getActiveSubscriptionIdList())
|
||||
.thenReturn(new int[] {SUB_ID});
|
||||
|
||||
doReturn(ServiceState.STATE_OUT_OF_SERVICE).when(mServiceState).getState();
|
||||
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
||||
@@ -206,16 +224,20 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
List<ScanResult> wifiScanResults = new ArrayList<>();
|
||||
doReturn(wifiScanResults).when(mWifiManager).getScanResults();
|
||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||
when(mSubscriptionManager.getActiveSubscriptionIdList())
|
||||
.thenReturn(new int[] {SUB_ID});
|
||||
|
||||
doReturn(ServiceState.STATE_IN_SERVICE).when(mServiceState).getState();
|
||||
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
||||
|
||||
when(mTelephonyManager.isDataEnabled()).thenReturn(false);
|
||||
|
||||
assertTrue(TextUtils.equals(mInternetDialogController.getSubtitleText(false),
|
||||
getResourcesString("non_carrier_network_unavailable")));
|
||||
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||
.isEqualTo(getResourcesString("non_carrier_network_unavailable"));
|
||||
|
||||
// if the Wi-Fi disallow config, then don't return Wi-Fi related string.
|
||||
mInternetDialogController.mCanConfigWifi = false;
|
||||
|
||||
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||
.isNotEqualTo(getResourcesString("non_carrier_network_unavailable"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -247,36 +269,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
assertThat(mInternetDialogController.getInternetWifiEntry()).isEqualTo(mConnectedEntry);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInternetWifiTitle_withNoConnectedWifiEntry_returnEmpty() {
|
||||
mInternetDialogController.mConnectedEntry = null;
|
||||
|
||||
assertThat(mInternetDialogController.getInternetWifiTitle()).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInternetWifiTitle_withInternetWifi_returnTitle() {
|
||||
// The preconditions have been set in setUp().
|
||||
// - The connected Wi-Fi entry have both default network and internet access conditions.
|
||||
when(mConnectedEntry.getTitle()).thenReturn(CONNECTED_TITLE);
|
||||
|
||||
assertThat(mInternetDialogController.getInternetWifiTitle()).isEqualTo(CONNECTED_TITLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInternetWifiSummary_withNoConnectedWifiEntry_returnEmpty() {
|
||||
mInternetDialogController.mConnectedEntry = null;
|
||||
|
||||
assertThat(mInternetDialogController.getInternetWifiSummary()).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInternetWifiSummary_withInternetWifi_returnSummary() {
|
||||
when(mConnectedEntry.getSummary(false)).thenReturn(CONNECTED_SUMMARY);
|
||||
|
||||
assertThat(mInternetDialogController.getInternetWifiSummary()).isEqualTo(CONNECTED_SUMMARY);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getWifiDetailsSettingsIntent_withNoConnectedEntry_returnNull() {
|
||||
mInternetDialogController.mConnectedEntry = null;
|
||||
@@ -342,6 +334,16 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
assertThat(mInternetDialogController.isDeviceLocked()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void scanWifiAccessPoints_cannotConfigWifi_doNothing() {
|
||||
reset(mAccessPointController);
|
||||
mInternetDialogController.mCanConfigWifi = false;
|
||||
|
||||
mInternetDialogController.scanWifiAccessPoints();
|
||||
|
||||
verify(mAccessPointController, never()).scanForAccessPoints();
|
||||
}
|
||||
|
||||
private String getResourcesString(String name) {
|
||||
return mContext.getResources().getString(getResourcesId(name));
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.testing.AndroidTestingRunner;
|
||||
import android.testing.TestableLooper;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.test.filters.SmallTest;
|
||||
@@ -69,6 +68,9 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
private InternetDialogController mInternetDialogController;
|
||||
|
||||
private InternetDialog mInternetDialog;
|
||||
private View mDialogView;
|
||||
private View mSubTitle;
|
||||
private LinearLayout mMobileDataToggle;
|
||||
private LinearLayout mWifiToggle;
|
||||
private LinearLayout mConnectedWifi;
|
||||
private RecyclerView mWifiList;
|
||||
@@ -94,15 +96,18 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
when(mInternetDialogController.getWifiEntryList()).thenReturn(Arrays.asList(mWifiEntry));
|
||||
|
||||
mInternetDialog = new InternetDialog(mContext, mock(InternetDialogFactory.class),
|
||||
mInternetDialogController, true, true, mock(UiEventLogger.class), mHandler);
|
||||
mInternetDialogController, true, true, true, mock(UiEventLogger.class), mHandler);
|
||||
mInternetDialog.mAdapter = mInternetAdapter;
|
||||
mInternetDialog.mConnectedWifiEntry = mInternetWifiEntry;
|
||||
mInternetDialog.show();
|
||||
|
||||
mWifiToggle = mInternetDialog.mDialogView.requireViewById(R.id.turn_on_wifi_layout);
|
||||
mConnectedWifi = mInternetDialog.mDialogView.requireViewById(R.id.wifi_connected_layout);
|
||||
mWifiList = mInternetDialog.mDialogView.requireViewById(R.id.wifi_list_layout);
|
||||
mSeeAll = mInternetDialog.mDialogView.requireViewById(R.id.see_all_layout);
|
||||
mDialogView = mInternetDialog.mDialogView;
|
||||
mSubTitle = mDialogView.requireViewById(R.id.internet_dialog_subtitle);
|
||||
mMobileDataToggle = mDialogView.requireViewById(R.id.mobile_network_layout);
|
||||
mWifiToggle = mDialogView.requireViewById(R.id.turn_on_wifi_layout);
|
||||
mConnectedWifi = mDialogView.requireViewById(R.id.wifi_connected_layout);
|
||||
mWifiList = mDialogView.requireViewById(R.id.wifi_list_layout);
|
||||
mSeeAll = mDialogView.requireViewById(R.id.see_all_layout);
|
||||
}
|
||||
|
||||
@After
|
||||
@@ -110,34 +115,42 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
mInternetDialog.dismissDialog();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void hideWifiViews_WifiViewsGone() {
|
||||
mInternetDialog.hideWifiViews();
|
||||
|
||||
assertThat(mInternetDialog.mIsProgressBarVisible).isFalse();
|
||||
assertThat(mWifiToggle.getVisibility()).isEqualTo(View.GONE);
|
||||
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
|
||||
assertThat(mWifiList.getVisibility()).isEqualTo(View.GONE);
|
||||
assertThat(mSeeAll.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateDialog_withApmOn_internetDialogSubTitleGone() {
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
||||
mInternetDialog.updateDialog();
|
||||
final TextView view = mInternetDialog.mDialogView.requireViewById(
|
||||
R.id.internet_dialog_subtitle);
|
||||
|
||||
assertThat(view.getVisibility()).isEqualTo(View.GONE);
|
||||
mInternetDialog.updateDialog();
|
||||
|
||||
assertThat(mSubTitle.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateDialog_withApmOff_internetDialogSubTitleVisible() {
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(false);
|
||||
mInternetDialog.updateDialog();
|
||||
final TextView view = mInternetDialog.mDialogView.requireViewById(
|
||||
R.id.internet_dialog_subtitle);
|
||||
|
||||
assertThat(view.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
mInternetDialog.updateDialog();
|
||||
|
||||
assertThat(mSubTitle.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateDialog_withApmOn_mobileDataLayoutGone() {
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
||||
mInternetDialog.updateDialog();
|
||||
final LinearLayout linearLayout = mInternetDialog.mDialogView.requireViewById(
|
||||
R.id.mobile_network_layout);
|
||||
|
||||
assertThat(linearLayout.getVisibility()).isEqualTo(View.GONE);
|
||||
mInternetDialog.updateDialog();
|
||||
|
||||
assertThat(mMobileDataToggle.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user