diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesDataSource.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesDataSource.kt deleted file mode 100644 index 15695a2438ce3405987fef23a33e9c82e50b64cd..0000000000000000000000000000000000000000 --- a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesDataSource.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.futo.circles.feature.circles.setup - -import android.content.Context -import android.net.Uri -import androidx.lifecycle.MutableLiveData -import dagger.hilt.android.qualifiers.ApplicationContext -import org.futo.circles.R -import org.futo.circles.core.extensions.notEmptyDisplayName -import org.futo.circles.core.provider.MatrixSessionProvider -import org.futo.circles.model.SetupCircleListItem -import org.matrix.android.sdk.api.session.getUser -import javax.inject.Inject - -class SetupCirclesDataSource @Inject constructor( - @ApplicationContext private val context: Context -) { - - val circlesLiveData = MutableLiveData(getInitialCirclesList()) - - private fun getInitialCirclesList(): List<SetupCircleListItem> = - context.resources.getStringArray(R.array.setup_circles_list).mapIndexed { i, name -> - SetupCircleListItem( - id = i, - name = name, - userName = getUserName() - ) - } - - private fun getUserName(): String { - val session = MatrixSessionProvider.currentSession - val userId = session?.myUserId ?: return "" - return session.getUser(userId)?.notEmptyDisplayName() ?: "" - } - - fun addCirclesCoverImage(id: Int, uri: Uri) { - val list = circlesLiveData.value?.map { - if (it.id == id) it.copy(coverUri = uri) else it - } ?: emptyList() - - circlesLiveData.postValue(list) - } -} \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesFragment.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesFragment.kt deleted file mode 100644 index 8c309530055499e14b8ab7af042c80a928a6813e..0000000000000000000000000000000000000000 --- a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesFragment.kt +++ /dev/null @@ -1,90 +0,0 @@ -package org.futo.circles.feature.circles.setup - -import android.os.Bundle -import android.view.View -import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels -import androidx.navigation.fragment.findNavController -import androidx.recyclerview.widget.DividerItemDecoration -import by.kirich1409.viewbindingdelegate.viewBinding -import dagger.hilt.android.AndroidEntryPoint -import org.futo.circles.R -import org.futo.circles.core.extensions.navigateSafe -import org.futo.circles.core.extensions.observeData -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.fragment.HasLoadingState -import org.futo.circles.core.model.LoadingData -import org.futo.circles.core.picker.helper.MediaPickerHelper -import org.futo.circles.core.view.LoadingDialog -import org.futo.circles.databinding.FragmentSetupCirclesBinding -import org.futo.circles.feature.circles.setup.list.SetupCirclesAdapter -import org.futo.circles.model.SetupCircleListItem - -@AndroidEntryPoint -class SetupCirclesFragment : Fragment(R.layout.fragment_setup_circles), HasLoadingState { - - override val fragment: Fragment = this - private val viewModel by viewModels<SetupCirclesViewModel>() - private val binding by viewBinding(FragmentSetupCirclesBinding::bind) - private val listAdapter by lazy { SetupCirclesAdapter(::onCircleListItemClicked) } - private val mediaPickerHelper = MediaPickerHelper(this, isGalleryAvailable = false) - private val loadingDialog by lazy { LoadingDialog(requireContext()) } - - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - setupViews() - setupObservers() - } - - private fun setupViews() { - with(binding) { - rvSetupCircles.apply { - addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL)) - adapter = listAdapter - } - btnSkip.setOnClickListener { navigateToBottomMenuScreen() } - btnSave.setOnClickListener { - showLoading() - viewModel.createCircles() - } - } - } - - private fun setupObservers() { - viewModel.circlesLiveData.observeData(this, ::setCirclesList) - viewModel.createCirclesResponseLiveData.observeResponse(this, - success = { - loadingDialog.dismiss() - showSuccess(getString(R.string.circles_created)) - navigateToBottomMenuScreen() - }, - error = { - showError(it) - loadingDialog.dismiss() - } - ) - } - - private fun setCirclesList(list: List<SetupCircleListItem>) { - listAdapter.submitList(list) - } - - private fun onCircleListItemClicked(circle: SetupCircleListItem) { - mediaPickerHelper.showMediaPickerDialog( - onImageSelected = { id, uri -> viewModel.addImageForCircle(id, uri) }, - id = circle.id - ) - } - - private fun showLoading() { - startLoading(binding.btnSave) - loadingDialog.handleLoading(LoadingData(messageId = R.string.configuring_workspace)) - } - - private fun navigateToBottomMenuScreen() { - findNavController().navigateSafe(SetupCirclesFragmentDirections.toHomeFragment()) - } -} \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesViewModel.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesViewModel.kt deleted file mode 100644 index c9675b1694f2996d79cd123b08eacbcb8c554aaa..0000000000000000000000000000000000000000 --- a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesViewModel.kt +++ /dev/null @@ -1,45 +0,0 @@ -package org.futo.circles.feature.circles.setup - -import android.net.Uri -import androidx.lifecycle.ViewModel -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.delay -import org.futo.circles.core.CREATE_ROOM_DELAY -import org.futo.circles.core.SingleEventLiveData -import org.futo.circles.core.extensions.Response -import org.futo.circles.core.extensions.createResult -import org.futo.circles.core.extensions.launchBg -import org.futo.circles.core.room.CreateRoomDataSource -import javax.inject.Inject - -@HiltViewModel -class SetupCirclesViewModel @Inject constructor( - private val setupCirclesDataSource: SetupCirclesDataSource, - private val createRoomDataSource: CreateRoomDataSource -) : ViewModel() { - - val circlesLiveData = setupCirclesDataSource.circlesLiveData - val createCirclesResponseLiveData = SingleEventLiveData<Response<Unit?>>() - - fun createCircles() { - val circlesList = circlesLiveData.value ?: return - val lastItemIndex = circlesList.size - 1 - launchBg { - val response = createResult { - circlesList.forEachIndexed { i, item -> - createRoomDataSource.createCircleWithTimeline( - name = item.name, - iconUri = item.coverUri, - null, false - ) - if (i != lastItemIndex) delay(CREATE_ROOM_DELAY) - } - } - createCirclesResponseLiveData.postValue(response) - } - } - - fun addImageForCircle(id: Int?, uri: Uri) { - id?.let { setupCirclesDataSource.addCirclesCoverImage(it, uri) } - } -} \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesAdapter.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesAdapter.kt deleted file mode 100644 index 661baab8d99773d8ef4decf0f88efa3e62b7bc0d..0000000000000000000000000000000000000000 --- a/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesAdapter.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.futo.circles.feature.circles.setup.list - - -import android.view.ViewGroup -import org.futo.circles.core.list.BaseRvAdapter -import org.futo.circles.model.SetupCircleListItem - -class SetupCirclesAdapter( - private val onCircleClicked: (SetupCircleListItem) -> Unit -) : BaseRvAdapter<SetupCircleListItem, SetupCirclesViewHolder>(DefaultIdEntityCallback()) { - - override fun onCreateViewHolder( - parent: ViewGroup, - viewType: Int - ): SetupCirclesViewHolder = SetupCirclesViewHolder( - parent = parent, - onCircleClicked = { position -> onCircleClicked(getItem(position)) } - ) - - override fun onBindViewHolder(holder: SetupCirclesViewHolder, position: Int) { - holder.bind(getItem(position)) - } -} \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesViewHolder.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesViewHolder.kt deleted file mode 100644 index d290d4a1d05de311360020a5971c18cfdf227b5a..0000000000000000000000000000000000000000 --- a/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesViewHolder.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.futo.circles.feature.circles.setup.list - -import android.view.ViewGroup -import androidx.recyclerview.widget.RecyclerView -import org.futo.circles.R -import org.futo.circles.core.extensions.onClick -import org.futo.circles.core.list.ViewBindingHolder -import org.futo.circles.databinding.ListItemSetupCircleBinding -import org.futo.circles.model.SetupCircleListItem - -class SetupCirclesViewHolder( - parent: ViewGroup, - onCircleClicked: (Int) -> Unit -) : RecyclerView.ViewHolder(inflate(parent, ListItemSetupCircleBinding::inflate)) { - - private companion object : ViewBindingHolder - - private val binding = baseBinding as ListItemSetupCircleBinding - - init { - onClick(itemView) { position -> onCircleClicked(position) } - } - - fun bind(data: SetupCircleListItem) { - with(binding) { - data.coverUri?.let { ivCircleCover.setImageURI(it) } - ?: ivCircleCover.setImageResource(R.drawable.add_image_placeholder) - - tvCircleName.text = data.name - tvUserName.text = data.userName - } - } -} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_setup_circles.xml b/app/src/main/res/layout/fragment_setup_circles.xml deleted file mode 100644 index 9e3a40256a8609d71d3795b9df73bdbb9233bcc5..0000000000000000000000000000000000000000 --- a/app/src/main/res/layout/fragment_setup_circles.xml +++ /dev/null @@ -1,88 +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" - 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:title="@string/setup_circles" - 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" /> - - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guidelineStart" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_begin="36dp" /> - - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guidelineEnd" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_end="36dp" /> - - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/rvSetupCircles" - android:layout_width="0dp" - android:layout_height="0dp" - app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" - app:layout_constraintBottom_toTopOf="@id/tvEncryptionWarning" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/toolbarDivider" /> - - <TextView - android:id="@+id/tvEncryptionWarning" - style="@style/footNote" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginBottom="16dp" - android:drawablePadding="8dp" - android:text="@string/circle_encryption_warning" - android:textColor="@color/yellow" - app:drawableStartCompat="@drawable/ic_info" - app:drawableTint="@color/yellow" - app:layout_constraintBottom_toTopOf="@id/btnSave" - app:layout_constraintEnd_toEndOf="@id/guidelineEnd" - app:layout_constraintStart_toStartOf="@id/guidelineStart" /> - - <org.futo.circles.core.view.LoadingButton - android:id="@+id/btnSave" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="24dp" - android:layout_marginTop="16dp" - android:layout_marginBottom="24dp" - android:text="@string/save" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="@id/guidelineEnd" - app:layout_constraintStart_toEndOf="@id/btnSkip" /> - - <com.google.android.material.button.MaterialButton - android:id="@+id/btnSkip" - style="@style/NegativeButtonStyle" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/skip" - app:layout_constraintBottom_toBottomOf="@id/btnSave" - app:layout_constraintEnd_toStartOf="@id/btnSave" - app:layout_constraintStart_toStartOf="@id/guidelineStart" /> - -</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_setup_circle.xml b/app/src/main/res/layout/list_item_setup_circle.xml deleted file mode 100644 index 06ae73afb675c6ee4b13666cc4170688ebe354ab..0000000000000000000000000000000000000000 --- a/app/src/main/res/layout/list_item_setup_circle.xml +++ /dev/null @@ -1,54 +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="wrap_content" - android:background="?selectableItemBackground" - android:clickable="true" - android:focusable="true" - android:padding="4dp"> - - - <com.google.android.material.imageview.ShapeableImageView - android:id="@+id/ivCircleCover" - android:layout_width="@dimen/group_icon_size" - android:layout_height="@dimen/group_icon_size" - android:scaleType="centerCrop" - android:src="@drawable/add_image_placeholder" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.GroupIconRadius" /> - - <TextView - android:id="@+id/tvCircleName" - style="@style/title2" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:ellipsize="end" - android:gravity="center" - android:lines="1" - app:layout_constraintBottom_toTopOf="@id/tvUserName" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@id/ivCircleCover" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintVertical_chainStyle="packed" - tools:text="texsdt" /> - - <TextView - android:id="@+id/tvUserName" - style="@style/subheadline" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginTop="4dp" - android:ellipsize="end" - android:gravity="center" - android:lines="1" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="@id/tvCircleName" - app:layout_constraintTop_toBottomOf="@id/tvCircleName" - tools:text="texsdt" /> - -</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_graph_start_host.xml b/app/src/main/res/navigation/nav_graph_start_host.xml index 2786cacc4ed47989321accf1d8441e449d03cfd6..419cdf7644f6508a507d49ed08438e90b173a10f 100644 --- a/app/src/main/res/navigation/nav_graph_start_host.xml +++ b/app/src/main/res/navigation/nav_graph_start_host.xml @@ -54,18 +54,6 @@ </action> </fragment> - <fragment - android:id="@+id/setupCirclesFragment" - android:name="org.futo.circles.feature.circles.setup.SetupCirclesFragment" - android:label="SetupCirclesFragment" - tools:layout="@layout/fragment_setup_circles"> - <action - android:id="@+id/to_homeFragment" - app:destination="@id/homeFragment" - app:popUpTo="@id/setupCirclesFragment" - app:popUpToInclusive="true" /> - </fragment> - <include app:graph="@navigation/nav_graph_auth" /> <dialog diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LogInStagesFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LogInStagesFragment.kt index 7e940c2afe00975ec49068c1eb95a96e3391f814..4b0999d38f2aa46a7270270245ec1e08fdf97797 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LogInStagesFragment.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LogInStagesFragment.kt @@ -17,7 +17,6 @@ import org.futo.circles.auth.base.LoginStageNavigationEvent import org.futo.circles.auth.databinding.FragmentLoginStagesBinding import org.futo.circles.auth.feature.log_in.recovery.EnterPassPhraseDialog import org.futo.circles.auth.feature.log_in.recovery.EnterPassPhraseDialogListener -import org.futo.circles.core.CirclesAppConfig import org.futo.circles.core.extensions.navigateSafe import org.futo.circles.core.extensions.observeData import org.futo.circles.core.extensions.observeResponse @@ -79,15 +78,11 @@ class LogInStagesFragment : Fragment(R.layout.fragment_login_stages), viewModel.passPhraseLoadingLiveData.observeData(this) { loadingDialog.handleLoading(it) } - viewModel.spacesTreeLoadingLiveData.observeData(this) { - loadingDialog.handleLoading(it) - } viewModel.loginNavigationLiveData.observeData(this) { event -> when (event) { - LoginNavigationEvent.Main -> navigateToBottomMenuFragment() - LoginNavigationEvent.SetupCircles -> navigateToSetupCirclesOrHome() + LoginNavigationEvent.Main -> navigateToHome() LoginNavigationEvent.PassPhrase -> showPassPhraseDialog() - else -> navigateToBottomMenuFragment() + else -> navigateToHome() } } viewModel.messageEventLiveData.observeData(this) { messageId -> @@ -123,19 +118,10 @@ class LogInStagesFragment : Fragment(R.layout.fragment_login_stages), } } - private fun navigateToBottomMenuFragment() { + private fun navigateToHome() { findNavController().navigateSafe(LogInStagesFragmentDirections.toHomeFragment()) } - private fun navigateToSetupCirclesOrHome() { - findNavController().navigateSafe( - if (CirclesAppConfig.isSetupCirclesEnabled) - LogInStagesFragmentDirections.toSetupCirclesFragment() - else - LogInStagesFragmentDirections.toHomeFragment() - ) - } - private fun showDiscardDialog() { showDialog( titleResIdRes = R.string.discard_current_login_progress, diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt index 49b1b796c911006892b76729d0b702fa5a771f70..f94e6f2528d4b2aad732b561c92f31706eb246ff 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt @@ -20,20 +20,18 @@ import org.matrix.android.sdk.api.util.JsonDict import javax.inject.Inject import javax.inject.Singleton -enum class LoginNavigationEvent { Main, SetupCircles, PassPhrase } +enum class LoginNavigationEvent { Main, PassPhrase } @Singleton class LoginStagesDataSource @Inject constructor( @ApplicationContext private val context: Context, private val restoreBackupDataSource: RestoreBackupDataSource, - private val coreSpacesTreeBuilder: CoreSpacesTreeBuilder, private val encryptionAlgorithmHelper: EncryptionAlgorithmHelper, private val createPassPhraseDataSource: CreatePassPhraseDataSource ) : BaseLoginStagesDataSource(context) { val loginNavigationLiveData = SingleEventLiveData<LoginNavigationEvent>() val passPhraseLoadingLiveData = restoreBackupDataSource.loadingLiveData - val spacesTreeLoadingLiveData = coreSpacesTreeBuilder.loadingLiveData val messageEventLiveData = SingleEventLiveData<Int>() override suspend fun performLoginStage( @@ -112,17 +110,12 @@ class LoginStagesDataSource @Inject constructor( private suspend fun handleRestoreResult(restoreResult: Response<Unit>): Response<Unit> { when (restoreResult) { is Response.Error -> loginNavigationLiveData.postValue(LoginNavigationEvent.PassPhrase) - is Response.Success -> createSpacesTreeIfNotExist() + is Response.Success -> navigateToMain() } return restoreResult } - suspend fun createSpacesTreeIfNotExist() { - val isCirclesCreated = coreSpacesTreeBuilder.isCirclesHierarchyCreated() - if (!isCirclesCreated) createResult { coreSpacesTreeBuilder.createCoreSpacesTree() } - loginNavigationLiveData.postValue( - if (isCirclesCreated) LoginNavigationEvent.Main - else LoginNavigationEvent.SetupCircles - ) + fun navigateToMain() { + loginNavigationLiveData.postValue(LoginNavigationEvent.Main) } } \ No newline at end of file diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesViewModel.kt index 2b98a27c77aa0a092b0b8e573f6e5c66332c2817..610bf135a5491f278f8e915eadf65cd604da49e4 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesViewModel.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesViewModel.kt @@ -17,7 +17,6 @@ class LoginStagesViewModel @Inject constructor( val restoreKeysLiveData = org.futo.circles.core.SingleEventLiveData<Response<Unit>>() val loginNavigationLiveData = loginStagesDataSource.loginNavigationLiveData val passPhraseLoadingLiveData = loginStagesDataSource.passPhraseLoadingLiveData - val spacesTreeLoadingLiveData = loginStagesDataSource.spacesTreeLoadingLiveData val messageEventLiveData = loginStagesDataSource.messageEventLiveData fun restoreBackupWithPassPhrase(passphrase: String) { @@ -41,7 +40,7 @@ class LoginStagesViewModel @Inject constructor( } fun onDoNotRestoreBackup() { - launchBg { loginStagesDataSource.createSpacesTreeIfNotExist() } + loginStagesDataSource.navigateToMain() } } \ No newline at end of file diff --git a/auth/src/main/java/org/futo/circles/auth/feature/profile/setup/SetupProfileFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/profile/setup/SetupProfileFragment.kt index bc4330ed24c7398cc1b436940cfac027383b9e14..761dc679a9db9fb908c6981ecf8a1cb818640c07 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/profile/setup/SetupProfileFragment.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/profile/setup/SetupProfileFragment.kt @@ -10,7 +10,6 @@ import by.kirich1409.viewbindingdelegate.viewBinding import dagger.hilt.android.AndroidEntryPoint import org.futo.circles.auth.R import org.futo.circles.auth.databinding.FragmentSetupProfileBinding -import org.futo.circles.core.CirclesAppConfig import org.futo.circles.core.extensions.getText import org.futo.circles.core.extensions.navigateSafe import org.futo.circles.core.extensions.observeData @@ -35,7 +34,7 @@ class SetupProfileFragment : Fragment(R.layout.fragment_setup_profile), HasLoadi private fun setupViews() { with(binding) { - btnSkip.setOnClickListener { navigateToSetupCirclesOrHome() } + btnSkip.setOnClickListener { navigateToHome() } btnSave.setOnClickListener { startLoading(btnSave) viewModel.saveProfileInfo(tilDisplayName.getText()) @@ -62,17 +61,12 @@ class SetupProfileFragment : Fragment(R.layout.fragment_setup_profile), HasLoadi } viewModel.saveProfileResponseLiveData.observeResponse( this, - success = { navigateToSetupCirclesOrHome() } + success = { navigateToHome() } ) } - private fun navigateToSetupCirclesOrHome() { - findNavController().navigateSafe( - if (CirclesAppConfig.isSetupCirclesEnabled) - SetupProfileFragmentDirections.toSetupCirclesFragment() - else - SetupProfileFragmentDirections.toHomeFragment() - ) + private fun navigateToHome() { + findNavController().navigateSafe(SetupProfileFragmentDirections.toHomeFragment()) } private fun setSaveButtonEnabled() { diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt index 2ea456317e8a6d3e0662ce2c3e7d57c9b4916bb8..df076973c395c64e2a216cbbfff25325934c0c13 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt @@ -26,7 +26,6 @@ enum class SignUpNavigationEvents { TokenValidation, Subscription, AcceptTerm, V @Singleton class SignUpDataSource @Inject constructor( @ApplicationContext private val context: Context, - private val coreSpacesTreeBuilder: CoreSpacesTreeBuilder, private val createPassPhraseDataSource: CreatePassPhraseDataSource, private val preferencesProvider: PreferencesProvider ) { @@ -35,7 +34,6 @@ class SignUpDataSource @Inject constructor( val navigationLiveData = SingleEventLiveData<SignUpNavigationEvents>() val finishRegistrationLiveData = SingleEventLiveData<Response<Unit>>() val passPhraseLoadingLiveData = createPassPhraseDataSource.loadingLiveData - val spaceTreeLoadingLiveData = coreSpacesTreeBuilder.loadingLiveData val stagesToComplete = mutableListOf<Stage>() @@ -116,7 +114,6 @@ class SignUpDataSource @Inject constructor( MatrixSessionProvider.awaitForSessionStart(session) preferencesProvider.setShouldShowAllExplanations() createPassPhraseDataSource.createPassPhraseBackup() - coreSpacesTreeBuilder.createCoreSpacesTree() BSSpekeClientProvider.clear() } diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpFragment.kt index bd780308449cc10cb08ff01bceba439192794929..3c62a42be44265b7e7ad340ed56f7d3b5cdd9747 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpFragment.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpFragment.kt @@ -56,9 +56,6 @@ class SignUpFragment : Fragment(R.layout.fragment_sign_up), viewModel.passPhraseLoadingLiveData.observeData(this) { loadingDialog.handleLoading(it) } - viewModel.spaceTreeLoadingLiveData.observeData(this) { - loadingDialog.handleLoading(it) - } } diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpViewModel.kt index e47ecf65446861a51ecc9c24d460040c09cb109a..039bc2140d3cb7fd01c5e9e704fb3e3cc87efc02 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpViewModel.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpViewModel.kt @@ -11,7 +11,6 @@ class SignUpViewModel @Inject constructor( val subtitleLiveData = datasource.subtitleLiveData val passPhraseLoadingLiveData = datasource.passPhraseLoadingLiveData - val spaceTreeLoadingLiveData = datasource.spaceTreeLoadingLiveData val finishRegistrationLiveData = datasource.finishRegistrationLiveData val navigationLiveData = datasource.navigationLiveData diff --git a/auth/src/main/res/navigation/nav_graph_auth.xml b/auth/src/main/res/navigation/nav_graph_auth.xml index 130ebbc3140b4318758efaf5e6dbf5659dfdd311..1f5171f2517878bbea75b280f4742d1f98d14e73 100644 --- a/auth/src/main/res/navigation/nav_graph_auth.xml +++ b/auth/src/main/res/navigation/nav_graph_auth.xml @@ -32,11 +32,6 @@ app:destination="@id/homeFragment" app:popUpTo="@id/logInFragment" app:popUpToInclusive="true" /> - <action - android:id="@+id/to_setupCirclesFragment" - app:destination="@id/setupCirclesFragment" - app:popUpTo="@id/logInFragment" - app:popUpToInclusive="true" /> </fragment> <fragment android:id="@+id/signUpFragment" @@ -54,11 +49,7 @@ android:name="org.futo.circles.auth.feature.profile.setup.SetupProfileFragment" android:label="SetupProfileFragment" tools:layout="@layout/fragment_setup_profile"> - <action - android:id="@+id/to_setupCirclesFragment" - app:destination="@id/setupCirclesFragment" - app:popUpTo="@id/setupProfileFragment" - app:popUpToInclusive="true" /> + <action android:id="@+id/to_homeFragment" app:destination="@id/homeFragment" diff --git a/auth/src/main/res/values/ids.xml b/auth/src/main/res/values/ids.xml index a3af135fe696c984e82c231d67b9955a9ccac20f..fdc7badf4aca669f2de11019221d4254bc9cf6b4 100644 --- a/auth/src/main/res/values/ids.xml +++ b/auth/src/main/res/values/ids.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <item name="homeFragment" type="id" /> - <item name="setupCirclesFragment" type="id" /> </resources> \ No newline at end of file diff --git a/core/src/main/java/org/futo/circles/core/CirclesAppConfig.kt b/core/src/main/java/org/futo/circles/core/CirclesAppConfig.kt index 9e3cc66bccf97de53dc1418dc4c2f88953080ac8..25844cca32f78c621fa4ab64f247cb2929358afd 100644 --- a/core/src/main/java/org/futo/circles/core/CirclesAppConfig.kt +++ b/core/src/main/java/org/futo/circles/core/CirclesAppConfig.kt @@ -28,9 +28,6 @@ object CirclesAppConfig { var isRageshakeEnabled = false private set - var isSetupCirclesEnabled = true - private set - data class Initializer( private var appId: String? = null, private var version: String? = null, @@ -40,8 +37,7 @@ object CirclesAppConfig { private var euDomain: String? = null, private var subscriptionEnabled: Boolean = false, private var mediaBackupEnabled: Boolean = false, - private var rageshakeEnabled: Boolean = false, - private var setupCirclesEnabled: Boolean = true + private var rageshakeEnabled: Boolean = false ) { fun buildConfigInfo(appId: String, version: String, flavour: String = "empty") = @@ -64,8 +60,6 @@ object CirclesAppConfig { fun isRageshakeEnabled(isEnabled: Boolean) = apply { this.rageshakeEnabled = isEnabled } - fun isSetupCirclesEnabled(isEnabled: Boolean) = - apply { this.setupCirclesEnabled = isEnabled } fun init() { CirclesAppConfig.appId = appId?.takeIf { it.isNotEmpty() } @@ -89,7 +83,6 @@ object CirclesAppConfig { isSubscriptionsEnabled = subscriptionEnabled isMediaBackupEnabled = mediaBackupEnabled isRageshakeEnabled = rageshakeEnabled - isSetupCirclesEnabled = setupCirclesEnabled } }