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