mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-22 03:54:18 -04:00
Merge pull request #1366 from kiwix/feature/macgills/#1359-delete-bookmark
#1359 Unable to remove Bookmark from bottom bar
This commit is contained in:
commit
0701c1aa7b
@ -5,9 +5,7 @@ import io.reactivex.Flowable;
|
||||
import io.reactivex.Single;
|
||||
import java.util.List;
|
||||
import org.kiwix.kiwixmobile.bookmark.BookmarkItem;
|
||||
import org.kiwix.kiwixmobile.data.local.entity.Bookmark;
|
||||
import org.kiwix.kiwixmobile.history.HistoryListItem;
|
||||
import org.kiwix.kiwixmobile.library.entity.LibraryNetworkEntity;
|
||||
import org.kiwix.kiwixmobile.zim_manager.Language;
|
||||
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BooksOnDiskListItem;
|
||||
|
||||
@ -40,7 +38,7 @@ public interface DataSource {
|
||||
|
||||
Completable deleteBookmarks(List<BookmarkItem> bookmarks);
|
||||
|
||||
Completable deleteBookmark(BookmarkItem bookmark);
|
||||
Completable deleteBookmark(String bookmarkUrl);
|
||||
|
||||
Flowable<List<BooksOnDiskListItem>> booksOnDiskAsListItems();
|
||||
}
|
||||
|
@ -109,8 +109,8 @@ class Repository @Inject internal constructor(
|
||||
Completable.fromAction { bookmarksDao.deleteBookmarks(bookmarks) }
|
||||
.subscribeOn(io)
|
||||
|
||||
override fun deleteBookmark(bookmark: BookmarkItem) =
|
||||
Completable.fromAction { bookmarksDao.deleteBookmark(bookmark) }
|
||||
override fun deleteBookmark(bookmarkUrl: String): Completable? =
|
||||
Completable.fromAction { bookmarksDao.deleteBookmark(bookmarkUrl) }
|
||||
.subscribeOn(io)
|
||||
|
||||
private fun <SUPERTYPE, ITEM : SUPERTYPE, HEADER : SUPERTYPE> foldOverAddingHeaders(
|
||||
|
@ -27,14 +27,12 @@ import javax.inject.Inject
|
||||
|
||||
class NewBookmarksDao @Inject constructor(val box: Box<BookmarkEntity>) {
|
||||
fun getBookmarks(fromCurrentBook: Boolean): List<BookmarkItem> {
|
||||
return box
|
||||
.query {
|
||||
if (fromCurrentBook) {
|
||||
equal(BookmarkEntity_.zimId, ZimContentProvider.getId() ?: "")
|
||||
}
|
||||
order(BookmarkEntity_.bookmarkTitle)
|
||||
return box.query {
|
||||
if (fromCurrentBook) {
|
||||
equal(BookmarkEntity_.zimId, ZimContentProvider.getId() ?: "")
|
||||
}
|
||||
.find()
|
||||
order(BookmarkEntity_.bookmarkTitle)
|
||||
}.find()
|
||||
.map(::BookmarkItem)
|
||||
}
|
||||
|
||||
@ -57,7 +55,9 @@ class NewBookmarksDao @Inject constructor(val box: Box<BookmarkEntity>) {
|
||||
box.remove(bookmarks.map(::BookmarkEntity))
|
||||
}
|
||||
|
||||
fun deleteBookmark(bookmark: BookmarkItem) {
|
||||
box.remove(BookmarkEntity(bookmark))
|
||||
fun deleteBookmark(bookmarkUrl: String) {
|
||||
box.query {
|
||||
equal(BookmarkEntity_.bookmarkUrl, bookmarkUrl)
|
||||
}.remove()
|
||||
}
|
||||
}
|
||||
|
@ -1360,17 +1360,15 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
|
||||
//Check maybe need refresh
|
||||
String articleUrl = getCurrentWebView().getUrl();
|
||||
boolean isBookmark = false;
|
||||
BookmarkItem bookmark =
|
||||
BookmarkItem.fromZimContentProvider(getCurrentWebView().getTitle(), articleUrl);
|
||||
if (articleUrl != null && !bookmarks.contains(articleUrl)) {
|
||||
if (ZimContentProvider.getId() != null) {
|
||||
presenter.saveBookmark(bookmark);
|
||||
presenter.saveBookmark( BookmarkItem.fromZimContentProvider(getCurrentWebView().getTitle(), articleUrl));
|
||||
} else {
|
||||
Toast.makeText(this, R.string.unable_to_add_to_bookmarks, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
isBookmark = true;
|
||||
} else if (articleUrl != null) {
|
||||
presenter.deleteBookmark(bookmark);
|
||||
presenter.deleteBookmark(articleUrl);
|
||||
isBookmark = false;
|
||||
}
|
||||
popBookmarkSnackbar(isBookmark);
|
||||
|
@ -29,6 +29,6 @@ class MainContract {
|
||||
|
||||
void saveBookmark(BookmarkItem bookmark);
|
||||
|
||||
void deleteBookmark(BookmarkItem bookmark);
|
||||
void deleteBookmark(String bookmarkUrl);
|
||||
}
|
||||
}
|
||||
|
@ -119,8 +119,8 @@ class MainPresenter extends BasePresenter<MainContract.View> implements MainCont
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteBookmark(BookmarkItem bookmark) {
|
||||
dataSource.deleteBookmark(bookmark)
|
||||
public void deleteBookmark(String bookmarkUrl) {
|
||||
dataSource.deleteBookmark(bookmarkUrl)
|
||||
.subscribe(new CompletableObserver() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user