From c47570d5d0debbb6cbc51ee0e29381b83fd357bd Mon Sep 17 00:00:00 2001 From: Hall Liu Date: Thu, 6 Dec 2018 17:53:25 -0800 Subject: [PATCH] Add the PhoneAccountSuggestionService Add a service base class for phone acct suggestion. Also add associated aidl plumbing and a new permission for the service to require. Test: CTS to come Bug: 111455117 Change-Id: I30d7d004bdddbab3dfbb5408c07775ea56d490fe --- Android.bp | 2 + api/system-current.txt | 9 ++ .../com/android/commands/telecom/Telecom.java | 71 +++++----- core/res/AndroidManifest.xml | 9 ++ .../telecom/PhoneAccountSuggestion.aidl | 22 ++++ .../PhoneAccountSuggestionService.java | 121 ++++++++++++++++++ .../IPhoneAccountSuggestionCallback.aidl | 26 ++++ .../IPhoneAccountSuggestionService.aidl | 28 ++++ .../internal/telecom/ITelecomService.aidl | 2 + 9 files changed, 260 insertions(+), 30 deletions(-) create mode 100644 telecomm/java/android/telecom/PhoneAccountSuggestion.aidl create mode 100644 telecomm/java/android/telecom/PhoneAccountSuggestionService.java create mode 100644 telecomm/java/com/android/internal/telecom/IPhoneAccountSuggestionCallback.aidl create mode 100644 telecomm/java/com/android/internal/telecom/IPhoneAccountSuggestionService.aidl diff --git a/Android.bp b/Android.bp index 151adf821ccd..bc1facc26266 100644 --- a/Android.bp +++ b/Android.bp @@ -484,6 +484,8 @@ java_defaults { "telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl", "telecomm/java/com/android/internal/telecom/IInCallAdapter.aidl", "telecomm/java/com/android/internal/telecom/IInCallService.aidl", + "telecomm/java/com/android/internal/telecom/IPhoneAccountSuggestionCallback.aidl", + "telecomm/java/com/android/internal/telecom/IPhoneAccountSuggestionService.aidl", "telecomm/java/com/android/internal/telecom/ITelecomService.aidl", "telecomm/java/com/android/internal/telecom/RemoteServiceCallback.aidl", "telephony/java/android/telephony/data/IDataService.aidl", diff --git a/api/system-current.txt b/api/system-current.txt index b7e3d685497d..b8c3a5584d96 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -23,6 +23,7 @@ package android { field public static final java.lang.String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET"; field public static final java.lang.String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"; field public static final java.lang.String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"; + field public static final java.lang.String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"; field public static final java.lang.String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"; field public static final java.lang.String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE"; field public static final java.lang.String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"; @@ -4942,6 +4943,14 @@ package android.telecom { ctor public PhoneAccountSuggestion(android.telecom.PhoneAccountHandle, int, boolean); } + public class PhoneAccountSuggestionService extends android.app.Service { + ctor public PhoneAccountSuggestionService(); + method public void onAccountSuggestionRequest(java.lang.String); + method public android.os.IBinder onBind(android.content.Intent); + method public final void suggestPhoneAccounts(java.lang.String, java.util.List); + field public static final java.lang.String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService"; + } + public final class RemoteConference { method public deprecated void setAudioState(android.telecom.AudioState); } diff --git a/cmds/telecom/src/com/android/commands/telecom/Telecom.java b/cmds/telecom/src/com/android/commands/telecom/Telecom.java index a39f5e30bd51..4174ad7cd586 100644 --- a/cmds/telecom/src/com/android/commands/telecom/Telecom.java +++ b/cmds/telecom/src/com/android/commands/telecom/Telecom.java @@ -51,6 +51,8 @@ public final class Telecom extends BaseCommand { private static final String COMMAND_ADD_OR_REMOVE_CALL_COMPANION_APP = "add-or-remove-call-companion-app"; private static final String COMMAND_SET_TEST_AUTO_MODE_APP = "set-test-auto-mode-app"; + private static final String COMMAND_SET_PHONE_ACCOUNT_SUGGESTION_COMPONENT = + "set-phone-acct-suggestion-component"; private static final String COMMAND_UNREGISTER_PHONE_ACCOUNT = "unregister-phone-account"; private static final String COMMAND_SET_DEFAULT_DIALER = "set-default-dialer"; private static final String COMMAND_GET_DEFAULT_DIALER = "get-default-dialer"; @@ -64,36 +66,37 @@ public final class Telecom extends BaseCommand { @Override public void onShowUsage(PrintStream out) { - out.println( - "usage: telecom [subcommand] [options]\n" + - "usage: telecom set-phone-account-enabled \n" + - "usage: telecom set-phone-account-disabled \n" + - "usage: telecom register-phone-account