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