From 5410348e721c367617cea6ef282f377ba1b6af6c Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Fri, 22 Sep 2023 15:41:23 +0300 Subject: [PATCH] Move workspace fragment to auth module --- .../org/futo/circles/model/PeopleListItem.kt | 2 +- .../auth/feature/sign_up/SignUpFragment.kt | 6 ++-- .../ConfigureWorkspaceDialogFragment.kt | 13 ++++---- .../workspace/ConfigureWorkspaceViewModel.kt | 30 +++++++++---------- .../ConfigureWorkspaceDataSource.kt | 2 +- .../SpacesTreeAccountDataSource.kt | 2 +- .../workspace/list/WorkspaceTaskViewHolder.kt | 16 +++++----- .../list/WorkspaceTasksListAdapter.kt | 8 ++--- .../futo/circles/auth}/model/WorkspaceTask.kt | 4 ++- .../dialog_fragment_configure_workspace.xml | 0 .../list_item_mandatory_workspace_task.xml | 0 .../list_item_optional_workspace_task.xml | 0 auth/src/main/res/values/strings.xml | 9 ++++++ core/src/main/res/values/strings.xml | 6 ---- 14 files changed, 53 insertions(+), 45 deletions(-) rename {core/src/main/java/org/futo/circles/core => auth/src/main/java/org/futo/circles/auth/feature}/workspace/ConfigureWorkspaceDialogFragment.kt (81%) rename {core/src/main/java/org/futo/circles/core => auth/src/main/java/org/futo/circles/auth/feature}/workspace/ConfigureWorkspaceViewModel.kt (79%) rename {core/src/main/java/org/futo/circles/core => auth/src/main/java/org/futo/circles/auth/feature}/workspace/data_source/ConfigureWorkspaceDataSource.kt (96%) rename {core/src/main/java/org/futo/circles/core => auth/src/main/java/org/futo/circles/auth/feature}/workspace/data_source/SpacesTreeAccountDataSource.kt (94%) rename {core/src/main/java/org/futo/circles/core => auth/src/main/java/org/futo/circles/auth/feature}/workspace/list/WorkspaceTaskViewHolder.kt (85%) rename {core/src/main/java/org/futo/circles/core => auth/src/main/java/org/futo/circles/auth/feature}/workspace/list/WorkspaceTasksListAdapter.kt (85%) rename {core/src/main/java/org/futo/circles/core => auth/src/main/java/org/futo/circles/auth}/model/WorkspaceTask.kt (85%) rename {core => auth}/src/main/res/layout/dialog_fragment_configure_workspace.xml (100%) rename {core => auth}/src/main/res/layout/list_item_mandatory_workspace_task.xml (100%) rename {core => auth}/src/main/res/layout/list_item_optional_workspace_task.xml (100%) diff --git a/app/src/main/java/org/futo/circles/model/PeopleListItem.kt b/app/src/main/java/org/futo/circles/model/PeopleListItem.kt index ca5d9b2d2..4247cdaf0 100644 --- a/app/src/main/java/org/futo/circles/model/PeopleListItem.kt +++ b/app/src/main/java/org/futo/circles/model/PeopleListItem.kt @@ -15,7 +15,7 @@ data class PeopleHeaderItem( override val id: String = titleRes.toString() companion object { - val friends = PeopleHeaderItem(R.string.friends) + val friends = PeopleHeaderItem(org.futo.circles.auth.R.string.friends) val followersUsersHeader = PeopleHeaderItem(R.string.followers) val followingUsersHeader = PeopleHeaderItem(R.string.following) val knownUsersHeader = PeopleHeaderItem(R.string.known_users) 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 3c62a42be..e0a6a229a 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 @@ -47,7 +47,7 @@ class SignUpFragment : Fragment(R.layout.fragment_sign_up), handleNavigation(it) } viewModel.finishRegistrationLiveData.observeResponse(this, - success = { navigateToSetupProfile() }, + success = { navigateToConfigureWorspace() }, error = { message -> showError(message) loadingDialog.dismiss() @@ -93,8 +93,8 @@ class SignUpFragment : Fragment(R.layout.fragment_sign_up), } } - private fun navigateToSetupProfile() { - findNavController().navigateSafe(SignUpFragmentDirections.toSetupProfileFragment()) + private fun navigateToConfigureWorspace() { + findNavController().navigateSafe(SignUpFragmentDirections.toConfigureWorkspace()) } } \ No newline at end of file diff --git a/core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceDialogFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/workspace/ConfigureWorkspaceDialogFragment.kt similarity index 81% rename from core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceDialogFragment.kt rename to auth/src/main/java/org/futo/circles/auth/feature/workspace/ConfigureWorkspaceDialogFragment.kt index d2060278b..bee522dcc 100644 --- a/core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceDialogFragment.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/workspace/ConfigureWorkspaceDialogFragment.kt @@ -1,19 +1,21 @@ -package org.futo.circles.core.workspace +package org.futo.circles.auth.feature.workspace 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 dagger.hilt.android.AndroidEntryPoint -import org.futo.circles.core.R -import org.futo.circles.core.databinding.DialogFragmentConfigureWorkspaceBinding +import org.futo.circles.auth.R +import org.futo.circles.auth.databinding.DialogFragmentConfigureWorkspaceBinding +import org.futo.circles.auth.feature.workspace.list.WorkspaceTasksListAdapter +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.fragment.BaseFullscreenDialogFragment import org.futo.circles.core.fragment.HasLoadingState -import org.futo.circles.core.workspace.list.WorkspaceTasksListAdapter @AndroidEntryPoint class ConfigureWorkspaceDialogFragment : @@ -56,7 +58,8 @@ class ConfigureWorkspaceDialogFragment : } viewModel.workspaceResultLiveData.observeResponse(this, success = { - + findNavController() + .navigateSafe(ConfigureWorkspaceDialogFragmentDirections.toSetupProfileFragment()) }, error = { showError(it) diff --git a/core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/workspace/ConfigureWorkspaceViewModel.kt similarity index 79% rename from core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceViewModel.kt rename to auth/src/main/java/org/futo/circles/auth/feature/workspace/ConfigureWorkspaceViewModel.kt index d1eec62ed..a317e10b7 100644 --- a/core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceViewModel.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/workspace/ConfigureWorkspaceViewModel.kt @@ -1,9 +1,9 @@ -package org.futo.circles.core.workspace +package org.futo.circles.auth.feature.workspace import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import dagger.hilt.android.lifecycle.HiltViewModel -import org.futo.circles.core.R +import org.futo.circles.auth.R import org.futo.circles.core.SingleEventLiveData import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.createResult @@ -11,15 +11,15 @@ import org.futo.circles.core.extensions.launchBg import org.futo.circles.core.model.Circle import org.futo.circles.core.model.Gallery import org.futo.circles.core.model.GroupsSpace -import org.futo.circles.core.model.MandatoryWorkspaceTask -import org.futo.circles.core.model.OptionalWorkspaceTask +import org.futo.circles.auth.model.MandatoryWorkspaceTask +import org.futo.circles.auth.model.OptionalWorkspaceTask import org.futo.circles.core.model.PeopleSpace import org.futo.circles.core.model.PhotosSpace import org.futo.circles.core.model.RootSpace import org.futo.circles.core.model.SharedCirclesSpace import org.futo.circles.core.model.TaskStatus -import org.futo.circles.core.model.WorkspaceTask -import org.futo.circles.core.workspace.data_source.ConfigureWorkspaceDataSource +import org.futo.circles.auth.model.WorkspaceTask +import org.futo.circles.auth.feature.workspace.data_source.ConfigureWorkspaceDataSource import javax.inject.Inject @HiltViewModel @@ -29,15 +29,15 @@ class ConfigureWorkspaceViewModel @Inject constructor( val tasksLiveData = MutableLiveData( listOf( - MandatoryWorkspaceTask(RootSpace(), R.string.camera), - MandatoryWorkspaceTask(GroupsSpace(), R.string.camera), - MandatoryWorkspaceTask(PhotosSpace(), R.string.camera), - MandatoryWorkspaceTask(PeopleSpace(), R.string.camera), - MandatoryWorkspaceTask(SharedCirclesSpace(), R.string.camera), - OptionalWorkspaceTask(Gallery(nameId = R.string.photos), R.string.camera), - OptionalWorkspaceTask(Circle(nameId = R.string.friends), R.string.camera), - OptionalWorkspaceTask(Circle(nameId = R.string.family), R.string.camera), - OptionalWorkspaceTask(Circle(nameId = R.string.community), R.string.camera) + MandatoryWorkspaceTask(RootSpace(), R.string.passphrase), + MandatoryWorkspaceTask(GroupsSpace(), R.string.passphrase), + MandatoryWorkspaceTask(PhotosSpace(), R.string.passphrase), + MandatoryWorkspaceTask(PeopleSpace(), R.string.passphrase), + MandatoryWorkspaceTask(SharedCirclesSpace(), R.string.passphrase), + OptionalWorkspaceTask(Gallery(nameId = R.string.passphrase), R.string.passphrase), + OptionalWorkspaceTask(Circle(nameId = R.string.friends), R.string.passphrase), + OptionalWorkspaceTask(Circle(nameId = R.string.family), R.string.passphrase), + OptionalWorkspaceTask(Circle(nameId = R.string.community), R.string.passphrase) ) ) val workspaceResultLiveData = SingleEventLiveData<Response<Unit>>() diff --git a/core/src/main/java/org/futo/circles/core/workspace/data_source/ConfigureWorkspaceDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/workspace/data_source/ConfigureWorkspaceDataSource.kt similarity index 96% rename from core/src/main/java/org/futo/circles/core/workspace/data_source/ConfigureWorkspaceDataSource.kt rename to auth/src/main/java/org/futo/circles/auth/feature/workspace/data_source/ConfigureWorkspaceDataSource.kt index eb40b7005..08b2a164e 100644 --- a/core/src/main/java/org/futo/circles/core/workspace/data_source/ConfigureWorkspaceDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/workspace/data_source/ConfigureWorkspaceDataSource.kt @@ -1,4 +1,4 @@ -package org.futo.circles.core.workspace.data_source +package org.futo.circles.auth.feature.workspace.data_source import kotlinx.coroutines.delay import org.futo.circles.core.model.CirclesRoom diff --git a/core/src/main/java/org/futo/circles/core/workspace/data_source/SpacesTreeAccountDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/workspace/data_source/SpacesTreeAccountDataSource.kt similarity index 94% rename from core/src/main/java/org/futo/circles/core/workspace/data_source/SpacesTreeAccountDataSource.kt rename to auth/src/main/java/org/futo/circles/auth/feature/workspace/data_source/SpacesTreeAccountDataSource.kt index 5a129a412..d9966d7cc 100644 --- a/core/src/main/java/org/futo/circles/core/workspace/data_source/SpacesTreeAccountDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/workspace/data_source/SpacesTreeAccountDataSource.kt @@ -1,4 +1,4 @@ -package org.futo.circles.core.workspace.data_source +package org.futo.circles.auth.feature.workspace.data_source import org.futo.circles.core.provider.MatrixSessionProvider import javax.inject.Inject diff --git a/core/src/main/java/org/futo/circles/core/workspace/list/WorkspaceTaskViewHolder.kt b/auth/src/main/java/org/futo/circles/auth/feature/workspace/list/WorkspaceTaskViewHolder.kt similarity index 85% rename from core/src/main/java/org/futo/circles/core/workspace/list/WorkspaceTaskViewHolder.kt rename to auth/src/main/java/org/futo/circles/auth/feature/workspace/list/WorkspaceTaskViewHolder.kt index dfddeb8a5..711a3287a 100644 --- a/core/src/main/java/org/futo/circles/core/workspace/list/WorkspaceTaskViewHolder.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/workspace/list/WorkspaceTaskViewHolder.kt @@ -1,4 +1,4 @@ -package org.futo.circles.core.workspace.list +package org.futo.circles.auth.feature.workspace.list import android.view.View import android.view.ViewGroup @@ -6,17 +6,17 @@ import android.widget.ImageView import android.widget.ProgressBar import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView -import org.futo.circles.core.R -import org.futo.circles.core.databinding.ListItemMandatoryWorkspaceTaskBinding -import org.futo.circles.core.databinding.ListItemOptionalWorkspaceTaskBinding +import org.futo.circles.auth.R +import org.futo.circles.auth.databinding.ListItemMandatoryWorkspaceTaskBinding +import org.futo.circles.auth.databinding.ListItemOptionalWorkspaceTaskBinding import org.futo.circles.core.extensions.gone import org.futo.circles.core.extensions.onClick import org.futo.circles.core.extensions.visible import org.futo.circles.core.list.ViewBindingHolder import org.futo.circles.core.list.context -import org.futo.circles.core.model.OptionalWorkspaceTask +import org.futo.circles.auth.model.OptionalWorkspaceTask import org.futo.circles.core.model.TaskStatus -import org.futo.circles.core.model.WorkspaceTask +import org.futo.circles.auth.model.WorkspaceTask abstract class WorkspaceTaskViewHolder(view: View) : RecyclerView.ViewHolder(view) { @@ -39,8 +39,8 @@ abstract class WorkspaceTaskViewHolder(view: View) : RecyclerView.ViewHolder(vie ivStatus.apply { visible() setImageResource( - if (status == TaskStatus.FAILED) R.drawable.ic_error - else R.drawable.ic_check_circle + if (status == TaskStatus.FAILED) org.futo.circles.core.R.drawable.ic_error + else org.futo.circles.core.R.drawable.ic_check_circle ) setColorFilter( ContextCompat.getColor( diff --git a/core/src/main/java/org/futo/circles/core/workspace/list/WorkspaceTasksListAdapter.kt b/auth/src/main/java/org/futo/circles/auth/feature/workspace/list/WorkspaceTasksListAdapter.kt similarity index 85% rename from core/src/main/java/org/futo/circles/core/workspace/list/WorkspaceTasksListAdapter.kt rename to auth/src/main/java/org/futo/circles/auth/feature/workspace/list/WorkspaceTasksListAdapter.kt index bce0cbdb2..1c3ab1902 100644 --- a/core/src/main/java/org/futo/circles/core/workspace/list/WorkspaceTasksListAdapter.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/workspace/list/WorkspaceTasksListAdapter.kt @@ -1,10 +1,10 @@ -package org.futo.circles.core.workspace.list +package org.futo.circles.auth.feature.workspace.list import android.view.ViewGroup import org.futo.circles.core.list.BaseRvAdapter -import org.futo.circles.core.model.MandatoryWorkspaceTask -import org.futo.circles.core.model.OptionalWorkspaceTask -import org.futo.circles.core.model.WorkspaceTask +import org.futo.circles.auth.model.MandatoryWorkspaceTask +import org.futo.circles.auth.model.OptionalWorkspaceTask +import org.futo.circles.auth.model.WorkspaceTask private enum class WorkspaceTaskViewType { Mandatory, Optional } diff --git a/core/src/main/java/org/futo/circles/core/model/WorkspaceTask.kt b/auth/src/main/java/org/futo/circles/auth/model/WorkspaceTask.kt similarity index 85% rename from core/src/main/java/org/futo/circles/core/model/WorkspaceTask.kt rename to auth/src/main/java/org/futo/circles/auth/model/WorkspaceTask.kt index d527148e1..c6815d089 100644 --- a/core/src/main/java/org/futo/circles/core/model/WorkspaceTask.kt +++ b/auth/src/main/java/org/futo/circles/auth/model/WorkspaceTask.kt @@ -1,6 +1,8 @@ -package org.futo.circles.core.model +package org.futo.circles.auth.model import org.futo.circles.core.list.IdEntity +import org.futo.circles.core.model.CirclesRoom +import org.futo.circles.core.model.TaskStatus sealed class WorkspaceTask( open val room: CirclesRoom, diff --git a/core/src/main/res/layout/dialog_fragment_configure_workspace.xml b/auth/src/main/res/layout/dialog_fragment_configure_workspace.xml similarity index 100% rename from core/src/main/res/layout/dialog_fragment_configure_workspace.xml rename to auth/src/main/res/layout/dialog_fragment_configure_workspace.xml diff --git a/core/src/main/res/layout/list_item_mandatory_workspace_task.xml b/auth/src/main/res/layout/list_item_mandatory_workspace_task.xml similarity index 100% rename from core/src/main/res/layout/list_item_mandatory_workspace_task.xml rename to auth/src/main/res/layout/list_item_mandatory_workspace_task.xml diff --git a/core/src/main/res/layout/list_item_optional_workspace_task.xml b/auth/src/main/res/layout/list_item_optional_workspace_task.xml similarity index 100% rename from core/src/main/res/layout/list_item_optional_workspace_task.xml rename to auth/src/main/res/layout/list_item_optional_workspace_task.xml diff --git a/auth/src/main/res/values/strings.xml b/auth/src/main/res/values/strings.xml index 8f380577d..336748903 100644 --- a/auth/src/main/res/values/strings.xml +++ b/auth/src/main/res/values/strings.xml @@ -123,6 +123,15 @@ <string name="got_it">Got it</string> <string name="groups">Groups</string> <string name="circles">Circles</string> + <string name="create">Create</string> + <string name="friends">Friends</string> + <string name="family">Family</string> + <string name="community">Community</string> + <string name="retry">Retry</string> + + + + <string name="circle_explanation"><![CDATA[Tip: A <b>circle</b> works like a secure, private version of Facebook or Twitter. Everyone posts to their own timeline, and you see posts from all the timelines that you\'re following. <br/><br/>A circle is a good way to share things with lots of people who don\'t all know each other, but they all know you. <br/><br/>For example, think about all the aunts and uncles and cousins from the different sides of your family. diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 4387e2c20..0ffe76b4e 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -132,10 +132,4 @@ <string name="requested_to_join_format">%s requested to join</string> <string name="invited_by_format">Invited by %s</string> <string name="circle_encryption_warning">NOTE: Circle name and cover image are not encrypted</string> - <string name="create">Create</string> - <string name="friends">Friends</string> - <string name="family">Family</string> - <string name="community">Community</string> - <string name="retry">Retry</string> - </resources> \ No newline at end of file -- GitLab