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(); |
+ } |
+ } |
} |