From 2508061c2a1bd825168f6126833ab734ce9ff5bc Mon Sep 17 00:00:00 2001 From: HissPirat Date: Fri, 31 Jul 2020 13:54:52 +0200 Subject: [PATCH] #2238 updated lifecycle of bookmark & history viewmodels --- .../kiwixmobile/main/KiwixMainActivity.kt | 4 +-- .../main/NavigationHostFragment.kt | 20 ++++++------- .../library/OnlineLibraryFragment.kt | 8 ++--- .../destination/reader/KiwixReaderFragment.kt | 10 +++---- ...sions.kt => FragmentActivityExtensions.kt} | 4 +-- .../core/extensions/FragmentExtensions.kt | 30 +++++++++++++++++++ .../kiwixmobile/core/main/CoreMainActivity.kt | 16 +++++----- .../core/main/CoreReaderFragment.java | 9 +++--- .../kiwixmobile/core/page/PageFragment.kt | 4 +-- .../core/page/bookmark/BookmarksFragment.kt | 4 +-- .../core/page/history/HistoryFragment.kt | 4 +-- .../custom/main/CustomReaderFragment.kt | 4 +-- 12 files changed, 72 insertions(+), 45 deletions(-) rename core/src/main/java/org/kiwix/kiwixmobile/core/base/{BaseFragmentActivityExtensions.kt => FragmentActivityExtensions.kt} (91%) create mode 100644 core/src/main/java/org/kiwix/kiwixmobile/core/extensions/FragmentExtensions.kt diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/KiwixMainActivity.kt b/app/src/main/java/org/kiwix/kiwixmobile/main/KiwixMainActivity.kt index ee6ae2170..aeb541b3e 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/KiwixMainActivity.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/KiwixMainActivity.kt @@ -34,7 +34,7 @@ import kotlinx.android.synthetic.main.activity_kiwix_main.drawer_nav_view import kotlinx.android.synthetic.main.activity_kiwix_main.navigation_container import kotlinx.android.synthetic.main.activity_kiwix_main.reader_drawer_nav_view import org.kiwix.kiwixmobile.R -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions import org.kiwix.kiwixmobile.core.di.components.CoreComponent import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.intent import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.start @@ -117,7 +117,7 @@ class KiwixMainActivity : CoreMainActivity() { override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) - supportFragmentManager.fragments.filterIsInstance().forEach { + supportFragmentManager.fragments.filterIsInstance().forEach { it.onNewIntent(intent, this) } } diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/NavigationHostFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/main/NavigationHostFragment.kt index 5cab2a669..cdc387c76 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/NavigationHostFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/NavigationHostFragment.kt @@ -23,14 +23,14 @@ import android.view.ActionMode import android.view.Menu import androidx.appcompat.app.AppCompatActivity import androidx.navigation.fragment.NavHostFragment -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super.ShouldCall -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super.ShouldNotCall +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super.ShouldCall +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super.ShouldNotCall import org.kiwix.kiwixmobile.core.main.KiwixWebView import org.kiwix.kiwixmobile.core.main.WebViewProvider -class NavigationHostFragment : NavHostFragment(), WebViewProvider, BaseFragmentActivityExtensions { +class NavigationHostFragment : NavHostFragment(), WebViewProvider, FragmentActivityExtensions { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) childFragmentManager.fragments.forEach { it.onActivityResult(requestCode, resultCode, data) } @@ -57,7 +57,7 @@ class NavigationHostFragment : NavHostFragment(), WebViewProvider, BaseFragmentA activity: AppCompatActivity ): Super { var result = ShouldCall - childFragmentManager.fragments.filterIsInstance().forEach { + childFragmentManager.fragments.filterIsInstance().forEach { if (it.onActionModeStarted(actionMode, activity) == ShouldNotCall) { result = ShouldNotCall } @@ -70,7 +70,7 @@ class NavigationHostFragment : NavHostFragment(), WebViewProvider, BaseFragmentA activity: AppCompatActivity ): Super { var result = ShouldCall - childFragmentManager.fragments.filterIsInstance().forEach { + childFragmentManager.fragments.filterIsInstance().forEach { if (it.onActionModeFinished(actionMode, activity) == ShouldNotCall) { result = ShouldNotCall } @@ -80,7 +80,7 @@ class NavigationHostFragment : NavHostFragment(), WebViewProvider, BaseFragmentA override fun onBackPressed(activity: AppCompatActivity): Super { var result = ShouldCall - childFragmentManager.fragments.filterIsInstance().forEach { + childFragmentManager.fragments.filterIsInstance().forEach { if (it.onBackPressed(activity) == ShouldNotCall) { result = ShouldNotCall } @@ -93,7 +93,7 @@ class NavigationHostFragment : NavHostFragment(), WebViewProvider, BaseFragmentA activity: AppCompatActivity ): Super { var result = ShouldCall - childFragmentManager.fragments.filterIsInstance().forEach { + childFragmentManager.fragments.filterIsInstance().forEach { if (it.onNewIntent(intent, activity) == ShouldNotCall) { result = ShouldNotCall } @@ -106,7 +106,7 @@ class NavigationHostFragment : NavHostFragment(), WebViewProvider, BaseFragmentA activity: AppCompatActivity ): Super { var result = ShouldCall - childFragmentManager.fragments.filterIsInstance().forEach { + childFragmentManager.fragments.filterIsInstance().forEach { if (it.onCreateOptionsMenu(menu, activity) == ShouldNotCall) { result = ShouldNotCall } diff --git a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/OnlineLibraryFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/OnlineLibraryFragment.kt index 9b8eed431..5dd128062 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/OnlineLibraryFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/OnlineLibraryFragment.kt @@ -30,7 +30,7 @@ import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.Toolbar import org.kiwix.kiwixmobile.R import org.kiwix.kiwixmobile.core.base.BaseActivity -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.start import org.kiwix.kiwixmobile.core.main.CoreMainActivity import org.kiwix.kiwixmobile.core.utils.SimpleTextListener @@ -38,7 +38,7 @@ import org.kiwix.kiwixmobile.kiwixActivityComponent import org.kiwix.kiwixmobile.language.LanguageActivity import org.kiwix.kiwixmobile.zim_manager.library_view.LibraryFragment -class OnlineLibraryFragment : LibraryFragment(), BaseFragmentActivityExtensions { +class OnlineLibraryFragment : LibraryFragment(), FragmentActivityExtensions { override fun inject(baseActivity: BaseActivity) { baseActivity.kiwixActivityComponent.inject(this) @@ -57,9 +57,9 @@ class OnlineLibraryFragment : LibraryFragment(), BaseFragmentActivityExtensions zimManageViewModel.requestFiltering.onNext("") } - override fun onBackPressed(activity: AppCompatActivity): BaseFragmentActivityExtensions.Super { + override fun onBackPressed(activity: AppCompatActivity): FragmentActivityExtensions.Super { getActivity()?.finish() - return BaseFragmentActivityExtensions.Super.ShouldNotCall + return FragmentActivityExtensions.Super.ShouldNotCall } override fun onOptionsItemSelected(item: MenuItem): Boolean { diff --git a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/reader/KiwixReaderFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/reader/KiwixReaderFragment.kt index 6c1ba3fe7..b7ee9fe8d 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/reader/KiwixReaderFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/reader/KiwixReaderFragment.kt @@ -40,9 +40,9 @@ import org.json.JSONArray import org.kiwix.kiwixmobile.R import org.kiwix.kiwixmobile.core.R.anim import org.kiwix.kiwixmobile.core.base.BaseActivity -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super.ShouldCall -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super.ShouldNotCall +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super.ShouldCall +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super.ShouldNotCall import org.kiwix.kiwixmobile.core.extensions.getAttribute import org.kiwix.kiwixmobile.core.extensions.setImageDrawableCompat import org.kiwix.kiwixmobile.core.extensions.snack @@ -82,9 +82,7 @@ class KiwixReaderFragment : CoreReaderFragment() { activity.supportActionBar!!.setDisplayHomeAsUpEnabled(true) activity.setupDrawerToggle(toolbar) setFragmentContainerBottomMarginToSizeOfNavBar() - if (arguments != null) { - openPageInBookFromNavigationArguments() - } + openPageInBookFromNavigationArguments() } private fun openPageInBookFromNavigationArguments() { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/base/BaseFragmentActivityExtensions.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/base/FragmentActivityExtensions.kt similarity index 91% rename from core/src/main/java/org/kiwix/kiwixmobile/core/base/BaseFragmentActivityExtensions.kt rename to core/src/main/java/org/kiwix/kiwixmobile/core/base/FragmentActivityExtensions.kt index 8e013a715..9abb5e0ef 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/base/BaseFragmentActivityExtensions.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/base/FragmentActivityExtensions.kt @@ -22,9 +22,9 @@ import android.content.Intent import android.view.ActionMode import android.view.Menu import androidx.appcompat.app.AppCompatActivity -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super.ShouldCall +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super.ShouldCall -interface BaseFragmentActivityExtensions { +interface FragmentActivityExtensions { enum class Super { ShouldCall, ShouldNotCall diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/FragmentExtensions.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/FragmentExtensions.kt new file mode 100644 index 000000000..3075bb0f2 --- /dev/null +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/FragmentExtensions.kt @@ -0,0 +1,30 @@ +/* + * Kiwix Android + * Copyright (c) 2020 Kiwix + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +package org.kiwix.kiwixmobile.core.extensions + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.ViewModelProviders + +inline fun Fragment.viewModel( + viewModelFactory: ViewModelProvider.Factory +) = + ViewModelProviders.of(this, viewModelFactory) + .get(T::class.java) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.kt index 21570077e..c02e68da4 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.kt @@ -29,7 +29,7 @@ import androidx.navigation.NavController import androidx.navigation.NavDirections import org.kiwix.kiwixmobile.core.R import org.kiwix.kiwixmobile.core.base.BaseActivity -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.start import org.kiwix.kiwixmobile.core.extensions.browserIntent import org.kiwix.kiwixmobile.core.help.HelpActivity @@ -65,21 +65,21 @@ abstract class CoreMainActivity : BaseActivity(), WebViewProvider { override fun onActionModeStarted(mode: ActionMode) { super.onActionModeStarted(mode) - activeFragments().filterIsInstance().forEach { + activeFragments().filterIsInstance().forEach { it.onActionModeStarted(mode, this) } } override fun onActionModeFinished(mode: ActionMode) { super.onActionModeFinished(mode) - activeFragments().filterIsInstance().forEach { + activeFragments().filterIsInstance().forEach { it.onActionModeFinished(mode, this) } } override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) - activeFragments().filterIsInstance().forEach { + activeFragments().filterIsInstance().forEach { it.onNewIntent(intent, this) } } @@ -120,11 +120,11 @@ abstract class CoreMainActivity : BaseActivity(), WebViewProvider { closeNavigationDrawer() return } - if (activeFragments().filterIsInstance().isEmpty()) { + if (activeFragments().filterIsInstance().isEmpty()) { return super.onBackPressed() } - activeFragments().filterIsInstance().forEach { - if (it.onBackPressed(this) == BaseFragmentActivityExtensions.Super.ShouldCall) { + activeFragments().filterIsInstance().forEach { + if (it.onBackPressed(this) == FragmentActivityExtensions.Super.ShouldCall) { super.onBackPressed() } } @@ -140,7 +140,7 @@ abstract class CoreMainActivity : BaseActivity(), WebViewProvider { navController.navigate(action) } - private fun navigate(fragmentId: Int) { + fun navigate(fragmentId: Int) { navController.navigate(fragmentId) } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.java b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.java index 30ac476ec..0c77e052d 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.java @@ -99,14 +99,13 @@ import org.kiwix.kiwixmobile.core.R; import org.kiwix.kiwixmobile.core.R2; import org.kiwix.kiwixmobile.core.StorageObserver; import org.kiwix.kiwixmobile.core.base.BaseFragment; -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions; +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions; import org.kiwix.kiwixmobile.core.dao.NewBookDao; import org.kiwix.kiwixmobile.core.dao.NewBookmarksDao; import org.kiwix.kiwixmobile.core.dao.entities.BookOnDiskEntity; import org.kiwix.kiwixmobile.core.extensions.ContextExtensionsKt; import org.kiwix.kiwixmobile.core.extensions.ViewExtensionsKt; import org.kiwix.kiwixmobile.core.extensions.ViewGroupExtensions; -import org.kiwix.kiwixmobile.core.page.bookmark.BookmarksFragment; import org.kiwix.kiwixmobile.core.page.bookmark.adapter.BookmarkItem; import org.kiwix.kiwixmobile.core.reader.ZimFileReader; import org.kiwix.kiwixmobile.core.reader.ZimReaderContainer; @@ -153,7 +152,7 @@ import static org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil.PREF_KIWIX_M public abstract class CoreReaderFragment extends BaseFragment implements WebViewCallback, - MainMenu.MenuClickListener, BaseFragmentActivityExtensions, WebViewProvider { + MainMenu.MenuClickListener, FragmentActivityExtensions, WebViewProvider { protected final List webViewList = new ArrayList<>(); private final BehaviorProcessor webUrlsProcessor = BehaviorProcessor.create(); @@ -1030,8 +1029,8 @@ public abstract class CoreReaderFragment extends BaseFragment @OnLongClick(R2.id.bottom_toolbar_bookmark) boolean goToBookmarks() { saveTabStates(); - Intent intentBookmarks = new Intent(getActivity(), BookmarksFragment.class); - startActivityForResult(intentBookmarks, BOOKMARK_CHOSEN_REQUEST); + CoreMainActivity parentActivity = (CoreMainActivity) requireActivity(); + parentActivity.navigate(parentActivity.getBookmarksFragmentResId()); return true; } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/PageFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/PageFragment.kt index 6d4979f2e..5fcd84f51 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/PageFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/PageFragment.kt @@ -41,7 +41,7 @@ import kotlinx.android.synthetic.main.fragment_page.recycler_view import kotlinx.android.synthetic.main.layout_toolbar.toolbar import org.kiwix.kiwixmobile.core.R import org.kiwix.kiwixmobile.core.base.BaseFragment -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions import org.kiwix.kiwixmobile.core.main.CoreMainActivity import org.kiwix.kiwixmobile.core.page.adapter.OnItemClickListener import org.kiwix.kiwixmobile.core.page.adapter.Page @@ -53,7 +53,7 @@ import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil import org.kiwix.kiwixmobile.core.utils.SimpleTextListener import javax.inject.Inject -abstract class PageFragment : OnItemClickListener, BaseFragment(), BaseFragmentActivityExtensions { +abstract class PageFragment : OnItemClickListener, BaseFragment(), FragmentActivityExtensions { abstract val pageViewModel: PageViewModel<*, *> @Inject lateinit var viewModelFactory: ViewModelProvider.Factory @Inject lateinit var sharedPreferenceUtil: SharedPreferenceUtil diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/BookmarksFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/BookmarksFragment.kt index fbb92bb9c..959b33b55 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/BookmarksFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/BookmarksFragment.kt @@ -3,7 +3,7 @@ package org.kiwix.kiwixmobile.core.page.bookmark import org.kiwix.kiwixmobile.core.R import org.kiwix.kiwixmobile.core.base.BaseActivity import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.coreActivityComponent -import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.viewModel +import org.kiwix.kiwixmobile.core.extensions.viewModel import org.kiwix.kiwixmobile.core.page.PageFragment import org.kiwix.kiwixmobile.core.page.adapter.PageAdapter import org.kiwix.kiwixmobile.core.page.adapter.PageDelegate.PageItemDelegate @@ -11,7 +11,7 @@ import org.kiwix.kiwixmobile.core.page.bookmark.viewmodel.BookmarkViewModel class BookmarksFragment : PageFragment() { override val pageViewModel by lazy { - requireActivity().viewModel( + viewModel( viewModelFactory ) } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/history/HistoryFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/history/HistoryFragment.kt index 5387a220b..ad53d1697 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/history/HistoryFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/history/HistoryFragment.kt @@ -3,7 +3,7 @@ package org.kiwix.kiwixmobile.core.page.history import org.kiwix.kiwixmobile.core.R import org.kiwix.kiwixmobile.core.base.BaseActivity import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.coreActivityComponent -import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.viewModel +import org.kiwix.kiwixmobile.core.extensions.viewModel import org.kiwix.kiwixmobile.core.page.PageFragment import org.kiwix.kiwixmobile.core.page.adapter.PageAdapter import org.kiwix.kiwixmobile.core.page.adapter.PageDelegate.HistoryDateDelegate @@ -14,7 +14,7 @@ const val USER_CLEARED_HISTORY: String = "user_cleared_history" class HistoryFragment : PageFragment() { override val pageViewModel by lazy { - requireActivity().viewModel( + viewModel( viewModelFactory ) } diff --git a/custom/src/main/java/org/kiwix/kiwixmobile/custom/main/CustomReaderFragment.kt b/custom/src/main/java/org/kiwix/kiwixmobile/custom/main/CustomReaderFragment.kt index 7e4198d28..16bbfa680 100644 --- a/custom/src/main/java/org/kiwix/kiwixmobile/custom/main/CustomReaderFragment.kt +++ b/custom/src/main/java/org/kiwix/kiwixmobile/custom/main/CustomReaderFragment.kt @@ -36,8 +36,8 @@ import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.drawerlayout.widget.DrawerLayout import org.kiwix.kiwixmobile.core.base.BaseActivity -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super -import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions.Super.ShouldCall +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super +import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super.ShouldCall import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.start import org.kiwix.kiwixmobile.core.main.CoreMainActivity import org.kiwix.kiwixmobile.core.main.CoreReaderFragment