Log missed call for call received during ringing am: bde3b6a35f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/services/Telephony/+/12958576
Change-Id: I95c2b4b9a98262f45daacb81c260c2a5dfc5dac3
diff --git a/src/com/android/services/telephony/PstnIncomingCallNotifier.java b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
index 377b471..b6d5d3e 100644
--- a/src/com/android/services/telephony/PstnIncomingCallNotifier.java
+++ b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
@@ -289,7 +289,7 @@
}
if (((ImsPhoneConnection) connection).isIncomingCallAutoRejected()) {
extras.putString(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE,
- "Call Dropped by lower layers");
+ TelecomManager.CALL_AUTO_DISCONNECT_MESSAGE_STRING);
}
}
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 322993a..f98198b 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -1190,15 +1190,23 @@
"Phone is null"));
}
+ Bundle extras = request.getExtras();
+ String disconnectMessage = null;
+ if (extras.containsKey(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE)) {
+ disconnectMessage = extras.getString(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE);
+ Log.i(this, "onCreateIncomingConnection Disconnect message " + disconnectMessage);
+ }
+
Call call = phone.getRingingCall();
- if (!call.getState().isRinging()) {
+ if (!call.getState().isRinging()
+ || (disconnectMessage != null
+ && disconnectMessage.equals(TelecomManager.CALL_AUTO_DISCONNECT_MESSAGE_STRING))) {
Log.i(this, "onCreateIncomingConnection, no ringing call");
Connection connection = Connection.createFailedConnection(
mDisconnectCauseFactory.toTelecomDisconnectCause(
android.telephony.DisconnectCause.INCOMING_MISSED,
"Found no ringing call",
phone.getPhoneId()));
- Bundle extras = request.getExtras();
long time = extras.getLong(TelecomManager.EXTRA_CALL_CREATED_EPOCH_TIME_MILLIS);
if (time != 0) {