summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/commandline
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/commandline')
-rw-r--r--java/com/android/dialer/commandline/impl/CallCommand.java20
1 files changed, 14 insertions, 6 deletions
diff --git a/java/com/android/dialer/commandline/impl/CallCommand.java b/java/com/android/dialer/commandline/impl/CallCommand.java
index a6d78f4de..b3ea8601f 100644
--- a/java/com/android/dialer/commandline/impl/CallCommand.java
+++ b/java/com/android/dialer/commandline/impl/CallCommand.java
@@ -53,7 +53,10 @@ public class CallCommand implements Command {
@NonNull
@Override
public String getUsage() {
- return "call number\n\nuse 'voicemail' to call voicemail";
+ return "call [flags --] number\n"
+ + "\nuse 'voicemail' to call voicemail"
+ + "\n\nflags:"
+ + "\n--direct send intent to telecom instead of pre call";
}
@Override
@@ -73,11 +76,16 @@ public class CallCommand implements Command {
} else {
callIntentBuilder = new CallIntentBuilder(number, CallInitiationType.Type.DIALPAD);
}
-
- Intent intent = PreCall.getIntent(appContext, callIntentBuilder);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- appContext.startActivity(intent);
-
+ if (args.getBoolean("direct", false)) {
+ Intent intent = callIntentBuilder.build();
+ appContext
+ .getSystemService(TelecomManager.class)
+ .placeCall(intent.getData(), intent.getExtras());
+ } else {
+ Intent intent = PreCall.getIntent(appContext, callIntentBuilder);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ appContext.startActivity(intent);
+ }
return Futures.immediateFuture("Calling " + number);
}
}