396 lines
11 KiB
Java
396 lines
11 KiB
Java
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
package org.mozilla.gecko.db;
|
|
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
import java.util.EnumSet;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import org.json.JSONObject;
|
|
import org.mozilla.gecko.annotation.RobocopTarget;
|
|
import org.mozilla.gecko.distribution.Distribution;
|
|
import org.mozilla.gecko.favicons.decoders.LoadFaviconResult;
|
|
import org.mozilla.gecko.Tab;
|
|
|
|
import android.content.ContentProviderOperation;
|
|
import android.content.ContentResolver;
|
|
import android.content.ContentValues;
|
|
import android.content.Context;
|
|
import android.database.ContentObserver;
|
|
import android.database.Cursor;
|
|
import android.graphics.drawable.BitmapDrawable;
|
|
|
|
class StubReadingListAccessor implements ReadingListAccessor {
|
|
@Override
|
|
public Cursor getReadingList(ContentResolver cr) {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public int getCount(ContentResolver cr) {
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public Cursor getReadingListUnfetched(ContentResolver cr) {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public boolean isReadingListItem(ContentResolver cr, String uri) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public long addReadingListItem(ContentResolver cr, ContentValues values) {
|
|
return 0L;
|
|
}
|
|
|
|
@Override
|
|
public long addBasicReadingListItem(ContentResolver cr, String url, String title) {
|
|
return 0L;
|
|
}
|
|
|
|
@Override
|
|
public void updateReadingListItem(ContentResolver cr, ContentValues values) {
|
|
}
|
|
|
|
@Override
|
|
public void removeReadingListItemWithURL(ContentResolver cr, String uri) {
|
|
}
|
|
|
|
@Override
|
|
public void registerContentObserver(Context context, ContentObserver observer) {
|
|
}
|
|
|
|
@Override
|
|
public void markAsRead(ContentResolver cr, long itemID) {
|
|
}
|
|
|
|
@Override
|
|
public void markAsUnread(ContentResolver cr, long itemID) {
|
|
}
|
|
|
|
@Override
|
|
public void updateContent(ContentResolver cr, long itemID, String resolvedTitle, String resolvedURL, String excerpt) {
|
|
}
|
|
|
|
@Override
|
|
public void deleteItem(ContentResolver cr, long itemID) {
|
|
|
|
}
|
|
}
|
|
|
|
class StubSearches implements Searches {
|
|
public StubSearches() {
|
|
}
|
|
|
|
public void insert(ContentResolver cr, String query) {
|
|
}
|
|
}
|
|
|
|
class StubURLMetadata implements URLMetadata {
|
|
public StubURLMetadata() {
|
|
}
|
|
|
|
public Map<String, Object> fromJSON(JSONObject obj) {
|
|
return new HashMap<String, Object>();
|
|
}
|
|
|
|
public Map<String, Map<String, Object>> getForURLs(final ContentResolver cr,
|
|
final List<String> urls,
|
|
final List<String> columns) {
|
|
return new HashMap<String, Map<String, Object>>();
|
|
}
|
|
|
|
public void save(final ContentResolver cr, final String url, final Map<String, Object> data) {
|
|
}
|
|
}
|
|
|
|
class StubTabsAccessor implements TabsAccessor {
|
|
public StubTabsAccessor() {
|
|
}
|
|
|
|
@Override
|
|
public List<RemoteClient> getClientsWithoutTabsByRecencyFromCursor(Cursor cursor) {
|
|
return new ArrayList<>();
|
|
}
|
|
|
|
@Override
|
|
public List<RemoteClient> getClientsFromCursor(final Cursor cursor) {
|
|
return new ArrayList<RemoteClient>();
|
|
}
|
|
|
|
@Override
|
|
public Cursor getRemoteClientsByRecencyCursor(Context context) {
|
|
return null;
|
|
}
|
|
|
|
public Cursor getRemoteTabsCursor(Context context) {
|
|
return null;
|
|
}
|
|
|
|
public Cursor getRemoteTabsCursor(Context context, int limit) {
|
|
return null;
|
|
}
|
|
|
|
public void getTabs(final Context context, final OnQueryTabsCompleteListener listener) {
|
|
listener.onQueryTabsComplete(new ArrayList<RemoteClient>());
|
|
}
|
|
public void getTabs(final Context context, final int limit, final OnQueryTabsCompleteListener listener) {
|
|
listener.onQueryTabsComplete(new ArrayList<RemoteClient>());
|
|
}
|
|
|
|
public synchronized void persistLocalTabs(final ContentResolver cr, final Iterable<Tab> tabs) { }
|
|
}
|
|
|
|
/*
|
|
* This base implementation just stubs all methods. For the
|
|
* real implementations, see LocalBrowserDB.java.
|
|
*/
|
|
public class StubBrowserDB implements BrowserDB {
|
|
private final StubSearches searches = new StubSearches();
|
|
private final StubTabsAccessor tabsAccessor = new StubTabsAccessor();
|
|
private final StubURLMetadata urlMetadata = new StubURLMetadata();
|
|
private final StubReadingListAccessor readingListAccessor = new StubReadingListAccessor();
|
|
|
|
@Override
|
|
public Searches getSearches() {
|
|
return searches;
|
|
}
|
|
|
|
@Override
|
|
public TabsAccessor getTabsAccessor() {
|
|
return tabsAccessor;
|
|
}
|
|
|
|
@Override
|
|
public URLMetadata getURLMetadata() {
|
|
return urlMetadata;
|
|
}
|
|
|
|
@Override
|
|
public ReadingListAccessor getReadingListAccessor() {
|
|
return readingListAccessor;
|
|
}
|
|
|
|
protected static final Integer FAVICON_ID_NOT_FOUND = Integer.MIN_VALUE;
|
|
|
|
public StubBrowserDB(String profile) {
|
|
}
|
|
|
|
public void invalidate() { }
|
|
|
|
public int addDefaultBookmarks(Context context, ContentResolver cr, final int offset) {
|
|
return 0;
|
|
}
|
|
|
|
public int addDistributionBookmarks(ContentResolver cr, Distribution distribution, int offset) {
|
|
return 0;
|
|
}
|
|
|
|
public int getCount(ContentResolver cr, String database) {
|
|
return 0;
|
|
}
|
|
|
|
@RobocopTarget
|
|
public Cursor filter(ContentResolver cr, CharSequence constraint, int limit,
|
|
EnumSet<BrowserDB.FilterFlags> flags) {
|
|
return null;
|
|
}
|
|
|
|
public Cursor getTopSites(ContentResolver cr, int limit) {
|
|
return null;
|
|
}
|
|
|
|
public void updateVisitedHistory(ContentResolver cr, String uri) {
|
|
}
|
|
|
|
public void updateHistoryTitle(ContentResolver cr, String uri, String title) {
|
|
}
|
|
|
|
@RobocopTarget
|
|
public Cursor getAllVisitedHistory(ContentResolver cr) {
|
|
return null;
|
|
}
|
|
|
|
public Cursor getRecentHistory(ContentResolver cr, int limit) {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public Cursor getRecentHistoryBetweenTime(ContentResolver cr, int limit, long time, long end) {
|
|
return null;
|
|
}
|
|
|
|
public void expireHistory(ContentResolver cr, BrowserContract.ExpirePriority priority) {
|
|
}
|
|
|
|
@RobocopTarget
|
|
public void removeHistoryEntry(ContentResolver cr, String url) {
|
|
}
|
|
|
|
public void clearHistory(ContentResolver cr, boolean clearSearchHistory) {
|
|
}
|
|
|
|
@RobocopTarget
|
|
public Cursor getBookmarksInFolder(ContentResolver cr, long folderId) {
|
|
return null;
|
|
}
|
|
|
|
public Cursor getReadingList(ContentResolver cr) {
|
|
return null;
|
|
}
|
|
|
|
public Cursor getReadingListUnfetched(ContentResolver cr) {
|
|
return null;
|
|
}
|
|
|
|
@RobocopTarget
|
|
public boolean isBookmark(ContentResolver cr, String uri) {
|
|
return false;
|
|
}
|
|
|
|
public boolean isReadingListItem(ContentResolver cr, String uri) {
|
|
return false;
|
|
}
|
|
|
|
public String getUrlForKeyword(ContentResolver cr, String keyword) {
|
|
return null;
|
|
}
|
|
|
|
protected void bumpParents(ContentResolver cr, String param, String value) {
|
|
}
|
|
|
|
@RobocopTarget
|
|
public boolean addBookmark(ContentResolver cr, String title, String uri) {
|
|
return false;
|
|
}
|
|
|
|
@RobocopTarget
|
|
public void removeBookmarksWithURL(ContentResolver cr, String uri) {
|
|
}
|
|
|
|
public void addReadingListItem(ContentResolver cr, ContentValues values) {
|
|
}
|
|
|
|
public void updateReadingListItem(ContentResolver cr, ContentValues values) {
|
|
}
|
|
|
|
public void removeReadingListItemWithURL(ContentResolver cr, String uri) {
|
|
}
|
|
|
|
public void registerBookmarkObserver(ContentResolver cr, ContentObserver observer) {
|
|
}
|
|
|
|
@RobocopTarget
|
|
public void updateBookmark(ContentResolver cr, int id, String uri, String title, String keyword) {
|
|
}
|
|
|
|
public LoadFaviconResult getFaviconForUrl(ContentResolver cr, String faviconURL) {
|
|
return null;
|
|
}
|
|
|
|
public String getFaviconURLFromPageURL(ContentResolver cr, String uri) {
|
|
return null;
|
|
}
|
|
|
|
public void updateFaviconForUrl(ContentResolver cr, String pageUri,
|
|
byte[] encodedFavicon, String faviconUri) {
|
|
}
|
|
|
|
public boolean hideSuggestedSite(String url) {
|
|
return false;
|
|
}
|
|
|
|
public void updateThumbnailForUrl(ContentResolver cr, String uri,
|
|
BitmapDrawable thumbnail) {
|
|
}
|
|
|
|
@RobocopTarget
|
|
public byte[] getThumbnailForUrl(ContentResolver cr, String uri) {
|
|
return null;
|
|
}
|
|
|
|
public Cursor getThumbnailsForUrls(ContentResolver cr, List<String> urls) {
|
|
return null;
|
|
}
|
|
|
|
@RobocopTarget
|
|
public void removeThumbnails(ContentResolver cr) {
|
|
}
|
|
|
|
public void updateHistoryInBatch(ContentResolver cr,
|
|
Collection<ContentProviderOperation> operations,
|
|
String url, String title,
|
|
long date, int visits) {
|
|
}
|
|
|
|
public void updateBookmarkInBatch(ContentResolver cr,
|
|
Collection<ContentProviderOperation> operations,
|
|
String url, String title, String guid,
|
|
long parent, long added,
|
|
long modified, long position,
|
|
String keyword, int type) {
|
|
}
|
|
|
|
public void updateFaviconInBatch(ContentResolver cr,
|
|
Collection<ContentProviderOperation> operations,
|
|
String url, String faviconUrl,
|
|
String faviconGuid, byte[] data) {
|
|
}
|
|
|
|
public void pinSite(ContentResolver cr, String url, String title, int position) {
|
|
}
|
|
|
|
public Cursor getPinnedSites(ContentResolver cr, int limit) {
|
|
return null;
|
|
}
|
|
|
|
public void unpinSite(ContentResolver cr, int position) {
|
|
}
|
|
|
|
@RobocopTarget
|
|
public Cursor getBookmarkForUrl(ContentResolver cr, String url) {
|
|
return null;
|
|
}
|
|
|
|
public void setSuggestedSites(SuggestedSites suggestedSites) {
|
|
}
|
|
|
|
public boolean hasSuggestedImageUrl(String url) {
|
|
return false;
|
|
}
|
|
|
|
public String getSuggestedImageUrlForUrl(String url) {
|
|
return null;
|
|
}
|
|
|
|
public int getSuggestedBackgroundColorForUrl(String url) {
|
|
return 0;
|
|
}
|
|
|
|
public int getTrackingIdForUrl(String url) {
|
|
return 0;
|
|
}
|
|
|
|
public Cursor getTopSites(ContentResolver cr, int minLimit, int maxLimit) {
|
|
return null;
|
|
}
|
|
|
|
public static Factory getFactory() {
|
|
return new Factory() {
|
|
@Override
|
|
public BrowserDB get(String profileName, File profileDir) {
|
|
return new StubBrowserDB(profileName);
|
|
}
|
|
};
|
|
}
|
|
}
|