| Index: chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
| index 162e346c6b09620d95174e451f0da0a6c09ad16b..e3a49c7d466e878b56a00d5b1898bb9e0e425c62 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
| @@ -4,6 +4,8 @@
|
|
|
| package org.chromium.chrome.browser.customtabs;
|
|
|
| +import android.app.PendingIntent;
|
| +import android.app.PendingIntent.CanceledException;
|
| import android.content.Intent;
|
| import android.graphics.Bitmap;
|
| import android.net.Uri;
|
| @@ -482,6 +484,7 @@ public class CustomTabActivity extends ChromeActivity {
|
| * Inflates the bottom bar {@link ViewStub} and its shadow, and populates it with items.
|
| */
|
| private void showBottomBarIfNecessary() {
|
| + // TODO (yusufo): Find a better place for the layout code here and in CustomButtonParams.
|
| // TODO (ianwen): if button icon is too wide, show them in overflow menu instead. If button
|
| // id is not specified, the overflow sequence should be toolbar -> bottom bar -> menu.
|
| if (!mIntentDataProvider.shouldShowBottomBar()) return;
|
| @@ -501,7 +504,24 @@ public class CustomTabActivity extends ChromeActivity {
|
| List<CustomButtonParams> items = mIntentDataProvider.getCustomButtonsOnBottombar();
|
| for (CustomButtonParams params : items) {
|
| if (params.showOnToolbar()) continue;
|
| - ImageButton button = params.buildBottomBarButton(this, bottomBar);
|
| + final PendingIntent pendingIntent = params.getPendingIntent();
|
| + OnClickListener clickListener = null;
|
| + if (pendingIntent != null) {
|
| + clickListener = new OnClickListener() {
|
| + @Override
|
| + public void onClick(View v) {
|
| + Intent addedIntent = new Intent();
|
| + addedIntent.setData(Uri.parse(getActivityTab().getUrl()));
|
| + try {
|
| + pendingIntent.send(CustomTabActivity.this, 0, addedIntent, null, null);
|
| + } catch (CanceledException e) {
|
| + Log.e(TAG,
|
| + "CanceledException while sending pending intent in custom tab");
|
| + }
|
| + }
|
| + };
|
| + }
|
| + ImageButton button = params.buildBottomBarButton(this, bottomBar, clickListener);
|
| bottomBar.addView(button);
|
| }
|
| }
|
|
|