Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d507dc19 authored by Chiachang Wang's avatar Chiachang Wang
Browse files

Replace hidden CM#isNetworkSupported() usage

It's a refactor work for connectivity mainline module. The
hidden methods access is no longer allowed, so the usage for
isNetworkSupported() should be replaced. Settings use it to
check if device support telephony, wifi or ethernet service.
There are alternative methods to check if device supports such
features. Replace as it is.

Bug: 172183305
Test: m ; make RunSettingsRoboTests
Change-Id: I8f1d11558b1be575a0777ed195abe027e838cb74
Merged-In: I8f1d11558b1be575a0777ed195abe027e838cb74
parent d248042a
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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;
+13 −15
Original line number Diff line number Diff line
@@ -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);
    }

    /**
+1 −5
Original line number Diff line number Diff line
@@ -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;
        }
+5 −6
Original line number Diff line number Diff line
@@ -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);

+7 −7
Original line number Diff line number Diff line
@@ -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);
    }

Loading