Skip to content
Snippets Groups Projects
Commit b8bf380e authored by Taras's avatar Taras
Browse files

Add navigation

parent b995fdc2
No related branches found
No related tags found
No related merge requests found
package org.futo.circles.feature.settings package org.futo.circles.feature.settings
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import org.futo.circles.R
import org.futo.circles.core.extensions.navigateSafe import org.futo.circles.core.extensions.navigateSafe
import org.futo.circles.core.extensions.showError
import org.futo.circles.core.model.ShareUrlTypeArg
import org.futo.circles.feature.people.PeopleFragmentDirections
class SettingsNavigator(private val fragment: SettingsFragment) { class SettingsNavigator(private val fragment: SettingsFragment) {
...@@ -31,4 +35,24 @@ class SettingsNavigator(private val fragment: SettingsFragment) { ...@@ -31,4 +35,24 @@ class SettingsNavigator(private val fragment: SettingsFragment) {
.navigateSafe(SettingsFragmentDirections.toManageSubscriptionDialogFragment()) .navigateSafe(SettingsFragmentDirections.toManageSubscriptionDialogFragment())
} }
fun navigateToEditProfile() {
fragment.findNavController()
.navigateSafe(PeopleFragmentDirections.toEditProfileDialogFragment())
}
fun navigateToShareProfile(sharedSpaceId: String?) {
sharedSpaceId ?: kotlin.run {
fragment.showError(
fragment.requireContext().getString(R.string.shared_circles_space_not_found)
)
return
}
fragment.findNavController().navigateSafe(
PeopleFragmentDirections.toShareProfileDialogFragment(
sharedSpaceId,
ShareUrlTypeArg.PROFILE
)
)
}
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ import org.futo.circles.core.base.SingleEventLiveData ...@@ -7,6 +7,7 @@ import org.futo.circles.core.base.SingleEventLiveData
import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.Response
import org.futo.circles.core.extensions.createResult import org.futo.circles.core.extensions.createResult
import org.futo.circles.core.extensions.launchBg import org.futo.circles.core.extensions.launchBg
import org.futo.circles.core.feature.workspace.SharedCircleDataSource
import org.futo.circles.core.provider.MatrixSessionProvider import org.futo.circles.core.provider.MatrixSessionProvider
import org.matrix.android.sdk.internal.session.media.MediaUsageInfo import org.matrix.android.sdk.internal.session.media.MediaUsageInfo
import javax.inject.Inject import javax.inject.Inject
...@@ -14,7 +15,8 @@ import javax.inject.Inject ...@@ -14,7 +15,8 @@ import javax.inject.Inject
@HiltViewModel @HiltViewModel
class SettingsViewModel @Inject constructor( class SettingsViewModel @Inject constructor(
private val settingsDataSource: SettingsDataSource, private val settingsDataSource: SettingsDataSource,
private val refreshTokenManager: RefreshTokenManager private val refreshTokenManager: RefreshTokenManager,
private val sharedCircleDataSource: SharedCircleDataSource
) : ViewModel() { ) : ViewModel() {
val passPhraseLoadingLiveData = settingsDataSource.passPhraseLoadingLiveData val passPhraseLoadingLiveData = settingsDataSource.passPhraseLoadingLiveData
...@@ -65,4 +67,6 @@ class SettingsViewModel @Inject constructor( ...@@ -65,4 +67,6 @@ class SettingsViewModel @Inject constructor(
mediaUsageInfoLiveData.postValue(mediaUsageInfoResult) mediaUsageInfoLiveData.postValue(mediaUsageInfoResult)
} }
} }
fun getSharedCircleSpaceId(): String? = sharedCircleDataSource.getSharedCirclesSpaceId()
} }
\ No newline at end of file
...@@ -26,6 +26,24 @@ ...@@ -26,6 +26,24 @@
<action <action
android:id="@+id/to_manageSubscriptionDialogFragment" android:id="@+id/to_manageSubscriptionDialogFragment"
app:destination="@id/manageSubscriptionDialogFragment" /> app:destination="@id/manageSubscriptionDialogFragment" />
<action
android:id="@+id/to_editProfileDialogFragment"
app:destination="@id/editProfileDialogFragment" />
<action
android:id="@+id/to_shareProfileDialogFragment"
app:destination="@id/share_room_nav_graph">
<argument
android:name="roomId"
app:argType="string"
app:nullable="false" />
<argument
android:name="urlType"
app:argType="org.futo.circles.core.model.ShareUrlTypeArg"
app:nullable="false" />
</action>
</fragment> </fragment>
...@@ -59,4 +77,11 @@ ...@@ -59,4 +77,11 @@
android:name="org.futo.circles.auth.feature.uia.UIADialogFragment" android:name="org.futo.circles.auth.feature.uia.UIADialogFragment"
tools:layout="@layout/dialog_fragment_uia" /> tools:layout="@layout/dialog_fragment_uia" />
<include app:graph="@navigation/share_room_nav_graph" />
<dialog
android:id="@+id/editProfileDialogFragment"
android:name="org.futo.circles.auth.feature.profile.edit.EditProfileDialogFragment"
tools:layout="@layout/dialog_fragment_edit_profile" />
</navigation> </navigation>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment