| Index: chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionService.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionService.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionService.java
|
| index fe9ba418dd98efd1345f88328f6fd80949e0b7e0..a6942d9e38acf6a62a501da6bb67dc2cda1c79f5 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionService.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionService.java
|
| @@ -4,17 +4,22 @@
|
|
|
| package org.chromium.chrome.browser.customtabs;
|
|
|
| -import android.app.Service;
|
| import android.content.Intent;
|
| +import android.net.Uri;
|
| +import android.os.Bundle;
|
| import android.os.IBinder;
|
| +import android.support.customtabs.CustomTabsService;
|
| +import android.support.customtabs.CustomTabsSessionToken;
|
|
|
| import org.chromium.chrome.browser.firstrun.FirstRunFlowSequencer;
|
| import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
|
|
|
| +import java.util.List;
|
| +
|
| /**
|
| * Custom tabs connection service, used by the embedded Chrome activities.
|
| */
|
| -public class CustomTabsConnectionService extends Service {
|
| +public class CustomTabsConnectionService extends CustomTabsService {
|
| @Override
|
| public void onCreate() {
|
| super.onCreate();
|
| @@ -27,12 +32,39 @@ public class CustomTabsConnectionService extends Service {
|
| if (firstRunNecessary) return null;
|
| if (!ChromePreferenceManager.getInstance(this).getCustomTabsEnabled()) return null;
|
|
|
| - return (IBinder) CustomTabsConnection.getInstance(getApplication());
|
| + return super.onBind(intent);
|
| }
|
|
|
| @Override
|
| public boolean onUnbind(Intent intent) {
|
| - super.onUnbind(intent);
|
| - return false; // No support for onRebind().
|
| + return super.onUnbind(intent);
|
| + }
|
| +
|
| + @Override
|
| + protected boolean warmup(long flags) {
|
| + return CustomTabsConnection.getInstance(getApplication()).warmup(flags);
|
| + }
|
| +
|
| + @Override
|
| + protected boolean newSession(CustomTabsSessionToken sessionToken) {
|
| + return CustomTabsConnection.getInstance(getApplication()).newSession(sessionToken);
|
| + }
|
| +
|
| + @Override
|
| + protected boolean mayLaunchUrl(CustomTabsSessionToken sessionToken, Uri url, Bundle extras,
|
| + List<Bundle> otherLikelyBundles) {
|
| + return CustomTabsConnection.getInstance(getApplication())
|
| + .mayLaunchUrl(sessionToken, url, extras, otherLikelyBundles);
|
| + }
|
| +
|
| + @Override
|
| + protected Bundle extraCommand(String commandName, Bundle args) {
|
| + return CustomTabsConnection.getInstance(getApplication()).extraCommand(commandName, args);
|
| + }
|
| +
|
| + @Override
|
| + protected boolean cleanUpSession(CustomTabsSessionToken sessionToken) {
|
| + CustomTabsConnection.getInstance(getApplication()).cleanupSession(sessionToken);
|
| + return super.cleanUpSession(sessionToken);
|
| }
|
| }
|
|
|