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

Commit 4e7abb98 authored by Brad Ebinger's avatar Brad Ebinger Committed by android-build-merger
Browse files

Merge "Emergency API review" am: 853983ef

am: c6d67390

Change-Id: I7d869f5e3ef5b98fb52a429687b4a0875baa835d
parents ed23e339 c6d67390
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -43032,14 +43032,14 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @WorkerThread public android.os.PersistableBundle getCarrierConfig();
    method public int getCarrierIdFromSimMccMnc();
    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.telephony.CellLocation getCellLocation();
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @Nullable public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getCurrentEmergencyNumberList();
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @Nullable public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getCurrentEmergencyNumberList(int);
    method public int getDataActivity();
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getDataNetworkType();
    method public int getDataState();
    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceId();
    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceId(int);
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion();
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @NonNull public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getEmergencyNumberList();
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @NonNull public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getEmergencyNumberList(int);
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String[] getForbiddenPlmns();
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getGroupIdLevel1();
    method public String getIccAuthentication(int, int, String);
@@ -43091,9 +43091,9 @@ package android.telephony {
    method public String iccTransmitApduBasicChannel(int, int, int, int, int, String);
    method public String iccTransmitApduLogicalChannel(int, int, int, int, int, int, String);
    method public boolean isConcurrentVoiceAndDataSupported();
    method public boolean isCurrentEmergencyNumber(@NonNull String);
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean isDataEnabled();
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataRoamingEnabled();
    method public boolean isEmergencyNumber(@NonNull String);
    method public boolean isHearingAidCompatibilitySupported();
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isMultisimSupported();
    method public boolean isNetworkRoaming();
@@ -43412,15 +43412,13 @@ package android.telephony.emergency {
  public final class EmergencyNumber implements java.lang.Comparable<android.telephony.emergency.EmergencyNumber> android.os.Parcelable {
    method public int compareTo(@NonNull android.telephony.emergency.EmergencyNumber);
    method public int describeContents();
    method public String getCountryIso();
    method @NonNull public String getCountryIso();
    method public int getEmergencyCallRouting();
    method public int getEmergencyNumberSourceBitmask();
    method public java.util.List<java.lang.Integer> getEmergencyNumberSources();
    method public java.util.List<java.lang.Integer> getEmergencyServiceCategories();
    method public int getEmergencyServiceCategoryBitmask();
    method @NonNull public java.util.List<java.lang.Integer> getEmergencyNumberSources();
    method @NonNull public java.util.List<java.lang.Integer> getEmergencyServiceCategories();
    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
    method public String getMnc();
    method public String getNumber();
    method @NonNull public String getMnc();
    method @NonNull public String getNumber();
    method public boolean isFromSources(int);
    method public boolean isInEmergencyServiceCategories(int);
    method public void writeToParcel(android.os.Parcel, int);
+3 −3
Original line number Diff line number Diff line
@@ -6401,10 +6401,10 @@ package android.telephony {
    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCurrentPotentialEmergencyNumber(@NonNull String);
    method public boolean isDataConnectivityPossible();
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isRebootRequiredForModemConfigChange();
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
@@ -6788,7 +6788,7 @@ package android.telephony.ims {
    method public static int getCallTypeFromVideoState(int);
    method public int getEmergencyCallRouting();
    method public int getEmergencyServiceCategories();
    method public java.util.List<java.lang.String> getEmergencyUrns();
    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
    method public int getRestrictCause();
    method public int getServiceType();
@@ -6806,7 +6806,7 @@ package android.telephony.ims {
    method public void setEmergencyCallRouting(int);
    method public void setEmergencyCallTesting(boolean);
    method public void setEmergencyServiceCategories(int);
    method public void setEmergencyUrns(java.util.List<java.lang.String>);
    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
    method public void setHasKnownUserIntentEmergency(boolean);
    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
    method public void updateCallType(android.telephony.ims.ImsCallProfile);
+1 −1
Original line number Diff line number Diff line
@@ -1806,7 +1806,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
        synchronized (mRecords) {
            TelephonyManager tm = (TelephonyManager) mContext.getSystemService(
                    Context.TELEPHONY_SERVICE);
            mEmergencyNumberList = tm.getCurrentEmergencyNumberList();
            mEmergencyNumberList = tm.getEmergencyNumberList();

            for (Record r : mRecords) {
                if (r.matchPhoneStateListenerEvent(
+14 −15
Original line number Diff line number Diff line
@@ -25,12 +25,11 @@ import android.annotation.IntDef;
import android.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.location.CountryDetector;
import android.net.Uri;
import android.os.SystemProperties;
import android.os.PersistableBundle;
import android.os.SystemProperties;
import android.provider.Contacts;
import android.provider.ContactsContract;
import android.telecom.PhoneAccount;
@@ -1738,7 +1737,7 @@ public class PhoneNumberUtils {
     * @return true if the number is in the list of emergency numbers
     *         listed in the RIL / SIM, otherwise return false.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)} instead.
     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)} instead.
     */
    @Deprecated
    public static boolean isEmergencyNumber(String number) {
@@ -1754,7 +1753,7 @@ public class PhoneNumberUtils {
     * @return true if the number is in the list of emergency numbers
     *         listed in the RIL / SIM, otherwise return false.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -1785,7 +1784,7 @@ public class PhoneNumberUtils {
     *         listed in the RIL / SIM, *or* if the number starts with the
     *         same digits as any of those emergency numbers.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -1814,7 +1813,7 @@ public class PhoneNumberUtils {
     *         listed in the RIL / SIM, *or* if the number starts with the
     *         same digits as any of those emergency numbers.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -1883,7 +1882,7 @@ public class PhoneNumberUtils {
     * @return if the number is an emergency number for the specific country, then return true,
     * otherwise false
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -1903,7 +1902,7 @@ public class PhoneNumberUtils {
     * @return if the number is an emergency number for the specific country, then return true,
     * otherwise false
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -1934,7 +1933,7 @@ public class PhoneNumberUtils {
     *         country, *or* if the number starts with the same digits as
     *         any of those emergency numbers.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -1964,7 +1963,7 @@ public class PhoneNumberUtils {
     *         country, *or* if the number starts with the same digits as
     *         any of those emergency numbers.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -2017,7 +2016,7 @@ public class PhoneNumberUtils {
    private static boolean isEmergencyNumberInternal(int subId, String number,
                                                     String defaultCountryIso,
                                                     boolean useExactMatch) {
        return TelephonyManager.getDefault().isCurrentEmergencyNumber(number);
        return TelephonyManager.getDefault().isEmergencyNumber(number);
    }

    /**
@@ -2028,7 +2027,7 @@ public class PhoneNumberUtils {
     * @return true if the specified number is an emergency number for the country the user
     * is currently in.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
     *             instead.
     */
    @Deprecated
@@ -2045,7 +2044,7 @@ public class PhoneNumberUtils {
     * @return true if the specified number is an emergency number for the country the user
     * is currently in.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -2079,7 +2078,7 @@ public class PhoneNumberUtils {
     *
     * @see android.location.CountryDetector
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
     *             instead.
     *
     * @hide
@@ -2110,7 +2109,7 @@ public class PhoneNumberUtils {
     * @return true if the specified number is an emergency number for a local country, based on the
     *              CountryDetector.
     *
     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
     *             instead.
     *
     * @hide
+43 −33
Original line number Diff line number Diff line
@@ -10162,18 +10162,21 @@ public class TelephonyManager {
     * a SecurityException if the caller does not have the permission.
     */
    @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
    @Nullable
    public Map<Integer, List<EmergencyNumber>> getCurrentEmergencyNumberList() {
    @NonNull
    public Map<Integer, List<EmergencyNumber>> getEmergencyNumberList() {
        Map<Integer, List<EmergencyNumber>> emergencyNumberList = new HashMap<>();
        try {
            ITelephony telephony = getITelephony();
            if (telephony == null) {
                return null;
            if (telephony != null) {
                return telephony.getEmergencyNumberList(mContext.getOpPackageName());
            } else {
                throw new IllegalStateException("telephony service is null.");
            }
            return telephony.getCurrentEmergencyNumberList(mContext.getOpPackageName());
        } catch (RemoteException ex) {
            Log.e(TAG, "getCurrentEmergencyNumberList RemoteException", ex);
            Log.e(TAG, "getEmergencyNumberList RemoteException", ex);
            ex.rethrowAsRuntimeException();
        }
        return null;
        return emergencyNumberList;
    }

    /**
@@ -10212,19 +10215,18 @@ public class TelephonyManager {
     * a SecurityException if the caller does not have the permission.
     */
    @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
    @Nullable
    public Map<Integer, List<EmergencyNumber>> getCurrentEmergencyNumberList(
    @NonNull
    public Map<Integer, List<EmergencyNumber>> getEmergencyNumberList(
            @EmergencyServiceCategories int categories) {
        Map<Integer, List<EmergencyNumber>> emergencyNumberList = new HashMap<>();
        try {
            ITelephony telephony = getITelephony();
            if (telephony == null) {
                return null;
            }
            Map<Integer, List<EmergencyNumber>> numberMap = telephony
                    .getCurrentEmergencyNumberList(mContext.getOpPackageName());
            if (numberMap != null) {
                for (Integer subscriptionId : numberMap.keySet()) {
                    List<EmergencyNumber> numberList = numberMap.get(subscriptionId);
            if (telephony != null) {
                emergencyNumberList = telephony.getEmergencyNumberList(
                        mContext.getOpPackageName());
                if (emergencyNumberList != null) {
                    for (Integer subscriptionId : emergencyNumberList.keySet()) {
                        List<EmergencyNumber> numberList = emergencyNumberList.get(subscriptionId);
                        for (EmergencyNumber number : numberList) {
                            if (!number.isInEmergencyServiceCategories(categories)) {
                                numberList.remove(number);
@@ -10232,11 +10234,15 @@ public class TelephonyManager {
                        }
                    }
                }
            return numberMap;
                return emergencyNumberList;
            } else {
                throw new IllegalStateException("telephony service is null.");
            }
        } catch (RemoteException ex) {
            Log.e(TAG, "getCurrentEmergencyNumberList with Categories RemoteException", ex);
            Log.e(TAG, "getEmergencyNumberList with Categories RemoteException", ex);
            ex.rethrowAsRuntimeException();
        }
        return null;
        return emergencyNumberList;
    }

    /**
@@ -10250,15 +10256,17 @@ public class TelephonyManager {
     * @return {@code true} if the given number is an emergency number based on current locale,
     * sim, modem and network; {@code false} otherwise.
     */
    public boolean isCurrentEmergencyNumber(@NonNull String number) {
    public boolean isEmergencyNumber(@NonNull String number) {
        try {
            ITelephony telephony = getITelephony();
            if (telephony == null) {
                return false;
            if (telephony != null) {
                return telephony.isEmergencyNumber(number, true);
            } else {
                throw new IllegalStateException("telephony service is null.");
            }
            return telephony.isCurrentEmergencyNumber(number, true);
        } catch (RemoteException ex) {
            Log.e(TAG, "isCurrentEmergencyNumber RemoteException", ex);
            Log.e(TAG, "isEmergencyNumber RemoteException", ex);
            ex.rethrowAsRuntimeException();
        }
        return false;
    }
@@ -10287,15 +10295,17 @@ public class TelephonyManager {
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public boolean isCurrentPotentialEmergencyNumber(@NonNull String number) {
    public boolean isPotentialEmergencyNumber(@NonNull String number) {
        try {
            ITelephony telephony = getITelephony();
            if (telephony == null) {
                return false;
            if (telephony != null) {
                return telephony.isEmergencyNumber(number, false);
            } else {
                throw new IllegalStateException("telephony service is null.");
            }
            return telephony.isCurrentEmergencyNumber(number, false);
        } catch (RemoteException ex) {
            Log.e(TAG, "isCurrentEmergencyNumber RemoteException", ex);
            Log.e(TAG, "isEmergencyNumber RemoteException", ex);
            ex.rethrowAsRuntimeException();
        }
        return false;
    }
Loading