Location Query for OTT Emergency Calls (frameworks)

This commit implements Location Query for OTT Emergency Calls
in frameworks.

Bug: 236748912
Test: cts test
Change-Id: Id1fbd33e7027146bca9d3a723977d1f63b077696
diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java
index c95e14f..8a59020 100644
--- a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java
+++ b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java
@@ -78,6 +78,7 @@
     private static final int MSG_SET_CONFERENCE_STATE = 36;
     private static final int MSG_HANDLE_CREATE_CONFERENCE_COMPLETE = 37;
     private static final int MSG_SET_CALL_DIRECTION = 38;
+    private static final int MSG_QUERY_LOCATION = 39;
 
     private final IConnectionServiceAdapter mDelegate;
 
@@ -373,6 +374,18 @@
                     } finally {
                         args.recycle();
                     }
+                    break;
+                }
+                case MSG_QUERY_LOCATION: {
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    try {
+                        mDelegate.queryLocation((String) args.arg1, (long) args.arg2,
+                                (String) args.arg3, (ResultReceiver) args.arg4,
+                                (Session.Info) args.arg5);
+                    } finally {
+                        args.recycle();
+                    }
+                    break;
                 }
             }
         }
@@ -699,6 +712,18 @@
                 ResultReceiver callback, Session.Info sessionInfo) {
             // Do nothing
         }
+
+        @Override
+        public void queryLocation(String callId, long timeoutMillis, String provider,
+                ResultReceiver callback, Session.Info sessionInfo) {
+            SomeArgs args = SomeArgs.obtain();
+            args.arg1 = callId;
+            args.arg2 = timeoutMillis;
+            args.arg3 = provider;
+            args.arg4 = callback;
+            args.arg5 = sessionInfo;
+            mHandler.obtainMessage(MSG_QUERY_LOCATION, args).sendToTarget();
+        }
     };
 
     public ConnectionServiceAdapterServant(IConnectionServiceAdapter delegate) {