| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package android.support.customtabs; | 5 package android.support.customtabs; |
| 6 | 6 |
| 7 import android.app.Activity; | 7 import android.app.Activity; |
| 8 import android.app.ActivityOptions; | 8 import android.app.ActivityOptions; |
| 9 import android.app.PendingIntent; | 9 import android.app.PendingIntent; |
| 10 import android.content.Intent; | 10 import android.content.Intent; |
| 11 import android.graphics.Bitmap; | 11 import android.graphics.Bitmap; |
| 12 import android.graphics.Color; | 12 import android.graphics.Color; |
| 13 import android.net.Uri; | 13 import android.net.Uri; |
| 14 import android.os.Build; | 14 import android.os.Build; |
| 15 import android.os.Bundle; | 15 import android.os.Bundle; |
| 16 import android.os.IBinder; | 16 import android.os.IBinder; |
| 17 import android.widget.RemoteViews; |
| 17 | 18 |
| 18 import java.lang.reflect.InvocationTargetException; | 19 import java.lang.reflect.InvocationTargetException; |
| 19 import java.lang.reflect.Method; | 20 import java.lang.reflect.Method; |
| 20 import java.util.ArrayList; | 21 import java.util.ArrayList; |
| 21 | 22 |
| 22 /** | 23 /** |
| 23 * Constants and utilities that will be used for low level control on customizin
g the UI and | 24 * Constants and utilities that will be used for low level control on customizin
g the UI and |
| 24 * functionality of a tab. | 25 * functionality of a tab. |
| 25 */ | 26 */ |
| 26 public class CustomTabsIntent { | 27 public class CustomTabsIntent { |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 public static final int TOOLBAR_ACTION_BUTTON_ID = 0; | 156 public static final int TOOLBAR_ACTION_BUTTON_ID = 0; |
| 156 | 157 |
| 157 /** | 158 /** |
| 158 * Extra that changes the background color for the secondary toolbar. The va
lue should be an | 159 * Extra that changes the background color for the secondary toolbar. The va
lue should be an |
| 159 * int that specifies a {@link Color}, not a resource id. | 160 * int that specifies a {@link Color}, not a resource id. |
| 160 */ | 161 */ |
| 161 public static final String EXTRA_SECONDARY_TOOLBAR_COLOR = | 162 public static final String EXTRA_SECONDARY_TOOLBAR_COLOR = |
| 162 "android.support.customtabs.extra.SECONDARY_TOOLBAR_COLOR"; | 163 "android.support.customtabs.extra.SECONDARY_TOOLBAR_COLOR"; |
| 163 | 164 |
| 164 /** | 165 /** |
| 166 * Extra that specifies the {@link RemoteViews} showing on the secondary too
lbar. If this extra |
| 167 * is set, the other secondary toolbar configurations will be overriden. The
height of the |
| 168 * {@link RemoteViews} should not exceed 56dp. |
| 169 */ |
| 170 public static final String EXTRA_SECONDARY_TOOLBAR_REMOTEVIEWS = |
| 171 "android.support.customtabs.extra.EXTRA_SECONDARY_TOOLBAR_REMOTEVIEW
S"; |
| 172 |
| 173 /** |
| 165 * Convenience method to create a VIEW intent without a session for the give
n package. | 174 * Convenience method to create a VIEW intent without a session for the give
n package. |
| 166 * @param packageName The package name to set in the intent. | 175 * @param packageName The package name to set in the intent. |
| 167 * @param data The data {@link Uri} to be used in the intent. | 176 * @param data The data {@link Uri} to be used in the intent. |
| 168 * @return The intent with the given package, data and the right
session extra. | 177 * @return The intent with the given package, data and the right
session extra. |
| 169 */ | 178 */ |
| 170 public static Intent getViewIntentWithNoSession(String packageName, Uri data
) { | 179 public static Intent getViewIntentWithNoSession(String packageName, Uri data
) { |
| 171 Intent intent = new Intent(Intent.ACTION_VIEW, data); | 180 Intent intent = new Intent(Intent.ACTION_VIEW, data); |
| 172 intent.setPackage(packageName); | 181 intent.setPackage(packageName); |
| 173 Bundle extras = new Bundle(); | 182 Bundle extras = new Bundle(); |
| 174 if (!safePutBinder(extras, EXTRA_SESSION, null)) return null; | 183 if (!safePutBinder(extras, EXTRA_SESSION, null)) return null; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 193 Bundle.class.getMethod("putIBinder", String.class, IBind
er.class); | 202 Bundle.class.getMethod("putIBinder", String.class, IBind
er.class); |
| 194 putBinderMethod.invoke(bundle, key, binder); | 203 putBinderMethod.invoke(bundle, key, binder); |
| 195 } | 204 } |
| 196 } catch (InvocationTargetException | IllegalAccessException | IllegalArg
umentException | 205 } catch (InvocationTargetException | IllegalAccessException | IllegalArg
umentException |
| 197 | NoSuchMethodException e) { | 206 | NoSuchMethodException e) { |
| 198 return false; | 207 return false; |
| 199 } | 208 } |
| 200 return true; | 209 return true; |
| 201 } | 210 } |
| 202 } | 211 } |
| OLD | NEW |