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 daa61be..ff47bc5 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 @@ -326,7 +326,7 @@ class StubData : DataManager() { 1, "Paris Saint-Germain FC", "PSG", - "https://crests.football-data.org/524.svg", + "https://www.psg.fr/img/DefaultOpenGraphImage.jpg?20230329", "24 Rue du Commandant Guilbaud, 75016 Paris, France", "https://www.psg.fr/", "1970", @@ -343,7 +343,7 @@ class StubData : DataManager() { 2, "FC Barcelona", "BAR", - "https://crests.football-data.org/81.svg", + "https://upload.wikimedia.org/wikipedia/fr/thumb/a/a1/Logo_FC_Barcelona.svg/1200px-Logo_FC_Barcelona.svg.png", "Carrer d'Aristides Maillol, s/n, 08028 Barcelona, Spain", "https://www.fcbarcelona.com/", "1899", @@ -360,7 +360,7 @@ class StubData : DataManager() { 3, "Liverpool FC", "LIV", - "https://crests.football-data.org/64.svg", + "https://upload.wikimedia.org/wikipedia/fr/thumb/5/54/Logo_FC_Liverpool.svg/1200px-Logo_FC_Liverpool.svg.png", "Anfield Road, Liverpool L4 0TH, United Kingdom", "https://www.liverpoolfc.com/", "1892", @@ -384,7 +384,13 @@ class StubData : DataManager() { "BSA", "LEAGUE", "https://crests.football-data.org/764.svg", - Season(1557, Calendar.getInstance().apply { set(2023, Calendar.MARCH, 15) }, Calendar.getInstance().apply { set(2022, Calendar.DECEMBER, 3) },1, null), + Season( + 1557, + Calendar.getInstance().apply { set(2023, Calendar.MARCH, 15) }, + Calendar.getInstance().apply { set(2022, Calendar.DECEMBER, 3) }, + 1, + null + ), areaList[2], ) ) @@ -395,7 +401,13 @@ class StubData : DataManager() { "ELC", "LEAGUE", "https://crests.football-data.org/PL.png", - Season(1557, Calendar.getInstance().apply { set(2023, Calendar.MARCH, 15) }, Calendar.getInstance().apply { set(2022, Calendar.DECEMBER, 3) },1, null), + Season( + 1557, + Calendar.getInstance().apply { set(2023, Calendar.MARCH, 15) }, + Calendar.getInstance().apply { set(2022, Calendar.DECEMBER, 3) }, + 1, + null + ), areaList[2], ) ) diff --git a/src/app/src/main/java/uca/iut/clermont/view/DetailFragment.kt b/src/app/src/main/java/uca/iut/clermont/view/DetailFragment.kt new file mode 100644 index 0000000..9f2a411 --- /dev/null +++ b/src/app/src/main/java/uca/iut/clermont/view/DetailFragment.kt @@ -0,0 +1,33 @@ +package uca.iut.clermont.view + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageButton +import androidx.fragment.app.Fragment +import uca.iut.clermont.R + +class DetailFragment : Fragment() { + + private var isLiked = false + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + val view = inflater.inflate(R.layout.fragment_detail, container, false) + + val button = view.findViewById(R.id.buttonLike) + + button.setOnClickListener { + isLiked = !isLiked + + button.setImageResource(if (isLiked) R.drawable.full_like else R.drawable.empty_like) + } + + return view; + } + +} \ No newline at end of file diff --git a/src/app/src/main/java/uca/iut/clermont/view/FavoriteFragment.kt b/src/app/src/main/java/uca/iut/clermont/view/FavoriteFragment.kt index 8e0b490..e205008 100644 --- a/src/app/src/main/java/uca/iut/clermont/view/FavoriteFragment.kt +++ b/src/app/src/main/java/uca/iut/clermont/view/FavoriteFragment.kt @@ -16,13 +16,13 @@ import uca.iut.clermont.model.Match import uca.iut.clermont.view.adapter.FavoritesAdapter import uca.iut.clermont.view.adapter.MatchesAdapter -class FavoriteFragment: Fragment() { +class FavoriteFragment : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - val view = inflater.inflate(R.layout.fragment_favorite, container, false) + val view = inflater.inflate(R.layout.fragment_favorite, container, false) val competitions = (activity as MainActivity).manager.competitionsMgr.getItems() var buttonHome = view.findViewById(R.id.buttonHome) diff --git a/src/app/src/main/java/uca/iut/clermont/view/HomeFragment.kt b/src/app/src/main/java/uca/iut/clermont/view/HomeFragment.kt index 2071ef5..881fcf2 100644 --- a/src/app/src/main/java/uca/iut/clermont/view/HomeFragment.kt +++ b/src/app/src/main/java/uca/iut/clermont/view/HomeFragment.kt @@ -45,5 +45,4 @@ class HomeFragment : Fragment() { } - } \ No newline at end of file diff --git a/src/app/src/main/java/uca/iut/clermont/view/StartFragment.kt b/src/app/src/main/java/uca/iut/clermont/view/StartFragment.kt index 5f7ff29..dfb371b 100644 --- a/src/app/src/main/java/uca/iut/clermont/view/StartFragment.kt +++ b/src/app/src/main/java/uca/iut/clermont/view/StartFragment.kt @@ -10,8 +10,10 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ImageButton import android.widget.ImageView import androidx.fragment.app.Fragment +import androidx.navigation.fragment.findNavController import uca.iut.clermont.R @@ -39,6 +41,11 @@ class StartFragment : Fragment(), SensorEventListener { accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER) sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL) + val buttonFavorite = view.findViewById(R.id.nextButton) + + buttonFavorite.setOnClickListener { + findNavController().navigate(R.id.detailFragment) + } return view } @@ -53,12 +60,10 @@ class StartFragment : Fragment(), SensorEventListener { val angleY = y / 9.81f if (Math.abs(angleX) > 0.1) { - // Déplacer la balle à droite ou à gauche en fonction de la direction du mouvement - val deltaX = angleX * 20f // La vitesse de déplacement est de 20 pixels par seconde + val deltaX = angleX * 20f * if (angleX > 0) 1 else -1 ObjectAnimator.ofFloat(ball, View.TRANSLATION_X, ball.x + deltaX).start() - // Faire tourner la balle pendant qu'elle se déplace - ObjectAnimator.ofFloat(ball, View.ROTATION, -angleX * 70f).start() + ObjectAnimator.ofFloat(ball, View.ROTATION, angleX * 3400f).start() } lastX = x diff --git a/src/app/src/main/java/uca/iut/clermont/view/adapter/FavoritesAdapter.kt b/src/app/src/main/java/uca/iut/clermont/view/adapter/FavoritesAdapter.kt index 44232e3..d8356e7 100644 --- a/src/app/src/main/java/uca/iut/clermont/view/adapter/FavoritesAdapter.kt +++ b/src/app/src/main/java/uca/iut/clermont/view/adapter/FavoritesAdapter.kt @@ -8,7 +8,8 @@ import uca.iut.clermont.R import uca.iut.clermont.model.Competition import uca.iut.clermont.view.viewHolder.FavoriteHolder -class FavoritesAdapter(private val favoriteCompetition: Array ) : RecyclerView.Adapter() { +class FavoritesAdapter(private val favoriteCompetition: Array) : + RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): FavoriteHolder { return FavoriteHolder( LayoutInflater.from(parent.context).inflate(R.layout.cellule_favorite, parent, false) 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 index 9780b6c..2947e90 100644 --- 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 @@ -3,11 +3,13 @@ package uca.iut.clermont.view.adapter import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide import uca.iut.clermont.R import uca.iut.clermont.model.Match import uca.iut.clermont.view.viewHolder.MatchHolder -class MatchesAdapter(private val recentMatches: Array) : RecyclerView.Adapter() { +class MatchesAdapter(private val recentMatches: Array) : + RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MatchHolder { return MatchHolder( LayoutInflater.from(parent.context).inflate(R.layout.cellule_match, parent, false) @@ -19,6 +21,16 @@ class MatchesAdapter(private val recentMatches: Array) : RecyclerView.Ada holder.titleSecondTeam.text = recentMatches[position].awayTeam.name holder.scoreHomeTeam.text = recentMatches[position].score.home.toString() holder.scoreAwayTeam.text = recentMatches[position].score.away.toString() + + Glide.with(holder.itemView.context) + .load(recentMatches[position].homeTeam.crest) + .error(R.drawable.imagenotfound) + .into(holder.imageHomeTeam) + + Glide.with(holder.itemView.context) + .load(recentMatches[position].awayTeam.crest) + .error(R.drawable.imagenotfound) + .into(holder.imageAwayTeam) } override fun getItemCount() = recentMatches.size diff --git a/src/app/src/main/java/uca/iut/clermont/view/viewHolder/FavoriteHolder.kt b/src/app/src/main/java/uca/iut/clermont/view/viewHolder/FavoriteHolder.kt index 1adf251..96c861e 100644 --- a/src/app/src/main/java/uca/iut/clermont/view/viewHolder/FavoriteHolder.kt +++ b/src/app/src/main/java/uca/iut/clermont/view/viewHolder/FavoriteHolder.kt @@ -6,7 +6,7 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import uca.iut.clermont.R -class FavoriteHolder(view: View) : RecyclerView.ViewHolder(view) { +class FavoriteHolder(view: View) : RecyclerView.ViewHolder(view) { val imageFavorites: ImageView val textFavorites: TextView 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 index 1ebdf4e..511330c 100644 --- 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 @@ -1,6 +1,7 @@ package uca.iut.clermont.view.viewHolder import android.view.View +import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import uca.iut.clermont.R @@ -10,12 +11,16 @@ class MatchHolder(view: View) : RecyclerView.ViewHolder(view) { val titleSecondTeam: TextView val scoreHomeTeam: TextView val scoreAwayTeam: TextView + val imageHomeTeam: ImageView + val imageAwayTeam: ImageView init { titleFirstTeam = view.findViewById(R.id.TitleFirstTeam) titleSecondTeam = view.findViewById(R.id.TitleSecondTeam) scoreHomeTeam = view.findViewById(R.id.ScoreHomeTeam) scoreAwayTeam = view.findViewById(R.id.ScoreAwayTeam) + imageHomeTeam = view.findViewById(R.id.ImageFirstTeam) + imageAwayTeam = view.findViewById(R.id.ImageSecondTeam) } diff --git a/src/app/src/main/res/drawable/button_next.png b/src/app/src/main/res/drawable/button_next.png new file mode 100644 index 0000000..7c5f0e2 Binary files /dev/null and b/src/app/src/main/res/drawable/button_next.png differ diff --git a/src/app/src/main/res/drawable/empty_like.png b/src/app/src/main/res/drawable/empty_like.png new file mode 100644 index 0000000..62665c8 Binary files /dev/null and b/src/app/src/main/res/drawable/empty_like.png differ diff --git a/src/app/src/main/res/drawable/full_like.png b/src/app/src/main/res/drawable/full_like.png new file mode 100644 index 0000000..ee942c9 Binary files /dev/null and b/src/app/src/main/res/drawable/full_like.png differ diff --git a/src/app/src/main/res/drawable/shadow.png b/src/app/src/main/res/drawable/shadow.png new file mode 100644 index 0000000..8ad2fc3 Binary files /dev/null and b/src/app/src/main/res/drawable/shadow.png differ diff --git a/src/app/src/main/res/layout/activity_main.xml b/src/app/src/main/res/layout/activity_main.xml index ab05982..6368a1a 100644 --- a/src/app/src/main/res/layout/activity_main.xml +++ b/src/app/src/main/res/layout/activity_main.xml @@ -11,13 +11,12 @@ android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="0dp" android:layout_height="0dp" + app:defaultNavHost="true" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:defaultNavHost="true" app:navGraph="@navigation/my_nav" /> - \ No newline at end of file diff --git a/src/app/src/main/res/layout/cellule_favorite.xml b/src/app/src/main/res/layout/cellule_favorite.xml index 1da2053..007f53d 100644 --- a/src/app/src/main/res/layout/cellule_favorite.xml +++ b/src/app/src/main/res/layout/cellule_favorite.xml @@ -31,8 +31,6 @@ android:textColor="@color/black" android:textSize="18dp" /> - - \ No newline at end of file diff --git a/src/app/src/main/res/layout/fragment_detail.xml b/src/app/src/main/res/layout/fragment_detail.xml index 77d9ef6..104eb1f 100644 --- a/src/app/src/main/res/layout/fragment_detail.xml +++ b/src/app/src/main/res/layout/fragment_detail.xml @@ -1,6 +1,30 @@ + android:layout_height="match_parent" + tools:context=".view.DetailFragment"> + + + + \ No newline at end of file diff --git a/src/app/src/main/res/layout/fragment_favorite.xml b/src/app/src/main/res/layout/fragment_favorite.xml index 6040af2..6ad5310 100644 --- a/src/app/src/main/res/layout/fragment_favorite.xml +++ b/src/app/src/main/res/layout/fragment_favorite.xml @@ -31,9 +31,9 @@ android:background="@android:color/transparent" android:fontFamily="@font/mulish_bold" android:text="Exit" + android:textAllCaps="false" android:textColor="@color/title" - android:textSize="26dp" - android:textAllCaps="false" /> + android:textSize="26dp" /> diff --git a/src/app/src/main/res/layout/fragment_home.xml b/src/app/src/main/res/layout/fragment_home.xml index 4bb9ec9..55b511d 100644 --- a/src/app/src/main/res/layout/fragment_home.xml +++ b/src/app/src/main/res/layout/fragment_home.xml @@ -98,9 +98,10 @@ + app:layout_constraintTop_toBottomOf="@+id/textViewRecentMatches" + tools:itemCount="100" /> \ No newline at end of file diff --git a/src/app/src/main/res/layout/fragment_start.xml b/src/app/src/main/res/layout/fragment_start.xml index 486d25e..bc24907 100644 --- a/src/app/src/main/res/layout/fragment_start.xml +++ b/src/app/src/main/res/layout/fragment_start.xml @@ -1,18 +1,57 @@ + android:layout_height="match_parent"> + + + + + + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/shadow"> + + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/navigation/my_nav.xml b/src/app/src/main/res/navigation/my_nav.xml index 7468244..ec5c2aa 100644 --- a/src/app/src/main/res/navigation/my_nav.xml +++ b/src/app/src/main/res/navigation/my_nav.xml @@ -7,10 +7,10 @@ + android:label="StartFragment"> + android:id="@+id/action_startFragment_to_detailFragment" + app:destination="@id/detailFragment" /> + \ No newline at end of file