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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.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.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.content.Context; 8 import android.content.Context;
9 import android.content.res.Resources; 9 import android.content.res.Resources;
10 import android.graphics.Bitmap; 10 import android.graphics.Bitmap;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 /** 112 /**
113 * Manages the view interaction with the rest of the system. 113 * Manages the view interaction with the rest of the system.
114 */ 114 */
115 public interface NewTabPageManager extends MostVisitedItemManager { 115 public interface NewTabPageManager extends MostVisitedItemManager {
116 /** @return Whether the location bar is shown in the NTP. */ 116 /** @return Whether the location bar is shown in the NTP. */
117 boolean isLocationBarShownInNTP(); 117 boolean isLocationBarShownInNTP();
118 118
119 /** @return Whether voice search is enabled and the microphone should be shown. */ 119 /** @return Whether voice search is enabled and the microphone should be shown. */
120 boolean isVoiceSearchEnabled(); 120 boolean isVoiceSearchEnabled();
121 121
122 /** @return Whether the NTP Interests tab is enabled and its button shou ld be shown. */
123 boolean isInterestsEnabled();
124
122 /** @return Whether the document mode opt out promo should be shown. */ 125 /** @return Whether the document mode opt out promo should be shown. */
123 boolean shouldShowOptOutPromo(); 126 boolean shouldShowOptOutPromo();
124 127
125 /** Called when the document mode opt out promo is shown. */ 128 /** Called when the document mode opt out promo is shown. */
126 void optOutPromoShown(); 129 void optOutPromoShown();
127 130
128 /** Called when the user clicks "settings" or "ok, got it" on the opt ou t promo. */ 131 /** Called when the user clicks "settings" or "ok, got it" on the opt ou t promo. */
129 void optOutPromoClicked(boolean settingsClicked); 132 void optOutPromoClicked(boolean settingsClicked);
130 133
131 /** Opens the bookmarks page in the current tab. */ 134 /** Opens the bookmarks page in the current tab. */
132 void navigateToBookmarks(); 135 void navigateToBookmarks();
133 136
134 /** Opens the recent tabs page in the current tab. */ 137 /** Opens the recent tabs page in the current tab. */
135 void navigateToRecentTabs(); 138 void navigateToRecentTabs();
136 139
137 /** Opens a given URL in the current tab. */ 140 /** Opens a given URL in the current tab. */
138 void open(String url); 141 void open(String url);
139 142
143 /** Opens the interests dialog. */
144 void navigateToInterests();
145
140 /** 146 /**
141 * Animates the search box up into the omnibox and bring up the keyboard . 147 * Animates the search box up into the omnibox and bring up the keyboard .
142 * @param beginVoiceSearch Whether to begin a voice search. 148 * @param beginVoiceSearch Whether to begin a voice search.
143 * @param pastedText Text to paste in the omnibox after it's been focuse d. May be null. 149 * @param pastedText Text to paste in the omnibox after it's been focuse d. May be null.
144 */ 150 */
145 void focusSearchBox(boolean beginVoiceSearch, String pastedText); 151 void focusSearchBox(boolean beginVoiceSearch, String pastedText);
146 152
147 /** 153 /**
148 * Gets the list of most visited sites. 154 * Gets the list of most visited sites.
149 * @param observer The observer to be notified with the list of sites. 155 * @param observer The observer to be notified with the list of sites.
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 public void onClick(View v) { 312 public void onClick(View v) {
307 mManager.navigateToRecentTabs(); 313 mManager.navigateToRecentTabs();
308 } 314 }
309 }); 315 });
310 toolbar.getBookmarksButton().setOnClickListener(new View.OnClickListener () { 316 toolbar.getBookmarksButton().setOnClickListener(new View.OnClickListener () {
311 @Override 317 @Override
312 public void onClick(View v) { 318 public void onClick(View v) {
313 mManager.navigateToBookmarks(); 319 mManager.navigateToBookmarks();
314 } 320 }
315 }); 321 });
322 toolbar.getInterestsButton().setOnClickListener(new View.OnClickListener () {
323 @Override
324 public void onClick(View v) {
325 mManager.navigateToInterests();
326 }
327 });
316 328
317 initializeSearchBoxScrollHandling(); 329 initializeSearchBoxScrollHandling();
318 addOnLayoutChangeListener(this); 330 addOnLayoutChangeListener(this);
319 setSearchProviderHasLogo(searchProviderHasLogo); 331 setSearchProviderHasLogo(searchProviderHasLogo);
320 332
321 mPendingLoadTasks++; 333 mPendingLoadTasks++;
322 mManager.setMostVisitedURLsObserver(this, 334 mManager.setMostVisitedURLsObserver(this,
323 mMostVisitedDesign.getNumberOfTiles(searchProviderHasLogo)); 335 mMostVisitedDesign.getNumberOfTiles(searchProviderHasLogo));
324 336
325 if (mManager.shouldShowOptOutPromo()) showOptOutPromo(); 337 if (mManager.shouldShowOptOutPromo()) showOptOutPromo();
(...skipping 14 matching lines...) Expand all
340 RecordUserAction.record("MobileNTP.Snippets.Scrolled"); 352 RecordUserAction.record("MobileNTP.Snippets.Scrolled");
341 if (mScrolledOnce) return; 353 if (mScrolledOnce) return;
342 mScrolledOnce = true; 354 mScrolledOnce = true;
343 RecordHistogram.recordEnumeratedHistogram( 355 RecordHistogram.recordEnumeratedHistogram(
344 SnippetsManager.SNIPPETS_STATE_HISTOGRAM, 356 SnippetsManager.SNIPPETS_STATE_HISTOGRAM,
345 SnippetsManager.SNIPPETS_SCROLLED, 357 SnippetsManager.SNIPPETS_SCROLLED,
346 SnippetsManager.NUM_SNIPPETS_ACTIONS); 358 SnippetsManager.NUM_SNIPPETS_ACTIONS);
347 } 359 }
348 }); 360 });
349 } 361 }
362
363 // Set up interests
364 if (manager.isInterestsEnabled()) {
365 toolbar.getInterestsButton().setVisibility(View.VISIBLE);
366 }
350 } 367 }
351 368
352 private int getTabsMovedIllustration() { 369 private int getTabsMovedIllustration() {
353 switch (Build.MANUFACTURER.toLowerCase(Locale.US)) { 370 switch (Build.MANUFACTURER.toLowerCase(Locale.US)) {
354 case "samsung": 371 case "samsung":
355 if (DocumentModeManager.isDeviceTabbedModeByDefault()) return 0; 372 if (DocumentModeManager.isDeviceTabbedModeByDefault()) return 0;
356 return R.drawable.tabs_moved_samsung; 373 return R.drawable.tabs_moved_samsung;
357 case "htc": 374 case "htc":
358 return R.drawable.tabs_moved_htc; 375 return R.drawable.tabs_moved_htc;
359 default: 376 default:
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
971 for (MostVisitedItem item : mMostVisitedItems) { 988 for (MostVisitedItem item : mMostVisitedItems) {
972 if (item.getUrl().equals(url)) { 989 if (item.getUrl().equals(url)) {
973 LargeIconCallback iconCallback = new LargeIconCallbackImpl(i tem, false); 990 LargeIconCallback iconCallback = new LargeIconCallbackImpl(i tem, false);
974 mManager.getLargeIconForUrl(url, mMinIconSize, iconCallback) ; 991 mManager.getLargeIconForUrl(url, mMinIconSize, iconCallback) ;
975 break; 992 break;
976 } 993 }
977 } 994 }
978 } 995 }
979 } 996 }
980 } 997 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698