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.enhancedbookmarks; | 5 package org.chromium.chrome.browser.enhancedbookmarks; |
6 | 6 |
7 import android.app.Activity; | 7 import android.app.Activity; |
8 import android.app.ActivityManager; | 8 import android.app.ActivityManager; |
9 import android.content.Context; | 9 import android.content.Context; |
10 import android.preference.PreferenceManager; | 10 import android.preference.PreferenceManager; |
11 import android.support.v4.widget.DrawerLayout; | 11 import android.support.v4.widget.DrawerLayout; |
12 import android.text.TextUtils; | |
13 import android.util.Log; | 12 import android.util.Log; |
14 import android.view.Gravity; | 13 import android.view.Gravity; |
15 import android.view.View; | 14 import android.view.View; |
16 import android.view.ViewGroup; | 15 import android.view.ViewGroup; |
17 import android.widget.ViewSwitcher; | 16 import android.widget.ViewSwitcher; |
18 | 17 |
19 import org.chromium.base.ApplicationStatus; | 18 import org.chromium.base.ApplicationStatus; |
20 import org.chromium.base.ObserverList; | 19 import org.chromium.base.ObserverList; |
21 import org.chromium.base.metrics.RecordHistogram; | |
22 import org.chromium.chrome.R; | 20 import org.chromium.chrome.R; |
23 import org.chromium.chrome.browser.UrlConstants; | 21 import org.chromium.chrome.browser.UrlConstants; |
24 import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkItem; | 22 import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkItem; |
25 import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkModelObserve
r; | 23 import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkModelObserve
r; |
26 import org.chromium.chrome.browser.favicon.LargeIconBridge; | 24 import org.chromium.chrome.browser.favicon.LargeIconBridge; |
27 import org.chromium.chrome.browser.ntp.NewTabPageUma; | |
28 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; | 25 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; |
29 import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim; | 26 import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim; |
30 import org.chromium.chrome.browser.profiles.Profile; | 27 import org.chromium.chrome.browser.profiles.Profile; |
31 import org.chromium.chrome.browser.snackbar.SnackbarManager; | 28 import org.chromium.chrome.browser.snackbar.SnackbarManager; |
32 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable; | 29 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable; |
33 import org.chromium.components.bookmarks.BookmarkId; | 30 import org.chromium.components.bookmarks.BookmarkId; |
34 import org.chromium.ui.base.DeviceFormFactor; | 31 import org.chromium.ui.base.DeviceFormFactor; |
35 | 32 |
36 import java.io.UnsupportedEncodingException; | 33 import java.io.UnsupportedEncodingException; |
37 import java.net.URLDecoder; | 34 import java.net.URLDecoder; |
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 } | 424 } |
428 | 425 |
429 @Override | 426 @Override |
430 public DrawerLayout getDrawerLayout() { | 427 public DrawerLayout getDrawerLayout() { |
431 return mDrawer; | 428 return mDrawer; |
432 } | 429 } |
433 | 430 |
434 @Override | 431 @Override |
435 public void openBookmark(BookmarkId bookmark, int launchLocation) { | 432 public void openBookmark(BookmarkId bookmark, int launchLocation) { |
436 clearSelection(); | 433 clearSelection(); |
437 if (mEnhancedBookmarksModel.getBookmarkById(bookmark) != null) { | 434 if (EnhancedBookmarkUtils.openBookmark( |
438 String url = mEnhancedBookmarksModel.getLaunchUrlAndMarkAccessed(mAc
tivity, bookmark); | 435 mEnhancedBookmarksModel, mActivity, bookmark, launchLocation
)) { |
439 // TODO(jianli): Notify the user about the failure. | |
440 if (TextUtils.isEmpty(url)) return; | |
441 | |
442 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_BOOKMARK); | |
443 if (url.startsWith("file:")) { | |
444 RecordHistogram.recordEnumeratedHistogram("OfflinePages.LaunchLo
cation", | |
445 launchLocation, LaunchLocation.COUNT); | |
446 } else { | |
447 RecordHistogram.recordEnumeratedHistogram("Stars.LaunchLocation"
, launchLocation, | |
448 LaunchLocation.COUNT); | |
449 } | |
450 EnhancedBookmarkUtils.openBookmark(mActivity, url); | |
451 EnhancedBookmarkUtils.finishActivityOnPhone(mActivity); | 436 EnhancedBookmarkUtils.finishActivityOnPhone(mActivity); |
452 } | 437 } |
453 } | 438 } |
454 | 439 |
455 @Override | 440 @Override |
456 public void openSearchUI() { | 441 public void openSearchUI() { |
457 // Give search view focus, because it needs to handle back key event. | 442 // Give search view focus, because it needs to handle back key event. |
458 mViewSwitcher.showNext(); | 443 mViewSwitcher.showNext(); |
459 } | 444 } |
460 | 445 |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
616 } | 601 } |
617 | 602 |
618 @Override | 603 @Override |
619 public boolean equals(Object obj) { | 604 public boolean equals(Object obj) { |
620 if (!(obj instanceof UIState)) return false; | 605 if (!(obj instanceof UIState)) return false; |
621 UIState other = (UIState) obj; | 606 UIState other = (UIState) obj; |
622 return mState == other.mState && mUrl.equals(other.mUrl); | 607 return mState == other.mState && mUrl.equals(other.mUrl); |
623 } | 608 } |
624 } | 609 } |
625 } | 610 } |
OLD | NEW |