mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 02:36:24 -04:00
#2159 moved navigation to extension function
This commit is contained in:
parent
3b630c6b43
commit
8b1d6ba0f0
@ -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()
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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())
|
||||
}
|
||||
}
|
||||
|
@ -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() }
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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" />
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user