| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| index 8539a53fe7f8bf835b61f1367598d5e3e8a1e30c..438c12242537156354b6ec66ebf8518933a545e8 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
| @@ -36,6 +36,7 @@ import org.chromium.chrome.browser.favicon.LargeIconBridge;
|
| import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
|
| import org.chromium.chrome.browser.metrics.StartupMetrics;
|
| import org.chromium.chrome.browser.ntp.BookmarksPage.BookmarkSelectedListener;
|
| +import org.chromium.chrome.browser.ntp.InterestsPage.InterestsClickListener;
|
| import org.chromium.chrome.browser.ntp.LogoBridge.Logo;
|
| import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver;
|
| import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
|
| @@ -57,6 +58,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
| import org.chromium.chrome.browser.util.FeatureUtilities;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| import org.chromium.net.NetworkChangeNotifier;
|
| +import org.chromium.sync.signin.ChromeSigninController;
|
| import org.chromium.ui.base.DeviceFormFactor;
|
| import org.chromium.ui.base.PageTransition;
|
|
|
| @@ -177,6 +179,24 @@ public class NewTabPage
|
| }
|
| }
|
|
|
| + public static void launchInterestsDialog(Activity activity, final Tab tab) {
|
| + InterestsPage page =
|
| + new InterestsPage(activity, tab, Profile.getLastUsedProfile());
|
| + final Dialog dialog = new NativePageDialog(activity, page);
|
| +
|
| + InterestsClickListener listener = new InterestsClickListener() {
|
| + @Override
|
| + public void onInterestClicked(String name) {
|
| + tab.loadUrl(new LoadUrlParams(
|
| + TemplateUrlService.getInstance().getUrlForSearchQuery(name)));
|
| + dialog.dismiss();
|
| + }
|
| + };
|
| +
|
| + page.setListener(listener);
|
| + dialog.show();
|
| + }
|
| +
|
| public static void launchRecentTabsDialog(Activity activity, Tab tab) {
|
| DocumentRecentTabsManager manager = new DocumentRecentTabsManager(tab, activity);
|
| NativePage page = new RecentTabsPage(activity, manager);
|
| @@ -205,6 +225,11 @@ public class NewTabPage
|
| return mFakeboxDelegate != null && mFakeboxDelegate.isVoiceSearchEnabled();
|
| }
|
|
|
| + @Override
|
| + public boolean isUserSignedIn() {
|
| + return ChromeSigninController.get(mActivity).isSignedIn();
|
| + }
|
| +
|
| private void recordOpenedMostVisitedItem(MostVisitedItem item) {
|
| if (mIsDestroyed) return;
|
| NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_MOST_VISITED_ENTRY);
|
| @@ -323,6 +348,14 @@ public class NewTabPage
|
| }
|
|
|
| @Override
|
| + public void navigateToInterests() {
|
| + if (mIsDestroyed) return;
|
| + RecordUserAction.record("MobileNTP.Interests.OpenDialog");
|
| + // TODO(peconn): Make this load a native page on tablets.
|
| + launchInterestsDialog(mActivity, mTab);
|
| + }
|
| +
|
| + @Override
|
| public void focusSearchBox(boolean beginVoiceSearch, String pastedText) {
|
| if (mIsDestroyed) return;
|
| if (mFakeboxDelegate != null) {
|
|
|