mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-15 10:26:53 -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
|
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()
|
||||||
|
@ -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) {
|
||||||
|
@ -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) {
|
||||||
|
@ -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())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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" />
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user