#2253 merge with history bookmarks 2238

This commit is contained in:
HissPirat 2020-08-05 15:18:12 +02:00
commit c43f1d69be
20 changed files with 98 additions and 91 deletions

View File

@ -31,13 +31,11 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.kiwix.kiwixmobile.core.R;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
import static com.schibsted.spain.barista.interaction.BaristaClickInteractions.clickOn;
import static org.kiwix.kiwixmobile.testutils.TestUtils.TEST_PAUSE_MS;
import static org.kiwix.kiwixmobile.testutils.TestUtils.getResourceString;
import static org.kiwix.kiwixmobile.utils.StandardActions.enterSettings;
import static org.kiwix.kiwixmobile.utils.StandardActions.openDrawer;
@LargeTest
@RunWith(AndroidJUnit4.class)
@ -64,10 +62,6 @@ public class MainActivityTest {
clickOn(R.string.menu_help);
}
private void openDrawer() {
onView(withContentDescription(R.string.open_drawer)).perform(click());
}
@Test
public void navigateSettings() {
BaristaSleepInteractions.sleep(TEST_PAUSE_MS);

View File

@ -23,7 +23,10 @@ import com.schibsted.spain.barista.interaction.BaristaSleepInteractions;
import org.kiwix.kiwixmobile.core.R;
import static androidx.test.espresso.Espresso.onData;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.action.ViewActions.longClick;
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static com.schibsted.spain.barista.interaction.BaristaDialogInteractions.clickDialogPositiveButton;
import static org.kiwix.kiwixmobile.testutils.TestUtils.TEST_PAUSE_MS;
@ -41,6 +44,10 @@ public class StandardActions {
BaristaMenuClickInteractions.clickMenu(getResourceString(R.string.menu_settings));
}
public static void openDrawer() {
onView(withContentDescription(R.string.open_drawer)).perform(click());
}
public static void deleteZimIfExists(String zimName, Integer adapterId) {
try {
onData(withContent(zimName)).inAdapterView(withId(adapterId)).perform(longClick());

View File

@ -40,14 +40,13 @@ import org.kiwix.kiwixmobile.core.di.components.CoreComponent
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.intent
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.start
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
import org.kiwix.kiwixmobile.core.main.PAGE_URL_KEY
import org.kiwix.kiwixmobile.core.main.ZIM_FILE_URI_KEY
import org.kiwix.kiwixmobile.core.utils.REQUEST_PREFERENCES
import org.kiwix.kiwixmobile.kiwixActivityComponent
import org.kiwix.kiwixmobile.settings.KiwixSettingsActivity
import org.kiwix.kiwixmobile.webserver.ZimHostActivity
const val PAGE_URL_KEY = "pageUrl"
const val ZIM_FILE_URI_KEY = "zimFileUri"
class KiwixMainActivity : CoreMainActivity() {
private var actionMode: ActionMode? = null
@ -100,11 +99,6 @@ class KiwixMainActivity : CoreMainActivity() {
actionMode = mode
}
override fun onSupportNavigateUp(): Boolean {
return navController.navigateUp() ||
super.onSupportNavigateUp()
}
override fun onBackPressed() {
if (readerDrawerIsOpen()) {
closeReaderDrawer()

View File

@ -25,7 +25,6 @@ import android.view.MenuInflater
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import kotlinx.android.synthetic.main.fragment_destination_library.go_to_downloads_button_no_files
import org.kiwix.kiwixmobile.R
@ -60,11 +59,6 @@ class LocalLibraryFragment : ZimFileSelectFragment() {
(baseActivity as KiwixMainActivity).cachedComponent.inject(this)
}
override fun onDestroyView() {
super.onDestroyView()
(activity as AppCompatActivity).setSupportActionBar(null)
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.menu_zim_manager, menu)
val searchItem = menu.findItem(R.id.action_search)
@ -88,7 +82,6 @@ class LocalLibraryFragment : ZimFileSelectFragment() {
): View? {
LanguageUtils(requireActivity())
.changeFont(requireActivity().layoutInflater, sharedPreferenceUtil)
setHasOptionsMenu(true)
val root = inflater.inflate(R.layout.fragment_destination_library, container, false)
val toolbar = root.findViewById<Toolbar>(R.id.toolbar)
val activity = activity as CoreMainActivity
@ -98,6 +91,7 @@ class LocalLibraryFragment : ZimFileSelectFragment() {
setTitle(R.string.library)
}
activity.setupDrawerToggle(toolbar)
setHasOptionsMenu(true)
return root
}

View File

@ -57,11 +57,6 @@ class OnlineLibraryFragment : LibraryFragment(), FragmentActivityExtensions {
zimManageViewModel.requestFiltering.onNext("")
}
override fun onDestroyView() {
super.onDestroyView()
(activity as AppCompatActivity).setSupportActionBar(null)
}
override fun onBackPressed(activity: AppCompatActivity): FragmentActivityExtensions.Super {
getActivity()?.finish()
return FragmentActivityExtensions.Super.ShouldNotCall

View File

@ -42,6 +42,7 @@ import org.kiwix.kiwixmobile.core.base.BaseActivity
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.ActivityExtensions.setupDrawerToggle
import org.kiwix.kiwixmobile.core.extensions.getAttribute
import org.kiwix.kiwixmobile.core.extensions.setImageDrawableCompat
import org.kiwix.kiwixmobile.core.extensions.snack
@ -69,8 +70,8 @@ class KiwixReaderFragment : CoreReaderFragment() {
(baseActivity as KiwixMainActivity).cachedComponent.inject(this)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val activity = activity as CoreMainActivity
noOpenBookButton.setOnClickListener {
@ -135,7 +136,7 @@ class KiwixReaderFragment : CoreReaderFragment() {
override fun hideTabSwitcher() {
if (actionBar != null) {
actionBar.setDisplayShowTitleEnabled(true)
(activity as CoreMainActivity).setupDrawerToggle(toolbar)
activity?.setupDrawerToggle(toolbar)
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
@ -258,11 +259,6 @@ class KiwixReaderFragment : CoreReaderFragment() {
)
}
override fun onDestroyView() {
super.onDestroyView()
(activity as AppCompatActivity).setSupportActionBar(null)
}
override fun openFullScreen() {
super.openFullScreen()
requireActivity().bottom_nav_view.visibility = GONE

View File

@ -20,12 +20,11 @@ package org.kiwix.kiwixmobile.zim_manager.fileselect_view.effects
import androidx.appcompat.app.AppCompatActivity
import org.kiwix.kiwixmobile.core.base.SideEffect
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.navigate
import org.kiwix.kiwixmobile.nav.destination.library.LocalLibraryFragmentDirections
object NavigateToDownloads : SideEffect<Unit> {
override fun invokeWith(activity: AppCompatActivity) {
(activity as CoreMainActivity)
.navigate(LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationDownloads())
activity.navigate(LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationDownloads())
}
}

View File

@ -22,8 +22,8 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.net.toUri
import org.kiwix.kiwixmobile.R
import org.kiwix.kiwixmobile.core.base.SideEffect
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.navigate
import org.kiwix.kiwixmobile.core.extensions.toast
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
import org.kiwix.kiwixmobile.core.zim_manager.fileselect_view.adapter.BooksOnDiskListItem
import org.kiwix.kiwixmobile.nav.destination.library.LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationReader
@ -35,7 +35,7 @@ data class OpenFileWithNavigation(private val bookOnDisk: BooksOnDiskListItem.Bo
if (!file.canRead()) {
activity.toast(R.string.error_file_not_found)
} else {
(activity as CoreMainActivity).navigate(
activity.navigate(
actionNavigationLibraryToNavigationReader().apply { zimFileUri = file.toUri().toString() }
)
}

View File

@ -20,15 +20,20 @@ package org.kiwix.kiwixmobile.core.extensions
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode
import androidx.appcompat.widget.Toolbar
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.ViewModelProviders
import androidx.navigation.NavDirections
import org.kiwix.kiwixmobile.core.CoreApp
import org.kiwix.kiwixmobile.core.di.components.CoreActivityComponent
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
object ActivityExtensions {
@ -75,6 +80,23 @@ object ActivityExtensions {
ViewModelProviders.of(this, viewModelFactory)
.get(T::class.java)
fun Activity.navigate(action: NavDirections) {
(this as CoreMainActivity).navigate(action)
}
fun Activity.cachedComponent(): CoreActivityComponent = (this as CoreMainActivity).cachedComponent
fun Activity.setupDrawerToggle(toolbar: Toolbar) =
(this as CoreMainActivity).setupDrawerToggle(toolbar)
fun Activity.navigate(fragmentId: Int) {
(this as CoreMainActivity).navigate(fragmentId)
}
fun Activity.navigate(fragmentId: Int, bundle: Bundle) {
(this as CoreMainActivity).navigate(fragmentId, bundle)
}
val Activity.coreActivityComponent
get() = CoreApp.coreComponent.activityComponentBuilder().activity(this).build()
}

View File

@ -25,6 +25,4 @@ import androidx.lifecycle.ViewModelProviders
inline fun <reified T : ViewModel> Fragment.viewModel(
viewModelFactory: ViewModelProvider.Factory
) =
ViewModelProviders.of(this, viewModelFactory)
.get(T::class.java)
) = ViewModelProviders.of(this, viewModelFactory).get(T::class.java)

View File

@ -20,6 +20,7 @@ package org.kiwix.kiwixmobile.core.main
import android.content.Intent
import android.os.Bundle
import android.view.ActionMode
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.ActionBarDrawerToggle
import androidx.appcompat.widget.Toolbar
@ -38,6 +39,8 @@ import org.kiwix.kiwixmobile.core.utils.ExternalLinkOpener
import javax.inject.Inject
const val KIWIX_SUPPORT_URL = "https://www.kiwix.org/support"
const val PAGE_URL_KEY = "pageUrl"
const val ZIM_FILE_URI_KEY = "zimFileUri"
abstract class CoreMainActivity : BaseActivity(), WebViewProvider {
@ -94,6 +97,9 @@ abstract class CoreMainActivity : BaseActivity(), WebViewProvider {
?.getCurrentWebView()
}
override fun onSupportNavigateUp(): Boolean =
navController.navigateUp() || super.onSupportNavigateUp()
open fun setupDrawerToggle(toolbar: Toolbar) {
drawerToggle =
ActionBarDrawerToggle(
@ -163,6 +169,20 @@ abstract class CoreMainActivity : BaseActivity(), WebViewProvider {
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
if (activeFragments().filterIsInstance<FragmentActivityExtensions>().isEmpty()) {
return super.onCreateOptionsMenu(menu)
}
var returnValue = true
activeFragments().filterIsInstance<FragmentActivityExtensions>().forEach {
if (it.onCreateOptionsMenu(menu, this) == FragmentActivityExtensions.Super.ShouldCall) {
returnValue = super.onCreateOptionsMenu(menu)
}
}
return returnValue
}
private fun activeFragments(): MutableList<Fragment> =
supportFragmentManager.fragments

View File

@ -282,15 +282,10 @@ public abstract class CoreReaderFragment extends BaseFragment
}
}
@SuppressLint("ClickableViewAccessibility") @Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
@SuppressLint("ClickableViewAccessibility")
@Override public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setHasOptionsMenu(true);
}
@SuppressLint("ClickableViewAccessibility")
@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
AppCompatActivity activity = (AppCompatActivity) getActivity();
new WebView(activity).destroy(); // Workaround for buggy webViews see #710
handleLocaleCheck();
@ -786,11 +781,9 @@ public abstract class CoreReaderFragment extends BaseFragment
@Override public void onDestroyView() {
super.onDestroyView();
safeDispose();
super.onDestroy();
tabCallback = null;
hideBackToTopTimer.cancel();
hideBackToTopTimer = null;
webViewList.clear();
// TODO create a base Activity class that class this.
FileUtils.deleteCachedFiles(getActivity());
tts.shutdown();
@ -811,7 +804,7 @@ public abstract class CoreReaderFragment extends BaseFragment
}
private KiwixWebView initalizeWebView(String url) {
AttributeSet attrs = StyleUtils.getAttributes(getActivity(), R.xml.webview);
AttributeSet attrs = StyleUtils.getAttributes(requireActivity(), R.xml.webview);
KiwixWebView webView = createWebView(attrs);
loadUrl(url, webView);
return webView;
@ -1601,7 +1594,7 @@ public abstract class CoreReaderFragment extends BaseFragment
@Override
public void webViewProgressChanged(int progress) {
if (checkNull(progressBar)) {
if (checkNull(progressBar) && isAdded()) {
progressBar.show();
progressBar.setProgress(progress);
if (progress == 100) {

View File

@ -90,6 +90,11 @@ abstract class PageFragment : OnItemClickListener, BaseFragment(), FragmentActiv
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setHasOptionsMenu(true)
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.menu_page, menu)
val search = menu.findItem(R.id.menu_page_search).actionView as SearchView
@ -97,7 +102,7 @@ abstract class PageFragment : OnItemClickListener, BaseFragment(), FragmentActiv
search.setOnQueryTextListener(SimpleTextListener {
pageViewModel.actions.offer(Action.Filter(it))
})
pageViewModel.state.observe(viewLifecycleOwner, Observer(::render))
super<BaseFragment>.onCreateOptionsMenu(menu, inflater)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
@ -110,18 +115,16 @@ abstract class PageFragment : OnItemClickListener, BaseFragment(), FragmentActiv
return super.onOptionsItemSelected(item)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val activity = requireActivity() as CoreMainActivity
recycler_view.layoutManager = LinearLayoutManager(activity, RecyclerView.VERTICAL, false)
recycler_view.adapter = pageAdapter
activity.setSupportActionBar(toolbar)
activity.supportActionBar?.apply {
setDisplayHomeAsUpEnabled(true)
title = title
}
recycler_view.layoutManager = LinearLayoutManager(activity, RecyclerView.VERTICAL, false)
recycler_view.adapter = pageAdapter
no_page.text = noItemsString
page_switch.text = switchString
@ -130,16 +133,14 @@ abstract class PageFragment : OnItemClickListener, BaseFragment(), FragmentActiv
page_switch.setOnCheckedChangeListener { _, isChecked ->
pageViewModel.actions.offer(Action.UserClickedShowAllToggle(isChecked))
}
pageViewModel.state.observe(viewLifecycleOwner, Observer(::render))
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
setHasOptionsMenu(true)
return inflater.inflate(R.layout.fragment_page, container, false)
}
): View? = inflater.inflate(R.layout.fragment_page, container, false)
override fun onDestroy() {
compositeDisposable.clear()

View File

@ -2,8 +2,8 @@ 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.viewModel
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
import org.kiwix.kiwixmobile.core.page.PageFragment
import org.kiwix.kiwixmobile.core.page.adapter.PageAdapter
import org.kiwix.kiwixmobile.core.page.adapter.PageDelegate.PageItemDelegate
@ -20,8 +20,9 @@ class BookmarksFragment : PageFragment() {
override val noItemsString: String by lazy { getString(R.string.no_bookmarks) }
override val switchString: String by lazy { getString(R.string.bookmarks_from_current_book) }
override val switchIsChecked: Boolean by lazy { sharedPreferenceUtil.showBookmarksAllBooks }
override fun inject(baseActivity: BaseActivity) {
(requireActivity() as CoreMainActivity).cachedComponent.inject(this)
baseActivity.coreActivityComponent.inject(this)
}
override val searchQueryHint: String by lazy { getString(R.string.search_bookmarks) }

View File

@ -35,11 +35,7 @@ class BookmarkViewModel @Inject constructor(
) : PageViewModel<BookmarkItem, BookmarkState>(bookmarksDao, sharedPrefs, zimReaderContainer) {
override fun initialState(): BookmarkState =
BookmarkState(
emptyList(),
sharedPreferenceUtil.showBookmarksAllBooks,
zimReaderContainer.id
)
BookmarkState(emptyList(), sharedPreferenceUtil.showBookmarksAllBooks, zimReaderContainer.id)
override fun updatePagesBasedOnFilter(
state: BookmarkState,

View File

@ -22,7 +22,7 @@ import androidx.appcompat.app.AppCompatActivity
import io.reactivex.processors.PublishProcessor
import org.kiwix.kiwixmobile.core.base.SideEffect
import org.kiwix.kiwixmobile.core.dao.PageDao
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.cachedComponent
import org.kiwix.kiwixmobile.core.page.bookmark.adapter.BookmarkItem
import org.kiwix.kiwixmobile.core.page.viewmodel.PageState
import org.kiwix.kiwixmobile.core.page.viewmodel.effects.DeletePageItems
@ -38,7 +38,7 @@ data class ShowDeleteBookmarksDialog(
) : SideEffect<Unit> {
@Inject lateinit var dialogShower: DialogShower
override fun invokeWith(activity: AppCompatActivity) {
(activity as CoreMainActivity).cachedComponent.inject(this)
activity.cachedComponent().inject(this)
dialogShower.show(if (state.isInSelectionState) DeleteSelectedBookmarks else DeleteAllBookmarks,
{ effects.offer(DeletePageItems(state, pageDao)) })
}

View File

@ -13,11 +13,7 @@ import org.kiwix.kiwixmobile.core.page.history.viewmodel.HistoryViewModel
const val USER_CLEARED_HISTORY: String = "user_cleared_history"
class HistoryFragment : PageFragment() {
override val pageViewModel by lazy {
viewModel<HistoryViewModel>(
viewModelFactory
)
}
override val pageViewModel by lazy { viewModel<HistoryViewModel>(viewModelFactory) }
override val pageAdapter by lazy {
PageAdapter(PageItemDelegate(this), HistoryDateDelegate())
@ -29,7 +25,7 @@ class HistoryFragment : PageFragment() {
override val switchIsChecked: Boolean by lazy { sharedPreferenceUtil.showHistoryAllBooks }
override fun inject(baseActivity: BaseActivity) {
requireActivity().coreActivityComponent.inject(this)
baseActivity.coreActivityComponent.inject(this)
}
override val searchQueryHint: String by lazy { getString(R.string.search_history) }

View File

@ -22,7 +22,7 @@ import androidx.appcompat.app.AppCompatActivity
import io.reactivex.processors.PublishProcessor
import org.kiwix.kiwixmobile.core.base.SideEffect
import org.kiwix.kiwixmobile.core.dao.PageDao
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.cachedComponent
import org.kiwix.kiwixmobile.core.page.history.viewmodel.HistoryState
import org.kiwix.kiwixmobile.core.page.viewmodel.effects.DeletePageItems
import org.kiwix.kiwixmobile.core.utils.DialogShower
@ -37,7 +37,7 @@ data class ShowDeleteHistoryDialog(
) : SideEffect<Unit> {
@Inject lateinit var dialogShower: DialogShower
override fun invokeWith(activity: AppCompatActivity) {
(activity as CoreMainActivity).cachedComponent.inject(this)
activity.cachedComponent().inject(this)
dialogShower.show(if (state.isInSelectionState) DeleteSelectedHistory else DeleteAllHistory, {
effects.offer(DeletePageItems(state, pageDao))
})

View File

@ -31,6 +31,7 @@ import kotlinx.android.synthetic.main.activity_main.drawer_nav_view
import org.kiwix.kiwixmobile.core.di.components.CoreComponent
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.intent
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
import org.kiwix.kiwixmobile.core.main.ZIM_FILE_URI_KEY
import org.kiwix.kiwixmobile.core.utils.REQUEST_PREFERENCES
import org.kiwix.kiwixmobile.custom.R
import org.kiwix.kiwixmobile.custom.customActivityComponent
@ -62,9 +63,6 @@ class CustomMainActivity : CoreMainActivity() {
}
}
override fun onSupportNavigateUp(): Boolean =
navController.navigateUp() || super.onSupportNavigateUp()
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (drawerToggle.isDrawerIndicatorEnabled) {
return drawerToggle.onOptionsItemSelected(item)
@ -87,7 +85,7 @@ class CustomMainActivity : CoreMainActivity() {
}
override fun openPage(pageUrl: String, zimFilePath: String) {
val bundle = bundleOf("pageUrl" to pageUrl, "zimFileUri" to zimFilePath)
val bundle = bundleOf(PAGE_URL_KEY to pageUrl, ZIM_FILE_URI_KEY to zimFilePath)
navigate(R.id.customReaderFragment, bundle)
}
}

View File

@ -30,6 +30,7 @@ import android.os.Bundle
import android.provider.Settings
import android.view.Menu
import android.view.MenuInflater
import android.view.View
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
@ -38,8 +39,8 @@ import androidx.drawerlayout.widget.DrawerLayout
import org.kiwix.kiwixmobile.core.base.BaseActivity
import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super
import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions.Super.ShouldCall
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.setupDrawerToggle
import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.start
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
import org.kiwix.kiwixmobile.core.main.CoreReaderFragment
import org.kiwix.kiwixmobile.core.main.MainMenu
import org.kiwix.kiwixmobile.core.reader.ZimFileReader.Companion.CONTENT_PREFIX
@ -64,8 +65,8 @@ class CustomReaderFragment : CoreReaderFragment() {
@Inject lateinit var customFileValidator: CustomFileValidator
@Inject lateinit var dialogShower: DialogShower
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
if (enforcedLanguage()) {
return
}
@ -79,8 +80,10 @@ class CustomReaderFragment : CoreReaderFragment() {
val toolbarToc = activity?.findViewById<ImageView>(R.id.bottom_toolbar_toc)
toolbarToc?.isEnabled = false
}
(activity as AppCompatActivity).supportActionBar!!.setDisplayHomeAsUpEnabled(true)
(activity as CoreMainActivity).setupDrawerToggle(toolbar)
with(activity as AppCompatActivity) {
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
setupDrawerToggle(toolbar)
}
}
private fun loadPageFromNavigationArguments() {