[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
Merged-In: I5c19e6a8e52d2c9207053ffb7539d931d1f04799
(cherry picked from commit 018c97979c)
This commit is contained in:
@@ -122,8 +122,9 @@ public class InternetTile extends QSTileImpl<SignalState> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void handleClick(@Nullable View view) {
|
protected void handleClick(@Nullable View view) {
|
||||||
boolean canConfigMobileData = mAccessPointController.canConfigMobileData();
|
mHandler.post(() -> mInternetDialogFactory.create(true,
|
||||||
mHandler.post(() -> mInternetDialogFactory.create(true, canConfigMobileData));
|
mAccessPointController.canConfigMobileData(),
|
||||||
|
mAccessPointController.canConfigWifi()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ import android.widget.Button;
|
|||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.Space;
|
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
@@ -93,6 +92,8 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
protected View mDialogView;
|
protected View mDialogView;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected WifiEntry mConnectedWifiEntry;
|
protected WifiEntry mConnectedWifiEntry;
|
||||||
|
@VisibleForTesting
|
||||||
|
protected boolean mCanConfigWifi;
|
||||||
|
|
||||||
private InternetDialogFactory mInternetDialogFactory;
|
private InternetDialogFactory mInternetDialogFactory;
|
||||||
private SubscriptionManager mSubscriptionManager;
|
private SubscriptionManager mSubscriptionManager;
|
||||||
@@ -152,7 +153,8 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
|
|
||||||
public InternetDialog(Context context, InternetDialogFactory internetDialogFactory,
|
public InternetDialog(Context context, InternetDialogFactory internetDialogFactory,
|
||||||
InternetDialogController internetDialogController, boolean canConfigMobileData,
|
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);
|
super(context, R.style.Theme_SystemUI_Dialog_Internet);
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.d(TAG, "Init InternetDialog");
|
Log.d(TAG, "Init InternetDialog");
|
||||||
@@ -166,6 +168,7 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
mTelephonyManager = mInternetDialogController.getTelephonyManager();
|
mTelephonyManager = mInternetDialogController.getTelephonyManager();
|
||||||
mWifiManager = mInternetDialogController.getWifiManager();
|
mWifiManager = mInternetDialogController.getWifiManager();
|
||||||
mCanConfigMobileData = canConfigMobileData;
|
mCanConfigMobileData = canConfigMobileData;
|
||||||
|
mCanConfigWifi = canConfigWifi;
|
||||||
|
|
||||||
mLayoutManager = new LinearLayoutManager(mContext) {
|
mLayoutManager = new LinearLayoutManager(mContext) {
|
||||||
@Override
|
@Override
|
||||||
@@ -249,7 +252,19 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.d(TAG, "onStart");
|
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
|
@Override
|
||||||
@@ -288,9 +303,13 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
} else {
|
} else {
|
||||||
mInternetDialogSubTitle.setText(getSubtitleText());
|
mInternetDialogSubTitle.setText(getSubtitleText());
|
||||||
}
|
}
|
||||||
showProgressBar();
|
|
||||||
setMobileDataLayout(mInternetDialogController.activeNetworkIsCellular());
|
setMobileDataLayout(mInternetDialogController.activeNetworkIsCellular());
|
||||||
|
|
||||||
|
if (!mCanConfigWifi) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
showProgressBar();
|
||||||
final boolean isDeviceLocked = mInternetDialogController.isDeviceLocked();
|
final boolean isDeviceLocked = mInternetDialogController.isDeviceLocked();
|
||||||
final boolean isWifiEnabled = mWifiManager.isWifiEnabled();
|
final boolean isWifiEnabled = mWifiManager.isWifiEnabled();
|
||||||
updateWifiToggle(isWifiEnabled, isDeviceLocked);
|
updateWifiToggle(isWifiEnabled, isDeviceLocked);
|
||||||
@@ -387,8 +406,8 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mConnectedWifListLayout.setVisibility(View.VISIBLE);
|
mConnectedWifListLayout.setVisibility(View.VISIBLE);
|
||||||
mConnectedWifiTitleText.setText(mInternetDialogController.getInternetWifiTitle());
|
mConnectedWifiTitleText.setText(mConnectedWifiEntry.getTitle());
|
||||||
mConnectedWifiSummaryText.setText(mInternetDialogController.getInternetWifiSummary());
|
mConnectedWifiSummaryText.setText(mConnectedWifiEntry.getSummary(false));
|
||||||
mConnectedWifiIcon.setImageDrawable(
|
mConnectedWifiIcon.setImageDrawable(
|
||||||
mInternetDialogController.getInternetWifiDrawable(mConnectedWifiEntry));
|
mInternetDialogController.getInternetWifiDrawable(mConnectedWifiEntry));
|
||||||
if (mInternetDialogController.isNightMode()) {
|
if (mInternetDialogController.isNightMode()) {
|
||||||
|
|||||||
@@ -139,6 +139,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
|||||||
protected InternetTelephonyCallback mInternetTelephonyCallback;
|
protected InternetTelephonyCallback mInternetTelephonyCallback;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected WifiUtils.InternetIconInjector mWifiIconInjector;
|
protected WifiUtils.InternetIconInjector mWifiIconInjector;
|
||||||
|
@VisibleForTesting
|
||||||
|
protected boolean mCanConfigWifi;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
KeyguardStateController mKeyguardStateController;
|
KeyguardStateController mKeyguardStateController;
|
||||||
@@ -193,7 +195,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
|||||||
mWifiIconInjector = new WifiUtils.InternetIconInjector(mContext);
|
mWifiIconInjector = new WifiUtils.InternetIconInjector(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
void onStart(@NonNull InternetDialogCallback callback) {
|
void onStart(@NonNull InternetDialogCallback callback, boolean canConfigWifi) {
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.d(TAG, "onStart");
|
Log.d(TAG, "onStart");
|
||||||
}
|
}
|
||||||
@@ -217,6 +219,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
|||||||
mConnectivityManager.registerNetworkCallback(new NetworkRequest.Builder()
|
mConnectivityManager.registerNetworkCallback(new NetworkRequest.Builder()
|
||||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
||||||
.build(), new DataConnectivityListener(), mHandler);
|
.build(), new DataConnectivityListener(), mHandler);
|
||||||
|
mCanConfigWifi = canConfigWifi;
|
||||||
scanWifiAccessPoints();
|
scanWifiAccessPoints();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,7 +273,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mWifiManager.isWifiEnabled()) {
|
if (mCanConfigWifi && !mWifiManager.isWifiEnabled()) {
|
||||||
// When the airplane mode is off and Wi-Fi is disabled.
|
// When the airplane mode is off and Wi-Fi is disabled.
|
||||||
// Sub-Title: Wi-Fi is off
|
// Sub-Title: Wi-Fi is off
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
@@ -290,10 +293,10 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
|||||||
|
|
||||||
final List<ScanResult> wifiList = mWifiManager.getScanResults();
|
final List<ScanResult> wifiList = mWifiManager.getScanResults();
|
||||||
if (wifiList != null && wifiList.size() != 0) {
|
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
|
// When the Wi-Fi scan result callback is received
|
||||||
// Sub-Title: Searching for networks...
|
// Sub-Title: Searching for networks...
|
||||||
return mContext.getText(SUBTITLE_TEXT_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);
|
return mContext.getText(SUBTITLE_TEXT_ALL_CARRIER_NETWORK_UNAVAILABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isMobileDataEnabled()) {
|
if (mCanConfigWifi && !isMobileDataEnabled()) {
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.d(TAG, "Mobile data off");
|
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_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) {
|
Drawable getInternetWifiDrawable(@NonNull WifiEntry wifiEntry) {
|
||||||
@@ -549,26 +555,6 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
|||||||
return summary;
|
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() {
|
void launchNetworkSetting() {
|
||||||
mCallback.dismissDialog();
|
mCallback.dismissDialog();
|
||||||
mActivityStarter.postStartActivityDismissingKeyguard(getSettingsIntent(), 0);
|
mActivityStarter.postStartActivityDismissingKeyguard(getSettingsIntent(), 0);
|
||||||
@@ -780,12 +766,14 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void scanWifiAccessPoints() {
|
void scanWifiAccessPoints() {
|
||||||
mAccessPointController.scanForAccessPoints();
|
if (mCanConfigWifi) {
|
||||||
|
mAccessPointController.scanForAccessPoints();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAccessPointsChanged(List<WifiEntry> accessPoints) {
|
public void onAccessPointsChanged(List<WifiEntry> accessPoints) {
|
||||||
if (accessPoints == null) {
|
if (accessPoints == null || !mCanConfigWifi) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -869,8 +857,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
|||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
final String action = intent.getAction();
|
final String action = intent.getAction();
|
||||||
if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)
|
if (mCanConfigWifi && (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)
|
||||||
|| action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
|
|| action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION))) {
|
||||||
mCallback.onWifiStateReceived(context, intent);
|
mCallback.onWifiStateReceived(context, intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,17 +31,17 @@ private val DEBUG = Log.isLoggable(TAG, Log.DEBUG)
|
|||||||
*/
|
*/
|
||||||
@SysUISingleton
|
@SysUISingleton
|
||||||
class InternetDialogFactory @Inject constructor(
|
class InternetDialogFactory @Inject constructor(
|
||||||
@Main private val handler: Handler,
|
@Main private val handler: Handler,
|
||||||
private val internetDialogController: InternetDialogController,
|
private val internetDialogController: InternetDialogController,
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val uiEventLogger: UiEventLogger
|
private val uiEventLogger: UiEventLogger
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
var internetDialog: InternetDialog? = null
|
var internetDialog: InternetDialog? = null
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Creates a [InternetDialog]. */
|
/** Creates a [InternetDialog]. */
|
||||||
fun create(aboveStatusBar: Boolean, canConfigMobileData: Boolean) {
|
fun create(aboveStatusBar: Boolean, canConfigMobileData: Boolean, canConfigWifi: Boolean) {
|
||||||
if (internetDialog != null) {
|
if (internetDialog != null) {
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.d(TAG, "InternetDialog is showing, do not create it twice.")
|
Log.d(TAG, "InternetDialog is showing, do not create it twice.")
|
||||||
@@ -49,7 +49,7 @@ class InternetDialogFactory @Inject constructor(
|
|||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
internetDialog = InternetDialog(context, this, internetDialogController,
|
internetDialog = InternetDialog(context, this, internetDialogController,
|
||||||
canConfigMobileData, aboveStatusBar, uiEventLogger, handler)
|
canConfigMobileData, canConfigWifi, aboveStatusBar, uiEventLogger, handler)
|
||||||
internetDialog?.show()
|
internetDialog?.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -801,8 +801,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
|||||||
mReceiverHandler.post(this::handleConfigurationChanged);
|
mReceiverHandler.post(this::handleConfigurationChanged);
|
||||||
break;
|
break;
|
||||||
case Settings.Panel.ACTION_INTERNET_CONNECTIVITY:
|
case Settings.Panel.ACTION_INTERNET_CONNECTIVITY:
|
||||||
boolean canConfigMobileData = mAccessPoints.canConfigMobileData();
|
mMainHandler.post(() -> mInternetDialogFactory.create(true,
|
||||||
mMainHandler.post(() -> mInternetDialogFactory.create(true, canConfigMobileData));
|
mAccessPoints.canConfigMobileData(), mAccessPoints.canConfigWifi()));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
int subId = intent.getIntExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX,
|
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.doReturn;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
|
import static org.mockito.Mockito.reset;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@@ -100,6 +101,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
when(mKeyguardStateController.isUnlocked()).thenReturn(true);
|
when(mKeyguardStateController.isUnlocked()).thenReturn(true);
|
||||||
when(mConnectedEntry.isDefaultNetwork()).thenReturn(true);
|
when(mConnectedEntry.isDefaultNetwork()).thenReturn(true);
|
||||||
when(mConnectedEntry.hasInternetAccess()).thenReturn(true);
|
when(mConnectedEntry.hasInternetAccess()).thenReturn(true);
|
||||||
|
when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{SUB_ID});
|
||||||
|
|
||||||
mInternetDialogController = new MockInternetDialogController(mContext,
|
mInternetDialogController = new MockInternetDialogController(mContext,
|
||||||
mock(UiEventLogger.class), mock(ActivityStarter.class), mAccessPointController,
|
mock(UiEventLogger.class), mock(ActivityStarter.class), mAccessPointController,
|
||||||
@@ -109,7 +111,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mSubscriptionManager.addOnSubscriptionsChangedListener(mExecutor,
|
mSubscriptionManager.addOnSubscriptionsChangedListener(mExecutor,
|
||||||
mInternetDialogController.mOnSubscriptionsChangedListener);
|
mInternetDialogController.mOnSubscriptionsChangedListener);
|
||||||
mInternetDialogController.onStart(
|
mInternetDialogController.onStart(
|
||||||
mock(InternetDialogController.InternetDialogCallback.class));
|
mock(InternetDialogController.InternetDialogCallback.class), true);
|
||||||
mInternetDialogController.mActivityStarter = mActivityStarter;
|
mInternetDialogController.mActivityStarter = mActivityStarter;
|
||||||
mInternetDialogController.mConnectedEntry = mConnectedEntry;
|
mInternetDialogController.mConnectedEntry = mConnectedEntry;
|
||||||
mInternetDialogController.mWifiIconInjector = mWifiIconInjector;
|
mInternetDialogController.mWifiIconInjector = mWifiIconInjector;
|
||||||
@@ -143,8 +145,14 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||||
when(mWifiManager.isWifiEnabled()).thenReturn(false);
|
when(mWifiManager.isWifiEnabled()).thenReturn(false);
|
||||||
|
|
||||||
assertTrue(TextUtils.equals(mInternetDialogController.getSubtitleText(false),
|
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||||
getResourcesString("wifi_is_off")));
|
.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
|
@Test
|
||||||
@@ -155,8 +163,14 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
doReturn(0).when(wifiScanResults).size();
|
doReturn(0).when(wifiScanResults).size();
|
||||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||||
|
|
||||||
assertTrue(TextUtils.equals(mInternetDialogController.getSubtitleText(true),
|
assertThat(mInternetDialogController.getSubtitleText(true))
|
||||||
getResourcesString("wifi_empty_list_wifi_on")));
|
.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
|
@Test
|
||||||
@@ -167,8 +181,14 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
doReturn(1).when(wifiScanResults).size();
|
doReturn(1).when(wifiScanResults).size();
|
||||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||||
|
|
||||||
assertTrue(TextUtils.equals(mInternetDialogController.getSubtitleText(false),
|
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||||
getResourcesString("tap_a_network_to_connect")));
|
.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
|
@Test
|
||||||
@@ -188,8 +208,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
List<ScanResult> wifiScanResults = new ArrayList<>();
|
List<ScanResult> wifiScanResults = new ArrayList<>();
|
||||||
doReturn(wifiScanResults).when(mWifiManager).getScanResults();
|
doReturn(wifiScanResults).when(mWifiManager).getScanResults();
|
||||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionIdList())
|
|
||||||
.thenReturn(new int[] {SUB_ID});
|
|
||||||
|
|
||||||
doReturn(ServiceState.STATE_OUT_OF_SERVICE).when(mServiceState).getState();
|
doReturn(ServiceState.STATE_OUT_OF_SERVICE).when(mServiceState).getState();
|
||||||
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
||||||
@@ -206,16 +224,20 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
List<ScanResult> wifiScanResults = new ArrayList<>();
|
List<ScanResult> wifiScanResults = new ArrayList<>();
|
||||||
doReturn(wifiScanResults).when(mWifiManager).getScanResults();
|
doReturn(wifiScanResults).when(mWifiManager).getScanResults();
|
||||||
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
when(mWifiManager.getScanResults()).thenReturn(wifiScanResults);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionIdList())
|
|
||||||
.thenReturn(new int[] {SUB_ID});
|
|
||||||
|
|
||||||
doReturn(ServiceState.STATE_IN_SERVICE).when(mServiceState).getState();
|
doReturn(ServiceState.STATE_IN_SERVICE).when(mServiceState).getState();
|
||||||
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
doReturn(mServiceState).when(mTelephonyManager).getServiceState();
|
||||||
|
|
||||||
when(mTelephonyManager.isDataEnabled()).thenReturn(false);
|
when(mTelephonyManager.isDataEnabled()).thenReturn(false);
|
||||||
|
|
||||||
assertTrue(TextUtils.equals(mInternetDialogController.getSubtitleText(false),
|
assertThat(mInternetDialogController.getSubtitleText(false))
|
||||||
getResourcesString("non_carrier_network_unavailable")));
|
.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
|
@Test
|
||||||
@@ -247,36 +269,6 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
assertThat(mInternetDialogController.getInternetWifiEntry()).isEqualTo(mConnectedEntry);
|
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
|
@Test
|
||||||
public void getWifiDetailsSettingsIntent_withNoConnectedEntry_returnNull() {
|
public void getWifiDetailsSettingsIntent_withNoConnectedEntry_returnNull() {
|
||||||
mInternetDialogController.mConnectedEntry = null;
|
mInternetDialogController.mConnectedEntry = null;
|
||||||
@@ -342,6 +334,16 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
assertThat(mInternetDialogController.isDeviceLocked()).isTrue();
|
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) {
|
private String getResourcesString(String name) {
|
||||||
return mContext.getResources().getString(getResourcesId(name));
|
return mContext.getResources().getString(getResourcesId(name));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import android.testing.AndroidTestingRunner;
|
|||||||
import android.testing.TestableLooper;
|
import android.testing.TestableLooper;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
@@ -69,6 +68,9 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
private InternetDialogController mInternetDialogController;
|
private InternetDialogController mInternetDialogController;
|
||||||
|
|
||||||
private InternetDialog mInternetDialog;
|
private InternetDialog mInternetDialog;
|
||||||
|
private View mDialogView;
|
||||||
|
private View mSubTitle;
|
||||||
|
private LinearLayout mMobileDataToggle;
|
||||||
private LinearLayout mWifiToggle;
|
private LinearLayout mWifiToggle;
|
||||||
private LinearLayout mConnectedWifi;
|
private LinearLayout mConnectedWifi;
|
||||||
private RecyclerView mWifiList;
|
private RecyclerView mWifiList;
|
||||||
@@ -94,15 +96,18 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
when(mInternetDialogController.getWifiEntryList()).thenReturn(Arrays.asList(mWifiEntry));
|
when(mInternetDialogController.getWifiEntryList()).thenReturn(Arrays.asList(mWifiEntry));
|
||||||
|
|
||||||
mInternetDialog = new InternetDialog(mContext, mock(InternetDialogFactory.class),
|
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.mAdapter = mInternetAdapter;
|
||||||
mInternetDialog.mConnectedWifiEntry = mInternetWifiEntry;
|
mInternetDialog.mConnectedWifiEntry = mInternetWifiEntry;
|
||||||
mInternetDialog.show();
|
mInternetDialog.show();
|
||||||
|
|
||||||
mWifiToggle = mInternetDialog.mDialogView.requireViewById(R.id.turn_on_wifi_layout);
|
mDialogView = mInternetDialog.mDialogView;
|
||||||
mConnectedWifi = mInternetDialog.mDialogView.requireViewById(R.id.wifi_connected_layout);
|
mSubTitle = mDialogView.requireViewById(R.id.internet_dialog_subtitle);
|
||||||
mWifiList = mInternetDialog.mDialogView.requireViewById(R.id.wifi_list_layout);
|
mMobileDataToggle = mDialogView.requireViewById(R.id.mobile_network_layout);
|
||||||
mSeeAll = mInternetDialog.mDialogView.requireViewById(R.id.see_all_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
|
@After
|
||||||
@@ -110,34 +115,42 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
mInternetDialog.dismissDialog();
|
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
|
@Test
|
||||||
public void updateDialog_withApmOn_internetDialogSubTitleGone() {
|
public void updateDialog_withApmOn_internetDialogSubTitleGone() {
|
||||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
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
|
@Test
|
||||||
public void updateDialog_withApmOff_internetDialogSubTitleVisible() {
|
public void updateDialog_withApmOff_internetDialogSubTitleVisible() {
|
||||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(false);
|
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
|
@Test
|
||||||
public void updateDialog_withApmOn_mobileDataLayoutGone() {
|
public void updateDialog_withApmOn_mobileDataLayoutGone() {
|
||||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
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
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user