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

Commit daa48002 authored by lifr's avatar lifr
Browse files

[TL01]Remove the usage of hidden connectivity API

The connection service will become the mainline module.
Remove the usage of hidden connectivity API in telephony.

Bug: 170598012
Test: atest FrameworksTelephonyTests
Change-Id: I051ac2dce8f1e0f91ddf59bc8d10367e90dbfece
Merged-In: I051ac2dce8f1e0f91ddf59bc8d10367e90dbfece
parent 5e2cf5f5
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.hardware.radio.V1_0.RadioResponseInfo;
import android.hardware.radio.V1_0.RadioResponseType;
import android.hardware.radio.config.V1_0.IRadioConfig;
import android.hardware.radio.config.V1_1.ModemsConfig;
import android.net.ConnectivityManager;
import android.os.AsyncResult;
import android.os.Handler;
import android.os.HwBinder;
@@ -38,6 +37,7 @@ import android.os.Message;
import android.os.Registrant;
import android.os.RemoteException;
import android.os.WorkSource;
import android.telephony.TelephonyManager;
import android.util.SparseArray;

import com.android.internal.telephony.uicc.IccSlotStatus;
@@ -91,10 +91,16 @@ public class RadioConfig extends Handler {
        }
    }

    private boolean isMobileDataCapable(Context context) {
        final TelephonyManager tm = context.getSystemService(TelephonyManager.class);
        if (tm == null) {
            return false;
        }
        return tm.isDataCapable();
    }

    private RadioConfig(Context context, HalVersion radioHalVersion) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(
                Context.CONNECTIVITY_SERVICE);
        mIsMobileNetworkSupported = cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE);
        mIsMobileNetworkSupported = isMobileDataCapable(context);

        mRadioConfigResponse = new RadioConfigResponse(this, radioHalVersion);
        mRadioConfigIndication = new RadioConfigIndication(this);
+16 −19
Original line number Diff line number Diff line
@@ -450,12 +450,10 @@ public class ApnContext {
        synchronized (mRefCountLock) {
            for (NetworkRequest nr : mNetworkRequests) {
                if (excludeDun &&
                        nr.networkCapabilities.hasCapability(
                        NetworkCapabilities.NET_CAPABILITY_DUN)) {
                        nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) {
                    continue;
                }
                if (!nr.networkCapabilities.hasCapability(
                        NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) {
                if (!nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) {
                    return true;
                }
            }
@@ -534,10 +532,9 @@ public class ApnContext {
    }

    static @ApnType int getApnTypeFromNetworkRequest(NetworkRequest nr) {
        NetworkCapabilities nc = nr.networkCapabilities;
        // For now, ignore the bandwidth stuff
        if (nc.getTransportTypes().length > 0 &&
                nc.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) == false) {
        if (nr.getTransportTypes().length > 0
                && !nr.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
            return ApnSetting.TYPE_NONE;
        }

@@ -546,50 +543,50 @@ public class ApnContext {
        int apnType = ApnSetting.TYPE_NONE;
        boolean error = false;

        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) {
            apnType = ApnSetting.TYPE_DEFAULT;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_MMS;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_SUPL;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_DUN;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_FOTA)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_FOTA)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_FOTA;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_IMS;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_CBS)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_CBS)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_CBS;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_IA)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_IA)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_IA;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_EMERGENCY;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_MCX)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_MCX)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_MCX;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_XCAP;
        }
        if (nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)) {
        if (nr.hasCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE)) {
            if (apnType != ApnSetting.TYPE_NONE) error = true;
            apnType = ApnSetting.TYPE_ENTERPRISE;
        }
+6 −19
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.internal.telephony.vendor;
import static android.telephony.SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
import static android.telephony.SubscriptionManager.INVALID_PHONE_INDEX;
import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
import static android.telephony.TelephonyManager.RADIO_POWER_UNAVAILABLE;

import android.content.BroadcastReceiver;
import android.content.Context;
@@ -30,35 +29,24 @@ import android.net.NetworkRequest;
import android.os.AsyncResult;
import android.os.Looper;
import android.os.Message;
import android.os.Registrant;
import android.os.SystemProperties;
import android.telephony.data.ApnSetting;
import android.telephony.Rlog;
import android.telephony.SubscriptionManager;

import android.text.TextUtils;
import android.telephony.data.ApnSetting;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.Call;
import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.dataconnection.DcRequest;
import com.android.internal.telephony.dataconnection.DataEnabledSettings;
import com.android.internal.telephony.GsmCdmaCall;
import com.android.internal.telephony.imsphone.ImsPhone;
import com.android.internal.telephony.imsphone.ImsPhoneCall;
import com.android.internal.telephony.ITelephonyRegistry;
import com.android.internal.telephony.IccCardConstants;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.PhoneSwitcher;
import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.dataconnection.DataEnabledSettings;
import com.android.internal.telephony.dataconnection.DcRequest;
import com.android.internal.telephony.imsphone.ImsPhone;
import com.android.internal.telephony.imsphone.ImsPhoneCall;

import java.lang.Integer;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.List;

@@ -382,8 +370,7 @@ public class VendorPhoneSwitcher extends PhoneSwitcher {
    /* Determine the phone id on which PS attach needs to be done
     */
    protected int phoneIdForRequest(NetworkRequest netRequest, int apnType) {
        int subId = getSubIdFromNetworkSpecifier(netRequest.networkCapabilities
                .getNetworkSpecifier());
        int subId = getSubIdFromNetworkSpecifier(netRequest.getNetworkSpecifier());

        if (subId == DEFAULT_SUBSCRIPTION_ID) return mPreferredDataPhoneId;
        if (subId == INVALID_SUBSCRIPTION_ID) return INVALID_PHONE_INDEX;