Merge pull request 'Stub_RecycleViewV2' (#3) from Stub_RecycleViewV2 into master
continuous-integration/drone/push Build is passing Details

Reviewed-on: #3
Gyroscope
Emre KARTAL 2 years ago
commit 32644f8086

@ -50,8 +50,8 @@ skinparam package {
hide circle hide circle
class Contract { class Contract {
-start: Date -start: Calendar
-until: Date -until: Calendar
+duration() : Int +duration() : Int
} }
@ -61,7 +61,7 @@ abstract class Personne {
-firstName: String -firstName: String
-lastName: String -lastName: String
-name: String -name: String
-dateOfBirth: Date -dateOfBirth: Calendar
-nationality: String -nationality: String
} }
@ -107,8 +107,8 @@ class Competition {
class Season { class Season {
-id: Int -id: Int
-startDate: Date -startDate: Calendar
-endDate: Date -endDate: Calendar
-currentMatchday: Int -currentMatchday: Int
-winner: Int -winner: Int
} }
@ -116,8 +116,14 @@ class Season {
class Match { class Match {
-id: Int -id: Int
-idHomeTeam: Int -idHomeTeam: Int
-score: Score
-idAwayTeam: Int -idAwayTeam: Int
-status: String -status: String
}
class Score {
-home: Int
-away: Int
-winner: String -winner: String
} }
@ -135,6 +141,8 @@ Team --> "-area" Area
Competition --> "-area" Area Competition --> "-area" Area
Competition --> "-currentSeason" Season Competition --> "-currentSeason" Season
Match --> "-score" Score
@enduml @enduml
``` ```

@ -0,0 +1,4 @@
<changelist name="Uncommitted_changes_before_Update_at_21_03_2023_09_05_[Changes]" date="1679385937643" recycled="true" deleted="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_21_03_2023_09_05_[Changes]/shelved.patch" />
<option name="DESCRIPTION" value="Uncommitted changes before Update at 21/03/2023 09:05 [Changes]" />
</changelist>

@ -8,9 +8,9 @@
android:allowBackup="true" android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules" android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules" android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher" android:icon="@drawable/icon"
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@drawable/round_icon"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.Scor_It" android:theme="@style/Theme.Scor_It"
tools:targetApi="31"> tools:targetApi="31">

@ -12,7 +12,7 @@ import java.util.*
class StubData : DataManager() { class StubData : DataManager() {
override val areaMgr: AreaManager = StubAreaManager(this) override val areaMgr: AreaManager = StubAreaManager(this)
override val peopleMgr: PeopleManager = StubPeopleManager(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 competitionsMgr: CompetitionsManager = StubCompetitionsManager()
override val teamsMgr: TeamsManager = StubTeamsManager(this) override val teamsMgr: TeamsManager = StubTeamsManager(this)
@ -36,9 +36,11 @@ class StubData : DataManager() {
"Lionel", "Lionel",
"Messi", "Messi",
"L. Messi", "L. Messi",
Calendar.getInstance().apply { set(1987, 6, 24)}, Calendar.getInstance().apply { set(1987, 6, 24) },
"Argentina", "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", "Forward",
10 10
), ),
@ -47,9 +49,11 @@ class StubData : DataManager() {
"Cristiano", "Cristiano",
"Ronaldo", "Ronaldo",
"C. Ronaldo", "C. Ronaldo",
Calendar.getInstance().apply { set(1985, 2, 5)}, Calendar.getInstance().apply { set(1985, 2, 5) },
"Portugal", "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", "Forward",
7 7
), ),
@ -58,9 +62,11 @@ class StubData : DataManager() {
"Neymar", "Neymar",
"Jr", "Jr",
"Neymar", "Neymar",
Calendar.getInstance().apply { set(1992, 2, 5)}, Calendar.getInstance().apply { set(1992, 2, 5) },
"Brazil", "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", "Forward",
10 10
), ),
@ -69,9 +75,11 @@ class StubData : DataManager() {
"Kylian", "Kylian",
"Mbappe", "Mbappe",
"K. Mbappe", "K. Mbappe",
Calendar.getInstance().apply { set(1998, 12, 20)}, Calendar.getInstance().apply { set(1998, 12, 20) },
"France", "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", "Forward",
7 7
), ),
@ -80,9 +88,11 @@ class StubData : DataManager() {
"Mohamed", "Mohamed",
"Salah", "Salah",
"M. Salah", "M. Salah",
Calendar.getInstance().apply { set(1992, 6, 15)}, Calendar.getInstance().apply { set(1992, 6, 15) },
"Egypt", "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", "Forward",
11 11
), ),
@ -91,9 +101,11 @@ class StubData : DataManager() {
"Kevin", "Kevin",
"De Bruyne", "De Bruyne",
"K. De Bruyne", "K. De Bruyne",
Calendar.getInstance().apply { set(1991, 6, 28)}, Calendar.getInstance().apply { set(1991, 6, 28) },
"Belgium", "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", "Midfielder",
17 17
), ),
@ -102,9 +114,11 @@ class StubData : DataManager() {
"Robert", "Robert",
"Lewandowski", "Lewandowski",
"R. Lewandowski", "R. Lewandowski",
Calendar.getInstance().apply { set(1988, 8, 21)}, Calendar.getInstance().apply { set(1988, 8, 21) },
"Poland", "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", "Forward",
9 9
), ),
@ -113,9 +127,11 @@ class StubData : DataManager() {
"Sadio", "Sadio",
"Mane", "Mane",
"S. Mane", "S. Mane",
Calendar.getInstance().apply { set(1992, 4, 10)}, Calendar.getInstance().apply { set(1992, 4, 10) },
"Senegal", "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", "Forward",
10 10
), ),
@ -124,9 +140,11 @@ class StubData : DataManager() {
"Virgil", "Virgil",
"Van Dijk", "Van Dijk",
"V. Van Dijk", "V. Van Dijk",
Calendar.getInstance().apply { set(1991, 7, 8)}, Calendar.getInstance().apply { set(1991, 7, 8) },
"Netherlands", "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", "Defender",
4 4
), ),
@ -135,9 +153,11 @@ class StubData : DataManager() {
"Luka", "Luka",
"Modric", "Modric",
"L. Modric", "L. Modric",
Calendar.getInstance().apply { set(1985, 9, 9)}, Calendar.getInstance().apply { set(1985, 9, 9) },
"Croatia", "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", "Midfielder",
10 10
), ),
@ -146,9 +166,11 @@ class StubData : DataManager() {
"Harry", "Harry",
"Kane", "Kane",
"H. Kane", "H. Kane",
Calendar.getInstance().apply { set(1993, 7, 28)}, Calendar.getInstance().apply { set(1993, 7, 28) },
"England", "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", "Forward",
10 10
), ),
@ -157,9 +179,11 @@ class StubData : DataManager() {
"Sergio", "Sergio",
"Aguero", "Aguero",
"S. Aguero", "S. Aguero",
Calendar.getInstance().apply { set(1988, 6, 2)}, Calendar.getInstance().apply { set(1988, 6, 2) },
"Argentina", "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", "Forward",
10 10
), ),
@ -168,9 +192,11 @@ class StubData : DataManager() {
"Eden", "Eden",
"Hazard", "Hazard",
"E. Hazard", "E. Hazard",
Calendar.getInstance().apply { set(1991, 1, 7)}, Calendar.getInstance().apply { set(1991, 1, 7) },
"Belgium", "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", "Forward",
7 7
), ),
@ -179,39 +205,103 @@ class StubData : DataManager() {
"Pep", "Pep",
"Guardiola", "Guardiola",
"P. Guardiola", "P. Guardiola",
Calendar.getInstance().apply { set(1971, 1, 18)}, Calendar.getInstance().apply { set(1971, 1, 18) },
"Spain", "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( Coach(
15, 15,
"Jurgen", "Jurgen",
"Klopp", "Klopp",
"J. Klopp", "J. Klopp",
Calendar.getInstance().apply { set(1967, 6, 16)}, Calendar.getInstance().apply { set(1967, 6, 16) },
"Germany", "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( Staff(
16, 16,
"Jorge", "Jorge",
"Desio", "Desio",
"J. Desio", "J. Desio",
Calendar.getInstance().apply { set(1966, 1, 1)}, Calendar.getInstance().apply { set(1966, 1, 1) },
"Argentina", "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( Staff(
17, 17,
"Craig", "Craig",
"Mawson", "Mawson",
"C. Mawson", "C. Mawson",
Calendar.getInstance().apply { set(1973, 8, 22)}, Calendar.getInstance().apply { set(1973, 8, 22) },
"England", "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(
private val random = java.util.Random()
val matchList = listOf(
Match(
1,
1,
2,
Calendar.getInstance().apply { set(2022, random.nextInt(12), random.nextInt(28) + 1) },
"FINISHED",
Score(1, 1, "DRAW")
),
Match(
2,
3,
1,
Calendar.getInstance().apply { set(2022, random.nextInt(12), random.nextInt(28) + 1) },
"FINISHED",
Score(2, 0, "HOME_TEAM")
),
Match(
3,
2,
3,
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<Team> = mutableListOf()
fun initTeams() {
teamList.add(
Team( Team(
1, 1,
"Paris Saint-Germain FC", "Paris Saint-Germain FC",
@ -226,7 +316,9 @@ class StubData : DataManager() {
peopleList[0] as Coach, peopleList[0] as Coach,
listOf(peopleList[2] as Staff), listOf(peopleList[2] as Staff),
listOf(peopleList[0] as Player, peopleList[3] as Player, peopleList[11] as Player) listOf(peopleList[0] as Player, peopleList[3] as Player, peopleList[11] as Player)
), )
)
teamList.add(
Team( Team(
2, 2,
"FC Barcelona", "FC Barcelona",
@ -241,7 +333,9 @@ class StubData : DataManager() {
peopleList[0] as Coach, peopleList[0] as Coach,
listOf(peopleList[2] as Staff), listOf(peopleList[2] as Staff),
listOf(peopleList[0] as Player, peopleList[5] as Player, peopleList[9] as Player) listOf(peopleList[0] as Player, peopleList[5] as Player, peopleList[9] as Player)
), )
)
teamList.add(
Team( Team(
3, 3,
"Liverpool FC", "Liverpool FC",
@ -258,6 +352,7 @@ class StubData : DataManager() {
listOf(peopleList[7] as Player, peopleList[8] as Player, peopleList[10] as Player) listOf(peopleList[7] as Player, peopleList[8] as Player, peopleList[10] as Player)
) )
) )
}
class StubAreaManager(private val parent: StubData) : AreaManager { class StubAreaManager(private val parent: StubData) : AreaManager {
@ -279,32 +374,27 @@ class StubData : DataManager() {
override fun getItemById(id: Int) = parent.peopleList.find { it.id == id } override fun getItemById(id: Int) = parent.peopleList.find { it.id == id }
} }
class StubMatchesManager : MatchesManager { class StubMatchesManager(private val parent: StubData) : MatchesManager {
override fun getItemsByName(substring: String): List<Match> { override fun getItemsByName(substring: String) =
TODO("Not yet implemented") throw java.lang.Exception("Don't call this function")
}
override fun getItems(): List<Match> { override fun getItems(): List<Match> = parent.matchList
TODO("Not yet implemented")
}
override fun getItemById(id: Int): Match? { override fun getItemById(id: Int) = parent.matchList.find { it.id == id }
TODO("Not yet implemented")
}
} }
class StubCompetitionsManager : CompetitionsManager { class StubCompetitionsManager : CompetitionsManager {
override fun getItemsByName(substring: String): List<Competition> { override fun getItemsByName(substring: String): List<Competition> {
TODO("Not yet implemented") throw java.lang.Exception("Don't call this function")
} }
override fun getItems(): List<Competition> { override fun getItems(): List<Competition> {
TODO("Not yet implemented") throw java.lang.Exception("Don't call this function")
} }
override fun getItemById(id: Int): Competition? { override fun getItemById(id: Int): Competition? {
TODO("Not yet implemented") throw java.lang.Exception("Don't call this function")
} }
} }

@ -7,7 +7,7 @@ import MatchesManager
import PeopleManager import PeopleManager
import TeamsManager import TeamsManager
class StubData : DataManager() { class ApiManager : DataManager() {
override val areaMgr: AreaManager = ApiAreaManager() override val areaMgr: AreaManager = ApiAreaManager()
override val peopleMgr: PeopleManager = ApiPeopleManager() override val peopleMgr: PeopleManager = ApiPeopleManager()
override val matchesMgr: MatchesManager = ApiMatchesManager() override val matchesMgr: MatchesManager = ApiMatchesManager()

@ -6,6 +6,7 @@ abstract class DataManager {
abstract val matchesMgr: MatchesManager abstract val matchesMgr: MatchesManager
abstract val competitionsMgr: CompetitionsManager abstract val competitionsMgr: CompetitionsManager
abstract val teamsMgr: TeamsManager abstract val teamsMgr: TeamsManager
} }
interface AreaManager : GenericDataManager<Area> interface AreaManager : GenericDataManager<Area>

@ -1,10 +1,12 @@
package uca.iut.clermont.model package uca.iut.clermont.model
import java.util.Calendar
class Match( class Match(
val id: Int, val id: Int,
val idHomeTeam: Int, val idHomeTeam: Int,
val idAwayTeam: Int, val idAwayTeam: Int,
val date: Calendar,
val status: String, val status: String,
val winner: String val score: Score
) { )
}

@ -1,7 +1,6 @@
package uca.iut.clermont.model package uca.iut.clermont.model
import java.util.Calendar import java.util.Calendar
import java.util.Date
abstract class Personne( abstract class Personne(
val id: Int, val id: Int,

@ -0,0 +1,7 @@
package uca.iut.clermont.model
class Score(
val home: Int,
val away: Int,
val winner: String
)

@ -1,7 +1,6 @@
package uca.iut.clermont.model package uca.iut.clermont.model
import java.util.Calendar import java.util.Calendar
import java.util.Date
class Staff( class Staff(
id: Int, id: Int,

@ -1,10 +1,10 @@
package uca.iut.clermont.view package uca.iut.clermont.view
import androidx.appcompat.app.AppCompatActivity import android.app.Activity
import android.os.Bundle import android.os.Bundle
import uca.iut.clermont.R import uca.iut.clermont.R
class FavoriteActivity : AppCompatActivity() { class FavoriteActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_favorite) setContentView(R.layout.activity_favorite)

@ -2,20 +2,35 @@ package uca.iut.clermont.view
import android.app.Activity import android.app.Activity
import android.os.Bundle import android.os.Bundle
import android.widget.ImageView import androidx.recyclerview.widget.LinearLayoutManager
import com.bumptech.glide.Glide import androidx.recyclerview.widget.RecyclerView
import uca.iut.clermont.R import uca.iut.clermont.R
import uca.iut.clermont.data.StubData
import uca.iut.clermont.view.adapter.MatchesAdapter
class HomeActivity : Activity() { class HomeActivity : Activity() {
private var manager = StubData()
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_home) setContentView(R.layout.activity_home)
val imageFirstTeam = findViewById<ImageView>(R.id.ImageFirstTeam) //val imageFirstTeam = findViewById<ImageView>(R.id.ImageFirstTeam)
val adapterMatches = findViewById<RecyclerView>(R.id.ListRecentsMatches)
with(adapterMatches) {
adapter = MatchesAdapter(manager.matchesMgr.getItems().toList().toTypedArray())
}
adapterMatches.layoutManager = LinearLayoutManager(this)
adapterMatches
Glide.with(this) /*Glide.with(this)
.load("https://crests.football-data.org/1765.svg") .load("https://crests.football-data.org/1765.svg")
.error(R.drawable.imagenotfound) .error(R.drawable.imagenotfound)
.into(imageFirstTeam) .into(imageFirstTeam)*/
} }
} }

@ -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: Array<Match>) : RecyclerView.Adapter<MatchHolder>() {
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].id.toString()
}
override fun getItemCount() = recentMatches.size
}

@ -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)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

@ -45,35 +45,6 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/exitContainer" /> app:layout_constraintTop_toBottomOf="@+id/exitContainer" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/border_rounded"
android:gravity="center_vertical"
android:orientation="horizontal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textFavorites">
<ImageView
android:id="@+id/imageFavorites"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginHorizontal="15dp"
android:layout_marginVertical="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/mulish_bold"
android:maxLines="3"
android:text="Campeonato Brasileiro Série A"
android:textColor="@color/black"
android:textSize="18dp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

@ -31,7 +31,6 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewTitle" /> app:layout_constraintTop_toBottomOf="@+id/textViewTitle" />
<LinearLayout <LinearLayout
android:id="@+id/searchBarContainer" android:id="@+id/searchBarContainer"
android:layout_width="0dp" android:layout_width="0dp"
@ -78,120 +77,12 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/searchBarContainer" /> app:layout_constraintTop_toBottomOf="@+id/searchBarContainer" />
<LinearLayout <androidx.recyclerview.widget.RecyclerView
android:id="@+id/CardContainer" android:id="@+id/ListRecentsMatches"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/background"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingHorizontal="20dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewRecentMatches"> app:layout_constraintTop_toBottomOf="@+id/textViewRecentMatches" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:ellipsize="end"
android:fontFamily="@font/mulish_bold"
android:maxLines="1"
android:text="Champions League - Groupe Stage: Matchay"
android:textColor="@color/title"
android:textSize="14dp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/ImageFirstTeam"
android:layout_width="60dp"
android:layout_height="60dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:text="Fluminense FC"
android:textAlignment="center"
android:textSize="16dp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/mulish_black"
android:text="2-1"
android:textColor="@color/title"
android:textSize="43dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/mulish_extrabold"
android:maxLines="2"
android:text="Full-time"
android:textAlignment="center"
android:textColor="@color/title"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/ImageSecondTeam"
android:layout_width="60dp"
android:layout_height="60dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:text="CA Mineiro"
android:textAlignment="center"
android:textSize="16dp" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="20dp"
android:background="#E1DFDF" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="350dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/border_rounded"
android:gravity="center_vertical"
android:orientation="horizontal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageFavorites"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginHorizontal="15dp"
android:layout_marginVertical="10dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/mulish_bold"
android:maxLines="3"
android:text="Campeonato Brasileiro Série A"
android:textColor="@color/black"
android:textSize="18dp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="360dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/background"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingHorizontal="20dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:ellipsize="end"
android:fontFamily="@font/mulish_bold"
android:maxLines="1"
android:text="Champions League - Groupe Stage: Matchay"
android:textColor="@color/title"
android:textSize="14dp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/ImageFirstTeam"
android:layout_width="60dp"
android:layout_height="60dp" />
<TextView
android:id="@+id/TitleFirstTeam"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:textSize="16dp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/mulish_black"
android:text="2-1"
android:textColor="@color/title"
android:textSize="43dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/mulish_extrabold"
android:maxLines="2"
android:text="Full-time"
android:textColor="@color/title"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/ImageSecondTeam"
android:layout_width="60dp"
android:layout_height="60dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:textSize="16dp" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="20dp"
android:background="#E1DFDF" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save