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

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 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.InterestsClickListener;
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, final Tab tab) {
174 InterestsPage page =
175 new InterestsPage(activity, tab, Profile.getLastUsedProfile(), a ctivity);
176 final Dialog dialog = new NativePageDialog(activity, page);
177
178 InterestsClickListener listener = new InterestsClickListener() {
179 @Override
180 public void onInterestClicked(String name) {
181 tab.loadUrl(new LoadUrlParams(
182 TemplateUrlService.getInstance().getUrlForSearchQuery(na me)));
183
184 dialog.dismiss();
newt (away) 2015/12/12 00:30:31 style nit: there's a few too many newlines here IM
PEConn 2015/12/14 17:05:16 Done.
185 }
186 };
187
188 page.setListener(listener);
189
190 dialog.show();
191 }
192
172 public static void launchRecentTabsDialog(Activity activity, Tab tab) { 193 public static void launchRecentTabsDialog(Activity activity, Tab tab) {
173 DocumentRecentTabsManager manager = new DocumentRecentTabsManager(tab, a ctivity); 194 DocumentRecentTabsManager manager = new DocumentRecentTabsManager(tab, a ctivity);
174 NativePage page = new RecentTabsPage(activity, manager); 195 NativePage page = new RecentTabsPage(activity, manager);
175 page.updateForUrl(UrlConstants.RECENT_TABS_URL); 196 page.updateForUrl(UrlConstants.RECENT_TABS_URL);
176 Dialog dialog = new NativePageDialog(activity, page); 197 Dialog dialog = new NativePageDialog(activity, page);
177 manager.setDialog(dialog); 198 manager.setDialog(dialog);
178 dialog.show(); 199 dialog.show();
179 } 200 }
180 201
181 @VisibleForTesting 202 @VisibleForTesting
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 if (mIsDestroyed) return; 329 if (mIsDestroyed) return;
309 RecordUserAction.record("MobileNTPSwitchToOpenTabs"); 330 RecordUserAction.record("MobileNTPSwitchToOpenTabs");
310 if (FeatureUtilities.isDocumentMode(mActivity)) { 331 if (FeatureUtilities.isDocumentMode(mActivity)) {
311 launchRecentTabsDialog(mActivity, mTab); 332 launchRecentTabsDialog(mActivity, mTab);
312 } else { 333 } else {
313 mTab.loadUrl(new LoadUrlParams(UrlConstants.RECENT_TABS_URL)); 334 mTab.loadUrl(new LoadUrlParams(UrlConstants.RECENT_TABS_URL));
314 } 335 }
315 } 336 }
316 337
317 @Override 338 @Override
339 public void navigateToInterests() {
340 if (mIsDestroyed) return;
341 RecordUserAction.record("MobileNTP.Interests.OpenDialog");
342 launchInterestsDialog(mActivity, mTab);
newt (away) 2015/12/12 00:30:31 what happens on tablets? A fullscreen dialog?
PEConn 2015/12/14 17:05:15 Yes, for the moment. As you suggested in Interests
343 }
344
345 @Override
318 public void focusSearchBox(boolean beginVoiceSearch, String pastedText) { 346 public void focusSearchBox(boolean beginVoiceSearch, String pastedText) {
319 if (mIsDestroyed) return; 347 if (mIsDestroyed) return;
320 if (mFakeboxDelegate != null) { 348 if (mFakeboxDelegate != null) {
321 if (beginVoiceSearch) { 349 if (beginVoiceSearch) {
322 mFakeboxDelegate.startVoiceRecognition(); 350 mFakeboxDelegate.startVoiceRecognition();
323 } else { 351 } else {
324 mFakeboxDelegate.requestUrlFocusFromFakebox(pastedText); 352 mFakeboxDelegate.requestUrlFocusFromFakebox(pastedText);
325 } 353 }
326 } 354 }
327 } 355 }
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 @Override 680 @Override
653 public void onBookmarkSelected(String url, String title, Bitmap favicon) { 681 public void onBookmarkSelected(String url, String title, Bitmap favicon) {
654 if (mDialog != null) mDialog.dismiss(); 682 if (mDialog != null) mDialog.dismiss();
655 mTab.loadUrl(new LoadUrlParams(url)); 683 mTab.loadUrl(new LoadUrlParams(url));
656 } 684 }
657 685
658 public void setDialog(Dialog dialog) { 686 public void setDialog(Dialog dialog) {
659 mDialog = dialog; 687 mDialog = dialog;
660 } 688 }
661 } 689 }
690
newt (away) 2015/12/12 00:30:31 remove this
PEConn 2015/12/14 17:05:16 Done.
662 } 691 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698