From 4c9d62304f9ebf08a49bd25c8d6cd9432f56f6c0 Mon Sep 17 00:00:00 2001 From: kunfei Date: Wed, 12 Feb 2020 21:36:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/base/BaseFragment.kt | 10 ++++++++++ .../io/legado/app/ui/chapterlist/BookmarkFragment.kt | 3 +-- .../legado/app/ui/chapterlist/ChapterListFragment.kt | 7 +++++-- .../legado/app/ui/main/bookshelf/BookshelfFragment.kt | 2 +- .../app/ui/main/bookshelf/books/BooksFragment.kt | 2 +- .../io/legado/app/ui/main/explore/ExploreFragment.kt | 2 +- .../main/java/io/legado/app/ui/main/my/MyFragment.kt | 2 +- .../main/java/io/legado/app/ui/main/rss/RssFragment.kt | 2 +- 8 files changed, 21 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/legado/app/base/BaseFragment.kt b/app/src/main/java/io/legado/app/base/BaseFragment.kt index d870939d0..c4b712349 100644 --- a/app/src/main/java/io/legado/app/base/BaseFragment.kt +++ b/app/src/main/java/io/legado/app/base/BaseFragment.kt @@ -32,6 +32,14 @@ abstract class BaseFragment(layoutID: Int) : Fragment(layoutID), return super.onCreateView(inflater, container, savedInstanceState) } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + onFragmentCreated(view, savedInstanceState) + observeLiveBus() + } + + abstract fun onFragmentCreated(view: View, savedInstanceState: Bundle?) + override fun onDestroy() { super.onDestroy() job.cancel() @@ -52,6 +60,8 @@ abstract class BaseFragment(layoutID: Int) : Fragment(layoutID), } } + open fun observeLiveBus() { + } open fun onCompatCreateOptionsMenu(menu: Menu) { } diff --git a/app/src/main/java/io/legado/app/ui/chapterlist/BookmarkFragment.kt b/app/src/main/java/io/legado/app/ui/chapterlist/BookmarkFragment.kt index 2febb43fb..76639dd99 100644 --- a/app/src/main/java/io/legado/app/ui/chapterlist/BookmarkFragment.kt +++ b/app/src/main/java/io/legado/app/ui/chapterlist/BookmarkFragment.kt @@ -28,8 +28,7 @@ class BookmarkFragment : VMBaseFragment(R.layout.fragment_ private lateinit var adapter: BookmarkAdapter private var bookmarkLiveData: LiveData>? = null - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { viewModel.bookMarkCallBack = this initRecyclerView() initData() diff --git a/app/src/main/java/io/legado/app/ui/chapterlist/ChapterListFragment.kt b/app/src/main/java/io/legado/app/ui/chapterlist/ChapterListFragment.kt index 610984b22..e2fbfb60f 100644 --- a/app/src/main/java/io/legado/app/ui/chapterlist/ChapterListFragment.kt +++ b/app/src/main/java/io/legado/app/ui/chapterlist/ChapterListFragment.kt @@ -35,8 +35,7 @@ class ChapterListFragment : VMBaseFragment(R.layout.fragme private lateinit var mLayoutManager: UpLinearLayoutManager private var tocLiveData: LiveData>? = null - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { viewModel.chapterCallBack = this initRecyclerView() initView() @@ -79,6 +78,10 @@ class ChapterListFragment : VMBaseFragment(R.layout.fragme } } + override fun observeLiveBus() { + super.observeLiveBus() + } + private fun initDoc() { tocLiveData?.removeObservers(this@ChapterListFragment) tocLiveData = App.db.bookChapterDao().observeByBook(viewModel.bookUrl) diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt index b8dc704b3..f5a6d4b2c 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt @@ -47,7 +47,7 @@ class BookshelfFragment : VMBaseFragment(R.layout.fragment_b private var bookGroupLiveData: LiveData>? = null private val bookGroups = mutableListOf() - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { setSupportToolbar(toolbar) initView() initBookGroupData() diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt index cc62f2cb1..7288b2207 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt @@ -49,7 +49,7 @@ class BooksFragment : BaseFragment(R.layout.fragment_books), private var position = 0 private var groupId = -1 - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { activityViewModel = getViewModelOfActivity(MainViewModel::class.java) arguments?.let { position = it.getInt("position", 0) diff --git a/app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt b/app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt index 3cdd759cf..de77f417c 100644 --- a/app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt @@ -39,7 +39,7 @@ class ExploreFragment : VMBaseFragment(R.layout.fragment_find_ private var liveExplore: LiveData>? = null private var groupsMenu: SubMenu? = null - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { setSupportToolbar(toolbar) initSearchView() initRecyclerView() diff --git a/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt b/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt index 1fbd92bbc..5259603f6 100644 --- a/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt @@ -30,7 +30,7 @@ import org.jetbrains.anko.startActivity class MyFragment : BaseFragment(R.layout.fragment_my_config), FileChooserDialog.CallBack { - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { setSupportToolbar(toolbar) val fragmentTag = "prefFragment" var preferenceFragment = childFragmentManager.findFragmentByTag(fragmentTag) diff --git a/app/src/main/java/io/legado/app/ui/main/rss/RssFragment.kt b/app/src/main/java/io/legado/app/ui/main/rss/RssFragment.kt index b0ad73f2e..b960041d8 100644 --- a/app/src/main/java/io/legado/app/ui/main/rss/RssFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/rss/RssFragment.kt @@ -25,7 +25,7 @@ class RssFragment : BaseFragment(R.layout.fragment_rss), private lateinit var adapter: RssAdapter - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { setSupportToolbar(toolbar) initRecyclerView() initData()