Merge "Replace hidden CM#isNetworkSupported() usage" am: 959325e88a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1639940 Change-Id: I7aa0702f04c1f876851661ea54ba289b5eb9234d
This commit is contained in:
@@ -14,13 +14,15 @@
|
||||
|
||||
package com.android.settings;
|
||||
|
||||
import static android.content.pm.PackageManager.FEATURE_ETHERNET;
|
||||
import static android.content.pm.PackageManager.FEATURE_WIFI;
|
||||
|
||||
import android.app.Service;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkTemplate;
|
||||
import android.net.Uri;
|
||||
import android.os.IBinder;
|
||||
@@ -101,10 +103,10 @@ public class SettingsDumpService extends Service {
|
||||
private JSONObject dumpDataUsage() throws JSONException {
|
||||
JSONObject obj = new JSONObject();
|
||||
DataUsageController controller = new DataUsageController(this);
|
||||
ConnectivityManager connectivityManager = getSystemService(ConnectivityManager.class);
|
||||
SubscriptionManager manager = this.getSystemService(SubscriptionManager.class);
|
||||
TelephonyManager telephonyManager = this.getSystemService(TelephonyManager.class);
|
||||
if (connectivityManager.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)) {
|
||||
final PackageManager packageManager = this.getPackageManager();
|
||||
if (telephonyManager.isDataCapable()) {
|
||||
JSONArray array = new JSONArray();
|
||||
for (SubscriptionInfo info : manager.getAvailableSubscriptionInfoList()) {
|
||||
telephonyManager = telephonyManager
|
||||
@@ -117,10 +119,11 @@ public class SettingsDumpService extends Service {
|
||||
}
|
||||
obj.put("cell", array);
|
||||
}
|
||||
if (connectivityManager.isNetworkSupported(ConnectivityManager.TYPE_WIFI)) {
|
||||
if (packageManager.hasSystemFeature(FEATURE_WIFI)) {
|
||||
obj.put("wifi", dumpDataUsage(NetworkTemplate.buildTemplateWifiWildcard(), controller));
|
||||
}
|
||||
if (connectivityManager.isNetworkSupported(ConnectivityManager.TYPE_ETHERNET)) {
|
||||
|
||||
if (packageManager.hasSystemFeature(FEATURE_ETHERNET)) {
|
||||
obj.put("ethernet", dumpDataUsage(NetworkTemplate.buildTemplateEthernet(), controller));
|
||||
}
|
||||
return obj;
|
||||
|
@@ -14,13 +14,14 @@
|
||||
|
||||
package com.android.settings.datausage;
|
||||
|
||||
import static android.net.ConnectivityManager.TYPE_MOBILE;
|
||||
import static android.net.ConnectivityManager.TYPE_WIFI;
|
||||
import static android.content.pm.PackageManager.FEATURE_ETHERNET;
|
||||
import static android.content.pm.PackageManager.FEATURE_WIFI;
|
||||
import static android.telephony.TelephonyManager.SIM_STATE_READY;
|
||||
|
||||
import android.app.usage.NetworkStats.Bucket;
|
||||
import android.app.usage.NetworkStatsManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkTemplate;
|
||||
import android.os.RemoteException;
|
||||
@@ -69,8 +70,7 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU
|
||||
return SystemProperties.get(DataUsageUtils.TEST_RADIOS_PROP).contains(ETHERNET);
|
||||
}
|
||||
|
||||
final ConnectivityManager conn = context.getSystemService(ConnectivityManager.class);
|
||||
if (!conn.isNetworkSupported(ConnectivityManager.TYPE_ETHERNET)) {
|
||||
if (!context.getPackageManager().hasSystemFeature(FEATURE_ETHERNET)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -96,10 +96,8 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU
|
||||
* TODO: This is the opposite to Utils.isWifiOnly(), it should be refactored into 1 method.
|
||||
*/
|
||||
public static boolean hasMobileData(Context context) {
|
||||
final ConnectivityManager connectivityManager =
|
||||
context.getSystemService(ConnectivityManager.class);
|
||||
return connectivityManager != null && connectivityManager
|
||||
.isNetworkSupported(ConnectivityManager.TYPE_MOBILE);
|
||||
final TelephonyManager tele = context.getSystemService(TelephonyManager.class);
|
||||
return tele.isDataCapable();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -128,12 +126,13 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU
|
||||
Log.d(TAG, "hasReadyMobileRadio: subInfo=" + subInfo);
|
||||
}
|
||||
}
|
||||
final ConnectivityManager conn = context.getSystemService(ConnectivityManager.class);
|
||||
final boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
|
||||
|
||||
final boolean isDataCapable = tele.isDataCapable();
|
||||
final boolean retVal = isDataCapable && isReady;
|
||||
if (LOGD) {
|
||||
Log.d(TAG, "hasReadyMobileRadio:"
|
||||
+ " conn.isNetworkSupported(TYPE_MOBILE)="
|
||||
+ conn.isNetworkSupported(TYPE_MOBILE)
|
||||
+ " telephonManager.isDataCapable()="
|
||||
+ isDataCapable
|
||||
+ " isReady=" + isReady);
|
||||
}
|
||||
return retVal;
|
||||
@@ -147,9 +146,8 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU
|
||||
return SystemProperties.get(TEST_RADIOS_PROP).contains("wifi");
|
||||
}
|
||||
|
||||
final ConnectivityManager connectivityManager =
|
||||
context.getSystemService(ConnectivityManager.class);
|
||||
return connectivityManager != null && connectivityManager.isNetworkSupported(TYPE_WIFI);
|
||||
final PackageManager packageManager = context.getPackageManager();
|
||||
return packageManager != null && packageManager.hasSystemFeature(FEATURE_WIFI);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -19,7 +19,6 @@ package com.android.settings.homepage.contextualcards.conditional;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.telephony.PhoneStateListener;
|
||||
import android.telephony.PreciseDataConnectionState;
|
||||
import android.telephony.SubscriptionManager;
|
||||
@@ -39,7 +38,6 @@ public class CellularDataConditionController implements ConditionalCardControlle
|
||||
private final Context mAppContext;
|
||||
private final ConditionManager mConditionManager;
|
||||
private final GlobalSettingsChangeListener mDefaultDataSubscriptionIdListener;
|
||||
private final ConnectivityManager mConnectivityManager;
|
||||
|
||||
private int mSubId;
|
||||
private TelephonyManager mTelephonyManager;
|
||||
@@ -63,8 +61,6 @@ public class CellularDataConditionController implements ConditionalCardControlle
|
||||
}
|
||||
}
|
||||
};
|
||||
mConnectivityManager = appContext.getSystemService(
|
||||
ConnectivityManager.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -74,7 +70,7 @@ public class CellularDataConditionController implements ConditionalCardControlle
|
||||
|
||||
@Override
|
||||
public boolean isDisplayable() {
|
||||
if (!mConnectivityManager.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)
|
||||
if (!mTelephonyManager.isDataCapable()
|
||||
|| mTelephonyManager.getSimState() != TelephonyManager.SIM_STATE_READY) {
|
||||
return false;
|
||||
}
|
||||
|
@@ -36,8 +36,8 @@ import static org.mockito.Mockito.when;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Resources;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkPolicyManager;
|
||||
import android.os.Bundle;
|
||||
|
||||
@@ -72,9 +72,9 @@ public class BillingCycleSettingsTest {
|
||||
@Mock
|
||||
private NetworkPolicyEditor mNetworkPolicyEditor;
|
||||
@Mock
|
||||
private ConnectivityManager mConnectivityManager;
|
||||
@Mock
|
||||
private NetworkPolicyManager mNetworkPolicyManager;
|
||||
@Mock
|
||||
private PackageManager mMockPackageManager;
|
||||
|
||||
private Context mContext;
|
||||
@Mock
|
||||
@@ -157,9 +157,8 @@ public class BillingCycleSettingsTest {
|
||||
.onCreatePreferences(any(Bundle.class), nullable(String.class));
|
||||
when(mContext.getSystemService(Context.NETWORK_POLICY_SERVICE))
|
||||
.thenReturn(mNetworkPolicyManager);
|
||||
when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
|
||||
.thenReturn(mConnectivityManager);
|
||||
when(mConnectivityManager.isNetworkSupported(anyInt())).thenReturn(true);
|
||||
when(mContext.getPackageManager()).thenReturn(mMockPackageManager);
|
||||
when(mMockPackageManager.hasSystemFeature(any())).thenReturn(true);
|
||||
final SwitchPreference preference = mock(SwitchPreference.class);
|
||||
when(billingCycleSettings.findPreference(anyString())).thenReturn(preference);
|
||||
|
||||
|
@@ -16,13 +16,14 @@
|
||||
|
||||
package com.android.settings.datausage;
|
||||
|
||||
import static android.net.ConnectivityManager.TYPE_WIFI;
|
||||
import static android.content.pm.PackageManager.FEATURE_WIFI;
|
||||
|
||||
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -31,7 +32,7 @@ import static org.mockito.Mockito.when;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.NetworkTemplate;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
@@ -104,7 +105,7 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
@Mock
|
||||
private TelephonyManager mTelephonyManager;
|
||||
@Mock
|
||||
private ConnectivityManager mConnectivityManager;
|
||||
private PackageManager mPm;
|
||||
|
||||
private DataUsageInfoController mDataInfoController;
|
||||
|
||||
@@ -138,10 +139,9 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
doReturn(mTelephonyManager).when(mActivity).getSystemService(TelephonyManager.class);
|
||||
doReturn(mTelephonyManager).when(mTelephonyManager)
|
||||
.createForSubscriptionId(mDefaultSubscriptionId);
|
||||
when(mActivity.getSystemService(Context.CONNECTIVITY_SERVICE))
|
||||
.thenReturn(mConnectivityManager);
|
||||
doReturn(mPm).when(mActivity).getPackageManager();
|
||||
doReturn(false).when(mPm).hasSystemFeature(eq(FEATURE_WIFI));
|
||||
doReturn(TelephonyManager.SIM_STATE_READY).when(mTelephonyManager).getSimState();
|
||||
when(mConnectivityManager.isNetworkSupported(TYPE_WIFI)).thenReturn(false);
|
||||
|
||||
mController = spy(new DataUsageSummaryPreferenceController(
|
||||
mDataUsageController,
|
||||
@@ -363,7 +363,7 @@ public class DataUsageSummaryPreferenceControllerTest {
|
||||
final int subscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||
mController.init(subscriptionId);
|
||||
mController.mDataUsageController = mDataUsageController;
|
||||
when(mConnectivityManager.isNetworkSupported(TYPE_WIFI)).thenReturn(true);
|
||||
doReturn(true).when(mPm).hasSystemFeature(eq(FEATURE_WIFI));
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||
}
|
||||
|
||||
|
@@ -18,14 +18,15 @@ package com.android.settings.datausage;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.app.usage.NetworkStatsManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.util.DataUnit;
|
||||
@@ -38,12 +39,11 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.shadows.ShadowApplication;
|
||||
import org.robolectric.shadows.ShadowPackageManager;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public final class DataUsageUtilsTest {
|
||||
|
||||
@Mock
|
||||
private ConnectivityManager mManager;
|
||||
@Mock
|
||||
private TelephonyManager mTelephonyManager;
|
||||
@Mock
|
||||
@@ -56,21 +56,20 @@ public final class DataUsageUtilsTest {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
final ShadowApplication shadowContext = ShadowApplication.getInstance();
|
||||
mContext = RuntimeEnvironment.application;
|
||||
shadowContext.setSystemService(Context.CONNECTIVITY_SERVICE, mManager);
|
||||
shadowContext.setSystemService(Context.TELEPHONY_SERVICE, mTelephonyManager);
|
||||
shadowContext.setSystemService(Context.NETWORK_STATS_SERVICE, mNetworkStatsManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void mobileDataStatus_whenNetworkIsSupported() {
|
||||
when(mManager.isNetworkSupported(anyInt())).thenReturn(true);
|
||||
when(mTelephonyManager.isDataCapable()).thenReturn(true);
|
||||
final boolean hasMobileData = DataUsageUtils.hasMobileData(mContext);
|
||||
assertThat(hasMobileData).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void mobileDataStatus_whenNetworkIsNotSupported() {
|
||||
when(mManager.isNetworkSupported(anyInt())).thenReturn(false);
|
||||
when(mTelephonyManager.isDataCapable()).thenReturn(false);
|
||||
final boolean hasMobileData = DataUsageUtils.hasMobileData(mContext);
|
||||
assertThat(hasMobileData).isFalse();
|
||||
}
|
||||
@@ -85,7 +84,8 @@ public final class DataUsageUtilsTest {
|
||||
|
||||
@Test
|
||||
public void hasEthernet_shouldQueryEthernetSummaryForUser() throws Exception {
|
||||
when(mManager.isNetworkSupported(anyInt())).thenReturn(true);
|
||||
ShadowPackageManager pm = shadowOf(RuntimeEnvironment.application.getPackageManager());
|
||||
pm.setSystemFeature(PackageManager.FEATURE_ETHERNET, true);
|
||||
final String subscriber = "TestSub";
|
||||
when(mTelephonyManager.getSubscriberId()).thenReturn(subscriber);
|
||||
|
||||
|
@@ -28,7 +28,6 @@ import static org.mockito.Mockito.when;
|
||||
import static org.robolectric.shadow.api.Shadow.extract;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
import android.provider.Settings.Global;
|
||||
@@ -88,9 +87,7 @@ public class MobileNetworkPreferenceControllerTest {
|
||||
public void secondaryUser_prefIsNotAvailable() {
|
||||
ShadowUserManager userManager = extract(mContext.getSystemService(UserManager.class));
|
||||
userManager.setIsAdminUser(false);
|
||||
ShadowConnectivityManager connectivityManager =
|
||||
extract(mContext.getSystemService(ConnectivityManager.class));
|
||||
connectivityManager.setNetworkSupported(ConnectivityManager.TYPE_MOBILE, true);
|
||||
when(mTelephonyManager.isDataCapable()).thenReturn(true);
|
||||
|
||||
mController = new MobileNetworkPreferenceController(mContext);
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
@@ -100,10 +97,7 @@ public class MobileNetworkPreferenceControllerTest {
|
||||
public void wifiOnly_prefIsNotAvailable() {
|
||||
ShadowUserManager userManager = extract(mContext.getSystemService(UserManager.class));
|
||||
userManager.setIsAdminUser(true);
|
||||
ShadowConnectivityManager connectivityManager =
|
||||
extract(mContext.getSystemService(ConnectivityManager.class));
|
||||
connectivityManager.setNetworkSupported(ConnectivityManager.TYPE_MOBILE, false);
|
||||
|
||||
when(mTelephonyManager.isDataCapable()).thenReturn(false);
|
||||
mController = new MobileNetworkPreferenceController(mContext);
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
|
@@ -31,7 +31,6 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
@@ -107,9 +106,7 @@ public class MobileNetworkSummaryControllerTest {
|
||||
|
||||
@Test
|
||||
public void isAvailable_wifiOnlyMode_notAvailable() {
|
||||
final ConnectivityManager cm = mock(ConnectivityManager.class);
|
||||
when(cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)).thenReturn(false);
|
||||
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(cm);
|
||||
when(mTelephonyManager.isDataCapable()).thenReturn(false);
|
||||
when(mUserManager.isAdminUser()).thenReturn(true);
|
||||
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
@@ -117,11 +114,8 @@ public class MobileNetworkSummaryControllerTest {
|
||||
|
||||
@Test
|
||||
public void isAvailable_secondaryUser_notAvailable() {
|
||||
final ConnectivityManager cm = mock(ConnectivityManager.class);
|
||||
when(cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)).thenReturn(true);
|
||||
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(cm);
|
||||
when(mTelephonyManager.isDataCapable()).thenReturn(true);
|
||||
when(mUserManager.isAdminUser()).thenReturn(false);
|
||||
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user