diff --git a/app/src/main/java/org/futo/circles/base/Constants.kt b/app/src/main/java/org/futo/circles/base/Constants.kt index bc8926167b55b13b8b5c3a0be3e1c71fb0d2e7d2..c0408e694c921c160f8cb1df54dd738546f4fa09 100644 --- a/app/src/main/java/org/futo/circles/base/Constants.kt +++ b/app/src/main/java/org/futo/circles/base/Constants.kt @@ -12,5 +12,6 @@ fun getPusherUrl(): String = "https://sygnal.${getCirclesDomain()}/_matrix/push/ const val DEFAULT_PUSH_GATEWAY = "https://matrix.gateway.unifiedpush.org/_matrix/push/v1/notify" -const val CIRCULI_INVITE_URL_PREFIX = "https://circu.li/invite/" +const val SHARE_ROOM_URL_PREFIX = "https://circu.li/room/" +const val SHARE_PROFILE_URL_PREFIX = "https://circu.li/profile/" diff --git a/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt b/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt index 0f622fa937efd7276cf6a9dff9c018e5cd9963a0..9b2c949d9973063e9477940d2b40087dc5658433 100644 --- a/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt +++ b/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt @@ -18,7 +18,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding import dagger.hilt.android.AndroidEntryPoint import org.futo.circles.MainActivity import org.futo.circles.R -import org.futo.circles.base.CIRCULI_INVITE_URL_PREFIX +import org.futo.circles.base.SHARE_ROOM_URL_PREFIX import org.futo.circles.core.extensions.navigateSafe import org.futo.circles.core.extensions.observeData import org.futo.circles.core.extensions.setSupportActionBar @@ -98,8 +98,8 @@ class HomeFragment : Fragment(R.layout.fragment_bottom_navigation), DeepLinkInte private fun handleOpenFromShareRoomUrl() { val uri = activity?.intent?.data ?: return - if (uri.toString().startsWith(CIRCULI_INVITE_URL_PREFIX).not()) return - val roomId = uri.toString().removePrefix(CIRCULI_INVITE_URL_PREFIX) + if (uri.toString().startsWith(SHARE_ROOM_URL_PREFIX).not()) return + val roomId = uri.toString().removePrefix(SHARE_ROOM_URL_PREFIX) findNavController().navigateSafe(HomeFragmentDirections.toRoomWellKnownDialogFragment(roomId)) activity?.intent?.data = null } diff --git a/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomDialogFragment.kt index 78dbbbf3cc105626e001759e69a6d06929ef87d5..a6f8cddeddb91beab78092df3e129e21af20a45a 100644 --- a/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomDialogFragment.kt +++ b/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomDialogFragment.kt @@ -3,6 +3,7 @@ package org.futo.circles.feature.room.share import android.os.Bundle import android.view.View import androidx.fragment.app.viewModels +import androidx.navigation.fragment.navArgs import dagger.hilt.android.AndroidEntryPoint import org.futo.circles.R import org.futo.circles.core.extensions.gone @@ -12,6 +13,7 @@ import org.futo.circles.core.extensions.visible import org.futo.circles.core.fragment.BaseFullscreenDialogFragment import org.futo.circles.core.mapping.nameOrId import org.futo.circles.core.model.TextShareable +import org.futo.circles.core.provider.MatrixSessionProvider import org.futo.circles.core.share.ShareProvider import org.futo.circles.databinding.DialogFragmentShareRoomBinding import org.matrix.android.sdk.api.session.room.model.RoomSummary @@ -21,6 +23,7 @@ class ShareRoomDialogFragment : BaseFullscreenDialogFragment(DialogFragmentShareRoomBinding::inflate) { private val viewModel by viewModels<ShareRoomViewModel>() + private val args: ShareRoomDialogFragmentArgs by navArgs() private val binding by lazy { getBinding() as DialogFragmentShareRoomBinding @@ -33,6 +36,8 @@ class ShareRoomDialogFragment : } private fun setupViews() { + binding.toolbar.title = + getString(if (args.isProfile) R.string.share_profile else R.string.share_room) binding.btnShare.setOnClickListener { ShareProvider.share(requireContext(), TextShareable(viewModel.buildInviteUrl())) } @@ -54,7 +59,9 @@ class ShareRoomDialogFragment : vLoading.gone() ivQr.visible() ivQr.setData(viewModel.buildInviteUrl()) - tvRoomName.text = roomSummary.nameOrId() + tvRoomName.text = if (args.isProfile) + MatrixSessionProvider.currentSession?.myUserId ?: roomSummary.nameOrId() + else roomSummary.nameOrId() tvRoomId.text = roomSummary.roomId btnShare.visible() } diff --git a/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomViewModel.kt b/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomViewModel.kt index 389006677057722d206c3709d0f34c359fbc1b22..8f285c72879ae4368ce67a6b68cae8a4d264d110 100644 --- a/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomViewModel.kt +++ b/app/src/main/java/org/futo/circles/feature/room/share/ShareRoomViewModel.kt @@ -3,7 +3,8 @@ package org.futo.circles.feature.room.share import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import dagger.hilt.android.lifecycle.HiltViewModel -import org.futo.circles.base.CIRCULI_INVITE_URL_PREFIX +import org.futo.circles.base.SHARE_PROFILE_URL_PREFIX +import org.futo.circles.base.SHARE_ROOM_URL_PREFIX import org.futo.circles.core.extensions.getOrThrow import org.futo.circles.core.provider.MatrixSessionProvider import javax.inject.Inject @@ -13,10 +14,13 @@ class ShareRoomViewModel @Inject constructor( savedStateHandle: SavedStateHandle ) : ViewModel() { - private val roomId: String = savedStateHandle.getOrThrow("roomId") + private val isProfile: Boolean = savedStateHandle.getOrThrow("isProfile") + val roomLiveData = MatrixSessionProvider.currentSession?.roomService()?.getRoomSummaryLive(roomId) - fun buildInviteUrl(): String = CIRCULI_INVITE_URL_PREFIX + roomId + fun buildInviteUrl(): String = if (isProfile) + SHARE_PROFILE_URL_PREFIX + MatrixSessionProvider.currentSession?.myUserId + "/" + roomId + else SHARE_ROOM_URL_PREFIX + roomId } \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt index 7b686aec87c9920427c556737049cca941a4449f..9be3bb5324cc3eaac8a7af221c94fd823f2c12b2 100644 --- a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt +++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt @@ -1,11 +1,8 @@ package org.futo.circles.feature.settings -import android.Manifest -import android.app.Activity import android.os.Bundle import android.view.View import android.widget.Toast -import androidx.activity.result.contract.ActivityResultContracts import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.fragment.app.viewModels @@ -23,12 +20,10 @@ import org.futo.circles.core.extensions.observeResponse import org.futo.circles.core.extensions.showError import org.futo.circles.core.extensions.showSuccess import org.futo.circles.core.extensions.withConfirmation -import org.futo.circles.core.picker.RuntimePermissionHelper import org.futo.circles.core.provider.PreferencesProvider import org.futo.circles.core.view.LoadingDialog import org.futo.circles.databinding.FragmentSettingsBinding import org.futo.circles.feature.home.SystemNoticesCountSharedViewModel -import org.futo.circles.feature.settings.active_sessions.verify.qr.QrScannerActivity import org.futo.circles.model.DeactivateAccount import org.matrix.android.sdk.api.session.user.model.User @@ -41,14 +36,6 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { private val loadingDialog by lazy { LoadingDialog(requireContext()) } private val preferencesProvider by lazy { PreferencesProvider(requireContext()) } private val navigator by lazy { SettingsNavigator(this) } - private val cameraPermissionHelper = RuntimePermissionHelper(this, Manifest.permission.CAMERA) - private val scanActivityResultLauncher = - registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { activityResult -> - if (activityResult.resultCode == Activity.RESULT_OK) { - val scannedQrCode = QrScannerActivity.getResultText(activityResult.data) - viewModel.onProfileQrScanned(scannedQrCode) - } - } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -68,11 +55,6 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { tvClearCache.setOnClickListener { viewModel.clearCash() } tvVersion.setOnLongClickListener { toggleDeveloperMode(); true } tvPushNotifications.setOnClickListener { navigator.navigateToPushSettings() } - ivScanProfile.setOnClickListener { - cameraPermissionHelper.runWithPermission { - QrScannerActivity.startForResult(requireActivity(), scanActivityResultLauncher) - } - } ivShareProfile.setOnClickListener { navigator.navigateToShareProfile() } } setVersion() @@ -114,8 +96,6 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { viewModel.clearCacheLiveData.observeData(this) { (activity as? MainActivity)?.restartForClearCache() } - viewModel.scanProfileQrResultLiveData.observeResponse(this, - success = { showSuccess(getString(R.string.request_sent)) }) } private fun bindProfile(user: User) { diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt index df77feb035860a96f87edd09f88c52fdd9d17d14..6578d2340ad3998e7fd7a862145b58c0359143e2 100644 --- a/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt +++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt @@ -4,6 +4,7 @@ import androidx.navigation.fragment.findNavController import org.futo.circles.R import org.futo.circles.core.extensions.navigateSafe import org.futo.circles.core.extensions.showError +import org.futo.circles.core.utils.getSharedCirclesSpaceId import org.futo.circles.core.utils.getSystemNoticesRoomId class SettingsNavigator(private val fragment: SettingsFragment) { @@ -44,8 +45,16 @@ class SettingsNavigator(private val fragment: SettingsFragment) { } fun navigateToShareProfile() { + val sharedSpaceId = getSharedCirclesSpaceId() ?: kotlin.run { + fragment.showError( + fragment.requireContext().getString(R.string.shared_circles_space_not_found) + ) + return + } fragment.findNavController() - .navigateSafe(SettingsFragmentDirections.toShareProfileDialogFragment()) + .navigateSafe( + SettingsFragmentDirections.toShareProfileDialogFragment(sharedSpaceId, true) + ) } } \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt index 15eaa1122a9877b40fb766bca73e899e8ba0efcf..91c58b8ca01b22e7508f10ddc7b36e5a339bc502 100644 --- a/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt +++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt @@ -24,7 +24,6 @@ class SettingsViewModel @Inject constructor( val deactivateLiveData = SingleEventLiveData<Response<Unit?>>() val navigateToMatrixChangePasswordEvent = SingleEventLiveData<Unit>() val changePasswordResponseLiveData = SingleEventLiveData<Response<Unit?>>() - val scanProfileQrResultLiveData = SingleEventLiveData<Response<Unit?>>() val clearCacheLiveData = SingleEventLiveData<Unit>() fun logOut() { @@ -59,13 +58,4 @@ class SettingsViewModel @Inject constructor( launchBg { settingsDataSource.clearCache() } clearCacheLiveData.postValue(Unit) } - - fun onProfileQrScanned(sharedCirclesSpaceId: String) { - launchBg { - val result = createResult { - MatrixSessionProvider.currentSession?.roomService()?.knock(sharedCirclesSpaceId) - } - scanProfileQrResultLiveData.postValue(result) - } - } } \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileDialogFragment.kt deleted file mode 100644 index d62037ba8ec65ebafa056078a55c4c0cb6d73be7..0000000000000000000000000000000000000000 --- a/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileDialogFragment.kt +++ /dev/null @@ -1,47 +0,0 @@ -package org.futo.circles.feature.settings.profile.share - -import android.os.Bundle -import android.view.View -import androidx.fragment.app.viewModels -import dagger.hilt.android.AndroidEntryPoint -import org.futo.circles.R -import org.futo.circles.core.extensions.gone -import org.futo.circles.core.extensions.observeData -import org.futo.circles.core.extensions.showError -import org.futo.circles.core.extensions.visible -import org.futo.circles.core.fragment.BaseFullscreenDialogFragment -import org.futo.circles.databinding.DialogFragmentShareProfileBinding - -@AndroidEntryPoint -class ShareProfileDialogFragment : - BaseFullscreenDialogFragment(DialogFragmentShareProfileBinding::inflate) { - - private val viewModel by viewModels<ShareProfileViewModel>() - - private val binding by lazy { - getBinding() as DialogFragmentShareProfileBinding - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - setupObServers() - } - - private fun setupObServers() { - viewModel.qrProfileLiveData.observeData(this) { - it?.let { handelQrReady(it) } ?: run { - binding.vLoading.gone() - showError(getString(R.string.shared_circles_space_not_found)) - } - } - } - - private fun handelQrReady(qrText: String) { - with(binding) { - vLoading.gone() - ivQr.visible() - ivQr.setData(qrText) - tvMessage.text = qrText - } - } -} \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileViewModel.kt deleted file mode 100644 index 878d3671313201b039066933e4dc5c748bfcd9ab..0000000000000000000000000000000000000000 --- a/app/src/main/java/org/futo/circles/feature/settings/profile/share/ShareProfileViewModel.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.futo.circles.feature.settings.profile.share - -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.ViewModel -import dagger.hilt.android.lifecycle.HiltViewModel -import org.futo.circles.core.utils.getSharedCirclesSpaceId -import javax.inject.Inject - -@HiltViewModel -class ShareProfileViewModel @Inject constructor() : ViewModel() { - - val qrProfileLiveData = MutableLiveData<String?>(getSharedCirclesSpaceId()) -} \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt index 51ab3fc9d4796253361ea5164cc79a6e13e18b27..28f9db111130fac6a4fafd63be40f1558b8b3a99 100644 --- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt +++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt @@ -95,6 +95,6 @@ class TimelineNavigator(private val fragment: TimelineDialogFragment) { fun navigateToShareRoom(roomId: String) { fragment.findNavController() - .navigateSafe(TimelineDialogFragmentDirections.toShareRoom(roomId)) + .navigateSafe(TimelineDialogFragmentDirections.toShareRoom(roomId, false)) } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_qr_scanner.xml b/app/src/main/res/drawable/ic_qr_scanner.xml deleted file mode 100644 index f4a1cb380d940cbf30010be3c760f613a57f042b..0000000000000000000000000000000000000000 --- a/app/src/main/res/drawable/ic_qr_scanner.xml +++ /dev/null @@ -1,10 +0,0 @@ -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="24dp" - android:height="24dp" - android:tint="@color/menu_icon_color" - android:viewportWidth="24" - android:viewportHeight="24"> - <path - android:fillColor="@android:color/white" - android:pathData="M9.5,6.5v3h-3v-3H9.5M11,5H5v6h6V5L11,5zM9.5,14.5v3h-3v-3H9.5M11,13H5v6h6V13L11,13zM17.5,6.5v3h-3v-3H17.5M19,5h-6v6h6V5L19,5zM13,13h1.5v1.5H13V13zM14.5,14.5H16V16h-1.5V14.5zM16,13h1.5v1.5H16V13zM13,16h1.5v1.5H13V16zM14.5,17.5H16V19h-1.5V17.5zM16,16h1.5v1.5H16V16zM17.5,14.5H19V16h-1.5V14.5zM17.5,17.5H19V19h-1.5V17.5zM22,7h-2V4h-3V2h5V7zM22,22v-5h-2v3h-3v2H22zM2,22h5v-2H4v-3H2V22zM2,2v5h2V4h3V2H2z" /> -</vector> diff --git a/app/src/main/res/layout/dialog_fragment_share_profile.xml b/app/src/main/res/layout/dialog_fragment_share_profile.xml deleted file mode 100644 index d4e4ab801108ce135a5c2d1caba60c5ec93dd4f4..0000000000000000000000000000000000000000 --- a/app/src/main/res/layout/dialog_fragment_share_profile.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - - <com.google.android.material.appbar.MaterialToolbar - android:id="@+id/toolbar" - android:layout_width="0dp" - android:layout_height="?attr/actionBarSize" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:navigationIcon="?attr/homeAsUpIndicator" - app:title="@string/share_profile" - app:titleCentered="true" /> - - - <View - android:id="@+id/toolbarDivider" - android:layout_width="0dp" - android:layout_height="@dimen/divider_height" - android:background="@color/divider_color" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/toolbar" /> - - <org.futo.circles.view.QrCodeImageView - android:id="@+id/ivQr" - android:layout_width="0dp" - android:layout_height="0dp" - android:layout_marginHorizontal="36dp" - android:layout_marginTop="36dp" - android:visibility="invisible" - app:layout_constraintDimensionRatio="w,1:1" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/toolbarDivider" /> - - <ProgressBar - android:id="@+id/vLoading" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/toolbarDivider" - app:layout_constraintVertical_bias="0.25" /> - - <TextView - android:id="@+id/tvMessage" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginHorizontal="36dp" - android:layout_marginTop="36dp" - android:gravity="center" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/ivQr" - tools:text="Aasdsadasdsaf" /> - - -</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_fragment_share_room.xml b/app/src/main/res/layout/dialog_fragment_share_room.xml index 0f2e2ba4951c94669fed568f2b2050036e33fcf4..730b47dd6e80b6ed3fcb5e10c07e4c9006b7126b 100644 --- a/app/src/main/res/layout/dialog_fragment_share_room.xml +++ b/app/src/main/res/layout/dialog_fragment_share_room.xml @@ -14,8 +14,8 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:navigationIcon="?attr/homeAsUpIndicator" - app:title="@string/share_room" - app:titleCentered="true" /> + app:titleCentered="true" + tools:title="@string/share_room" /> <View diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 7365dfaefe9e13ad714dc54673867866b3d9e793..83a21c19ada376a3f1b8d730ef386b7b1196acc8 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -75,13 +75,12 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" - android:layout_marginEnd="64dp" android:background="?selectableItemBackgroundBorderless" android:clickable="true" android:focusable="true" android:padding="4dp" android:src="@drawable/ic_qr" - app:layout_constraintEnd_toStartOf="@id/ivScanProfile" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvUserId" /> @@ -96,28 +95,6 @@ app:layout_constraintStart_toStartOf="@id/ivShareProfile" app:layout_constraintTop_toBottomOf="@id/ivShareProfile" /> - <ImageView - android:id="@+id/ivScanProfile" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:background="?selectableItemBackgroundBorderless" - android:clickable="true" - android:focusable="true" - android:padding="4dp" - android:src="@drawable/ic_qr_scanner" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@id/ivShareProfile" - app:layout_constraintTop_toTopOf="@id/ivShareProfile" /> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:gravity="center" - android:text="@string/scan_profile" - android:textSize="13sp" - app:layout_constraintEnd_toEndOf="@id/ivScanProfile" - app:layout_constraintStart_toStartOf="@id/ivScanProfile" - app:layout_constraintTop_toBottomOf="@id/ivScanProfile" /> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/navigation/settings_nav_graph.xml b/app/src/main/res/navigation/settings_nav_graph.xml index dffc52160706af2265510cdc4596ffcc2f46e31f..1bc720e05b024cbc7f4134f23f7b3a01fd987d32 100644 --- a/app/src/main/res/navigation/settings_nav_graph.xml +++ b/app/src/main/res/navigation/settings_nav_graph.xml @@ -43,7 +43,19 @@ app:destination="@id/reAuthStagesDialogFragment" /> <action android:id="@+id/to_shareProfileDialogFragment" - app:destination="@id/shareProfileDialogFragment" /> + app:destination="@id/shareRoomDialogFragment"> + + <argument + android:name="roomId" + app:argType="string" + app:nullable="false" /> + + <argument + android:name="isProfile" + app:argType="boolean" + app:nullable="false" /> + + </action> <action android:id="@+id/to_pushNotificationsSettingsDialogFragment" app:destination="@id/pushNotificationsSettingsDialogFragment" /> @@ -114,9 +126,22 @@ tools:layout="@layout/fragment_login_stages" /> <dialog - android:id="@+id/shareProfileDialogFragment" - android:name="org.futo.circles.feature.settings.profile.share.ShareProfileDialogFragment" - tools:layout="@layout/dialog_fragment_share_profile" /> + android:id="@+id/shareRoomDialogFragment" + android:name="org.futo.circles.feature.room.share.ShareRoomDialogFragment" + tools:layout="@layout/dialog_fragment_share_room"> + + <argument + android:name="roomId" + app:argType="string" + app:nullable="false" /> + + <argument + android:name="isProfile" + app:argType="boolean" + app:nullable="false" /> + + </dialog> + <dialog android:id="@+id/pushNotificationsSettingsDialogFragment" android:name="org.futo.circles.feature.notifications.settings.PushNotificationsSettingsDialogFragment" diff --git a/app/src/main/res/navigation/timeline_nav_graph.xml b/app/src/main/res/navigation/timeline_nav_graph.xml index 8e89a9d62f3de893276e787183f91bec6e1175ff..a28cd45a04746e430186c531d07516224bb63155 100644 --- a/app/src/main/res/navigation/timeline_nav_graph.xml +++ b/app/src/main/res/navigation/timeline_nav_graph.xml @@ -228,6 +228,11 @@ app:argType="string" app:nullable="false" /> + <argument + android:name="isProfile" + app:argType="boolean" + app:nullable="false" /> + </action> <action @@ -488,6 +493,11 @@ app:argType="string" app:nullable="false" /> + <argument + android:name="isProfile" + app:argType="boolean" + app:nullable="false" /> + </dialog> </navigation> \ No newline at end of file