Loading src/java/com/android/internal/telephony/CommandsInterface.java +4 −3 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.telephony.ImsiEncryptionInfo; import android.telephony.NetworkScanRequest; import android.telephony.TelephonyManager; import android.telephony.data.DataProfile; import android.telephony.emergency.EmergencyNumber; import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.dataconnection.TransportManager; Loading Loading @@ -825,7 +826,7 @@ public interface CommandsInterface { * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation) * CLIR_INVOCATION == on "CLIR invocation" (restrict CLI presentation) */ void dial(String address, boolean isEmergencyCall, int emergencyServiceCategories, void dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, int clirMode, Message result); /** Loading @@ -839,7 +840,7 @@ public interface CommandsInterface { * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation) * CLIR_INVOCATION == on "CLIR invocation" (restrict CLI presentation) */ void dial(String address, boolean isEmergencyCall, int emergencyServiceCategories, void dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, int clirMode, UUSInfo uusInfo, Message result); /** Loading src/java/com/android/internal/telephony/Connection.java +28 −70 Original line number Diff line number Diff line Loading @@ -24,9 +24,10 @@ import android.telephony.DisconnectCause; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.emergency.EmergencyNumber; import android.telephony.emergency.EmergencyNumber.EmergencyServiceCategories; import android.util.Log; import com.android.internal.telephony.emergency.EmergencyNumberTracker; import java.util.ArrayList; import java.util.List; import java.util.Set; Loading Loading @@ -231,25 +232,10 @@ public abstract class Connection { private boolean mIsEmergencyCall; /** * The emergency service categories, only valid if {@link #isEmergencyCall()} returns * {@code true} * * If valid, the value is the bitwise-OR combination of the following constants: * <ol> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li> * </ol> * * Reference: 3gpp 23.167, Section 6 - Functional description; * 3gpp 22.101, Section 10 - Emergency Calls. * The emergency number information, only valid if {@link #isEmergencyCall} returns * {@code true}. */ private int mEmergencyServiceCategories; private EmergencyNumber mEmergencyNumberInfo; /** * When {@code true}, the network has indicated that this is an emergency call. Loading Loading @@ -468,63 +454,35 @@ public abstract class Connection { } /** * Sets whether this call is an emergency call or not. * Get the emergency number info. The value is valid only if {@link #isEmergencyCall()} * returns {@code true}. * * @param isEmergencyCall {@code true} if the call is an emergency call, * or {@code false} otherwise. * @return the emergency number info */ public void setEmergencyCall(boolean isEmergencyCall) { mIsEmergencyCall = isEmergencyCall; public EmergencyNumber getEmergencyNumberInfo() { return mEmergencyNumberInfo; } /** * Set the emergency service categories. The set value is valid only if * {@link #getEmergencyServiceCategories()} returns {@code true} * * @return the emergency service categories, * Set the emergency numbe information if it is an emergency call. * * If valid, the value is the bitwise-OR combination of the following constants: * <ol> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li> * </ol> * * Reference: 3gpp 23.167, Section 6 - Functional description; * 3gpp 22.101, Section 10 - Emergency Calls. * @hide */ public @EmergencyServiceCategories int getEmergencyServiceCategories() { return mEmergencyServiceCategories; public void setEmergencyCallInfo() { Call call = getCall(); if (call != null) { Phone phone = call.getPhone(); if (phone != null) { EmergencyNumberTracker tracker = phone.getEmergencyNumberTracker(); if (tracker != null) { EmergencyNumber num = tracker.getEmergencyNumber(mAddress); if (num != null) { mIsEmergencyCall = true; mEmergencyNumberInfo = num; } } } } /** * Set the emergency service categories. The set value is valid only if * {@link #getEmergencyServiceCategories()} returns {@code true} * * If valid, the value is the bitwise-OR combination of the following constants: * <ol> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li> * </ol> * * Reference: 3gpp 23.167, Section 6 - Functional description; * 3gpp 22.101, Section 10 - Emergency Calls. */ public void setEmergencyServiceCategories( @EmergencyServiceCategories int emergencyServiceCategories) { mEmergencyServiceCategories = emergencyServiceCategories; } /** Loading src/java/com/android/internal/telephony/GsmCdmaCallTracker.java +4 −4 Original line number Diff line number Diff line Loading @@ -331,7 +331,7 @@ public class GsmCdmaCallTracker extends CallTracker { setMute(false); mCi.dial(mPendingMO.getAddress(), mPendingMO.isEmergencyCall(), mPendingMO.getEmergencyServiceCategories(), clirMode, uusInfo, mPendingMO.getEmergencyNumberInfo(), clirMode, uusInfo, obtainCompleteMessage()); } Loading Loading @@ -448,7 +448,7 @@ public class GsmCdmaCallTracker extends CallTracker { // In Ecm mode, if another emergency call is dialed, Ecm mode will not exit. if(!isPhoneInEcmMode || (isPhoneInEcmMode && isEmergencyCall)) { mCi.dial(mPendingMO.getAddress(), mPendingMO.isEmergencyCall(), mPendingMO.getEmergencyServiceCategories(), clirMode, mPendingMO.getEmergencyNumberInfo(), clirMode, obtainCompleteMessage()); } else { mPhone.exitEmergencyCallbackMode(); Loading Loading @@ -1534,8 +1534,8 @@ public class GsmCdmaCallTracker extends CallTracker { // no matter the result, we still do the same here if (mPendingCallInEcm) { mCi.dial(mPendingMO.getAddress(), mPendingMO.isEmergencyCall(), mPendingMO.getEmergencyServiceCategories(), mPendingCallClirMode, obtainCompleteMessage()); mPendingMO.getEmergencyNumberInfo(), mPendingCallClirMode, obtainCompleteMessage()); mPendingCallInEcm = false; } mPhone.unsetOnEcbModeExitResponse(this); Loading src/java/com/android/internal/telephony/GsmCdmaConnection.java +4 −36 Original line number Diff line number Diff line Loading @@ -29,9 +29,6 @@ import android.telephony.DisconnectCause; import android.telephony.PhoneNumberUtils; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.telephony.emergency.EmergencyNumber; import android.telephony.emergency.EmergencyNumber.EmergencyServiceCategories; import android.text.TextUtils; import com.android.internal.telephony.cdma.CdmaCallWaitingNotification; Loading @@ -40,10 +37,6 @@ import com.android.internal.telephony.metrics.TelephonyMetrics; import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState; import com.android.internal.telephony.uicc.UiccCardApplication; import java.util.HashMap; import java.util.List; import java.util.Map; /** * {@hide} */ Loading Loading @@ -140,8 +133,7 @@ public class GsmCdmaConnection extends Connection { mHandler = new MyHandler(mOwner.getLooper()); mAddress = dc.number; setEmergencyCall(TelephonyManager.getDefault().isCurrentEmergencyNumber(mAddress)); setEmergencyServiceCategories(fetchEmergencyServiceCategories()); setEmergencyCallInfo(); mIsIncoming = dc.isMT; mCreateTime = System.currentTimeMillis(); Loading Loading @@ -183,8 +175,9 @@ public class GsmCdmaConnection extends Connection { } mAddress = PhoneNumberUtils.extractNetworkPortionAlt(dialString); setEmergencyCall(isEmergencyCall); setEmergencyServiceCategories(fetchEmergencyServiceCategories()); if (isEmergencyCall) { setEmergencyCallInfo(); } mPostDialString = PhoneNumberUtils.extractPostDialPortion(dialString); Loading Loading @@ -1131,31 +1124,6 @@ public class GsmCdmaConnection extends Connection { } } private @EmergencyServiceCategories int fetchEmergencyServiceCategories() { Map<Integer, List<EmergencyNumber>> emergencyNumberListInternal = new HashMap<>(); for (Phone phone: PhoneFactory.getPhones()) { if (phone.getEmergencyNumberTracker() != null && phone.getEmergencyNumberTracker().getEmergencyNumberList() != null) { emergencyNumberListInternal.put( phone.getSubId(), phone.getEmergencyNumberTracker().getEmergencyNumberList()); } } if (emergencyNumberListInternal != null) { for (List<EmergencyNumber> emergencyNumberList : emergencyNumberListInternal.values()) { if (emergencyNumberList != null) { for (EmergencyNumber num : emergencyNumberList) { if (num.getNumber().equals(mAddress)) { return num.getEmergencyServiceCategoryBitmask(); } } } } } return EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED; } private boolean isPhoneTypeGsm() { return mOwner.getPhone().getPhoneType() == PhoneConstants.PHONE_TYPE_GSM; } Loading src/java/com/android/internal/telephony/Phone.java +12 −0 Original line number Diff line number Diff line Loading @@ -3855,6 +3855,18 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { return mDcTrackers.get(transportType); } /** * Get the HAL version. * * @return the current HalVersion */ public HalVersion getHalVersion() { if (mCi != null && mCi instanceof RIL) { return ((RIL) mCi).getHalVersion(); } return RIL.RADIO_HAL_VERSION_UNKNOWN; } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("Phone: subId=" + getSubId()); pw.println(" mPhoneId=" + mPhoneId); Loading Loading
src/java/com/android/internal/telephony/CommandsInterface.java +4 −3 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.telephony.ImsiEncryptionInfo; import android.telephony.NetworkScanRequest; import android.telephony.TelephonyManager; import android.telephony.data.DataProfile; import android.telephony.emergency.EmergencyNumber; import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.dataconnection.TransportManager; Loading Loading @@ -825,7 +826,7 @@ public interface CommandsInterface { * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation) * CLIR_INVOCATION == on "CLIR invocation" (restrict CLI presentation) */ void dial(String address, boolean isEmergencyCall, int emergencyServiceCategories, void dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, int clirMode, Message result); /** Loading @@ -839,7 +840,7 @@ public interface CommandsInterface { * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation) * CLIR_INVOCATION == on "CLIR invocation" (restrict CLI presentation) */ void dial(String address, boolean isEmergencyCall, int emergencyServiceCategories, void dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, int clirMode, UUSInfo uusInfo, Message result); /** Loading
src/java/com/android/internal/telephony/Connection.java +28 −70 Original line number Diff line number Diff line Loading @@ -24,9 +24,10 @@ import android.telephony.DisconnectCause; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.emergency.EmergencyNumber; import android.telephony.emergency.EmergencyNumber.EmergencyServiceCategories; import android.util.Log; import com.android.internal.telephony.emergency.EmergencyNumberTracker; import java.util.ArrayList; import java.util.List; import java.util.Set; Loading Loading @@ -231,25 +232,10 @@ public abstract class Connection { private boolean mIsEmergencyCall; /** * The emergency service categories, only valid if {@link #isEmergencyCall()} returns * {@code true} * * If valid, the value is the bitwise-OR combination of the following constants: * <ol> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li> * </ol> * * Reference: 3gpp 23.167, Section 6 - Functional description; * 3gpp 22.101, Section 10 - Emergency Calls. * The emergency number information, only valid if {@link #isEmergencyCall} returns * {@code true}. */ private int mEmergencyServiceCategories; private EmergencyNumber mEmergencyNumberInfo; /** * When {@code true}, the network has indicated that this is an emergency call. Loading Loading @@ -468,63 +454,35 @@ public abstract class Connection { } /** * Sets whether this call is an emergency call or not. * Get the emergency number info. The value is valid only if {@link #isEmergencyCall()} * returns {@code true}. * * @param isEmergencyCall {@code true} if the call is an emergency call, * or {@code false} otherwise. * @return the emergency number info */ public void setEmergencyCall(boolean isEmergencyCall) { mIsEmergencyCall = isEmergencyCall; public EmergencyNumber getEmergencyNumberInfo() { return mEmergencyNumberInfo; } /** * Set the emergency service categories. The set value is valid only if * {@link #getEmergencyServiceCategories()} returns {@code true} * * @return the emergency service categories, * Set the emergency numbe information if it is an emergency call. * * If valid, the value is the bitwise-OR combination of the following constants: * <ol> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li> * </ol> * * Reference: 3gpp 23.167, Section 6 - Functional description; * 3gpp 22.101, Section 10 - Emergency Calls. * @hide */ public @EmergencyServiceCategories int getEmergencyServiceCategories() { return mEmergencyServiceCategories; public void setEmergencyCallInfo() { Call call = getCall(); if (call != null) { Phone phone = call.getPhone(); if (phone != null) { EmergencyNumberTracker tracker = phone.getEmergencyNumberTracker(); if (tracker != null) { EmergencyNumber num = tracker.getEmergencyNumber(mAddress); if (num != null) { mIsEmergencyCall = true; mEmergencyNumberInfo = num; } } } } /** * Set the emergency service categories. The set value is valid only if * {@link #getEmergencyServiceCategories()} returns {@code true} * * If valid, the value is the bitwise-OR combination of the following constants: * <ol> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li> * <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li> * </ol> * * Reference: 3gpp 23.167, Section 6 - Functional description; * 3gpp 22.101, Section 10 - Emergency Calls. */ public void setEmergencyServiceCategories( @EmergencyServiceCategories int emergencyServiceCategories) { mEmergencyServiceCategories = emergencyServiceCategories; } /** Loading
src/java/com/android/internal/telephony/GsmCdmaCallTracker.java +4 −4 Original line number Diff line number Diff line Loading @@ -331,7 +331,7 @@ public class GsmCdmaCallTracker extends CallTracker { setMute(false); mCi.dial(mPendingMO.getAddress(), mPendingMO.isEmergencyCall(), mPendingMO.getEmergencyServiceCategories(), clirMode, uusInfo, mPendingMO.getEmergencyNumberInfo(), clirMode, uusInfo, obtainCompleteMessage()); } Loading Loading @@ -448,7 +448,7 @@ public class GsmCdmaCallTracker extends CallTracker { // In Ecm mode, if another emergency call is dialed, Ecm mode will not exit. if(!isPhoneInEcmMode || (isPhoneInEcmMode && isEmergencyCall)) { mCi.dial(mPendingMO.getAddress(), mPendingMO.isEmergencyCall(), mPendingMO.getEmergencyServiceCategories(), clirMode, mPendingMO.getEmergencyNumberInfo(), clirMode, obtainCompleteMessage()); } else { mPhone.exitEmergencyCallbackMode(); Loading Loading @@ -1534,8 +1534,8 @@ public class GsmCdmaCallTracker extends CallTracker { // no matter the result, we still do the same here if (mPendingCallInEcm) { mCi.dial(mPendingMO.getAddress(), mPendingMO.isEmergencyCall(), mPendingMO.getEmergencyServiceCategories(), mPendingCallClirMode, obtainCompleteMessage()); mPendingMO.getEmergencyNumberInfo(), mPendingCallClirMode, obtainCompleteMessage()); mPendingCallInEcm = false; } mPhone.unsetOnEcbModeExitResponse(this); Loading
src/java/com/android/internal/telephony/GsmCdmaConnection.java +4 −36 Original line number Diff line number Diff line Loading @@ -29,9 +29,6 @@ import android.telephony.DisconnectCause; import android.telephony.PhoneNumberUtils; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.telephony.emergency.EmergencyNumber; import android.telephony.emergency.EmergencyNumber.EmergencyServiceCategories; import android.text.TextUtils; import com.android.internal.telephony.cdma.CdmaCallWaitingNotification; Loading @@ -40,10 +37,6 @@ import com.android.internal.telephony.metrics.TelephonyMetrics; import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState; import com.android.internal.telephony.uicc.UiccCardApplication; import java.util.HashMap; import java.util.List; import java.util.Map; /** * {@hide} */ Loading Loading @@ -140,8 +133,7 @@ public class GsmCdmaConnection extends Connection { mHandler = new MyHandler(mOwner.getLooper()); mAddress = dc.number; setEmergencyCall(TelephonyManager.getDefault().isCurrentEmergencyNumber(mAddress)); setEmergencyServiceCategories(fetchEmergencyServiceCategories()); setEmergencyCallInfo(); mIsIncoming = dc.isMT; mCreateTime = System.currentTimeMillis(); Loading Loading @@ -183,8 +175,9 @@ public class GsmCdmaConnection extends Connection { } mAddress = PhoneNumberUtils.extractNetworkPortionAlt(dialString); setEmergencyCall(isEmergencyCall); setEmergencyServiceCategories(fetchEmergencyServiceCategories()); if (isEmergencyCall) { setEmergencyCallInfo(); } mPostDialString = PhoneNumberUtils.extractPostDialPortion(dialString); Loading Loading @@ -1131,31 +1124,6 @@ public class GsmCdmaConnection extends Connection { } } private @EmergencyServiceCategories int fetchEmergencyServiceCategories() { Map<Integer, List<EmergencyNumber>> emergencyNumberListInternal = new HashMap<>(); for (Phone phone: PhoneFactory.getPhones()) { if (phone.getEmergencyNumberTracker() != null && phone.getEmergencyNumberTracker().getEmergencyNumberList() != null) { emergencyNumberListInternal.put( phone.getSubId(), phone.getEmergencyNumberTracker().getEmergencyNumberList()); } } if (emergencyNumberListInternal != null) { for (List<EmergencyNumber> emergencyNumberList : emergencyNumberListInternal.values()) { if (emergencyNumberList != null) { for (EmergencyNumber num : emergencyNumberList) { if (num.getNumber().equals(mAddress)) { return num.getEmergencyServiceCategoryBitmask(); } } } } } return EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED; } private boolean isPhoneTypeGsm() { return mOwner.getPhone().getPhoneType() == PhoneConstants.PHONE_TYPE_GSM; } Loading
src/java/com/android/internal/telephony/Phone.java +12 −0 Original line number Diff line number Diff line Loading @@ -3855,6 +3855,18 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { return mDcTrackers.get(transportType); } /** * Get the HAL version. * * @return the current HalVersion */ public HalVersion getHalVersion() { if (mCi != null && mCi instanceof RIL) { return ((RIL) mCi).getHalVersion(); } return RIL.RADIO_HAL_VERSION_UNKNOWN; } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("Phone: subId=" + getSubId()); pw.println(" mPhoneId=" + mPhoneId); Loading