Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 111 /** | 111 /** |
| 112 * Manages the view interaction with the rest of the system. | 112 * Manages the view interaction with the rest of the system. |
| 113 */ | 113 */ |
| 114 public interface NewTabPageManager extends MostVisitedItemManager { | 114 public interface NewTabPageManager extends MostVisitedItemManager { |
| 115 /** @return Whether the location bar is shown in the NTP. */ | 115 /** @return Whether the location bar is shown in the NTP. */ |
| 116 boolean isLocationBarShownInNTP(); | 116 boolean isLocationBarShownInNTP(); |
| 117 | 117 |
| 118 /** @return Whether voice search is enabled and the microphone should be shown. */ | 118 /** @return Whether voice search is enabled and the microphone should be shown. */ |
| 119 boolean isVoiceSearchEnabled(); | 119 boolean isVoiceSearchEnabled(); |
| 120 | 120 |
| 121 /** @return Whether the user is signed in. */ | |
| 122 boolean isUserSignedIn(); | |
| 123 | |
| 121 /** @return Whether the document mode opt out promo should be shown. */ | 124 /** @return Whether the document mode opt out promo should be shown. */ |
| 122 boolean shouldShowOptOutPromo(); | 125 boolean shouldShowOptOutPromo(); |
| 123 | 126 |
| 124 /** Called when the document mode opt out promo is shown. */ | 127 /** Called when the document mode opt out promo is shown. */ |
| 125 void optOutPromoShown(); | 128 void optOutPromoShown(); |
| 126 | 129 |
| 127 /** Called when the user clicks "settings" or "ok, got it" on the opt ou t promo. */ | 130 /** Called when the user clicks "settings" or "ok, got it" on the opt ou t promo. */ |
| 128 void optOutPromoClicked(boolean settingsClicked); | 131 void optOutPromoClicked(boolean settingsClicked); |
| 129 | 132 |
| 130 /** Opens the bookmarks page in the current tab. */ | 133 /** Opens the bookmarks page in the current tab. */ |
| 131 void navigateToBookmarks(); | 134 void navigateToBookmarks(); |
| 132 | 135 |
| 133 /** Opens the recent tabs page in the current tab. */ | 136 /** Opens the recent tabs page in the current tab. */ |
| 134 void navigateToRecentTabs(); | 137 void navigateToRecentTabs(); |
| 135 | 138 |
| 136 /** Opens a given URL in the current tab. */ | 139 /** Opens a given URL in the current tab. */ |
| 137 void open(String url); | 140 void open(String url); |
| 138 | 141 |
| 142 /** Opens the interests dialog. */ | |
| 143 void navigateToInterests(); | |
| 144 | |
| 139 /** | 145 /** |
| 140 * Animates the search box up into the omnibox and bring up the keyboard . | 146 * Animates the search box up into the omnibox and bring up the keyboard . |
| 141 * @param beginVoiceSearch Whether to begin a voice search. | 147 * @param beginVoiceSearch Whether to begin a voice search. |
| 142 * @param pastedText Text to paste in the omnibox after it's been focuse d. May be null. | 148 * @param pastedText Text to paste in the omnibox after it's been focuse d. May be null. |
| 143 */ | 149 */ |
| 144 void focusSearchBox(boolean beginVoiceSearch, String pastedText); | 150 void focusSearchBox(boolean beginVoiceSearch, String pastedText); |
| 145 | 151 |
| 146 /** | 152 /** |
| 147 * Gets the list of most visited sites. | 153 * Gets the list of most visited sites. |
| 148 * @param observer The observer to be notified with the list of sites. | 154 * @param observer The observer to be notified with the list of sites. |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 299 public void onClick(View v) { | 305 public void onClick(View v) { |
| 300 mManager.navigateToRecentTabs(); | 306 mManager.navigateToRecentTabs(); |
| 301 } | 307 } |
| 302 }); | 308 }); |
| 303 toolbar.getBookmarksButton().setOnClickListener(new View.OnClickListener () { | 309 toolbar.getBookmarksButton().setOnClickListener(new View.OnClickListener () { |
| 304 @Override | 310 @Override |
| 305 public void onClick(View v) { | 311 public void onClick(View v) { |
| 306 mManager.navigateToBookmarks(); | 312 mManager.navigateToBookmarks(); |
| 307 } | 313 } |
| 308 }); | 314 }); |
| 315 toolbar.getInterestsButton().setOnClickListener(new View.OnClickListener () { | |
| 316 @Override | |
| 317 public void onClick(View v) { | |
| 318 mManager.navigateToInterests(); | |
| 319 } | |
| 320 }); | |
| 309 | 321 |
| 310 initializeSearchBoxScrollHandling(); | 322 initializeSearchBoxScrollHandling(); |
| 311 addOnLayoutChangeListener(this); | 323 addOnLayoutChangeListener(this); |
| 312 setSearchProviderHasLogo(searchProviderHasLogo); | 324 setSearchProviderHasLogo(searchProviderHasLogo); |
| 313 | 325 |
| 314 mPendingLoadTasks++; | 326 mPendingLoadTasks++; |
| 315 mManager.setMostVisitedURLsObserver(this, | 327 mManager.setMostVisitedURLsObserver(this, |
| 316 mMostVisitedDesign.getNumberOfTiles(searchProviderHasLogo)); | 328 mMostVisitedDesign.getNumberOfTiles(searchProviderHasLogo)); |
| 317 | 329 |
| 318 if (mManager.shouldShowOptOutPromo()) showOptOutPromo(); | 330 if (mManager.shouldShowOptOutPromo()) showOptOutPromo(); |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 333 RecordUserAction.record("MobileNTP.Snippets.Scrolled"); | 345 RecordUserAction.record("MobileNTP.Snippets.Scrolled"); |
| 334 if (mScrolledOnce) return; | 346 if (mScrolledOnce) return; |
| 335 mScrolledOnce = true; | 347 mScrolledOnce = true; |
| 336 RecordHistogram.recordEnumeratedHistogram( | 348 RecordHistogram.recordEnumeratedHistogram( |
| 337 SnippetsManager.SNIPPETS_STATE_HISTOGRAM, | 349 SnippetsManager.SNIPPETS_STATE_HISTOGRAM, |
| 338 SnippetsManager.SNIPPETS_SCROLLED, | 350 SnippetsManager.SNIPPETS_SCROLLED, |
| 339 SnippetsManager.NUM_SNIPPETS_ACTIONS); | 351 SnippetsManager.NUM_SNIPPETS_ACTIONS); |
| 340 } | 352 } |
| 341 }); | 353 }); |
| 342 } | 354 } |
| 355 | |
| 356 // Set up interests | |
| 357 // TODO(peconn): If the user is not signed in, show Interests button tha t leads to sign-in. | |
| 358 if (CommandLine.getInstance().hasSwitch(ChromeSwitches.ENABLE_NTP_INTERE STS) | |
|
newt (away)
2015/12/14 21:18:39
Better: add a method isInterestsEnabled() in NewTa
PEConn
2015/12/15 11:50:15
Done.
| |
| 359 && manager.isUserSignedIn()) { | |
| 360 toolbar.getInterestsButton().setVisibility(View.VISIBLE); | |
| 361 } | |
| 343 } | 362 } |
| 344 | 363 |
| 345 private int getTabsMovedIllustration() { | 364 private int getTabsMovedIllustration() { |
| 346 switch (Build.MANUFACTURER.toLowerCase(Locale.US)) { | 365 switch (Build.MANUFACTURER.toLowerCase(Locale.US)) { |
| 347 case "samsung": | 366 case "samsung": |
| 348 if (DocumentModeManager.isDeviceTabbedModeByDefault()) return 0; | 367 if (DocumentModeManager.isDeviceTabbedModeByDefault()) return 0; |
| 349 return R.drawable.tabs_moved_samsung; | 368 return R.drawable.tabs_moved_samsung; |
| 350 case "htc": | 369 case "htc": |
| 351 return R.drawable.tabs_moved_htc; | 370 return R.drawable.tabs_moved_htc; |
| 352 default: | 371 default: |
| (...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 962 for (MostVisitedItem item : mMostVisitedItems) { | 981 for (MostVisitedItem item : mMostVisitedItems) { |
| 963 if (item.getUrl().equals(url)) { | 982 if (item.getUrl().equals(url)) { |
| 964 LargeIconCallback iconCallback = new LargeIconCallbackImpl(i tem, false); | 983 LargeIconCallback iconCallback = new LargeIconCallbackImpl(i tem, false); |
| 965 mManager.getLargeIconForUrl(url, mMinIconSize, iconCallback) ; | 984 mManager.getLargeIconForUrl(url, mMinIconSize, iconCallback) ; |
| 966 break; | 985 break; |
| 967 } | 986 } |
| 968 } | 987 } |
| 969 } | 988 } |
| 970 } | 989 } |
| 971 } | 990 } |
| OLD | NEW |