From d1c02510d13898f0bce3747d1a3589b93be1f664 Mon Sep 17 00:00:00 2001 From: Borgia Leiva Date: Mon, 9 Feb 2026 13:29:06 +0100 Subject: [PATCH 1/2] Started working on adding details and project management --- .../ui/ProjectDetailActivity.kt | 41 ++++++++- .../ui/ProjectItemAdapter.kt | 8 +- .../res/layout/activity_project_detail.xml | 87 +++++++++++++++++-- 3 files changed, 124 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectDetailActivity.kt b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectDetailActivity.kt index 5790ade..3cb0662 100644 --- a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectDetailActivity.kt +++ b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectDetailActivity.kt @@ -1,14 +1,17 @@ package com.campusaula.edbole.kanban_clone_android.ui +import android.content.Intent import android.health.connect.datatypes.units.Percentage import android.os.Bundle import android.util.Log +import android.widget.Button import android.widget.TextView import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.lifecycle.lifecycleScope +import androidx.recyclerview.widget.RecyclerView import com.campusaula.edbole.kanban_clone_android.R import com.campusaula.edbole.kanban_clone_android.kanban.Project import com.campusaula.edbole.kanban_clone_android.kanban.Task @@ -22,10 +25,17 @@ class ProjectDetailActivity : AppCompatActivity() { private lateinit var api: ApiService + private lateinit var returnActionButton: FloatingActionButton + private lateinit var addTaskButton: Button + private lateinit var addCollaboratorButton: Button + + private lateinit var collaboratorListRecycler: RecyclerView +// private lateinit var collaboratorListAdapter: CollaboratorListAdapter + private lateinit var projectTitleText : TextView private lateinit var projectDescriptionText : TextView private lateinit var completedPercentageText: TextView - private lateinit var returnActionButton: FloatingActionButton + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -36,14 +46,36 @@ class ProjectDetailActivity : AppCompatActivity() { v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) insets } + + api = RetrofitInstance.getRetrofit(applicationContext).create(ApiService::class.java) + val projectId = intent.getIntExtra("project_id", -1) + projectTitleText = findViewById(R.id.projectTitleText) projectDescriptionText = findViewById(R.id.projectDescriptionText) completedPercentageText = findViewById(R.id.completedPercentageText) + returnActionButton = findViewById(R.id.returnActionButton) returnActionButton.setOnClickListener { finish() } - val projectId : Int = intent.getIntExtra("project_id", -1) + addTaskButton = findViewById(R.id.addTaskButton) +// addTaskButton.setOnClickListener { +// val intent: Intent = Intent(this, CreateTaskActivity::class.java) +// intent.putExtra("project_id", projectId) +// startActivity(intent) +// } + + addCollaboratorButton = findViewById(R.id.addCollaboratorButton) +// addCollaboratorButton.setOnClickListener { +// val intent: Intent = Intent(this, AddCollaboratorActivity::class.java) +// intent.putExtra("project_id", projectId) +// startActivity(intent) +// } + + collaboratorListRecycler = findViewById(R.id.collaboratorListRecycler) +// collaboratorListAdapter = + collaboratorListRecycler.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(this) + if (projectId > 0) { Log.d("ProjectDetailActivity", "Received project ID: $projectId") @@ -83,10 +115,13 @@ class ProjectDetailActivity : AppCompatActivity() { finish() } } - } else { + } + else { Log.e("ProjectDetailActivity", "No project ID found in intent") finish() } + + } } \ No newline at end of file diff --git a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectItemAdapter.kt b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectItemAdapter.kt index 53856b0..062b84b 100644 --- a/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectItemAdapter.kt +++ b/app/src/main/java/com/campusaula/edbole/kanban_clone_android/ui/ProjectItemAdapter.kt @@ -33,12 +33,12 @@ class ProjectItemAdapter( override fun getItemCount(): Int = items.size class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { - private val nameTv: TextView = itemView.findViewById(R.id.projectName) - private val descTv: TextView = itemView.findViewById(R.id.projectDescription) + private val nameTextView: TextView = itemView.findViewById(R.id.projectName) + private val descriptionTextView: TextView = itemView.findViewById(R.id.projectDescription) fun bind(project: Project) { - nameTv.text = project.id.toString() + " " + project.name - descTv.text = project.description + nameTextView.text = project.name + descriptionTextView.text = project.description } } } diff --git a/app/src/main/res/layout/activity_project_detail.xml b/app/src/main/res/layout/activity_project_detail.xml index 4b45b8c..c1987be 100644 --- a/app/src/main/res/layout/activity_project_detail.xml +++ b/app/src/main/res/layout/activity_project_detail.xml @@ -38,19 +38,96 @@ android:id="@+id/completedPercentageText" app:layout_constraintTop_toBottomOf="@+id/projectTitleText" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintHorizontal_bias="0.0" app:layout_constraintEnd_toEndOf="parent" android:paddingRight="12dp" - android:paddingLeft="12dp" /> + android:paddingLeft="12dp" + android:layout_marginTop="16dp" + android:textSize="18dp" /> + android:padding="12dp" + android:gravity="start|top" /> + + + + + + + +