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 9407586dd..2dcb640bd 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 @@ -83,7 +83,7 @@ class KiwixReaderFragment : CoreReaderFragment() { ) } activity.supportActionBar?.setDisplayHomeAsUpEnabled(true) - toolbar?.let(activity::setupDrawerToggle) + toolbar?.let { activity.setupDrawerToggle(it, true) } setFragmentContainerBottomMarginToSizeOfNavBar() openPageInBookFromNavigationArguments() } @@ -167,7 +167,7 @@ class KiwixReaderFragment : CoreReaderFragment() { override fun hideTabSwitcher() { actionBar?.let { actionBar -> actionBar.setDisplayShowTitleEnabled(true) - toolbar?.let { activity?.setupDrawerToggle(it) } + toolbar?.let { activity?.setupDrawerToggle(it, true) } setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zimManager/ZimManageViewModel.kt b/app/src/main/java/org/kiwix/kiwixmobile/zimManager/ZimManageViewModel.kt index 8b0cae71e..c31a939fd 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zimManager/ZimManageViewModel.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/zimManager/ZimManageViewModel.kt @@ -205,11 +205,15 @@ class ZimManageViewModel @Inject constructor( .callTimeout(CALL_TIMEOUT, SECONDS) .addNetworkInterceptor(UserAgentInterceptor(USER_AGENT)) .build() - client.newCall(headRequest).execute().use { response -> - if (response.isSuccessful) { - return@getContentLengthOfLibraryXmlFile response.header("content-length")?.toLongOrNull() - ?: DEFAULT_INT_VALUE.toLong() + try { + client.newCall(headRequest).execute().use { response -> + if (response.isSuccessful) { + return@getContentLengthOfLibraryXmlFile response.header("content-length")?.toLongOrNull() + ?: DEFAULT_INT_VALUE.toLong() + } } + } catch (ignore: Exception) { + // do nothing } return DEFAULT_INT_VALUE.toLong() } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/ActivityExtensions.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/ActivityExtensions.kt index 21b4bc64d..7d4f2515c 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/ActivityExtensions.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/ActivityExtensions.kt @@ -100,8 +100,8 @@ object ActivityExtensions { val Activity.cachedComponent: CoreActivityComponent get() = coreMainActivity.cachedComponent - fun Activity.setupDrawerToggle(toolbar: Toolbar) = - coreMainActivity.setupDrawerToggle(toolbar) + fun Activity.setupDrawerToggle(toolbar: Toolbar, shouldEnableRightDrawer: Boolean = false) = + coreMainActivity.setupDrawerToggle(toolbar, shouldEnableRightDrawer) fun Activity.navigate(fragmentId: Int) { coreMainActivity.navigate(fragmentId) 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 9b65ff19e..ed4affa78 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 @@ -220,7 +220,7 @@ abstract class CoreMainActivity : BaseActivity(), WebViewProvider { override fun onSupportNavigateUp(): Boolean = navController.navigateUp() || super.onSupportNavigateUp() - open fun setupDrawerToggle(toolbar: Toolbar) { + open fun setupDrawerToggle(toolbar: Toolbar, shouldEnableRightDrawer: Boolean = false) { // Set the initial contentDescription to the hamburger icon. // This method is called from various locations after modifying the navigationIcon. // For example, we previously changed this icon/contentDescription to the "+" button @@ -241,8 +241,10 @@ abstract class CoreMainActivity : BaseActivity(), WebViewProvider { it.syncState() } drawerContainerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED) - // Enable the right drawer - drawerContainerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END) + if (shouldEnableRightDrawer) { + // Enable the right drawer + drawerContainerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END) + } } open fun disableDrawer() { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt index 817923592..f71f909bb 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt @@ -893,7 +893,9 @@ abstract class CoreReaderFragment : * to verify proper functionality. */ open fun setUpDrawerToggle(toolbar: Toolbar) { - toolbar.let((requireActivity() as CoreMainActivity)::setupDrawerToggle) + toolbar.let { + (requireActivity() as CoreMainActivity).setupDrawerToggle(it, true) + } } /** diff --git a/custom/src/main/java/org/kiwix/kiwixmobile/custom/main/CustomMainActivity.kt b/custom/src/main/java/org/kiwix/kiwixmobile/custom/main/CustomMainActivity.kt index cf0797d59..bc3a2f1b5 100644 --- a/custom/src/main/java/org/kiwix/kiwixmobile/custom/main/CustomMainActivity.kt +++ b/custom/src/main/java/org/kiwix/kiwixmobile/custom/main/CustomMainActivity.kt @@ -98,8 +98,8 @@ class CustomMainActivity : CoreMainActivity() { } } - override fun setupDrawerToggle(toolbar: Toolbar) { - super.setupDrawerToggle(toolbar) + override fun setupDrawerToggle(toolbar: Toolbar, shouldEnableRightDrawer: Boolean) { + super.setupDrawerToggle(toolbar, shouldEnableRightDrawer) activityCustomMainBinding.drawerNavView.apply { /** * Hide the 'ZimHostFragment' option from the navigation menu