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

Commit 9d72be33 authored by Wink Saville's avatar Wink Saville
Browse files

Add TelephonyManager.getCurrentPhoneType

The new method getCurrentPhoneType has the old behavior of getPhoneType
and does not check for voice capable. This allows code to assume
the old behavior.

bug: 3198435
Change-Id: I0542838ceca2f757cceb6cd7f795e95fe886523e
parent 3b8657de
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1781,7 +1781,7 @@ public class AccountManagerService
            // will return a different value, but we *don't* erase the
            // passwords.  We only erase them if it has a different
            // subscriber ID once it's provisioned.
            if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) {
            if (telephonyManager.getCurrentPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) {
                IBinder service = ServiceManager.checkService(Context.TELEPHONY_SERVICE);
                if (service == null) {
                    Log.w(TAG, "call to checkService(TELEPHONY_SERVICE) failed");
+4 −4
Original line number Diff line number Diff line
@@ -61,9 +61,9 @@ public abstract class CellLocation {
     * @hide
     */
    public static CellLocation newFromBundle(Bundle bundle) {
        // TelephonyManager.getDefault().getPhoneType() handles the case when
        // TelephonyManager.getDefault().getCurrentPhoneType() handles the case when
        // ITelephony interface is not up yet.
        switch(TelephonyManager.getDefault().getPhoneType()) {
        switch(TelephonyManager.getDefault().getCurrentPhoneType()) {
        case Phone.PHONE_TYPE_CDMA:
            return new CdmaCellLocation(bundle);
        case Phone.PHONE_TYPE_GSM:
@@ -89,9 +89,9 @@ public abstract class CellLocation {
     *
     */
    public static CellLocation getEmpty() {
        // TelephonyManager.getDefault().getPhoneType() handles the case when
        // TelephonyManager.getDefault().getCurrentPhoneType() handles the case when
        // ITelephony interface is not up yet.
        switch(TelephonyManager.getDefault().getPhoneType()) {
        switch(TelephonyManager.getDefault().getCurrentPhoneType()) {
        case Phone.PHONE_TYPE_CDMA:
            return new CdmaCellLocation();
        case Phone.PHONE_TYPE_GSM:
+20 −6
Original line number Diff line number Diff line
@@ -276,19 +276,18 @@ public class TelephonyManager {
    public static final int PHONE_TYPE_SIP = Phone.PHONE_TYPE_SIP;

    /**
     * Returns a constant indicating the device phone type.  This
     * indicates the type of radio used to transmit voice calls.
     * Returns the current phone type.
     * TODO: This is a last minute change and hence hidden.
     *
     * @see #PHONE_TYPE_NONE
     * @see #PHONE_TYPE_GSM
     * @see #PHONE_TYPE_CDMA
     * @see #PHONE_TYPE_SIP
     *
     * {@hide}
     */
    public int getPhoneType() {
    public int getCurrentPhoneType() {
        try{
            if (!isVoiceCapable()) {
                return PHONE_TYPE_NONE;
            }
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.getActivePhoneType();
@@ -307,6 +306,21 @@ public class TelephonyManager {
        }
    }

    /**
     * Returns a constant indicating the device phone type.  This
     * indicates the type of radio used to transmit voice calls.
     *
     * @see #PHONE_TYPE_NONE
     * @see #PHONE_TYPE_GSM
     * @see #PHONE_TYPE_CDMA
     * @see #PHONE_TYPE_SIP
     */
    public int getPhoneType() {
        if (!isVoiceCapable()) {
            return PHONE_TYPE_NONE;
        }
        return getCurrentPhoneType();
    }

    private int getPhoneTypeFromProperty() {
        int type =