Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java |
| index 53362f0082ae47e69ef165910af02383ad21831a..0e392dd048fa7ed5e5371e96c717c5acd4bf321b 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java |
| @@ -1,24 +1,21 @@ |
| -// Copyright 2013 The Chromium Authors. All rights reserved. |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| package org.chromium.chrome.browser.suggestions; |
| import org.chromium.base.annotations.CalledByNative; |
| -import org.chromium.chrome.browser.ntp.MostVisitedTileType.MostVisitedTileTypeEnum; |
| -import org.chromium.chrome.browser.ntp.NTPTileSource.NTPTileSourceEnum; |
| -import org.chromium.chrome.browser.profiles.Profile; |
| +import org.chromium.chrome.browser.ntp.MostVisitedTileType; |
| +import org.chromium.chrome.browser.ntp.NTPTileSource; |
| /** |
| - * Methods to bridge into native history to provide most recent urls, titles and thumbnails. |
| + * Methods to provide most recent urls, titles and thumbnails. |
| */ |
| -public class MostVisitedSites { |
| - private long mNativeMostVisitedSitesBridge; |
| - |
| +interface MostVisitedSites { |
|
Michael van Ouwerkerk
2017/03/20 11:10:18
While you're extracting a new interface anyway, pl
dgn
2017/03/20 16:06:44
As discussed offline, I will do the renaming in a
|
| /** |
| * An interface for handling events in {@link MostVisitedSites}. |
| */ |
| - public interface Observer { |
| + interface Observer { |
| /** |
| * This is called when the list of most visited URLs is initially available or updated. |
| * Parameters guaranteed to be non-null. |
| @@ -46,22 +43,9 @@ void onMostVisitedURLsAvailable( |
| } |
| /** |
| - * MostVisitedSites constructor requires a valid user profile object. |
| - * |
| - * @param profile The profile for which to fetch most visited sites. |
| - */ |
| - public MostVisitedSites(Profile profile) { |
| - mNativeMostVisitedSitesBridge = nativeInit(profile); |
| - } |
| - |
| - /** |
| - * Cleans up the C++ side of this class. This instance must not be used after calling destroy(). |
| + * This instance must not be used after calling destroy(). |
| */ |
| - public void destroy() { |
| - assert mNativeMostVisitedSitesBridge != 0; |
| - nativeDestroy(mNativeMostVisitedSitesBridge); |
| - mNativeMostVisitedSitesBridge = 0; |
| - } |
| + void destroy(); |
| /** |
| * Sets the recipient for events from {@link MostVisitedSites}. The observer may be notified |
| @@ -69,40 +53,17 @@ public void destroy() { |
| * @param observer The observer to be notified. |
| * @param numSites The maximum number of sites to return. |
| */ |
| - public void setObserver(final Observer observer, int numSites) { |
| - Observer wrappedObserver = new Observer() { |
| - @Override |
| - public void onMostVisitedURLsAvailable( |
| - String[] titles, String[] urls, String[] whitelistIconPaths, int[] sources) { |
| - // Don't notify observer if we've already been destroyed. |
| - if (mNativeMostVisitedSitesBridge != 0) { |
| - observer.onMostVisitedURLsAvailable(titles, urls, whitelistIconPaths, sources); |
| - } |
| - } |
| - @Override |
| - public void onIconMadeAvailable(String siteUrl) { |
| - // Don't notify observer if we've already been destroyed. |
| - if (mNativeMostVisitedSitesBridge != 0) { |
| - observer.onIconMadeAvailable(siteUrl); |
| - } |
| - } |
| - }; |
| - nativeSetObserver(mNativeMostVisitedSitesBridge, wrappedObserver, numSites); |
| - } |
| + void setObserver(Observer observer, int numSites); |
| /** |
| * Blacklists a URL from the most visited URLs list. |
| */ |
| - public void addBlacklistedUrl(String url) { |
| - nativeAddOrRemoveBlacklistedUrl(mNativeMostVisitedSitesBridge, url, true); |
| - } |
| + void addBlacklistedUrl(String url); |
| /** |
| * Removes a URL from the most visited URLs blacklist. |
| */ |
| - public void removeBlacklistedUrl(String url) { |
| - nativeAddOrRemoveBlacklistedUrl(mNativeMostVisitedSitesBridge, url, false); |
| - } |
| + void removeBlacklistedUrl(String url); |
| /** |
| * Records metrics about an impression, including the sources (local, server, ...) and visual |
| @@ -113,9 +74,7 @@ public void removeBlacklistedUrl(String url) { |
| * that's currently showing. |
| * @param tileUrls An array of strings indicating the URL of each tile. |
| */ |
| - public void recordPageImpression(int[] tileTypes, int[] sources, String[] tileUrls) { |
| - nativeRecordPageImpression(mNativeMostVisitedSitesBridge, tileTypes, sources, tileUrls); |
| - } |
| + void recordPageImpression(int[] tileTypes, int[] sources, String[] tileUrls); |
| /** |
| * Records the opening of a Most Visited Item. |
| @@ -123,19 +82,7 @@ public void recordPageImpression(int[] tileTypes, int[] sources, String[] tileUr |
| * @param type The visual type of the item as defined in {@code MostVisitedTileType}. |
| * @param source The {@code NTPTileSource} that generated this item. |
| */ |
| - public void recordOpenedMostVisitedItem( |
| - int index, @MostVisitedTileTypeEnum int type, @NTPTileSourceEnum int source) { |
| - nativeRecordOpenedMostVisitedItem(mNativeMostVisitedSitesBridge, index, type, source); |
| - } |
| - |
| - private native long nativeInit(Profile profile); |
| - private native void nativeDestroy(long nativeMostVisitedSitesBridge); |
| - private native void nativeSetObserver( |
| - long nativeMostVisitedSitesBridge, Observer observer, int numSites); |
| - private native void nativeAddOrRemoveBlacklistedUrl( |
| - long nativeMostVisitedSitesBridge, String url, boolean addUrl); |
| - private native void nativeRecordPageImpression( |
| - long nativeMostVisitedSitesBridge, int[] tileTypes, int[] sources, String[] tileUrls); |
| - private native void nativeRecordOpenedMostVisitedItem( |
| - long nativeMostVisitedSitesBridge, int index, int tileType, int source); |
| + void recordOpenedMostVisitedItem(int index, |
| + @MostVisitedTileType.MostVisitedTileTypeEnum int type, |
| + @NTPTileSource.NTPTileSourceEnum int source); |
| } |