#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
import androidx.navigation.NavDirections
import androidx.navigation.findNavController
import org.kiwix.kiwixmobile.core.base.BaseActivity
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
fun BaseActivity.navigate(action: NavDirections) =
findNavController(R.id.nav_host_fragment).navigate(action)
internal inline val BaseActivity.kiwixActivityComponent
get() = kiwixComponent
.activityComponentBuilder()

View File

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

View File

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

View File

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

View File

@ -32,10 +32,6 @@
android:layout_height="0dp"
android:layout_weight="1"
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"
tools:ignore="FragmentTagUsage" />