Chromium Code Reviews| 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 2122168a29a5658c8104903d9f28c47e428f828b..acb4c8131d57de96f2f9e533125a075f57de0be2 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.InterestsListener; |
| import org.chromium.chrome.browser.ntp.LogoBridge.Logo; |
| import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; |
| import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; |
| @@ -169,6 +170,17 @@ public class NewTabPage |
| } |
| } |
| + public static void launchInterestsDialog(Activity activity, Tab tab) { |
| + InterestsPage page = |
| + new InterestsPage(activity, tab, Profile.getLastUsedProfile(), activity); |
| + Dialog dialog = new NativePageDialog(activity, page); |
| + |
| + InterestDialogSelectedListener listener = new InterestDialogSelectedListener(tab, dialog); |
| + 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); |
| @@ -315,6 +327,13 @@ public class NewTabPage |
| } |
| @Override |
| + public void navigateToInterests() { |
| + if (mIsDestroyed) return; |
| + RecordUserAction.record("MobileNTPSwitchToInterests"); |
| + launchInterestsDialog(mActivity, mTab); |
| + } |
| + |
| + @Override |
| public void focusSearchBox(boolean beginVoiceSearch, String pastedText) { |
| if (mIsDestroyed) return; |
| if (mFakeboxDelegate != null) { |
| @@ -659,4 +678,23 @@ public class NewTabPage |
| mDialog = dialog; |
| } |
| } |
| + |
| + private static class InterestDialogSelectedListener implements InterestsListener { |
|
Bernhard Bauer
2015/11/19 17:15:15
You could probably even make this an anonymous inn
PEConn
2015/11/20 11:23:41
Done.
|
| + |
| + private Dialog mDialog; |
| + private final Tab mTab; |
| + |
| + public InterestDialogSelectedListener(Tab tab, Dialog dialog) { |
| + mTab = tab; |
| + mDialog = dialog; |
| + } |
| + |
| + @Override |
| + public void onInterestClicked(String name) { |
| + mTab.loadUrl(new LoadUrlParams( |
| + TemplateUrlService.getInstance().getUrlForSearchQuery(name))); |
| + |
| + mDialog.dismiss(); |
| + } |
| + } |
| } |