Add shell command to support GTS

Add a shell command to fake a call so that we can test the API with
compatibility test suites

Test: none
Bug: 119675160
Change-Id: I5de55fa619c7339caa38f2add19e16f7d17ea9bd
diff --git a/src/com/android/phone/TelephonyShellCommand.java b/src/com/android/phone/TelephonyShellCommand.java
index dc1e7d1..6cec56c 100644
--- a/src/com/android/phone/TelephonyShellCommand.java
+++ b/src/com/android/phone/TelephonyShellCommand.java
@@ -55,6 +55,7 @@
     private static final String SMS_SET_DEFAULT_APP = "set-default-app";
 
     private static final String NUMBER_VERIFICATION_OVERRIDE_PACKAGE = "override-package";
+    private static final String NUMBER_VERIFICATION_FAKE_CALL = "fake-call";
 
     // Take advantage of existing methods that already contain permissions checks when possible.
     private final ITelephony mInterface;
@@ -141,6 +142,9 @@
         pw.println("  numverify override-package PACKAGE_NAME;");
         pw.println("    Set the authorized package for number verification.");
         pw.println("    Leave the package name blank to reset.");
+        pw.println("  numverify fake-call NUMBER;");
+        pw.println("    Fake an incoming call from NUMBER. This is for testing. Output will be");
+        pw.println("    1 if the call would have been intercepted, 0 otherwise.");
     }
 
     private int handleImsCommand() {
@@ -175,14 +179,21 @@
             return 0;
         }
 
+        if (!checkShellUid()) {
+            return -1;
+        }
+
         switch (arg) {
             case NUMBER_VERIFICATION_OVERRIDE_PACKAGE: {
-                if (!checkShellUid()) {
-                    return -1;
-                }
                 NumberVerificationManager.overrideAuthorizedPackage(getNextArg());
                 return 0;
             }
+            case NUMBER_VERIFICATION_FAKE_CALL: {
+                boolean val = NumberVerificationManager.getInstance()
+                        .checkIncomingCall(getNextArg());
+                getOutPrintWriter().println(val ? "1" : "0");
+                return 0;
+            }
         }
 
         return -1;