Skip to content

Commit

Permalink
Add extras to navigation
Browse files Browse the repository at this point in the history
  • Loading branch information
BulatMukhutdinov committed Jun 3, 2021
1 parent b52abea commit 0ade212
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 13 deletions.
6 changes: 3 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
buildscript {
ext.kotlin_version = '1.4.31'
ext.nav_version = "2.3.4"
ext.koin_version = '3.0.1-beta-1'
ext.kotlin_version = '1.4.32'
ext.nav_version = "2.3.5"
ext.koin_version = '3.0.1'

repositories {
google()
Expand Down
6 changes: 3 additions & 3 deletions sample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,12 @@ dependencies {
implementation project(":structure")

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.core:core-ktx:1.5.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

implementation "com.github.bulatmukhutdinov:utils:1.6.1"
implementation "com.github.bulatmukhutdinov:utils:1.9.0"

// Retrofit
def retrofit_version = '2.9.0'
Expand Down
1 change: 0 additions & 1 deletion sample/src/main/res/layout/user.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
android:onClick="@{() -> bindings.onBackClicked()}"
android:padding="16dp"
android:src="@drawable/ic_arrow_back"
android:tint="?android:attr/colorPrimary"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

Expand Down
4 changes: 2 additions & 2 deletions structure/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

implementation "com.github.bulatmukhutdinov:utils:1.6.1"
implementation "com.github.bulatmukhutdinov:utils:1.9.0"

//Koin
implementation "io.insert-koin:koin-android:$koin_version"
Expand All @@ -70,7 +70,7 @@ afterEvaluate {

groupId = 'tat.mukhutdinov.android'
artifactId = 'structure'
version = '3.1.2'
version = '3.1.3'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package tat.mukhutdinov.android.structure

import androidx.navigation.NavDirections
import androidx.navigation.Navigator
import androidx.navigation.fragment.FragmentNavigatorExtras

sealed class Navigation {

class To(val directions: NavDirections) : Navigation()
class To(val directions: NavDirections, val extras: Navigator.Extras = FragmentNavigatorExtras()) : Navigation()

object Up : Navigation()
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import android.view.ViewGroup
import androidx.databinding.ViewDataBinding
import androidx.fragment.app.Fragment
import androidx.navigation.NavDirections
import androidx.navigation.Navigator
import androidx.navigation.fragment.findNavController
import tat.mukhutdinov.android.utils.autoCleared
import timber.log.Timber
Expand All @@ -23,7 +24,7 @@ abstract class StructureFragment<ViewBinding : ViewDataBinding> : Fragment() {

viewModel.navigation.observe(this) {
when (it) {
is Navigation.To -> navigate(it.directions)
is Navigation.To -> navigate(it.directions, it.extras)
is Navigation.Up -> navigateUp()
}
}
Expand All @@ -48,11 +49,11 @@ abstract class StructureFragment<ViewBinding : ViewDataBinding> : Fragment() {
viewBinding.lifecycleOwner = viewLifecycleOwner
}

open fun navigate(directions: NavDirections) {
open fun navigate(directions: NavDirections, extras: Navigator.Extras) {
// Показ диалогов через navigation падает при вызове на бекграунд потоке
activity?.runOnUiThread {
try {
findNavController().navigate(directions)
findNavController().navigate(directions, extras)
} catch (exception: Exception) {
Timber.w(exception)
}
Expand Down

0 comments on commit 0ade212

Please sign in to comment.