From 6672ec4664a8582557446ad40ae2bfd4670ff051 Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Tue, 21 Mar 2023 17:35:54 +0100 Subject: [PATCH] realization of the recycler view for the matches :white_check_mark: --- .../shelved.patch | 346 ++++++++++++++++++ ...e_Update_at_21_03_2023_09_05__Changes_.xml | 4 + .../java/uca/iut/clermont/data/StubData.kt | 266 +++++++++----- .../java/uca/iut/clermont/model/ApiManager.kt | 2 +- .../uca/iut/clermont/model/DataManager.kt | 1 + .../main/java/uca/iut/clermont/model/Match.kt | 8 +- .../java/uca/iut/clermont/model/Personne.kt | 1 - .../main/java/uca/iut/clermont/model/Score.kt | 7 + .../main/java/uca/iut/clermont/model/Staff.kt | 1 - .../uca/iut/clermont/view/FavoriteActivity.kt | 4 +- .../uca/iut/clermont/view/HomeActivity.kt | 14 + .../clermont/view/adapter/MatchesAdapter.kt | 21 ++ .../clermont/view/viewHolder/MatchHolder.kt | 17 + .../src/main/res/layout/activity_favorite.xml | 29 -- src/app/src/main/res/layout/activity_home.xml | 9 +- 15 files changed, 604 insertions(+), 126 deletions(-) create mode 100644 src/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05_[Changes]/shelved.patch create mode 100644 src/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05__Changes_.xml create mode 100644 src/app/src/main/java/uca/iut/clermont/model/Score.kt create mode 100644 src/app/src/main/java/uca/iut/clermont/view/adapter/MatchesAdapter.kt create mode 100644 src/app/src/main/java/uca/iut/clermont/view/viewHolder/MatchHolder.kt diff --git a/src/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05_[Changes]/shelved.patch b/src/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05_[Changes]/shelved.patch new file mode 100644 index 0000000..cc336c4 --- /dev/null +++ b/src/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05_[Changes]/shelved.patch @@ -0,0 +1,346 @@ +Index: app/src/main/java/uca/iut/clermont/data/StubData.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>package uca.iut.clermont.data\n\nimport AreaManager\nimport CompetitionsManager\nimport DataManager\nimport MatchesManager\nimport PeopleManager\nimport TeamsManager\nimport uca.iut.clermont.model.*\nimport java.util.*\n\nclass StubData : DataManager() {\n override val areaMgr: AreaManager = StubAreaManager(this)\n override val peopleMgr: PeopleManager = StubPeopleManager(this)\n override val matchesMgr: MatchesManager = StubMatchesManager()\n override val competitionsMgr: CompetitionsManager = StubCompetitionsManager()\n override val teamsMgr: TeamsManager = StubTeamsManager(this)\n\n private val areaList = listOf(\n Area(1, \"France\", \"FRA\", \"https://crests.football-data.org/773.svg\", \"Europe\"),\n Area(2, \"Spain\", \"ESP\", \"https://crests.football-data.org/760.svg\", \"Europe\"),\n Area(3, \"Brazil\", \"BRA\", \"https://crests.football-data.org/764.svg\", \"South America\"),\n Area(4, \"Mexico\", \"Mex\", \"https://crests.football-data.org/mexico.svg\", \"North America\"),\n Area(\n 5,\n \"Australia\",\n \"AUS\",\n \"https://australie-voyage.fr/wp-content/uploads/2020/08/Drapeau-australien.jpg\",\n \"Oceania\"\n )\n )\n\n private val peopleList = listOf(\n Player(\n 1,\n \"Lionel\",\n \"Messi\",\n \"L. Messi\",\n Calendar.getInstance().apply { set(1987, 6, 24)},\n \"Argentina\",\n Contract(Calendar.getInstance().apply { set(2020, 6, 1)}, Calendar.getInstance().apply { set(2025, 6, 1)}),\n \"Forward\",\n 10\n ),\n Player(\n 2,\n \"Cristiano\",\n \"Ronaldo\",\n \"C. Ronaldo\",\n Calendar.getInstance().apply { set(1985, 2, 5)},\n \"Portugal\",\n Contract(Calendar.getInstance().apply { set(2020, 7, 1)}, Calendar.getInstance().apply { set(2024, 7, 1)}),\n \"Forward\",\n 7\n ),\n Player(\n 3,\n \"Neymar\",\n \"Jr\",\n \"Neymar\",\n Calendar.getInstance().apply { set(1992, 2, 5)},\n \"Brazil\",\n Contract(Calendar.getInstance().apply { set(2021, 1, 1)}, Calendar.getInstance().apply { set(2026, 1, 1)}),\n \"Forward\",\n 10\n ),\n Player(\n 4,\n \"Kylian\",\n \"Mbappe\",\n \"K. Mbappe\",\n Calendar.getInstance().apply { set(1998, 12, 20)},\n \"France\",\n Contract(Calendar.getInstance().apply { set(2022, 1, 1)}, Calendar.getInstance().apply { set(2027, 1, 1)}),\n \"Forward\",\n 7\n ),\n Player(\n 5,\n \"Mohamed\",\n \"Salah\",\n \"M. Salah\",\n Calendar.getInstance().apply { set(1992, 6, 15)},\n \"Egypt\",\n Contract(Calendar.getInstance().apply { set(2021, 7, 1)}, Calendar.getInstance().apply { set(2025, 7, 1)}),\n \"Forward\",\n 11\n ),\n Player(\n 6,\n \"Kevin\",\n \"De Bruyne\",\n \"K. De Bruyne\",\n Calendar.getInstance().apply { set(1991, 6, 28)},\n \"Belgium\",\n Contract(Calendar.getInstance().apply { set(2021, 8, 1)}, Calendar.getInstance().apply { set(2026, 8, 1)}),\n \"Midfielder\",\n 17\n ),\n Player(\n 7,\n \"Robert\",\n \"Lewandowski\",\n \"R. Lewandowski\",\n Calendar.getInstance().apply { set(1988, 8, 21)},\n \"Poland\",\n Contract(Calendar.getInstance().apply { set(2021, 1, 1)}, Calendar.getInstance().apply { set(2024, 1, 1)}),\n \"Forward\",\n 9\n ),\n Player(\n 8,\n \"Sadio\",\n \"Mane\",\n \"S. Mane\",\n Calendar.getInstance().apply { set(1992, 4, 10)},\n \"Senegal\",\n Contract(Calendar.getInstance().apply { set(2022, 1, 1)}, Calendar.getInstance().apply { set(2026, 1, 1)}),\n \"Forward\",\n 10\n ),\n Player(\n 9,\n \"Virgil\",\n \"Van Dijk\",\n \"V. Van Dijk\",\n Calendar.getInstance().apply { set(1991, 7, 8)},\n \"Netherlands\",\n Contract(Calendar.getInstance().apply { set(2023, 1, 1)}, Calendar.getInstance().apply { set(2026, 1, 1)}),\n \"Defender\",\n 4\n ),\n Player(\n 10,\n \"Luka\",\n \"Modric\",\n \"L. Modric\",\n Calendar.getInstance().apply { set(1985, 9, 9)},\n \"Croatia\",\n Contract(Calendar.getInstance().apply { set(2020, 6, 1)}, Calendar.getInstance().apply { set(2022, 6, 1)}),\n \"Midfielder\",\n 10\n ),\n Player(\n 11,\n \"Harry\",\n \"Kane\",\n \"H. Kane\",\n Calendar.getInstance().apply { set(1993, 7, 28)},\n \"England\",\n Contract(Calendar.getInstance().apply { set(2021, 7, 1)}, Calendar.getInstance().apply { set(2025, 7, 1)}),\n \"Forward\",\n 10\n ),\n Player(\n 12,\n \"Sergio\",\n \"Aguero\",\n \"S. Aguero\",\n Calendar.getInstance().apply { set(1988, 6, 2)},\n \"Argentina\",\n Contract(Calendar.getInstance().apply { set(2021, 6, 1)}, Calendar.getInstance().apply { set(2023, 6, 1)}),\n \"Forward\",\n 10\n ),\n Player(\n 13,\n \"Eden\",\n \"Hazard\",\n \"E. Hazard\",\n Calendar.getInstance().apply { set(1991, 1, 7)},\n \"Belgium\",\n Contract(Calendar.getInstance().apply { set(2022, 1, 1)}, Calendar.getInstance().apply { set(2027, 1, 1)}),\n \"Forward\",\n 7\n ),\n Coach(\n 14,\n \"Pep\",\n \"Guardiola\",\n \"P. Guardiola\",\n Calendar.getInstance().apply { set(1971, 1, 18)},\n \"Spain\",\n Contract(Calendar.getInstance().apply { set(2020, 6, 1)}, Calendar.getInstance().apply { set(2023, 6, 1)})\n ),\n Coach(\n 15,\n \"Jurgen\",\n \"Klopp\",\n \"J. Klopp\",\n Calendar.getInstance().apply { set(1967, 6, 16)},\n \"Germany\",\n Contract(Calendar.getInstance().apply { set(2020, 7, 1)}, Calendar.getInstance().apply { set(2024, 7, 1)})\n ),\n Staff(\n 16,\n \"Jorge\",\n \"Desio\",\n \"J. Desio\",\n Calendar.getInstance().apply { set(1966, 1, 1)},\n \"Argentina\",\n Contract(Calendar.getInstance().apply { set(2020, 6, 1)}, Calendar.getInstance().apply { set(2023, 6, 1)})\n ),\n Staff(\n 17,\n \"Craig\",\n \"Mawson\",\n \"C. Mawson\",\n Calendar.getInstance().apply { set(1973, 8, 22)},\n \"England\",\n Contract(Calendar.getInstance().apply { set(2020, 7, 1)}, Calendar.getInstance().apply { set(2024, 7, 1)})\n )\n )\n private val teamList = listOf(\n Team(\n 1,\n \"Paris Saint-Germain FC\",\n \"PSG\",\n \"https://crests.football-data.org/524.svg\",\n \"24 Rue du Commandant Guilbaud, 75016 Paris, France\",\n \"https://www.psg.fr/\",\n \"1970\",\n \"Navy / Red\",\n areaList[0],\n \"Parc des Princes\",\n peopleList[0] as Coach,\n listOf(peopleList[2] as Staff),\n listOf(peopleList[0] as Player, peopleList[3] as Player, peopleList[11] as Player)\n ),\n Team(\n 2,\n \"FC Barcelona\",\n \"BAR\",\n \"https://crests.football-data.org/81.svg\",\n \"Carrer d'Aristides Maillol, s/n, 08028 Barcelona, Spain\",\n \"https://www.fcbarcelona.com/\",\n \"1899\",\n \"Blue / Red\",\n areaList[3],\n \"Camp Nou\",\n peopleList[0] as Coach,\n listOf(peopleList[2] as Staff),\n listOf(peopleList[0] as Player, peopleList[5] as Player, peopleList[9] as Player)\n ),\n Team(\n 3,\n \"Liverpool FC\",\n \"LIV\",\n \"https://crests.football-data.org/64.svg\",\n \"Anfield Road, Liverpool L4 0TH, United Kingdom\",\n \"https://www.liverpoolfc.com/\",\n \"1892\",\n \"Red\",\n areaList[2],\n \"Anfield\",\n peopleList[1] as Coach,\n listOf(peopleList[3] as Staff),\n listOf(peopleList[7] as Player, peopleList[8] as Player, peopleList[10] as Player)\n )\n )\n\n\n class StubAreaManager(private val parent: StubData) : AreaManager {\n override fun getItemsByName(substring: String) =\n parent.areaList.filter { it.name.contains(substring, ignoreCase = true) }\n\n override fun getItems(): List = parent.areaList\n\n override fun getItemById(id: Int) = parent.areaList.find { it.id == id }\n\n }\n\n class StubPeopleManager(private val parent: StubData) : PeopleManager {\n override fun getItemsByName(substring: String) =\n parent.peopleList.filter { it.name.contains(substring, ignoreCase = true) }\n\n override fun getItems() = parent.peopleList\n\n override fun getItemById(id: Int) = parent.peopleList.find { it.id == id }\n }\n\n class StubMatchesManager : MatchesManager {\n override fun getItemsByName(substring: String): List {\n TODO(\"Not yet implemented\")\n }\n\n override fun getItems(): List {\n TODO(\"Not yet implemented\")\n }\n\n override fun getItemById(id: Int): Match? {\n TODO(\"Not yet implemented\")\n }\n\n }\n\n class StubCompetitionsManager : CompetitionsManager {\n override fun getItemsByName(substring: String): List {\n TODO(\"Not yet implemented\")\n }\n\n override fun getItems(): List {\n TODO(\"Not yet implemented\")\n }\n\n override fun getItemById(id: Int): Competition? {\n TODO(\"Not yet implemented\")\n }\n\n }\n\n class StubTeamsManager(private val parent: StubData) : TeamsManager {\n override fun getItemsByName(substring: String) =\n parent.teamList.filter { it.name.contains(substring, ignoreCase = true) }\n\n override fun getItems() = parent.teamList\n\n override fun getItemById(id: Int) = parent.teamList.find { it.id == id }\n\n }\n} +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/data/StubData.kt b/app/src/main/java/uca/iut/clermont/data/StubData.kt +--- a/app/src/main/java/uca/iut/clermont/data/StubData.kt (revision 25693eb0d9f8f8dd921848f43aa3aef5e6b65476) ++++ b/app/src/main/java/uca/iut/clermont/data/StubData.kt (date 1679385919089) +@@ -12,7 +12,7 @@ + class StubData : DataManager() { + override val areaMgr: AreaManager = StubAreaManager(this) + override val peopleMgr: PeopleManager = StubPeopleManager(this) +- override val matchesMgr: MatchesManager = StubMatchesManager() ++ override val matchesMgr: MatchesManager = StubMatchesManager(this) + override val competitionsMgr: CompetitionsManager = StubCompetitionsManager() + override val teamsMgr: TeamsManager = StubTeamsManager(this) + +@@ -259,6 +259,58 @@ + ) + ) + ++ private val random = java.util.Random() ++ val matchList = listOf( ++ Match( ++ 1, ++ teamList[0].id, ++ teamList[1].id, ++ Calendar.getInstance().apply { set(2022, random.nextInt(12), random.nextInt(28) + 1) }, ++ "FINISHED", ++ Score(1, 1, "DRAW") ++ ), ++ Match( ++ 2, ++ teamList[2].id, ++ teamList[0].id, ++ Calendar.getInstance().apply { set(2022, random.nextInt(12), random.nextInt(28) + 1) }, ++ "FINISHED", ++ Score(2, 0, "HOME_TEAM") ++ ), ++ Match( ++ 3, ++ teamList[1].id, ++ teamList[2].id, ++ Calendar.getInstance().apply { set(2022, random.nextInt(12), random.nextInt(28) + 1) }, ++ "FINISHED", ++ Score(0, 4, "AWAY_TEAM") ++ ), ++ Match( ++ 4, ++ teamList[0].id, ++ teamList[2].id, ++ Calendar.getInstance().apply { set(2023, random.nextInt(12), random.nextInt(28) + 1) }, ++ "FINISHED", ++ Score(0, 1, "AWAY_TEAM") ++ ), ++ Match( ++ 5, ++ teamList[1].id, ++ teamList[0].id, ++ Calendar.getInstance().apply { set(2023, random.nextInt(12), random.nextInt(28) + 1) }, ++ "FINISHED", ++ Score(0, 0, "DRAW") ++ ), ++ Match( ++ 6, ++ teamList[2].id, ++ teamList[1].id, ++ Calendar.getInstance().apply { set(2023, random.nextInt(12), random.nextInt(28) + 1) }, ++ "FINISHED", ++ Score(2, 0, "HOME_TEAM") ++ ) ++ ) ++ + + class StubAreaManager(private val parent: StubData) : AreaManager { + override fun getItemsByName(substring: String) = +@@ -279,32 +331,27 @@ + override fun getItemById(id: Int) = parent.peopleList.find { it.id == id } + } + +- class StubMatchesManager : MatchesManager { +- override fun getItemsByName(substring: String): List { +- TODO("Not yet implemented") +- } ++ class StubMatchesManager(private val parent: StubData) : MatchesManager { ++ override fun getItemsByName(substring: String) = ++ throw java.lang.Exception("Don't call this function") + +- override fun getItems(): List { +- TODO("Not yet implemented") +- } ++ override fun getItems(): List = parent.matchList + +- override fun getItemById(id: Int): Match? { +- TODO("Not yet implemented") +- } ++ override fun getItemById(id: Int) = parent.matchList.find { it.id == id } + + } + + class StubCompetitionsManager : CompetitionsManager { + override fun getItemsByName(substring: String): List { +- TODO("Not yet implemented") ++ throw java.lang.Exception("Don't call this function") + } + + override fun getItems(): List { +- TODO("Not yet implemented") ++ throw java.lang.Exception("Don't call this function") + } + + override fun getItemById(id: Int): Competition? { +- TODO("Not yet implemented") ++ throw java.lang.Exception("Don't call this function") + } + + } +Index: app/src/main/java/uca/iut/clermont/view/HomeActivity.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>package uca.iut.clermont.view\n\nimport android.app.Activity\nimport android.os.Bundle\nimport android.widget.ImageView\nimport com.bumptech.glide.Glide\nimport uca.iut.clermont.R\n\nclass HomeActivity : Activity() {\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_home)\n val imageFirstTeam = findViewById(R.id.ImageFirstTeam)\n\n Glide.with(this)\n .load(\"https://crests.football-data.org/1765.svg\")\n .error(R.drawable.imagenotfound)\n .into(imageFirstTeam)\n\n }\n} +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/view/HomeActivity.kt b/app/src/main/java/uca/iut/clermont/view/HomeActivity.kt +--- a/app/src/main/java/uca/iut/clermont/view/HomeActivity.kt (revision 25693eb0d9f8f8dd921848f43aa3aef5e6b65476) ++++ b/app/src/main/java/uca/iut/clermont/view/HomeActivity.kt (date 1679385935801) +@@ -3,15 +3,27 @@ + import android.app.Activity + import android.os.Bundle + import android.widget.ImageView ++import androidx.recyclerview.widget.RecyclerView + import com.bumptech.glide.Glide + import uca.iut.clermont.R ++import uca.iut.clermont.view.adapter.MatchesAdapter ++import java.util.* + + class HomeActivity : Activity() { ++ ++ //private var manager = StubData() ++ + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_home) + val imageFirstTeam = findViewById(R.id.ImageFirstTeam) + ++ val adapterMatches = findViewById(R.id.ListRecentsMatches) ++ ++ with(adapterMatches) { ++ adapter = MatchesAdapter(matchList) ++ } ++ + Glide.with(this) + .load("https://crests.football-data.org/1765.svg") + .error(R.drawable.imagenotfound) +Index: app/src/main/java/uca/iut/clermont/model/Match.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>package uca.iut.clermont.model\n\nclass Match(\n val id: Int,\n val idHomeTeam: Int,\n val idAwayTeam: Int,\n val status: String,\n val winner: String\n) {\n} +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/model/Match.kt b/app/src/main/java/uca/iut/clermont/model/Match.kt +--- a/app/src/main/java/uca/iut/clermont/model/Match.kt (revision 25693eb0d9f8f8dd921848f43aa3aef5e6b65476) ++++ b/app/src/main/java/uca/iut/clermont/model/Match.kt (date 1679385054618) +@@ -1,10 +1,12 @@ + package uca.iut.clermont.model + ++import java.util.Calendar ++ + class Match( + val id: Int, + val idHomeTeam: Int, + val idAwayTeam: Int, ++ val date: Calendar, + val status: String, +- val winner: String +-) { +-} +\ No newline at end of file ++ val score: Score ++) +\ No newline at end of file +Index: app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>package uca.iut.clermont.view\n\nimport androidx.appcompat.app.AppCompatActivity\nimport android.os.Bundle\nimport uca.iut.clermont.R\n\nclass FavoriteActivity : AppCompatActivity() {\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_favorite)\n }\n} +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt b/app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt +--- a/app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt (revision 25693eb0d9f8f8dd921848f43aa3aef5e6b65476) ++++ b/app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt (date 1679384858096) +@@ -1,10 +1,10 @@ + package uca.iut.clermont.view + +-import androidx.appcompat.app.AppCompatActivity ++import android.app.Activity + import android.os.Bundle + import uca.iut.clermont.R + +-class FavoriteActivity : AppCompatActivity() { ++class FavoriteActivity : Activity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_favorite) +Index: app/src/main/java/uca/iut/clermont/view/adapter/MatchesAdapter.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/view/adapter/MatchesAdapter.kt b/app/src/main/java/uca/iut/clermont/view/adapter/MatchesAdapter.kt +new file mode 100644 +--- /dev/null (date 1679385332913) ++++ b/app/src/main/java/uca/iut/clermont/view/adapter/MatchesAdapter.kt (date 1679385332913) +@@ -0,0 +1,21 @@ ++package uca.iut.clermont.view.adapter ++ ++import android.view.LayoutInflater ++import android.view.ViewGroup ++import androidx.recyclerview.widget.RecyclerView ++import uca.iut.clermont.R ++import uca.iut.clermont.model.Match ++import uca.iut.clermont.view.viewHolder.MatchHolder ++ ++class MatchesAdapter(val recentMatches: List) : RecyclerView.Adapter() { ++ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MatchHolder { ++ return MatchHolder(LayoutInflater.from(parent.context).inflate(R.layout.cellule_match, parent, false)) ++ } ++ ++ override fun onBindViewHolder(holder: MatchHolder, position: Int) { ++ holder.textView.text = recentMatches[position].toString() ++ } ++ ++ override fun getItemCount() = recentMatches.size ++ ++} +\ No newline at end of file +Index: app/src/main/java/uca/iut/clermont/model/Personne.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>package uca.iut.clermont.model\n\nimport java.util.Calendar\nimport java.util.Date\n\nabstract class Personne(\n val id: Int,\n val firstName: String,\n val lastName: String,\n val name: String,\n val dateOfBirth: Calendar,\n val nationality: String,\n val contract: Contract\n) +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/model/Personne.kt b/app/src/main/java/uca/iut/clermont/model/Personne.kt +--- a/app/src/main/java/uca/iut/clermont/model/Personne.kt (revision 25693eb0d9f8f8dd921848f43aa3aef5e6b65476) ++++ b/app/src/main/java/uca/iut/clermont/model/Personne.kt (date 1679384810112) +@@ -1,7 +1,6 @@ + package uca.iut.clermont.model + + import java.util.Calendar +-import java.util.Date + + abstract class Personne( + val id: Int, +Index: app/src/main/java/uca/iut/clermont/model/Score.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/model/Score.kt b/app/src/main/java/uca/iut/clermont/model/Score.kt +new file mode 100644 +--- /dev/null (date 1679384826924) ++++ b/app/src/main/java/uca/iut/clermont/model/Score.kt (date 1679384826924) +@@ -0,0 +1,7 @@ ++package uca.iut.clermont.model ++ ++class Score( ++ val home: Int, ++ val away: Int, ++ val winner: String ++) +\ No newline at end of file +Index: app/src/main/java/uca/iut/clermont/model/Staff.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>package uca.iut.clermont.model\n\nimport java.util.Calendar\nimport java.util.Date\n\nclass Staff(\n id: Int,\n firstName: String,\n lastName: String,\n name: String,\n dateOfBirth: Calendar,\n nationality: String,\n contract: Contract\n) : Personne(id, firstName, lastName, name, dateOfBirth, nationality, contract) +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/model/Staff.kt b/app/src/main/java/uca/iut/clermont/model/Staff.kt +--- a/app/src/main/java/uca/iut/clermont/model/Staff.kt (revision 25693eb0d9f8f8dd921848f43aa3aef5e6b65476) ++++ b/app/src/main/java/uca/iut/clermont/model/Staff.kt (date 1679384834976) +@@ -1,7 +1,6 @@ + package uca.iut.clermont.model + + import java.util.Calendar +-import java.util.Date + + class Staff( + id: Int, +Index: app/src/main/res/layout/activity_home.xml +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>\n\n\n \n\n \n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml +--- a/app/src/main/res/layout/activity_home.xml (revision 25693eb0d9f8f8dd921848f43aa3aef5e6b65476) ++++ b/app/src/main/res/layout/activity_home.xml (date 1679385539992) +@@ -194,4 +194,12 @@ + android:background="#E1DFDF" /> + + ++ ++ + +\ No newline at end of file +Index: app/src/main/java/uca/iut/clermont/view/viewHolder/MatchHolder.kt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/app/src/main/java/uca/iut/clermont/view/viewHolder/MatchHolder.kt b/app/src/main/java/uca/iut/clermont/view/viewHolder/MatchHolder.kt +new file mode 100644 +--- /dev/null (date 1679385339625) ++++ b/app/src/main/java/uca/iut/clermont/view/viewHolder/MatchHolder.kt (date 1679385339625) +@@ -0,0 +1,17 @@ ++package uca.iut.clermont.view.viewHolder ++ ++import android.view.View ++import android.widget.TextView ++import androidx.recyclerview.widget.RecyclerView ++import uca.iut.clermont.R ++ ++class MatchHolder(view: View) : RecyclerView.ViewHolder(view) { ++ val textView: TextView ++ ++ init { ++ // Define click listener for the ViewHolder's View ++ textView = view.findViewById(R.id.TitleFirstTeam) ++ } ++ ++ ++} +\ No newline at end of file diff --git a/src/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05__Changes_.xml b/src/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05__Changes_.xml new file mode 100644 index 0000000..e0bbf13 --- /dev/null +++ b/src/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05__Changes_.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/src/app/src/main/java/uca/iut/clermont/data/StubData.kt b/src/app/src/main/java/uca/iut/clermont/data/StubData.kt index f287554..1ce14d0 100644 --- a/src/app/src/main/java/uca/iut/clermont/data/StubData.kt +++ b/src/app/src/main/java/uca/iut/clermont/data/StubData.kt @@ -12,7 +12,7 @@ import java.util.* class StubData : DataManager() { override val areaMgr: AreaManager = StubAreaManager(this) override val peopleMgr: PeopleManager = StubPeopleManager(this) - override val matchesMgr: MatchesManager = StubMatchesManager() + override val matchesMgr: MatchesManager = StubMatchesManager(this) override val competitionsMgr: CompetitionsManager = StubCompetitionsManager() override val teamsMgr: TeamsManager = StubTeamsManager(this) @@ -36,9 +36,11 @@ class StubData : DataManager() { "Lionel", "Messi", "L. Messi", - Calendar.getInstance().apply { set(1987, 6, 24)}, + Calendar.getInstance().apply { set(1987, 6, 24) }, "Argentina", - Contract(Calendar.getInstance().apply { set(2020, 6, 1)}, Calendar.getInstance().apply { set(2025, 6, 1)}), + Contract( + Calendar.getInstance().apply { set(2020, 6, 1) }, + Calendar.getInstance().apply { set(2025, 6, 1) }), "Forward", 10 ), @@ -47,9 +49,11 @@ class StubData : DataManager() { "Cristiano", "Ronaldo", "C. Ronaldo", - Calendar.getInstance().apply { set(1985, 2, 5)}, + Calendar.getInstance().apply { set(1985, 2, 5) }, "Portugal", - Contract(Calendar.getInstance().apply { set(2020, 7, 1)}, Calendar.getInstance().apply { set(2024, 7, 1)}), + Contract( + Calendar.getInstance().apply { set(2020, 7, 1) }, + Calendar.getInstance().apply { set(2024, 7, 1) }), "Forward", 7 ), @@ -58,9 +62,11 @@ class StubData : DataManager() { "Neymar", "Jr", "Neymar", - Calendar.getInstance().apply { set(1992, 2, 5)}, + Calendar.getInstance().apply { set(1992, 2, 5) }, "Brazil", - Contract(Calendar.getInstance().apply { set(2021, 1, 1)}, Calendar.getInstance().apply { set(2026, 1, 1)}), + Contract( + Calendar.getInstance().apply { set(2021, 1, 1) }, + Calendar.getInstance().apply { set(2026, 1, 1) }), "Forward", 10 ), @@ -69,9 +75,11 @@ class StubData : DataManager() { "Kylian", "Mbappe", "K. Mbappe", - Calendar.getInstance().apply { set(1998, 12, 20)}, + Calendar.getInstance().apply { set(1998, 12, 20) }, "France", - Contract(Calendar.getInstance().apply { set(2022, 1, 1)}, Calendar.getInstance().apply { set(2027, 1, 1)}), + Contract( + Calendar.getInstance().apply { set(2022, 1, 1) }, + Calendar.getInstance().apply { set(2027, 1, 1) }), "Forward", 7 ), @@ -80,9 +88,11 @@ class StubData : DataManager() { "Mohamed", "Salah", "M. Salah", - Calendar.getInstance().apply { set(1992, 6, 15)}, + Calendar.getInstance().apply { set(1992, 6, 15) }, "Egypt", - Contract(Calendar.getInstance().apply { set(2021, 7, 1)}, Calendar.getInstance().apply { set(2025, 7, 1)}), + Contract( + Calendar.getInstance().apply { set(2021, 7, 1) }, + Calendar.getInstance().apply { set(2025, 7, 1) }), "Forward", 11 ), @@ -91,9 +101,11 @@ class StubData : DataManager() { "Kevin", "De Bruyne", "K. De Bruyne", - Calendar.getInstance().apply { set(1991, 6, 28)}, + Calendar.getInstance().apply { set(1991, 6, 28) }, "Belgium", - Contract(Calendar.getInstance().apply { set(2021, 8, 1)}, Calendar.getInstance().apply { set(2026, 8, 1)}), + Contract( + Calendar.getInstance().apply { set(2021, 8, 1) }, + Calendar.getInstance().apply { set(2026, 8, 1) }), "Midfielder", 17 ), @@ -102,9 +114,11 @@ class StubData : DataManager() { "Robert", "Lewandowski", "R. Lewandowski", - Calendar.getInstance().apply { set(1988, 8, 21)}, + Calendar.getInstance().apply { set(1988, 8, 21) }, "Poland", - Contract(Calendar.getInstance().apply { set(2021, 1, 1)}, Calendar.getInstance().apply { set(2024, 1, 1)}), + Contract( + Calendar.getInstance().apply { set(2021, 1, 1) }, + Calendar.getInstance().apply { set(2024, 1, 1) }), "Forward", 9 ), @@ -113,9 +127,11 @@ class StubData : DataManager() { "Sadio", "Mane", "S. Mane", - Calendar.getInstance().apply { set(1992, 4, 10)}, + Calendar.getInstance().apply { set(1992, 4, 10) }, "Senegal", - Contract(Calendar.getInstance().apply { set(2022, 1, 1)}, Calendar.getInstance().apply { set(2026, 1, 1)}), + Contract( + Calendar.getInstance().apply { set(2022, 1, 1) }, + Calendar.getInstance().apply { set(2026, 1, 1) }), "Forward", 10 ), @@ -124,9 +140,11 @@ class StubData : DataManager() { "Virgil", "Van Dijk", "V. Van Dijk", - Calendar.getInstance().apply { set(1991, 7, 8)}, + Calendar.getInstance().apply { set(1991, 7, 8) }, "Netherlands", - Contract(Calendar.getInstance().apply { set(2023, 1, 1)}, Calendar.getInstance().apply { set(2026, 1, 1)}), + Contract( + Calendar.getInstance().apply { set(2023, 1, 1) }, + Calendar.getInstance().apply { set(2026, 1, 1) }), "Defender", 4 ), @@ -135,9 +153,11 @@ class StubData : DataManager() { "Luka", "Modric", "L. Modric", - Calendar.getInstance().apply { set(1985, 9, 9)}, + Calendar.getInstance().apply { set(1985, 9, 9) }, "Croatia", - Contract(Calendar.getInstance().apply { set(2020, 6, 1)}, Calendar.getInstance().apply { set(2022, 6, 1)}), + Contract( + Calendar.getInstance().apply { set(2020, 6, 1) }, + Calendar.getInstance().apply { set(2022, 6, 1) }), "Midfielder", 10 ), @@ -146,9 +166,11 @@ class StubData : DataManager() { "Harry", "Kane", "H. Kane", - Calendar.getInstance().apply { set(1993, 7, 28)}, + Calendar.getInstance().apply { set(1993, 7, 28) }, "England", - Contract(Calendar.getInstance().apply { set(2021, 7, 1)}, Calendar.getInstance().apply { set(2025, 7, 1)}), + Contract( + Calendar.getInstance().apply { set(2021, 7, 1) }, + Calendar.getInstance().apply { set(2025, 7, 1) }), "Forward", 10 ), @@ -157,9 +179,11 @@ class StubData : DataManager() { "Sergio", "Aguero", "S. Aguero", - Calendar.getInstance().apply { set(1988, 6, 2)}, + Calendar.getInstance().apply { set(1988, 6, 2) }, "Argentina", - Contract(Calendar.getInstance().apply { set(2021, 6, 1)}, Calendar.getInstance().apply { set(2023, 6, 1)}), + Contract( + Calendar.getInstance().apply { set(2021, 6, 1) }, + Calendar.getInstance().apply { set(2023, 6, 1) }), "Forward", 10 ), @@ -168,9 +192,11 @@ class StubData : DataManager() { "Eden", "Hazard", "E. Hazard", - Calendar.getInstance().apply { set(1991, 1, 7)}, + Calendar.getInstance().apply { set(1991, 1, 7) }, "Belgium", - Contract(Calendar.getInstance().apply { set(2022, 1, 1)}, Calendar.getInstance().apply { set(2027, 1, 1)}), + Contract( + Calendar.getInstance().apply { set(2022, 1, 1) }, + Calendar.getInstance().apply { set(2027, 1, 1) }), "Forward", 7 ), @@ -179,86 +205,155 @@ class StubData : DataManager() { "Pep", "Guardiola", "P. Guardiola", - Calendar.getInstance().apply { set(1971, 1, 18)}, + Calendar.getInstance().apply { set(1971, 1, 18) }, "Spain", - Contract(Calendar.getInstance().apply { set(2020, 6, 1)}, Calendar.getInstance().apply { set(2023, 6, 1)}) + Contract( + Calendar.getInstance().apply { set(2020, 6, 1) }, + Calendar.getInstance().apply { set(2023, 6, 1) }) ), Coach( 15, "Jurgen", "Klopp", "J. Klopp", - Calendar.getInstance().apply { set(1967, 6, 16)}, + Calendar.getInstance().apply { set(1967, 6, 16) }, "Germany", - Contract(Calendar.getInstance().apply { set(2020, 7, 1)}, Calendar.getInstance().apply { set(2024, 7, 1)}) + Contract( + Calendar.getInstance().apply { set(2020, 7, 1) }, + Calendar.getInstance().apply { set(2024, 7, 1) }) ), Staff( 16, "Jorge", "Desio", "J. Desio", - Calendar.getInstance().apply { set(1966, 1, 1)}, + Calendar.getInstance().apply { set(1966, 1, 1) }, "Argentina", - Contract(Calendar.getInstance().apply { set(2020, 6, 1)}, Calendar.getInstance().apply { set(2023, 6, 1)}) + Contract( + Calendar.getInstance().apply { set(2020, 6, 1) }, + Calendar.getInstance().apply { set(2023, 6, 1) }) ), Staff( 17, "Craig", "Mawson", "C. Mawson", - Calendar.getInstance().apply { set(1973, 8, 22)}, + Calendar.getInstance().apply { set(1973, 8, 22) }, "England", - Contract(Calendar.getInstance().apply { set(2020, 7, 1)}, Calendar.getInstance().apply { set(2024, 7, 1)}) + Contract( + Calendar.getInstance().apply { set(2020, 7, 1) }, + Calendar.getInstance().apply { set(2024, 7, 1) }) ) ) - private val teamList = listOf( - Team( + + private val random = java.util.Random() + val matchList = listOf( + Match( + 1, 1, - "Paris Saint-Germain FC", - "PSG", - "https://crests.football-data.org/524.svg", - "24 Rue du Commandant Guilbaud, 75016 Paris, France", - "https://www.psg.fr/", - "1970", - "Navy / Red", - areaList[0], - "Parc des Princes", - peopleList[0] as Coach, - listOf(peopleList[2] as Staff), - listOf(peopleList[0] as Player, peopleList[3] as Player, peopleList[11] as Player) + 2, + Calendar.getInstance().apply { set(2022, random.nextInt(12), random.nextInt(28) + 1) }, + "FINISHED", + Score(1, 1, "DRAW") ), - Team( + Match( 2, - "FC Barcelona", - "BAR", - "https://crests.football-data.org/81.svg", - "Carrer d'Aristides Maillol, s/n, 08028 Barcelona, Spain", - "https://www.fcbarcelona.com/", - "1899", - "Blue / Red", - areaList[3], - "Camp Nou", - peopleList[0] as Coach, - listOf(peopleList[2] as Staff), - listOf(peopleList[0] as Player, peopleList[5] as Player, peopleList[9] as Player) + 3, + 1, + Calendar.getInstance().apply { set(2022, random.nextInt(12), random.nextInt(28) + 1) }, + "FINISHED", + Score(2, 0, "HOME_TEAM") ), - Team( + Match( + 3, + 2, 3, - "Liverpool FC", - "LIV", - "https://crests.football-data.org/64.svg", - "Anfield Road, Liverpool L4 0TH, United Kingdom", - "https://www.liverpoolfc.com/", - "1892", - "Red", - areaList[2], - "Anfield", - peopleList[1] as Coach, - listOf(peopleList[3] as Staff), - listOf(peopleList[7] as Player, peopleList[8] as Player, peopleList[10] as Player) + Calendar.getInstance().apply { set(2022, random.nextInt(12), random.nextInt(28) + 1) }, + "FINISHED", + Score(0, 4, "AWAY_TEAM") + ), + Match( + 4, + 1, + 3, + Calendar.getInstance().apply { set(2023, random.nextInt(12), random.nextInt(28) + 1) }, + "FINISHED", + Score(0, 1, "AWAY_TEAM") + ), + Match( + 5, + 2, + 1, + Calendar.getInstance().apply { set(2023, random.nextInt(12), random.nextInt(28) + 1) }, + "FINISHED", + Score(0, 0, "DRAW") + ), + Match( + 6, + 3, + 2, + Calendar.getInstance().apply { set(2023, random.nextInt(12), random.nextInt(28) + 1) }, + "FINISHED", + Score(2, 0, "HOME_TEAM") ) ) + val teamList: MutableList = mutableListOf() + + fun initTeams() { + teamList.add( + Team( + 1, + "Paris Saint-Germain FC", + "PSG", + "https://crests.football-data.org/524.svg", + "24 Rue du Commandant Guilbaud, 75016 Paris, France", + "https://www.psg.fr/", + "1970", + "Navy / Red", + areaList[0], + "Parc des Princes", + peopleList[0] as Coach, + listOf(peopleList[2] as Staff), + listOf(peopleList[0] as Player, peopleList[3] as Player, peopleList[11] as Player) + ) + ) + teamList.add( + Team( + 2, + "FC Barcelona", + "BAR", + "https://crests.football-data.org/81.svg", + "Carrer d'Aristides Maillol, s/n, 08028 Barcelona, Spain", + "https://www.fcbarcelona.com/", + "1899", + "Blue / Red", + areaList[3], + "Camp Nou", + peopleList[0] as Coach, + listOf(peopleList[2] as Staff), + listOf(peopleList[0] as Player, peopleList[5] as Player, peopleList[9] as Player) + ) + ) + teamList.add( + Team( + 3, + "Liverpool FC", + "LIV", + "https://crests.football-data.org/64.svg", + "Anfield Road, Liverpool L4 0TH, United Kingdom", + "https://www.liverpoolfc.com/", + "1892", + "Red", + areaList[2], + "Anfield", + peopleList[1] as Coach, + listOf(peopleList[3] as Staff), + listOf(peopleList[7] as Player, peopleList[8] as Player, peopleList[10] as Player) + ) + ) + } + class StubAreaManager(private val parent: StubData) : AreaManager { override fun getItemsByName(substring: String) = @@ -279,32 +374,27 @@ class StubData : DataManager() { override fun getItemById(id: Int) = parent.peopleList.find { it.id == id } } - class StubMatchesManager : MatchesManager { - override fun getItemsByName(substring: String): List { - TODO("Not yet implemented") - } + class StubMatchesManager(private val parent: StubData) : MatchesManager { + override fun getItemsByName(substring: String) = + throw java.lang.Exception("Don't call this function") - override fun getItems(): List { - TODO("Not yet implemented") - } + override fun getItems(): List = parent.matchList - override fun getItemById(id: Int): Match? { - TODO("Not yet implemented") - } + override fun getItemById(id: Int) = parent.matchList.find { it.id == id } } class StubCompetitionsManager : CompetitionsManager { override fun getItemsByName(substring: String): List { - TODO("Not yet implemented") + throw java.lang.Exception("Don't call this function") } override fun getItems(): List { - TODO("Not yet implemented") + throw java.lang.Exception("Don't call this function") } override fun getItemById(id: Int): Competition? { - TODO("Not yet implemented") + throw java.lang.Exception("Don't call this function") } } diff --git a/src/app/src/main/java/uca/iut/clermont/model/ApiManager.kt b/src/app/src/main/java/uca/iut/clermont/model/ApiManager.kt index fa15435..2e4062a 100644 --- a/src/app/src/main/java/uca/iut/clermont/model/ApiManager.kt +++ b/src/app/src/main/java/uca/iut/clermont/model/ApiManager.kt @@ -7,7 +7,7 @@ import MatchesManager import PeopleManager import TeamsManager -class StubData : DataManager() { +class ApiManager : DataManager() { override val areaMgr: AreaManager = ApiAreaManager() override val peopleMgr: PeopleManager = ApiPeopleManager() override val matchesMgr: MatchesManager = ApiMatchesManager() diff --git a/src/app/src/main/java/uca/iut/clermont/model/DataManager.kt b/src/app/src/main/java/uca/iut/clermont/model/DataManager.kt index a36cebc..5a1021d 100644 --- a/src/app/src/main/java/uca/iut/clermont/model/DataManager.kt +++ b/src/app/src/main/java/uca/iut/clermont/model/DataManager.kt @@ -6,6 +6,7 @@ abstract class DataManager { abstract val matchesMgr: MatchesManager abstract val competitionsMgr: CompetitionsManager abstract val teamsMgr: TeamsManager + } interface AreaManager : GenericDataManager diff --git a/src/app/src/main/java/uca/iut/clermont/model/Match.kt b/src/app/src/main/java/uca/iut/clermont/model/Match.kt index 31d893c..3651f84 100644 --- a/src/app/src/main/java/uca/iut/clermont/model/Match.kt +++ b/src/app/src/main/java/uca/iut/clermont/model/Match.kt @@ -1,10 +1,12 @@ package uca.iut.clermont.model +import java.util.Calendar + class Match( val id: Int, val idHomeTeam: Int, val idAwayTeam: Int, + val date: Calendar, val status: String, - val winner: String -) { -} \ No newline at end of file + val score: Score +) \ No newline at end of file diff --git a/src/app/src/main/java/uca/iut/clermont/model/Personne.kt b/src/app/src/main/java/uca/iut/clermont/model/Personne.kt index df230c6..1c88e06 100644 --- a/src/app/src/main/java/uca/iut/clermont/model/Personne.kt +++ b/src/app/src/main/java/uca/iut/clermont/model/Personne.kt @@ -1,7 +1,6 @@ package uca.iut.clermont.model import java.util.Calendar -import java.util.Date abstract class Personne( val id: Int, diff --git a/src/app/src/main/java/uca/iut/clermont/model/Score.kt b/src/app/src/main/java/uca/iut/clermont/model/Score.kt new file mode 100644 index 0000000..b5e4b62 --- /dev/null +++ b/src/app/src/main/java/uca/iut/clermont/model/Score.kt @@ -0,0 +1,7 @@ +package uca.iut.clermont.model + +class Score( + val home: Int, + val away: Int, + val winner: String +) \ No newline at end of file diff --git a/src/app/src/main/java/uca/iut/clermont/model/Staff.kt b/src/app/src/main/java/uca/iut/clermont/model/Staff.kt index 93cc1b7..89ce93d 100644 --- a/src/app/src/main/java/uca/iut/clermont/model/Staff.kt +++ b/src/app/src/main/java/uca/iut/clermont/model/Staff.kt @@ -1,7 +1,6 @@ package uca.iut.clermont.model import java.util.Calendar -import java.util.Date class Staff( id: Int, diff --git a/src/app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt b/src/app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt index 524bec6..7c6fe6d 100644 --- a/src/app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt +++ b/src/app/src/main/java/uca/iut/clermont/view/FavoriteActivity.kt @@ -1,10 +1,10 @@ package uca.iut.clermont.view -import androidx.appcompat.app.AppCompatActivity +import android.app.Activity import android.os.Bundle import uca.iut.clermont.R -class FavoriteActivity : AppCompatActivity() { +class FavoriteActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_favorite) diff --git a/src/app/src/main/java/uca/iut/clermont/view/HomeActivity.kt b/src/app/src/main/java/uca/iut/clermont/view/HomeActivity.kt index 99e9495..400858e 100644 --- a/src/app/src/main/java/uca/iut/clermont/view/HomeActivity.kt +++ b/src/app/src/main/java/uca/iut/clermont/view/HomeActivity.kt @@ -3,15 +3,29 @@ package uca.iut.clermont.view import android.app.Activity import android.os.Bundle import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import uca.iut.clermont.R +import uca.iut.clermont.data.StubData +import uca.iut.clermont.view.adapter.MatchesAdapter +import java.util.* class HomeActivity : Activity() { + + private var manager = StubData() + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_home) val imageFirstTeam = findViewById(R.id.ImageFirstTeam) + /*val adapterMatches = findViewById(R.id.ListRecentsMatches) + + with(adapterMatches) { + adapter = MatchesAdapter(manager.matchesMgr.getItems()) + }*/ + Glide.with(this) .load("https://crests.football-data.org/1765.svg") .error(R.drawable.imagenotfound) diff --git a/src/app/src/main/java/uca/iut/clermont/view/adapter/MatchesAdapter.kt b/src/app/src/main/java/uca/iut/clermont/view/adapter/MatchesAdapter.kt new file mode 100644 index 0000000..09c504a --- /dev/null +++ b/src/app/src/main/java/uca/iut/clermont/view/adapter/MatchesAdapter.kt @@ -0,0 +1,21 @@ +package uca.iut.clermont.view.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import uca.iut.clermont.R +import uca.iut.clermont.model.Match +import uca.iut.clermont.view.viewHolder.MatchHolder + +class MatchesAdapter(val recentMatches: List) : RecyclerView.Adapter() { + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MatchHolder { + return MatchHolder(LayoutInflater.from(parent.context).inflate(R.layout.cellule_match, parent, false)) + } + + override fun onBindViewHolder(holder: MatchHolder, position: Int) { + holder.textView.text = recentMatches[position].toString() + } + + override fun getItemCount() = recentMatches.size + +} \ No newline at end of file diff --git a/src/app/src/main/java/uca/iut/clermont/view/viewHolder/MatchHolder.kt b/src/app/src/main/java/uca/iut/clermont/view/viewHolder/MatchHolder.kt new file mode 100644 index 0000000..87b4182 --- /dev/null +++ b/src/app/src/main/java/uca/iut/clermont/view/viewHolder/MatchHolder.kt @@ -0,0 +1,17 @@ +package uca.iut.clermont.view.viewHolder + +import android.view.View +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import uca.iut.clermont.R + +class MatchHolder(view: View) : RecyclerView.ViewHolder(view) { + val textView: TextView + + init { + // Define click listener for the ViewHolder's View + textView = view.findViewById(R.id.TitleFirstTeam) + } + + +} \ No newline at end of file diff --git a/src/app/src/main/res/layout/activity_favorite.xml b/src/app/src/main/res/layout/activity_favorite.xml index 34555bb..dbe4a6c 100644 --- a/src/app/src/main/res/layout/activity_favorite.xml +++ b/src/app/src/main/res/layout/activity_favorite.xml @@ -45,35 +45,6 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/exitContainer" /> - - - - - - - - \ No newline at end of file diff --git a/src/app/src/main/res/layout/activity_home.xml b/src/app/src/main/res/layout/activity_home.xml index ba9b5aa..8fb2cb2 100644 --- a/src/app/src/main/res/layout/activity_home.xml +++ b/src/app/src/main/res/layout/activity_home.xml @@ -31,7 +31,6 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textViewTitle" /> - + + \ No newline at end of file