Merge "Support determining the call direction for existing connections." into qt-dev
diff --git a/src/com/android/server/telecom/Call.java b/src/com/android/server/telecom/Call.java
index a9c1907..ecc6359 100644
--- a/src/com/android/server/telecom/Call.java
+++ b/src/com/android/server/telecom/Call.java
@@ -3218,4 +3218,23 @@
             mCallsManager.setAudioRoute(CallAudioState.ROUTE_SPEAKER, null);
         }
     }
+
+    /**
+     * Remaps the call direction as indicated by an {@link android.telecom.Call.Details} direction
+     * constant to the constants (e.g. {@link #CALL_DIRECTION_INCOMING}) used in this call class.
+     * @param direction The android.telecom.Call direction.
+     * @return The direction using the constants in this class.
+     */
+    public static int getRemappedCallDirection(
+            @android.telecom.Call.Details.CallDirection int direction) {
+        switch(direction) {
+            case android.telecom.Call.Details.DIRECTION_INCOMING:
+                return CALL_DIRECTION_INCOMING;
+            case android.telecom.Call.Details.DIRECTION_OUTGOING:
+                return CALL_DIRECTION_OUTGOING;
+            case android.telecom.Call.Details.DIRECTION_UNKNOWN:
+                return CALL_DIRECTION_UNDEFINED;
+        }
+        return CALL_DIRECTION_UNDEFINED;
+    }
 }
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index 19ce7ac..92e3a90 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -3528,7 +3528,7 @@
                 null /* gatewayInfo */,
                 null /* connectionManagerPhoneAccount */,
                 connection.getPhoneAccount(), /* targetPhoneAccountHandle */
-                Call.CALL_DIRECTION_UNDEFINED /* callDirection */,
+                Call.getRemappedCallDirection(connection.getCallDirection()) /* callDirection */,
                 false /* forceAttachToExistingConnection */,
                 isDowngradedConference /* isConference */,
                 connection.getConnectTimeMillis() /* connectTimeMillis */,