#2159 moved navigation to extension function

This commit is contained in:
HissPirat 2020-06-30 14:24:05 +02:00
parent 3b630c6b43
commit 8b1d6ba0f0
6 changed files with 17 additions and 23 deletions

View File

@ -18,6 +18,8 @@
package org.kiwix.kiwixmobile package org.kiwix.kiwixmobile
import androidx.navigation.NavDirections
import androidx.navigation.findNavController
import org.kiwix.kiwixmobile.core.base.BaseActivity import org.kiwix.kiwixmobile.core.base.BaseActivity
import org.kiwix.kiwixmobile.di.components.KiwixComponent import org.kiwix.kiwixmobile.di.components.KiwixComponent
@ -31,6 +33,9 @@ private val BaseActivity.kiwixComponent: KiwixComponent
private fun BaseActivity.kiwixApp() = applicationContext as? KiwixApp ?: application as? KiwixApp private fun BaseActivity.kiwixApp() = applicationContext as? KiwixApp ?: application as? KiwixApp
fun BaseActivity.navigate(action: NavDirections) =
findNavController(R.id.nav_host_fragment).navigate(action)
internal inline val BaseActivity.kiwixActivityComponent internal inline val BaseActivity.kiwixActivityComponent
get() = kiwixComponent get() = kiwixComponent
.activityComponentBuilder() .activityComponentBuilder()

View File

@ -26,7 +26,7 @@ import androidx.navigation.NavController
import androidx.navigation.findNavController import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupWithNavController import androidx.navigation.ui.setupWithNavController
import com.google.android.material.bottomnavigation.BottomNavigationView import kotlinx.android.synthetic.main.activity_new_navigation.nav_view
import org.kiwix.kiwixmobile.R import org.kiwix.kiwixmobile.R
import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions import org.kiwix.kiwixmobile.core.base.BaseFragmentActivityExtensions
import org.kiwix.kiwixmobile.core.di.components.CoreComponent import org.kiwix.kiwixmobile.core.di.components.CoreComponent
@ -50,12 +50,11 @@ class KiwixNewNavigationActivity : CoreMainActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_new_navigation) setContentView(R.layout.activity_new_navigation)
val navView: BottomNavigationView = findViewById(R.id.nav_view)
navController = findNavController(R.id.nav_host_fragment) navController = findNavController(R.id.nav_host_fragment)
navController.addOnDestinationChangedListener(finishActionModeOnDestinationChange) navController.addOnDestinationChangedListener(finishActionModeOnDestinationChange)
appBarConfiguration = AppBarConfiguration(navController.graph) appBarConfiguration = AppBarConfiguration(navController.graph)
navView.setupWithNavController(navController) nav_view.setupWithNavController(navController)
} }
override fun onSupportActionModeStarted(mode: ActionMode) { override fun onSupportActionModeStarted(mode: ActionMode) {

View File

@ -22,11 +22,9 @@ import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.LayoutInflater
import android.view.Menu import android.view.Menu
import android.view.MenuInflater import android.view.MenuInflater
import android.view.View import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.net.toFile import androidx.core.net.toFile
import androidx.core.net.toUri import androidx.core.net.toUri
@ -75,14 +73,9 @@ class ReaderFragment : CoreReaderFragment() {
} }
} }
override fun onCreateView( override fun onActivityCreated(savedInstanceState: Bundle?) {
inflater: LayoutInflater, super.onActivityCreated(savedInstanceState)
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val view = super.onCreateView(inflater, container, savedInstanceState)
manageExternalLaunchAndRestoringViewState() manageExternalLaunchAndRestoringViewState()
return view
} }
override fun onCreateOptionsMenu(menu: Menu, menuInflater: MenuInflater) { override fun onCreateOptionsMenu(menu: Menu, menuInflater: MenuInflater) {

View File

@ -19,14 +19,14 @@
package org.kiwix.kiwixmobile.zim_manager.fileselect_view.effects package org.kiwix.kiwixmobile.zim_manager.fileselect_view.effects
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.findNavController import org.kiwix.kiwixmobile.core.base.BaseActivity
import org.kiwix.kiwixmobile.R
import org.kiwix.kiwixmobile.core.base.SideEffect import org.kiwix.kiwixmobile.core.base.SideEffect
import org.kiwix.kiwixmobile.nav.destination.library.LocalLibraryFragmentDirections import org.kiwix.kiwixmobile.nav.destination.library.LocalLibraryFragmentDirections
import org.kiwix.kiwixmobile.navigate
object NavigateToDownloads : SideEffect<Unit> { object NavigateToDownloads : SideEffect<Unit> {
override fun invokeWith(activity: AppCompatActivity) { override fun invokeWith(activity: AppCompatActivity) {
activity.findNavController(R.id.nav_host_fragment) (activity as BaseActivity)
.navigate(LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationDownloads()) .navigate(LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationDownloads())
} }
} }

View File

@ -20,12 +20,13 @@ package org.kiwix.kiwixmobile.zim_manager.fileselect_view.effects
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.net.toUri import androidx.core.net.toUri
import androidx.navigation.findNavController
import org.kiwix.kiwixmobile.R import org.kiwix.kiwixmobile.R
import org.kiwix.kiwixmobile.core.base.BaseActivity
import org.kiwix.kiwixmobile.core.base.SideEffect import org.kiwix.kiwixmobile.core.base.SideEffect
import org.kiwix.kiwixmobile.core.extensions.toast import org.kiwix.kiwixmobile.core.extensions.toast
import org.kiwix.kiwixmobile.core.zim_manager.fileselect_view.adapter.BooksOnDiskListItem import org.kiwix.kiwixmobile.core.zim_manager.fileselect_view.adapter.BooksOnDiskListItem
import org.kiwix.kiwixmobile.nav.destination.library.LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationReader import org.kiwix.kiwixmobile.nav.destination.library.LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationReader
import org.kiwix.kiwixmobile.navigate
data class OpenFileWithNavigation(private val bookOnDisk: BooksOnDiskListItem.BookOnDisk) : data class OpenFileWithNavigation(private val bookOnDisk: BooksOnDiskListItem.BookOnDisk) :
SideEffect<Unit> { SideEffect<Unit> {
@ -35,9 +36,9 @@ data class OpenFileWithNavigation(private val bookOnDisk: BooksOnDiskListItem.Bo
if (!file.canRead()) { if (!file.canRead()) {
activity.toast(R.string.error_file_not_found) activity.toast(R.string.error_file_not_found)
} else { } else {
val action = actionNavigationLibraryToNavigationReader() (activity as BaseActivity).navigate(
action.zimFileUri = file.toUri().toString() actionNavigationLibraryToNavigationReader().apply { zimFileUri = file.toUri().toString() }
activity.findNavController(R.id.nav_host_fragment).navigate(action) )
} }
} }
} }

View File

@ -32,10 +32,6 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" android:layout_weight="1"
app:defaultNavHost="true" app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="@+id/nav_view"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar"
app:navGraph="@navigation/kiwix_nav_graph" app:navGraph="@navigation/kiwix_nav_graph"
tools:ignore="FragmentTagUsage" /> tools:ignore="FragmentTagUsage" />