diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java index d0a4b62b8a1b0..cc9e7485dcffa 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java @@ -122,8 +122,9 @@ public class InternetTile extends QSTileImpl { @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 diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java index 8a3f983ad3f90..7d3734e85dbef 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java @@ -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; @@ -152,7 +153,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"); @@ -166,6 +168,7 @@ public class InternetDialog extends SystemUIDialog implements mTelephonyManager = mInternetDialogController.getTelephonyManager(); mWifiManager = mInternetDialogController.getWifiManager(); mCanConfigMobileData = canConfigMobileData; + mCanConfigWifi = canConfigWifi; mLayoutManager = new LinearLayoutManager(mContext) { @Override @@ -249,7 +252,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 @@ -288,9 +303,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); @@ -387,8 +406,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()) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java index ed32730c58b1b..8838e6bda6fde 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java @@ -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 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 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); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt index e82e89ef14c44..11c6980678b1c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt @@ -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() } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index c3f8853aaf140..9327391bea8ad 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -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, diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java index 830fe5af69b8c..a57d439672e93 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java @@ -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 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 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)); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java index 5a018f409a0be..87e81e40a043d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java @@ -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