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.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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |