Bug 862796: LocalBrowser DB doesn't need reading list. [r=bnicholson]

This commit is contained in:
Sriram Ramasubramanian 2013-05-29 15:04:22 -07:00
Родитель 8bf649dc79
Коммит b1a357077c
1 изменённых файлов: 9 добавлений и 57 удалений

Просмотреть файл

@ -52,7 +52,6 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
// Use wrapped Boolean so that we can have a null state
private Boolean mDesktopBookmarksExist;
private Boolean mReadingListItemsExist;
private final Uri mBookmarksUriWithProfile;
private final Uri mParentsUriWithProfile;
@ -78,7 +77,6 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
mProfile = profile;
mFolderIdMap = new HashMap<String, Long>();
mDesktopBookmarksExist = null;
mReadingListItemsExist = null;
mBookmarksUriWithProfile = appendProfile(Bookmarks.CONTENT_URI);
mParentsUriWithProfile = appendProfile(Bookmarks.PARENTS_CONTENT_URI);
@ -100,7 +98,6 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
@Override
public void invalidateCachedState() {
mDesktopBookmarksExist = null;
mReadingListItemsExist = null;
}
private Uri historyUriWithLimit(int limit) {
@ -372,7 +369,6 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
public Cursor getBookmarksInFolder(ContentResolver cr, long folderId) {
Cursor c = null;
boolean addDesktopFolder = false;
boolean addReadingListFolder = false;
// We always want to show mobile bookmarks in the root view.
if (folderId == Bookmarks.FIXED_ROOT_ID) {
@ -381,10 +377,6 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
// We'll add a fake "Desktop Bookmarks" folder to the root view if desktop
// bookmarks exist, so that the user can still access non-mobile bookmarks.
addDesktopFolder = desktopBookmarksExist(cr);
// We'll add the Reading List folder to the root view if any reading
// list items exist.
addReadingListFolder = readingListItemsExist(cr);
}
if (folderId == Bookmarks.FAKE_DESKTOP_FOLDER_ID) {
@ -412,9 +404,9 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
null);
}
if (addDesktopFolder || addReadingListFolder) {
if (addDesktopFolder) {
// Wrap cursor to add fake desktop bookmarks and reading list folders
c = new SpecialFoldersCursorWrapper(c, addDesktopFolder, addReadingListFolder);
c = new SpecialFoldersCursorWrapper(c, addDesktopFolder);
}
return new LocalDBCursor(c);
@ -450,28 +442,6 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
return mDesktopBookmarksExist;
}
private boolean readingListItemsExist(ContentResolver cr) {
if (mReadingListItemsExist != null)
return mReadingListItemsExist;
Cursor c = null;
int count = 0;
try {
c = cr.query(bookmarksUriWithLimit(1),
new String[] { Bookmarks._ID },
Bookmarks.PARENT + " = ?",
new String[] { String.valueOf(Bookmarks.FIXED_READING_LIST_ID) },
null);
count = c.getCount();
} finally {
c.close();
}
// Cache result for future queries
mReadingListItemsExist = (count > 0);
return mReadingListItemsExist;
}
@Override
public boolean isBookmark(ContentResolver cr, String uri) {
// This method is about normal bookmarks, not the Reading List
@ -1023,12 +993,10 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
private int mIndexOffset;
private int mDesktopBookmarksIndex = -1;
private int mReadingListIndex = -1;
private boolean mAtDesktopBookmarksPosition = false;
private boolean mAtReadingListPosition = false;
public SpecialFoldersCursorWrapper(Cursor c, boolean showDesktopBookmarks, boolean showReadingList) {
public SpecialFoldersCursorWrapper(Cursor c, boolean showDesktopBookmarks) {
super(c);
mIndexOffset = 0;
@ -1037,11 +1005,6 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
mDesktopBookmarksIndex = mIndexOffset;
mIndexOffset++;
}
if (showReadingList) {
mReadingListIndex = mIndexOffset;
mIndexOffset++;
}
}
@Override
@ -1052,9 +1015,8 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
@Override
public boolean moveToPosition(int position) {
mAtDesktopBookmarksPosition = (mDesktopBookmarksIndex == position);
mAtReadingListPosition = (mReadingListIndex == position);
if (mAtDesktopBookmarksPosition || mAtReadingListPosition)
if (mAtDesktopBookmarksPosition)
return true;
return super.moveToPosition(position - mIndexOffset);
@ -1062,7 +1024,7 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
@Override
public long getLong(int columnIndex) {
if (!mAtDesktopBookmarksPosition && !mAtReadingListPosition)
if (!mAtDesktopBookmarksPosition)
return super.getLong(columnIndex);
if (columnIndex == getColumnIndex(Bookmarks.PARENT)) {
@ -1074,16 +1036,11 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
@Override
public int getInt(int columnIndex) {
if (!mAtDesktopBookmarksPosition && !mAtReadingListPosition)
if (!mAtDesktopBookmarksPosition)
return super.getInt(columnIndex);
if (columnIndex == getColumnIndex(Bookmarks._ID)) {
if (mAtDesktopBookmarksPosition) {
if (columnIndex == getColumnIndex(Bookmarks._ID) && mAtDesktopBookmarksPosition)
return Bookmarks.FAKE_DESKTOP_FOLDER_ID;
} else if (mAtReadingListPosition) {
return Bookmarks.FIXED_READING_LIST_ID;
}
}
if (columnIndex == getColumnIndex(Bookmarks.TYPE))
return Bookmarks.TYPE_FOLDER;
@ -1093,16 +1050,11 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
@Override
public String getString(int columnIndex) {
if (!mAtDesktopBookmarksPosition && !mAtReadingListPosition)
if (!mAtDesktopBookmarksPosition)
return super.getString(columnIndex);
if (columnIndex == getColumnIndex(Bookmarks.GUID)) {
if (mAtDesktopBookmarksPosition) {
if (columnIndex == getColumnIndex(Bookmarks.GUID) && mAtDesktopBookmarksPosition)
return Bookmarks.FAKE_DESKTOP_FOLDER_GUID;
} else if (mAtReadingListPosition) {
return Bookmarks.READING_LIST_FOLDER_GUID;
}
}
return "";
}