Merge "Fixing bug with setting the emergency call time."
diff --git a/src/com/android/server/telecom/ConnectionServiceWrapper.java b/src/com/android/server/telecom/ConnectionServiceWrapper.java
index edb3ee9..1f5582f 100644
--- a/src/com/android/server/telecom/ConnectionServiceWrapper.java
+++ b/src/com/android/server/telecom/ConnectionServiceWrapper.java
@@ -862,11 +862,12 @@
if (call.isIncoming() && mCallsManager.getEmergencyCallHelper()
.getLastEmergencyCallTimeMillis() > 0) {
- // Add the last emergency call time to the connection request
- extras = new Bundle();
+ // Add the last emergency call time to the connection request for incoming calls
+ if (extras == call.getIntentExtras()) {
+ extras = (Bundle) extras.clone();
+ }
extras.putLong(android.telecom.Call.EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS,
mCallsManager.getEmergencyCallHelper().getLastEmergencyCallTimeMillis());
- call.putExtras(Call.SOURCE_CONNECTION_SERVICE, extras);
}
Log.addEvent(call, LogUtils.Events.START_CONNECTION, Log.piiHandle(call.getHandle()));
diff --git a/tests/src/com/android/server/telecom/tests/BasicCallTests.java b/tests/src/com/android/server/telecom/tests/BasicCallTests.java
index f423a74..f82dfd3 100644
--- a/tests/src/com/android/server/telecom/tests/BasicCallTests.java
+++ b/tests/src/com/android/server/telecom/tests/BasicCallTests.java
@@ -261,11 +261,12 @@
.createConnection(any(PhoneAccountHandle.class), anyString(),
connectionRequestCaptor.capture(), eq(true), eq(false), any());
- waitForHandlerAction(new Handler(Looper.getMainLooper()), TEST_TIMEOUT);
assert(connectionRequestCaptor.getValue().getExtras().containsKey(
android.telecom.Call.EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS));
assertTrue(connectionRequestCaptor.getValue().getExtras().getLong(
android.telecom.Call.EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS, 0) > 0);
+ assert(connectionRequestCaptor.getValue().getExtras().containsKey(
+ TelecomManager.EXTRA_INCOMING_CALL_ADDRESS));
}
@LargeTest