Loading proto/src/telephony.proto +21 −0 Original line number Diff line number Diff line Loading @@ -1823,6 +1823,13 @@ message TelephonyEvent { // Signal strength optional int32 signal_strength = 27; // Indicate the version of emergency number database in Android platform optional int32 emergency_number_database_version = 28; // [ // (datapol.semantic_type) = ST_SOFTWARE_ID, // (datapol.qualifier) = { is_public: true } //] } message ActiveSubscriptionInfo { Loading Loading @@ -2132,6 +2139,13 @@ message TelephonyCallSession { // Indicate the emergency call information dialed from the CS call optional EmergencyNumberInfo emergency_number_info = 8; // Indicate the version of emergency number database in Android platform optional int32 emergency_number_database_version = 9; // [ // (datapol.semantic_type) = ST_SOFTWARE_ID, // (datapol.qualifier) = { is_public: true } //] } // Single Radio Voice Call Continuity(SRVCC) progress state Loading Loading @@ -2358,6 +2372,13 @@ message TelephonyCallSession { // Emergency call info optional EmergencyNumberInfo ims_emergency_number_info = 27; // Indicate the version of emergency number database in Android platform optional int32 emergency_number_database_version = 28; // [ // (datapol.semantic_type) = ST_SOFTWARE_ID, // (datapol.qualifier) = { is_public: true } //] } // Time when call has started, in minutes since epoch, Loading src/java/com/android/internal/telephony/GsmCdmaConnection.java +15 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.text.TextUtils; import com.android.internal.telephony.cdma.CdmaCallWaitingNotification; import com.android.internal.telephony.cdma.CdmaSubscriptionSourceManager; import com.android.internal.telephony.emergency.EmergencyNumberTracker; import com.android.internal.telephony.metrics.TelephonyMetrics; import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState; import com.android.internal.telephony.uicc.UiccCardApplication; Loading Loading @@ -1114,6 +1115,20 @@ public class GsmCdmaConnection extends Connection { return false; } /** * Get the corresponding EmergencyNumberTracker associated with the connection. * @return the EmergencyNumberTracker */ public EmergencyNumberTracker getEmergencyNumberTracker() { if (mOwner != null) { Phone phone = mOwner.getPhone(); if (phone != null) { return phone.getEmergencyNumberTracker(); } } return null; } /** * @return {@code true} if this call is an OTASP activation call, {@code false} otherwise. */ Loading src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -1051,7 +1051,7 @@ public class EmergencyNumberTracker extends Handler { } for (EmergencyNumber num : updatedEmergencyNumberList) { TelephonyMetrics.getInstance().writeEmergencyNumberUpdateEvent( mPhone.getPhoneId(), num); mPhone.getPhoneId(), num, getEmergencyNumberDbVersion()); } } Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +5 −1 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ import com.android.internal.telephony.ServiceStateTracker; import com.android.internal.telephony.SubscriptionController; import com.android.internal.telephony.dataconnection.DataEnabledSettings; import com.android.internal.telephony.dataconnection.DataEnabledSettings.DataEnabledChangedReason; import com.android.internal.telephony.emergency.EmergencyNumberTracker; import com.android.internal.telephony.gsm.SuppServiceNotification; import com.android.internal.telephony.imsphone.ImsPhone.ImsDialArgs; import com.android.internal.telephony.metrics.CallQualityMetrics; Loading Loading @@ -2472,9 +2473,12 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { } String callId = imsCall.getSession().getCallId(); EmergencyNumberTracker emergencyNumberTracker = conn.getEmergencyNumberTracker(); mMetrics.writeOnImsCallTerminated(mPhone.getPhoneId(), imsCall.getCallSession(), reasonInfo, mCallQualityMetrics.get(callId), conn.getEmergencyNumberInfo(), getNetworkCountryIso()); getNetworkCountryIso(), emergencyNumberTracker != null ? emergencyNumberTracker.getEmergencyNumberDbVersion() : TelephonyManager.INVALID_EMERGENCY_NUMBER_DB_VERSION); // Remove info for the callId from the current calls and add it to the history CallQualityMetrics lastCallMetrics = mCallQualityMetrics.remove(callId); if (lastCallMetrics != null) { Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java +15 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import com.android.internal.telephony.Connection; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.UUSInfo; import com.android.internal.telephony.emergency.EmergencyNumberTracker; import com.android.internal.telephony.metrics.TelephonyMetrics; import java.util.Objects; Loading Loading @@ -1094,6 +1095,20 @@ public class ImsPhoneConnection extends Connection implements } } /** * Get the corresponding EmergencyNumberTracker associated with the connection. * @return the EmergencyNumberTracker */ public EmergencyNumberTracker getEmergencyNumberTracker() { if (mOwner != null) { Phone phone = mOwner.getPhone(); if (phone != null) { return phone.getEmergencyNumberTracker(); } } return null; } public boolean hasRttTextStream() { return mRttTextStream != null; } Loading Loading
proto/src/telephony.proto +21 −0 Original line number Diff line number Diff line Loading @@ -1823,6 +1823,13 @@ message TelephonyEvent { // Signal strength optional int32 signal_strength = 27; // Indicate the version of emergency number database in Android platform optional int32 emergency_number_database_version = 28; // [ // (datapol.semantic_type) = ST_SOFTWARE_ID, // (datapol.qualifier) = { is_public: true } //] } message ActiveSubscriptionInfo { Loading Loading @@ -2132,6 +2139,13 @@ message TelephonyCallSession { // Indicate the emergency call information dialed from the CS call optional EmergencyNumberInfo emergency_number_info = 8; // Indicate the version of emergency number database in Android platform optional int32 emergency_number_database_version = 9; // [ // (datapol.semantic_type) = ST_SOFTWARE_ID, // (datapol.qualifier) = { is_public: true } //] } // Single Radio Voice Call Continuity(SRVCC) progress state Loading Loading @@ -2358,6 +2372,13 @@ message TelephonyCallSession { // Emergency call info optional EmergencyNumberInfo ims_emergency_number_info = 27; // Indicate the version of emergency number database in Android platform optional int32 emergency_number_database_version = 28; // [ // (datapol.semantic_type) = ST_SOFTWARE_ID, // (datapol.qualifier) = { is_public: true } //] } // Time when call has started, in minutes since epoch, Loading
src/java/com/android/internal/telephony/GsmCdmaConnection.java +15 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.text.TextUtils; import com.android.internal.telephony.cdma.CdmaCallWaitingNotification; import com.android.internal.telephony.cdma.CdmaSubscriptionSourceManager; import com.android.internal.telephony.emergency.EmergencyNumberTracker; import com.android.internal.telephony.metrics.TelephonyMetrics; import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState; import com.android.internal.telephony.uicc.UiccCardApplication; Loading Loading @@ -1114,6 +1115,20 @@ public class GsmCdmaConnection extends Connection { return false; } /** * Get the corresponding EmergencyNumberTracker associated with the connection. * @return the EmergencyNumberTracker */ public EmergencyNumberTracker getEmergencyNumberTracker() { if (mOwner != null) { Phone phone = mOwner.getPhone(); if (phone != null) { return phone.getEmergencyNumberTracker(); } } return null; } /** * @return {@code true} if this call is an OTASP activation call, {@code false} otherwise. */ Loading
src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -1051,7 +1051,7 @@ public class EmergencyNumberTracker extends Handler { } for (EmergencyNumber num : updatedEmergencyNumberList) { TelephonyMetrics.getInstance().writeEmergencyNumberUpdateEvent( mPhone.getPhoneId(), num); mPhone.getPhoneId(), num, getEmergencyNumberDbVersion()); } } Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +5 −1 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ import com.android.internal.telephony.ServiceStateTracker; import com.android.internal.telephony.SubscriptionController; import com.android.internal.telephony.dataconnection.DataEnabledSettings; import com.android.internal.telephony.dataconnection.DataEnabledSettings.DataEnabledChangedReason; import com.android.internal.telephony.emergency.EmergencyNumberTracker; import com.android.internal.telephony.gsm.SuppServiceNotification; import com.android.internal.telephony.imsphone.ImsPhone.ImsDialArgs; import com.android.internal.telephony.metrics.CallQualityMetrics; Loading Loading @@ -2472,9 +2473,12 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { } String callId = imsCall.getSession().getCallId(); EmergencyNumberTracker emergencyNumberTracker = conn.getEmergencyNumberTracker(); mMetrics.writeOnImsCallTerminated(mPhone.getPhoneId(), imsCall.getCallSession(), reasonInfo, mCallQualityMetrics.get(callId), conn.getEmergencyNumberInfo(), getNetworkCountryIso()); getNetworkCountryIso(), emergencyNumberTracker != null ? emergencyNumberTracker.getEmergencyNumberDbVersion() : TelephonyManager.INVALID_EMERGENCY_NUMBER_DB_VERSION); // Remove info for the callId from the current calls and add it to the history CallQualityMetrics lastCallMetrics = mCallQualityMetrics.remove(callId); if (lastCallMetrics != null) { Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java +15 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import com.android.internal.telephony.Connection; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.UUSInfo; import com.android.internal.telephony.emergency.EmergencyNumberTracker; import com.android.internal.telephony.metrics.TelephonyMetrics; import java.util.Objects; Loading Loading @@ -1094,6 +1095,20 @@ public class ImsPhoneConnection extends Connection implements } } /** * Get the corresponding EmergencyNumberTracker associated with the connection. * @return the EmergencyNumberTracker */ public EmergencyNumberTracker getEmergencyNumberTracker() { if (mOwner != null) { Phone phone = mOwner.getPhone(); if (phone != null) { return phone.getEmergencyNumberTracker(); } } return null; } public boolean hasRttTextStream() { return mRttTextStream != null; } Loading