From 64556663687465f1bb81733acf088a2eab82a288 Mon Sep 17 00:00:00 2001 From: Monnot <48322244+Saigai@users.noreply.github.com> Date: Wed, 30 Dec 2020 17:22:55 +0100 Subject: [PATCH] Editing a task works and fixed adding a task --- .../clemhaowen/dm_td2/task/TaskActivity.kt | 25 ++++++++++++++++--- .../dm_td2/tasklist/TaskListFragment.kt | 23 ++++++++++++----- 2 files changed, 38 insertions(+), 10 deletions(-) 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 ad6dcf8..6f98cce 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 d9a4c98..0267a20 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 -- GitLab