Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java

Issue 1459593002: Added a UI for the Interests Prototype. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.ntp; 5 package org.chromium.chrome.browser.ntp;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.app.Dialog; 8 import android.app.Dialog;
9 import android.content.Context; 9 import android.content.Context;
10 import android.graphics.Bitmap; 10 import android.graphics.Bitmap;
(...skipping 18 matching lines...) Expand all
29 import org.chromium.chrome.browser.compositor.layouts.content.InvalidationAwareT humbnailProvider; 29 import org.chromium.chrome.browser.compositor.layouts.content.InvalidationAwareT humbnailProvider;
30 import org.chromium.chrome.browser.document.DocumentMetricIds; 30 import org.chromium.chrome.browser.document.DocumentMetricIds;
31 import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkUtils; 31 import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkUtils;
32 import org.chromium.chrome.browser.favicon.FaviconHelper; 32 import org.chromium.chrome.browser.favicon.FaviconHelper;
33 import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; 33 import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback;
34 import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallbac k; 34 import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallbac k;
35 import org.chromium.chrome.browser.favicon.LargeIconBridge; 35 import org.chromium.chrome.browser.favicon.LargeIconBridge;
36 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; 36 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
37 import org.chromium.chrome.browser.metrics.StartupMetrics; 37 import org.chromium.chrome.browser.metrics.StartupMetrics;
38 import org.chromium.chrome.browser.ntp.BookmarksPage.BookmarkSelectedListener; 38 import org.chromium.chrome.browser.ntp.BookmarksPage.BookmarkSelectedListener;
39 import org.chromium.chrome.browser.ntp.InterestsPage.InterestsListener;
39 import org.chromium.chrome.browser.ntp.LogoBridge.Logo; 40 import org.chromium.chrome.browser.ntp.LogoBridge.Logo;
40 import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; 41 import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver;
41 import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; 42 import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
42 import org.chromium.chrome.browser.preferences.DocumentModeManager; 43 import org.chromium.chrome.browser.preferences.DocumentModeManager;
43 import org.chromium.chrome.browser.preferences.DocumentModePreference; 44 import org.chromium.chrome.browser.preferences.DocumentModePreference;
44 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 45 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
45 import org.chromium.chrome.browser.preferences.PreferencesLauncher; 46 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
46 import org.chromium.chrome.browser.profiles.MostVisitedSites; 47 import org.chromium.chrome.browser.profiles.MostVisitedSites;
47 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver; 48 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver;
48 import org.chromium.chrome.browser.profiles.MostVisitedSites.ThumbnailCallback; 49 import org.chromium.chrome.browser.profiles.MostVisitedSites.ThumbnailCallback;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 NativePage page = BookmarksPage.buildPageInDocumentMode( 163 NativePage page = BookmarksPage.buildPageInDocumentMode(
163 activity, tab, tabModelSelector, Profile.getLastUsedProfile( ), 164 activity, tab, tabModelSelector, Profile.getLastUsedProfile( ),
164 listener); 165 listener);
165 page.updateForUrl(UrlConstants.BOOKMARKS_URL); 166 page.updateForUrl(UrlConstants.BOOKMARKS_URL);
166 Dialog dialog = new NativePageDialog(activity, page); 167 Dialog dialog = new NativePageDialog(activity, page);
167 listener.setDialog(dialog); 168 listener.setDialog(dialog);
168 dialog.show(); 169 dialog.show();
169 } 170 }
170 } 171 }
171 172
173 public static void launchInterestsDialog(Activity activity, Tab tab) {
174 InterestsPage page =
175 new InterestsPage(activity, tab, Profile.getLastUsedProfile(), a ctivity);
176 Dialog dialog = new NativePageDialog(activity, page);
177
178 InterestDialogSelectedListener listener = new InterestDialogSelectedList ener(tab, dialog);
179 page.setListener(listener);
180
181 dialog.show();
182 }
183
172 public static void launchRecentTabsDialog(Activity activity, Tab tab) { 184 public static void launchRecentTabsDialog(Activity activity, Tab tab) {
173 DocumentRecentTabsManager manager = new DocumentRecentTabsManager(tab, a ctivity); 185 DocumentRecentTabsManager manager = new DocumentRecentTabsManager(tab, a ctivity);
174 NativePage page = new RecentTabsPage(activity, manager); 186 NativePage page = new RecentTabsPage(activity, manager);
175 page.updateForUrl(UrlConstants.RECENT_TABS_URL); 187 page.updateForUrl(UrlConstants.RECENT_TABS_URL);
176 Dialog dialog = new NativePageDialog(activity, page); 188 Dialog dialog = new NativePageDialog(activity, page);
177 manager.setDialog(dialog); 189 manager.setDialog(dialog);
178 dialog.show(); 190 dialog.show();
179 } 191 }
180 192
181 @VisibleForTesting 193 @VisibleForTesting
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 if (mIsDestroyed) return; 320 if (mIsDestroyed) return;
309 RecordUserAction.record("MobileNTPSwitchToOpenTabs"); 321 RecordUserAction.record("MobileNTPSwitchToOpenTabs");
310 if (FeatureUtilities.isDocumentMode(mActivity)) { 322 if (FeatureUtilities.isDocumentMode(mActivity)) {
311 launchRecentTabsDialog(mActivity, mTab); 323 launchRecentTabsDialog(mActivity, mTab);
312 } else { 324 } else {
313 mTab.loadUrl(new LoadUrlParams(UrlConstants.RECENT_TABS_URL)); 325 mTab.loadUrl(new LoadUrlParams(UrlConstants.RECENT_TABS_URL));
314 } 326 }
315 } 327 }
316 328
317 @Override 329 @Override
330 public void navigateToInterests() {
331 if (mIsDestroyed) return;
332 RecordUserAction.record("MobileNTPSwitchToInterests");
333 launchInterestsDialog(mActivity, mTab);
334 }
335
336 @Override
318 public void focusSearchBox(boolean beginVoiceSearch, String pastedText) { 337 public void focusSearchBox(boolean beginVoiceSearch, String pastedText) {
319 if (mIsDestroyed) return; 338 if (mIsDestroyed) return;
320 if (mFakeboxDelegate != null) { 339 if (mFakeboxDelegate != null) {
321 if (beginVoiceSearch) { 340 if (beginVoiceSearch) {
322 mFakeboxDelegate.startVoiceRecognition(); 341 mFakeboxDelegate.startVoiceRecognition();
323 } else { 342 } else {
324 mFakeboxDelegate.requestUrlFocusFromFakebox(pastedText); 343 mFakeboxDelegate.requestUrlFocusFromFakebox(pastedText);
325 } 344 }
326 } 345 }
327 } 346 }
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 @Override 671 @Override
653 public void onBookmarkSelected(String url, String title, Bitmap favicon) { 672 public void onBookmarkSelected(String url, String title, Bitmap favicon) {
654 if (mDialog != null) mDialog.dismiss(); 673 if (mDialog != null) mDialog.dismiss();
655 mTab.loadUrl(new LoadUrlParams(url)); 674 mTab.loadUrl(new LoadUrlParams(url));
656 } 675 }
657 676
658 public void setDialog(Dialog dialog) { 677 public void setDialog(Dialog dialog) {
659 mDialog = dialog; 678 mDialog = dialog;
660 } 679 }
661 } 680 }
681
682 private static class InterestDialogSelectedListener implements InterestsList ener {
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.
683
684 private Dialog mDialog;
685 private final Tab mTab;
686
687 public InterestDialogSelectedListener(Tab tab, Dialog dialog) {
688 mTab = tab;
689 mDialog = dialog;
690 }
691
692 @Override
693 public void onInterestClicked(String name) {
694 mTab.loadUrl(new LoadUrlParams(
695 TemplateUrlService.getInstance().getUrlForSearchQuery(name)) );
696
697 mDialog.dismiss();
698 }
699 }
662 } 700 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698