diff options
author | Adam Powell <adamp@google.com> | 2015-02-27 15:51:11 -0800 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2015-03-04 14:23:30 -0800 |
commit | e30c9af3566cfa14796144b352230709c7b5647d (patch) | |
tree | 8dd847c01661e4b4164bb49794a44b2eac15fb30 /api | |
parent | e56301f16aa6efc3e5fd4fe69a0ace43234bd19e (diff) | |
download | frameworks_base-e30c9af3566cfa14796144b352230709c7b5647d.zip frameworks_base-e30c9af3566cfa14796144b352230709c7b5647d.tar.gz frameworks_base-e30c9af3566cfa14796144b352230709c7b5647d.tar.bz2 |
Add ChooserTargetService API
A ChooserTargetService can be implemented by apps that wish to offer
additional deep-link targets for the system intent chooser to in turn
offer to the user. This allows apps to create contextually relevant
shortcuts for UI flows that would otherwise require several steps of
explicit disambiguation. For example, a chat app might offer one-touch
access to recent conversations when sharing a photo to it from
elsewhere.
The chooser implementation must limit the number of
ChooserTargetServices it elects to query in order to respect available
system resources. Only the system chooser is permitted to bind to a
ChooserTargetService.
Change-Id: Ia7e075ee649c51cf2035f20aee166c5a27d91aeb
Diffstat (limited to 'api')
-rw-r--r-- | api/current.txt | 25 | ||||
-rw-r--r-- | api/system-current.txt | 27 |
2 files changed, 51 insertions, 1 deletions
diff --git a/api/current.txt b/api/current.txt index 163e9d0..0f527c7 100644 --- a/api/current.txt +++ b/api/current.txt @@ -21,6 +21,7 @@ package android { field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE"; field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET"; field public static final java.lang.String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE"; + field public static final java.lang.String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE"; field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN"; field public static final java.lang.String BIND_DREAM_SERVICE = "android.permission.BIND_DREAM_SERVICE"; field public static final java.lang.String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD"; @@ -27460,6 +27461,30 @@ package android.service.carrier { } +package android.service.chooser { + + public final class ChooserTarget implements android.os.Parcelable { + ctor public ChooserTarget(java.lang.CharSequence, android.graphics.Bitmap, float, android.app.PendingIntent); + ctor public ChooserTarget(java.lang.CharSequence, android.graphics.Bitmap, float, android.content.IntentSender); + method public int describeContents(); + method public android.graphics.Bitmap getIcon(); + method public android.content.IntentSender getIntentSender(); + method public float getScore(); + method public java.lang.CharSequence getTitle(); + method public boolean sendIntent(android.content.Context, android.content.Intent); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR; + } + + public abstract class ChooserTargetService extends android.app.Service { + ctor public ChooserTargetService(); + method public android.os.IBinder onBind(android.content.Intent); + method public abstract java.util.List<android.service.chooser.ChooserTarget> onGetChooserTargets(android.content.ComponentName, android.content.IntentFilter); + field public static final java.lang.String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService"; + } + +} + package android.service.dreams { public class DreamService extends android.app.Service implements android.view.Window.Callback { diff --git a/api/system-current.txt b/api/system-current.txt index 8a9259f..099081b 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -29,6 +29,7 @@ package android { field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE"; field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET"; field public static final java.lang.String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE"; + field public static final java.lang.String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE"; field public static final java.lang.String BIND_CONDITION_PROVIDER_SERVICE = "android.permission.BIND_CONDITION_PROVIDER_SERVICE"; field public static final java.lang.String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE"; field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN"; @@ -29061,6 +29062,30 @@ package android.service.carrier { } +package android.service.chooser { + + public final class ChooserTarget implements android.os.Parcelable { + ctor public ChooserTarget(java.lang.CharSequence, android.graphics.Bitmap, float, android.app.PendingIntent); + ctor public ChooserTarget(java.lang.CharSequence, android.graphics.Bitmap, float, android.content.IntentSender); + method public int describeContents(); + method public android.graphics.Bitmap getIcon(); + method public android.content.IntentSender getIntentSender(); + method public float getScore(); + method public java.lang.CharSequence getTitle(); + method public boolean sendIntent(android.content.Context, android.content.Intent); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR; + } + + public abstract class ChooserTargetService extends android.app.Service { + ctor public ChooserTargetService(); + method public android.os.IBinder onBind(android.content.Intent); + method public abstract java.util.List<android.service.chooser.ChooserTarget> onGetChooserTargets(android.content.ComponentName, android.content.IntentFilter); + field public static final java.lang.String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService"; + } + +} + package android.service.dreams { public class DreamService extends android.app.Service implements android.view.Window.Callback { @@ -30906,8 +30931,8 @@ package android.telecom { method public void unregisterPhoneAccount(android.telecom.PhoneAccountHandle); field public static final java.lang.String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS"; field public static final java.lang.String ACTION_CONNECTION_SERVICE_CONFIGURE = "android.telecom.action.CONNECTION_SERVICE_CONFIGURE"; - field public static final java.lang.String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS"; field public static final java.lang.String ACTION_PHONE_ACCOUNT_REGISTERED = "android.telecom.action.PHONE_ACCOUNT_REGISTERED"; + field public static final java.lang.String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS"; field public static final java.lang.String ACTION_SHOW_CALL_SETTINGS = "android.telecom.action.SHOW_CALL_SETTINGS"; field public static final java.lang.String ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS = "android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS"; field public static final char DTMF_CHARACTER_PAUSE = 44; // 0x002c ',' |