diff --git a/app/src/main/java/com/clemhaowen/dm_td2/task/TaskActivity.kt b/app/src/main/java/com/clemhaowen/dm_td2/task/TaskActivity.kt index ad6dcf83e30a56549e0817e852ad16afdeebaff1..6f98cce0a76444f3b0b53451f498fe03831fc386 100644 --- a/app/src/main/java/com/clemhaowen/dm_td2/task/TaskActivity.kt +++ b/app/src/main/java/com/clemhaowen/dm_td2/task/TaskActivity.kt @@ -18,12 +18,29 @@ class TaskActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_task) val createButton = findViewById<Button>(R.id.button) + var resultCode = 666 + val titleEditText = findViewById<EditText>(R.id.titleEditText) + val descriptionEditText = findViewById<EditText>(R.id.descriptionEditText) + val serializableExtra = intent?.getSerializableExtra("editTask") + var task : Task + var id : String = "" + if (serializableExtra != null){ + task = serializableExtra as Task + titleEditText.setText(task.title) + descriptionEditText.setText(task.description) + resultCode = 667 + id = task.id + } createButton.setOnClickListener{ - val titleText = findViewById<EditText>(R.id.titleEditText).text - val descriptionText = findViewById<EditText>(R.id.descriptionEditText).text - val newTask = Task(id = java.util.UUID.randomUUID().toString(), title = titleText.toString(), description = descriptionText.toString()) + var newTask : Task + + if (resultCode == 666){ + id = java.util.UUID.randomUUID().toString() + } + newTask = Task(id = id, title = titleEditText.text.toString(), description = descriptionEditText.text.toString()) + intent.putExtra("newTask", newTask) - setResult(666, intent) + setResult(resultCode, intent) TASK_KEY = "newTask" finish() } diff --git a/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskListFragment.kt b/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskListFragment.kt index d9a4c98e4a0595dd6498f58424f91e88a116370a..0267a206e3fc6800cab8733dc15043efda98cced 100644 --- a/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskListFragment.kt +++ b/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskListFragment.kt @@ -38,6 +38,7 @@ class TaskListFragment : Fragment() { companion object { const val ADD_TASK_REQUEST_CODE = 666 + const val EDIT_TASK_REQUEST_CODE = 667 } override fun onCreateView( @@ -67,9 +68,10 @@ class TaskListFragment : Fragment() { } (recyclerView?.adapter as TaskListAdapter).onEditClickListener = { task -> - lifecycleScope.launch { - tasksRepository.updateTask(task) - } + val intent = Intent(activity, TaskActivity::class.java) + intent.putExtra("editTask", task) + startActivityForResult(intent, EDIT_TASK_REQUEST_CODE) + (recyclerView?.adapter as TaskListAdapter).notifyDataSetChanged() } tasksRepository.taskList.observe(viewLifecycleOwner, androidx.lifecycle.Observer { @@ -98,7 +100,15 @@ class TaskListFragment : Fragment() { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { val task = data!!.getSerializableExtra(TaskActivity.TASK_KEY) as Task - taskList.add(task) + lifecycleScope.launch { + if (requestCode == ADD_TASK_REQUEST_CODE) { + tasksRepository.addTask(task) + } + else if (requestCode == EDIT_TASK_REQUEST_CODE){ + tasksRepository.updateTask(task) + } + } + //taskList.add(task) } override fun onResume() { @@ -108,13 +118,14 @@ class TaskListFragment : Fragment() { crossfade(true) transformations(CircleCropTransformation()) } - lifecycleScope.launch { + /*lifecycleScope.launch { tasksRepository.refresh() - } + }*/ lifecycleScope.launch { val userInfo = Api.userService.getInfo().body()!! val textView = view?.findViewById<TextView>(R.id.textViewInfo) textView?.text = "${userInfo.firstName} ${userInfo.lastName}" + tasksRepository.refresh() } } } \ No newline at end of file