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

Commit cc68f040 authored by Ta-wei Yen's avatar Ta-wei Yen
Browse files

Add getNetworkSpecifier() and getCarrierConfig()

cherry-pick of https://android-review.googlesource.com/#/c/318111/

This allows making network request and getting carrier config on a
specfic SIM.

Bug: 32414216
Test: cts-tradefed run cts-dev --module CtsTelephonyTestCases
Change-Id: Iebe2d883e193afdde13303d76014dfd7f4fb06dd
Merged-In: Iebe2d883e193afdde13303d76014dfd7f4fb06dd

# Conflicts:
#	telephony/java/android/telephony/TelephonyManager.java
parent 54b8e5de
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -38190,6 +38190,7 @@ package android.telephony {
    method public android.telephony.TelephonyManager createForSubscriptionId(int);
    method public java.util.List<android.telephony.CellInfo> getAllCellInfo();
    method public int getCallState();
    method public android.os.PersistableBundle getCarrierConfig();
    method public android.telephony.CellLocation getCellLocation();
    method public int getDataActivity();
    method public boolean getDataEnabled();
@@ -38207,6 +38208,7 @@ package android.telephony {
    method public java.lang.String getNetworkCountryIso();
    method public java.lang.String getNetworkOperator();
    method public java.lang.String getNetworkOperatorName();
    method public java.lang.String getNetworkSpecifier();
    method public int getNetworkType();
    method public int getPhoneCount();
    method public int getPhoneType();
+2 −0
Original line number Diff line number Diff line
@@ -41361,6 +41361,7 @@ package android.telephony {
    method public boolean endCall();
    method public java.util.List<android.telephony.CellInfo> getAllCellInfo();
    method public int getCallState();
    method public android.os.PersistableBundle getCarrierConfig();
    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
    method public java.lang.String getCdmaMdn();
@@ -41387,6 +41388,7 @@ package android.telephony {
    method public java.lang.String getNetworkCountryIso();
    method public java.lang.String getNetworkOperator();
    method public java.lang.String getNetworkOperatorName();
    method public java.lang.String getNetworkSpecifier();
    method public int getNetworkType();
    method public int getPhoneCount();
    method public int getPhoneType();
+2 −0
Original line number Diff line number Diff line
@@ -38308,6 +38308,7 @@ package android.telephony {
    method public android.telephony.TelephonyManager createForSubscriptionId(int);
    method public java.util.List<android.telephony.CellInfo> getAllCellInfo();
    method public int getCallState();
    method public android.os.PersistableBundle getCarrierConfig();
    method public android.telephony.CellLocation getCellLocation();
    method public int getDataActivity();
    method public boolean getDataEnabled();
@@ -38325,6 +38326,7 @@ package android.telephony {
    method public java.lang.String getNetworkCountryIso();
    method public java.lang.String getNetworkOperator();
    method public java.lang.String getNetworkOperatorName();
    method public java.lang.String getNetworkSpecifier();
    method public int getNetworkType();
    method public int getPhoneCount();
    method public int getPhoneType();
+29 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.os.Bundle;
import android.os.Handler;
import android.os.PersistableBundle;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.ServiceManager;
@@ -1443,6 +1444,34 @@ public class TelephonyManager {
        return getTelephonyProperty(phoneId, TelephonyProperties.PROPERTY_OPERATOR_NUMERIC, "");
     }


    /**
     * Returns the network specifier of the subscription ID pinned to the TelephonyManager.
     *
     * @see android.net.NetworkRequest.Builder#setNetworkSpecifier(String)
     * @see #createForSubscriptionId(int)
     * @see #createForPhoneAccountHandle(PhoneAccountHandle)
     */
    public String getNetworkSpecifier() {
        return String.valueOf(mSubId);
    }

    /**
     * Returns the carrier config of the subscription ID pinned to the TelephonyManager.
     *
     * <p>Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE
     * READ_PHONE_STATE}
     *
     * @see CarrierConfigManager#getConfigForSubId(int)
     * @see #createForSubscriptionId(int)
     * @see #createForPhoneAccountHandle(PhoneAccountHandle)
     */
    public PersistableBundle getCarrierConfig() {
        CarrierConfigManager carrierConfigManager = mContext
                .getSystemService(CarrierConfigManager.class);
        return carrierConfigManager.getConfigForSubId(mSubId);
    }

    /**
     * Returns true if the device is considered roaming on the current
     * network, for GSM purposes.