|
|
|
@ -3,15 +3,19 @@ package io.legado.app.ui.book.bookmark |
|
|
|
|
import android.os.Bundle |
|
|
|
|
import androidx.activity.viewModels |
|
|
|
|
import io.legado.app.base.VMBaseActivity |
|
|
|
|
import io.legado.app.data.entities.Bookmark |
|
|
|
|
import io.legado.app.databinding.ActivityAllBookmarkBinding |
|
|
|
|
import io.legado.app.utils.showDialogFragment |
|
|
|
|
import io.legado.app.utils.viewbindingdelegate.viewBinding |
|
|
|
|
|
|
|
|
|
class AllBookmarkActivity : VMBaseActivity<ActivityAllBookmarkBinding, AllBookmarkViewModel>() { |
|
|
|
|
class AllBookmarkActivity : VMBaseActivity<ActivityAllBookmarkBinding, AllBookmarkViewModel>(), |
|
|
|
|
BookmarkAdapter.Callback, |
|
|
|
|
BookmarkDialog.Callback { |
|
|
|
|
|
|
|
|
|
override val viewModel by viewModels<AllBookmarkViewModel>() |
|
|
|
|
override val binding by viewBinding(ActivityAllBookmarkBinding::inflate) |
|
|
|
|
private val adapter by lazy { |
|
|
|
|
BookmarkAdapter(this) |
|
|
|
|
BookmarkAdapter(this, this) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun onActivityCreated(savedInstanceState: Bundle?) { |
|
|
|
@ -26,5 +30,18 @@ class AllBookmarkActivity : VMBaseActivity<ActivityAllBookmarkBinding, AllBookma |
|
|
|
|
binding.recyclerView.adapter = adapter |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun onItemClick(bookmark: Bookmark, position: Int) { |
|
|
|
|
showDialogFragment(BookmarkDialog(bookmark, position)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun upBookmark(pos: Int, bookmark: Bookmark) { |
|
|
|
|
adapter.setItem(pos, bookmark) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun deleteBookmark(pos: Int) { |
|
|
|
|
adapter.getItem(pos)?.let { |
|
|
|
|
viewModel.deleteBookmark(it) |
|
|
|
|
} |
|
|
|
|
adapter.removeItem(pos) |
|
|
|
|
} |
|
|
|
|
} |