blob: e9dfa223949109b75fea985a19a0eb7408380ac3 [file] [log] [blame]
Jeff Gaston5d65a6a2019-01-23 13:44:15 -05001// Signature format: 3.0
Lei Tiana4497e82017-11-10 14:44:55 -08002package androidx.browser.browseractions {
3
Peter E Connfb0d14a2019-03-12 16:48:42 +00004 @Deprecated public class BrowserActionItem {
5 ctor @Deprecated public BrowserActionItem(String, android.app.PendingIntent, @DrawableRes int);
6 ctor @Deprecated public BrowserActionItem(String, android.app.PendingIntent);
7 method @Deprecated public android.app.PendingIntent getAction();
8 method @Deprecated public int getIconId();
9 method @Deprecated public String getTitle();
Lei Tiana4497e82017-11-10 14:44:55 -080010 }
11
Peter E Connfb0d14a2019-03-12 16:48:42 +000012 @Deprecated public class BrowserActionsIntent {
Peter E Conn85ffcb1d2019-01-09 10:31:26 +000013 method @Deprecated public static String? getCreatorPackageName(android.content.Intent);
Peter E Connfb0d14a2019-03-12 16:48:42 +000014 method @Deprecated public android.content.Intent getIntent();
15 method @Deprecated public static String? getUntrustedCreatorPackageName(android.content.Intent);
16 method @Deprecated public static void launchIntent(android.content.Context!, android.content.Intent!);
17 method @Deprecated public static void openBrowserAction(android.content.Context!, android.net.Uri!);
18 method @Deprecated public static void openBrowserAction(android.content.Context!, android.net.Uri!, int, java.util.ArrayList<androidx.browser.browseractions.BrowserActionItem>!, android.app.PendingIntent!);
19 method @Deprecated public static java.util.List<androidx.browser.browseractions.BrowserActionItem>! parseBrowserActionItems(java.util.ArrayList<android.os.Bundle>!);
20 field @Deprecated public static final String ACTION_BROWSER_ACTIONS_OPEN = "androidx.browser.browseractions.browser_action_open";
21 field @Deprecated public static final String EXTRA_APP_ID = "androidx.browser.browseractions.APP_ID";
22 field @Deprecated public static final String EXTRA_MENU_ITEMS = "androidx.browser.browseractions.extra.MENU_ITEMS";
23 field @Deprecated public static final String EXTRA_SELECTED_ACTION_PENDING_INTENT = "androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT";
24 field @Deprecated public static final String EXTRA_TYPE = "androidx.browser.browseractions.extra.TYPE";
25 field @Deprecated public static final int ITEM_COPY = 3; // 0x3
26 field @Deprecated public static final int ITEM_DOWNLOAD = 2; // 0x2
27 field @Deprecated public static final int ITEM_INVALID_ITEM = -1; // 0xffffffff
28 field @Deprecated public static final int ITEM_OPEN_IN_INCOGNITO = 1; // 0x1
29 field @Deprecated public static final int ITEM_OPEN_IN_NEW_TAB = 0; // 0x0
30 field @Deprecated public static final int ITEM_SHARE = 4; // 0x4
31 field @Deprecated public static final String KEY_ACTION = "androidx.browser.browseractions.ACTION";
32 field @Deprecated public static final String KEY_ICON_ID = "androidx.browser.browseractions.ICON_ID";
33 field @Deprecated public static final String KEY_TITLE = "androidx.browser.browseractions.TITLE";
34 field @Deprecated public static final int MAX_CUSTOM_ITEMS = 5; // 0x5
35 field @Deprecated public static final int URL_TYPE_AUDIO = 3; // 0x3
36 field @Deprecated public static final int URL_TYPE_FILE = 4; // 0x4
37 field @Deprecated public static final int URL_TYPE_IMAGE = 1; // 0x1
38 field @Deprecated public static final int URL_TYPE_NONE = 0; // 0x0
39 field @Deprecated public static final int URL_TYPE_PLUGIN = 5; // 0x5
40 field @Deprecated public static final int URL_TYPE_VIDEO = 2; // 0x2
Lei Tiana4497e82017-11-10 14:44:55 -080041 }
42
Peter E Connfb0d14a2019-03-12 16:48:42 +000043 @Deprecated public static final class BrowserActionsIntent.Builder {
44 ctor @Deprecated public BrowserActionsIntent.Builder(android.content.Context!, android.net.Uri!);
45 method @Deprecated public androidx.browser.browseractions.BrowserActionsIntent! build();
46 method @Deprecated public androidx.browser.browseractions.BrowserActionsIntent.Builder! setCustomItems(java.util.ArrayList<androidx.browser.browseractions.BrowserActionItem>!);
47 method @Deprecated public androidx.browser.browseractions.BrowserActionsIntent.Builder! setCustomItems(androidx.browser.browseractions.BrowserActionItem...!);
48 method @Deprecated public androidx.browser.browseractions.BrowserActionsIntent.Builder! setOnItemSelectedAction(android.app.PendingIntent!);
49 method @Deprecated public androidx.browser.browseractions.BrowserActionsIntent.Builder! setUrlType(int);
Lei Tiana4497e82017-11-10 14:44:55 -080050 }
51
52}
53
Aurimas Liutikas8db70742018-03-06 16:26:57 -080054package androidx.browser.customtabs {
55
56 public class CustomTabsCallback {
57 ctor public CustomTabsCallback();
Jeff Gastonc21caf92018-10-16 13:24:41 -040058 method public void extraCallback(String!, android.os.Bundle!);
59 method public void onMessageChannelReady(android.os.Bundle!);
60 method public void onNavigationEvent(int, android.os.Bundle!);
61 method public void onPostMessage(String!, android.os.Bundle!);
62 method public void onRelationshipValidationResult(@androidx.browser.customtabs.CustomTabsService.Relation int, android.net.Uri!, boolean, android.os.Bundle!);
Aurimas Liutikas8db70742018-03-06 16:26:57 -080063 field public static final int NAVIGATION_ABORTED = 4; // 0x4
64 field public static final int NAVIGATION_FAILED = 3; // 0x3
65 field public static final int NAVIGATION_FINISHED = 2; // 0x2
66 field public static final int NAVIGATION_STARTED = 1; // 0x1
67 field public static final int TAB_HIDDEN = 6; // 0x6
68 field public static final int TAB_SHOWN = 5; // 0x5
69 }
70
71 public class CustomTabsClient {
Jeff Gastonc21caf92018-10-16 13:24:41 -040072 method public static boolean bindCustomTabsService(android.content.Context!, String!, androidx.browser.customtabs.CustomTabsServiceConnection!);
73 method public static boolean connectAndInitialize(android.content.Context!, String!);
74 method public android.os.Bundle! extraCommand(String!, android.os.Bundle!);
75 method public static String! getPackageName(android.content.Context!, java.util.List<java.lang.String>?);
Peter E Conn85ffcb1d2019-01-09 10:31:26 +000076 method public static String? getPackageName(android.content.Context, java.util.List<java.lang.String>?, boolean);
Jeff Gastonc21caf92018-10-16 13:24:41 -040077 method public androidx.browser.customtabs.CustomTabsSession! newSession(androidx.browser.customtabs.CustomTabsCallback!);
Aurimas Liutikas8db70742018-03-06 16:26:57 -080078 method public boolean warmup(long);
79 }
80
81 public final class CustomTabsIntent {
82 method public static int getMaxToolbarItems();
Jeff Gastonc21caf92018-10-16 13:24:41 -040083 method public void launchUrl(android.content.Context!, android.net.Uri!);
84 method public static android.content.Intent! setAlwaysUseBrowserUI(android.content.Intent!);
85 method public static boolean shouldAlwaysUseBrowserUI(android.content.Intent!);
Peter Beverloobaeeee72019-03-04 11:36:56 +000086 field public static final int COLOR_SCHEME_DARK = 2; // 0x2
87 field public static final int COLOR_SCHEME_LIGHT = 1; // 0x1
88 field public static final int COLOR_SCHEME_SYSTEM = 0; // 0x0
Jeff Gastonc21caf92018-10-16 13:24:41 -040089 field public static final String EXTRA_ACTION_BUTTON_BUNDLE = "android.support.customtabs.extra.ACTION_BUTTON_BUNDLE";
90 field public static final String EXTRA_CLOSE_BUTTON_ICON = "android.support.customtabs.extra.CLOSE_BUTTON_ICON";
Peter Beverloobaeeee72019-03-04 11:36:56 +000091 field public static final String EXTRA_COLOR_SCHEME = "androidx.browser.customtabs.extra.COLOR_SCHEME";
Jeff Gastonc21caf92018-10-16 13:24:41 -040092 field public static final String EXTRA_DEFAULT_SHARE_MENU_ITEM = "android.support.customtabs.extra.SHARE_MENU_ITEM";
93 field public static final String EXTRA_ENABLE_INSTANT_APPS = "android.support.customtabs.extra.EXTRA_ENABLE_INSTANT_APPS";
94 field public static final String EXTRA_ENABLE_URLBAR_HIDING = "android.support.customtabs.extra.ENABLE_URLBAR_HIDING";
95 field public static final String EXTRA_EXIT_ANIMATION_BUNDLE = "android.support.customtabs.extra.EXIT_ANIMATION_BUNDLE";
96 field public static final String EXTRA_MENU_ITEMS = "android.support.customtabs.extra.MENU_ITEMS";
97 field public static final String EXTRA_REMOTEVIEWS = "android.support.customtabs.extra.EXTRA_REMOTEVIEWS";
98 field public static final String EXTRA_REMOTEVIEWS_CLICKED_ID = "android.support.customtabs.extra.EXTRA_REMOTEVIEWS_CLICKED_ID";
99 field public static final String EXTRA_REMOTEVIEWS_PENDINGINTENT = "android.support.customtabs.extra.EXTRA_REMOTEVIEWS_PENDINGINTENT";
100 field public static final String EXTRA_REMOTEVIEWS_VIEW_IDS = "android.support.customtabs.extra.EXTRA_REMOTEVIEWS_VIEW_IDS";
101 field public static final String EXTRA_SECONDARY_TOOLBAR_COLOR = "android.support.customtabs.extra.SECONDARY_TOOLBAR_COLOR";
102 field public static final String EXTRA_SESSION = "android.support.customtabs.extra.SESSION";
103 field public static final String EXTRA_TINT_ACTION_BUTTON = "android.support.customtabs.extra.TINT_ACTION_BUTTON";
104 field public static final String EXTRA_TITLE_VISIBILITY_STATE = "android.support.customtabs.extra.TITLE_VISIBILITY";
105 field public static final String EXTRA_TOOLBAR_COLOR = "android.support.customtabs.extra.TOOLBAR_COLOR";
106 field public static final String EXTRA_TOOLBAR_ITEMS = "android.support.customtabs.extra.TOOLBAR_ITEMS";
107 field public static final String KEY_DESCRIPTION = "android.support.customtabs.customaction.DESCRIPTION";
108 field public static final String KEY_ICON = "android.support.customtabs.customaction.ICON";
109 field public static final String KEY_ID = "android.support.customtabs.customaction.ID";
110 field public static final String KEY_MENU_ITEM_TITLE = "android.support.customtabs.customaction.MENU_ITEM_TITLE";
111 field public static final String KEY_PENDING_INTENT = "android.support.customtabs.customaction.PENDING_INTENT";
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800112 field public static final int NO_TITLE = 0; // 0x0
113 field public static final int SHOW_PAGE_TITLE = 1; // 0x1
114 field public static final int TOOLBAR_ACTION_BUTTON_ID = 0; // 0x0
115 field public final android.content.Intent intent;
Jeff Gastonc21caf92018-10-16 13:24:41 -0400116 field public final android.os.Bundle? startAnimationBundle;
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800117 }
118
119 public static final class CustomTabsIntent.Builder {
120 ctor public CustomTabsIntent.Builder();
Jeff Gastonc21caf92018-10-16 13:24:41 -0400121 ctor public CustomTabsIntent.Builder(androidx.browser.customtabs.CustomTabsSession?);
Peter Beverloof7d3d912019-02-15 15:47:01 +0000122 method public androidx.browser.customtabs.CustomTabsIntent.Builder addDefaultShareMenuItem();
123 method public androidx.browser.customtabs.CustomTabsIntent.Builder addMenuItem(String, android.app.PendingIntent);
124 method @Deprecated public androidx.browser.customtabs.CustomTabsIntent.Builder addToolbarItem(int, android.graphics.Bitmap, String, android.app.PendingIntent!) throws java.lang.IllegalStateException;
125 method public androidx.browser.customtabs.CustomTabsIntent build();
126 method public androidx.browser.customtabs.CustomTabsIntent.Builder enableUrlBarHiding();
127 method public androidx.browser.customtabs.CustomTabsIntent.Builder setActionButton(android.graphics.Bitmap, String, android.app.PendingIntent, boolean);
128 method public androidx.browser.customtabs.CustomTabsIntent.Builder setActionButton(android.graphics.Bitmap, String, android.app.PendingIntent);
129 method public androidx.browser.customtabs.CustomTabsIntent.Builder setCloseButtonIcon(android.graphics.Bitmap);
Peter Beverloobaeeee72019-03-04 11:36:56 +0000130 method public androidx.browser.customtabs.CustomTabsIntent.Builder setColorScheme(int);
Peter Beverloof7d3d912019-02-15 15:47:01 +0000131 method public androidx.browser.customtabs.CustomTabsIntent.Builder setExitAnimations(android.content.Context, @AnimRes int, @AnimRes int);
132 method public androidx.browser.customtabs.CustomTabsIntent.Builder setInstantAppsEnabled(boolean);
133 method public androidx.browser.customtabs.CustomTabsIntent.Builder setSecondaryToolbarColor(@ColorInt int);
134 method public androidx.browser.customtabs.CustomTabsIntent.Builder setSecondaryToolbarViews(android.widget.RemoteViews, int[]?, android.app.PendingIntent?);
135 method public androidx.browser.customtabs.CustomTabsIntent.Builder setShowTitle(boolean);
136 method public androidx.browser.customtabs.CustomTabsIntent.Builder setStartAnimations(android.content.Context, @AnimRes int, @AnimRes int);
137 method public androidx.browser.customtabs.CustomTabsIntent.Builder setToolbarColor(@ColorInt int);
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800138 }
139
140 public abstract class CustomTabsService extends android.app.Service {
141 ctor public CustomTabsService();
Jeff Gastonc21caf92018-10-16 13:24:41 -0400142 method protected boolean cleanUpSession(androidx.browser.customtabs.CustomTabsSessionToken!);
143 method protected abstract android.os.Bundle! extraCommand(String!, android.os.Bundle!);
144 method protected abstract boolean mayLaunchUrl(androidx.browser.customtabs.CustomTabsSessionToken!, android.net.Uri!, android.os.Bundle!, java.util.List<android.os.Bundle>!);
145 method protected abstract boolean newSession(androidx.browser.customtabs.CustomTabsSessionToken!);
146 method public android.os.IBinder! onBind(android.content.Intent!);
147 method @androidx.browser.customtabs.CustomTabsService.Result protected abstract int postMessage(androidx.browser.customtabs.CustomTabsSessionToken!, String!, android.os.Bundle!);
148 method protected abstract boolean requestPostMessageChannel(androidx.browser.customtabs.CustomTabsSessionToken!, android.net.Uri!);
149 method protected abstract boolean updateVisuals(androidx.browser.customtabs.CustomTabsSessionToken!, android.os.Bundle!);
150 method protected abstract boolean validateRelationship(androidx.browser.customtabs.CustomTabsSessionToken!, @androidx.browser.customtabs.CustomTabsService.Relation int, android.net.Uri!, android.os.Bundle!);
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800151 method protected abstract boolean warmup(long);
Jeff Gastonc21caf92018-10-16 13:24:41 -0400152 field public static final String ACTION_CUSTOM_TABS_CONNECTION = "android.support.customtabs.action.CustomTabsService";
153 field public static final String KEY_URL = "android.support.customtabs.otherurls.URL";
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800154 field public static final int RELATION_HANDLE_ALL_URLS = 2; // 0x2
155 field public static final int RELATION_USE_AS_ORIGIN = 1; // 0x1
156 field public static final int RESULT_FAILURE_DISALLOWED = -1; // 0xffffffff
157 field public static final int RESULT_FAILURE_MESSAGING_ERROR = -3; // 0xfffffffd
158 field public static final int RESULT_FAILURE_REMOTE_ERROR = -2; // 0xfffffffe
159 field public static final int RESULT_SUCCESS = 0; // 0x0
160 }
161
Jeff Gastonc21caf92018-10-16 13:24:41 -0400162 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef({androidx.browser.customtabs.CustomTabsService.RELATION_USE_AS_ORIGIN, androidx.browser.customtabs.CustomTabsService.RELATION_HANDLE_ALL_URLS}) public static @interface CustomTabsService.Relation {
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800163 }
164
Jeff Gastonc21caf92018-10-16 13:24:41 -0400165 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef({androidx.browser.customtabs.CustomTabsService.RESULT_SUCCESS, androidx.browser.customtabs.CustomTabsService.RESULT_FAILURE_DISALLOWED, androidx.browser.customtabs.CustomTabsService.RESULT_FAILURE_REMOTE_ERROR, androidx.browser.customtabs.CustomTabsService.RESULT_FAILURE_MESSAGING_ERROR}) public static @interface CustomTabsService.Result {
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800166 }
167
168 public abstract class CustomTabsServiceConnection implements android.content.ServiceConnection {
169 ctor public CustomTabsServiceConnection();
Jeff Gastonc21caf92018-10-16 13:24:41 -0400170 method public abstract void onCustomTabsServiceConnected(android.content.ComponentName!, androidx.browser.customtabs.CustomTabsClient!);
171 method public final void onServiceConnected(android.content.ComponentName!, android.os.IBinder!);
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800172 }
173
174 public final class CustomTabsSession {
Jeff Gastonc21caf92018-10-16 13:24:41 -0400175 method @VisibleForTesting public static androidx.browser.customtabs.CustomTabsSession createMockSessionForTesting(android.content.ComponentName);
176 method public boolean mayLaunchUrl(android.net.Uri!, android.os.Bundle!, java.util.List<android.os.Bundle>!);
177 method @androidx.browser.customtabs.CustomTabsService.Result public int postMessage(String!, android.os.Bundle!);
178 method public boolean requestPostMessageChannel(android.net.Uri!);
179 method public boolean setActionButton(android.graphics.Bitmap, String);
180 method public boolean setSecondaryToolbarViews(android.widget.RemoteViews?, int[]?, android.app.PendingIntent?);
181 method @Deprecated public boolean setToolbarItem(int, android.graphics.Bitmap, String);
182 method public boolean validateRelationship(@androidx.browser.customtabs.CustomTabsService.Relation int, android.net.Uri, android.os.Bundle?);
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800183 }
184
185 public class CustomTabsSessionToken {
186 method public static androidx.browser.customtabs.CustomTabsSessionToken createMockSessionTokenForTesting();
Jeff Gastonc21caf92018-10-16 13:24:41 -0400187 method public androidx.browser.customtabs.CustomTabsCallback! getCallback();
188 method public static androidx.browser.customtabs.CustomTabsSessionToken! getSessionTokenFromIntent(android.content.Intent!);
189 method public boolean isAssociatedWith(androidx.browser.customtabs.CustomTabsSession!);
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800190 }
191
192 public class PostMessageService extends android.app.Service {
193 ctor public PostMessageService();
Jeff Gastonc21caf92018-10-16 13:24:41 -0400194 method public android.os.IBinder! onBind(android.content.Intent!);
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800195 }
196
197 public abstract class PostMessageServiceConnection implements android.content.ServiceConnection {
Jeff Gastonc21caf92018-10-16 13:24:41 -0400198 ctor public PostMessageServiceConnection(androidx.browser.customtabs.CustomTabsSessionToken!);
199 method public boolean bindSessionToPostMessageService(android.content.Context!, String!);
200 method public final boolean notifyMessageChannelReady(android.os.Bundle!);
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800201 method public void onPostMessageServiceConnected();
202 method public void onPostMessageServiceDisconnected();
Jeff Gastonc21caf92018-10-16 13:24:41 -0400203 method public final void onServiceConnected(android.content.ComponentName!, android.os.IBinder!);
204 method public final void onServiceDisconnected(android.content.ComponentName!);
205 method public final boolean postMessage(String!, android.os.Bundle!);
206 method public void unbindFromContext(android.content.Context!);
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800207 }
208
209 public class TrustedWebUtils {
210 method public static void launchAsTrustedWebActivity(android.content.Context, androidx.browser.customtabs.CustomTabsIntent, android.net.Uri);
Jeff Gastonc21caf92018-10-16 13:24:41 -0400211 field public static final String EXTRA_LAUNCH_AS_TRUSTED_WEB_ACTIVITY = "android.support.customtabs.extra.LAUNCH_AS_TRUSTED_WEB_ACTIVITY";
Aurimas Liutikas8db70742018-03-06 16:26:57 -0800212 }
213
214}
215