Update showCallScreen to use Telecomm (2/6)

Implement showCallScreen in TelecommServiceImpl and route through new
InCallService#bringToForeground.

Bug: 15008165
Change-Id: Ib674e2e48efaa1cc97d1513dc2c2b27fdb343657
diff --git a/src/com/android/telecomm/TelecommServiceImpl.java b/src/com/android/telecomm/TelecommServiceImpl.java
index beb046b..1b377b8 100644
--- a/src/com/android/telecomm/TelecommServiceImpl.java
+++ b/src/com/android/telecomm/TelecommServiceImpl.java
@@ -31,6 +31,7 @@
     private static final String SERVICE_NAME = "telecomm";
 
     private static final int MSG_SILENCE_RINGER = 1;
+    private static final int MSG_SHOW_CALL_SCREEN = 2;
 
     /** The singleton instance. */
     private static TelecommServiceImpl sInstance;
@@ -47,6 +48,9 @@
                 case MSG_SILENCE_RINGER:
                     silenceRingerInternal();
                     break;
+                case MSG_SHOW_CALL_SCREEN:
+                    showCallScreenInternal(msg.arg1 == 1);
+                    break;
             }
         }
     };
@@ -106,4 +110,13 @@
         TelecommApp.getInstance().enforceCallingOrSelfPermission(
                 android.Manifest.permission.MODIFY_PHONE_STATE, null);
     }
+
+    @Override
+    public void showCallScreen(boolean showDialpad) {
+        mHandler.obtainMessage(MSG_SHOW_CALL_SCREEN, showDialpad ? 1 : 0, 0).sendToTarget();
+    }
+
+    private void showCallScreenInternal(boolean showDialpad) {
+        CallsManager.getInstance().getInCallController().bringToForeground(showDialpad);
+    }
 }