diff --git a/CineCool/app/build.gradle b/CineCool/app/build.gradle
index 8154b2c..e5763d7 100644
--- a/CineCool/app/build.gradle
+++ b/CineCool/app/build.gradle
@@ -47,4 +47,21 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+
+ // Java language implementation
+ implementation("androidx.navigation:navigation-fragment:2.5.3")
+ implementation("androidx.navigation:navigation-ui:2.5.3")
+
+ // Kotlin
+ implementation("androidx.navigation:navigation-fragment-ktx:2.5.3")
+ implementation("androidx.navigation:navigation-ui-ktx:2.5.3")
+
+ // Feature module Support
+ implementation("androidx.navigation:navigation-dynamic-features-fragment:2.5.3")
+
+ // Testing Navigation
+ androidTestImplementation("androidx.navigation:navigation-testing:2.5.3")
+
+ // Jetpack Compose Integration
+ implementation("androidx.navigation:navigation-compose:2.5.3")
}
\ No newline at end of file
diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/CinemaActivity.kt b/CineCool/app/src/main/java/fr/iut/cinecool/CinemaActivity.kt
index 7781066..6ae3a70 100644
--- a/CineCool/app/src/main/java/fr/iut/cinecool/CinemaActivity.kt
+++ b/CineCool/app/src/main/java/fr/iut/cinecool/CinemaActivity.kt
@@ -1,5 +1,6 @@
package fr.iut.cinecool
+import android.app.Activity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
@@ -7,5 +8,6 @@ class CinemaActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_cinema)
+ Activity.findNavController(viewId: Int)
}
}
\ No newline at end of file
diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/CinemaFragment.kt b/CineCool/app/src/main/java/fr/iut/cinecool/CinemaFragment.kt
new file mode 100644
index 0000000..4cfa2be
--- /dev/null
+++ b/CineCool/app/src/main/java/fr/iut/cinecool/CinemaFragment.kt
@@ -0,0 +1,59 @@
+package fr.iut.cinecool
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+
+// TODO: Rename parameter arguments, choose names that match
+// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+private const val ARG_PARAM1 = "param1"
+private const val ARG_PARAM2 = "param2"
+
+/**
+ * A simple [Fragment] subclass.
+ * Use the [CinemaFragment.newInstance] factory method to
+ * create an instance of this fragment.
+ */
+class CinemaFragment : Fragment() {
+ // TODO: Rename and change types of parameters
+ private var param1: String? = null
+ private var param2: String? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+ param1 = it.getString(ARG_PARAM1)
+ param2 = it.getString(ARG_PARAM2)
+ }
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_cinema, container, false)
+ }
+
+ companion object {
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment CinemaFragment.
+ */
+ // TODO: Rename and change types and number of parameters
+ @JvmStatic
+ fun newInstance(param1: String, param2: String) =
+ CinemaFragment().apply {
+ arguments = Bundle().apply {
+ putString(ARG_PARAM1, param1)
+ putString(ARG_PARAM2, param2)
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt b/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt
new file mode 100644
index 0000000..76ed5a0
--- /dev/null
+++ b/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt
@@ -0,0 +1,59 @@
+package fr.iut.cinecool
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+
+// TODO: Rename parameter arguments, choose names that match
+// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+private const val ARG_PARAM1 = "param1"
+private const val ARG_PARAM2 = "param2"
+
+/**
+ * A simple [Fragment] subclass.
+ * Use the [MoviesFragment.newInstance] factory method to
+ * create an instance of this fragment.
+ */
+class MoviesFragment : Fragment() {
+ // TODO: Rename and change types of parameters
+ private var param1: String? = null
+ private var param2: String? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+ param1 = it.getString(ARG_PARAM1)
+ param2 = it.getString(ARG_PARAM2)
+ }
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_movies, container, false)
+ }
+
+ companion object {
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment MoviesFragment.
+ */
+ // TODO: Rename and change types and number of parameters
+ @JvmStatic
+ fun newInstance(param1: String, param2: String) =
+ MoviesFragment().apply {
+ arguments = Bundle().apply {
+ putString(ARG_PARAM1, param1)
+ putString(ARG_PARAM2, param2)
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/SessionFragment.kt b/CineCool/app/src/main/java/fr/iut/cinecool/SessionFragment.kt
new file mode 100644
index 0000000..8fd1924
--- /dev/null
+++ b/CineCool/app/src/main/java/fr/iut/cinecool/SessionFragment.kt
@@ -0,0 +1,59 @@
+package fr.iut.cinecool
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+
+// TODO: Rename parameter arguments, choose names that match
+// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+private const val ARG_PARAM1 = "param1"
+private const val ARG_PARAM2 = "param2"
+
+/**
+ * A simple [Fragment] subclass.
+ * Use the [SessionFragment.newInstance] factory method to
+ * create an instance of this fragment.
+ */
+class SessionFragment : Fragment() {
+ // TODO: Rename and change types of parameters
+ private var param1: String? = null
+ private var param2: String? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+ param1 = it.getString(ARG_PARAM1)
+ param2 = it.getString(ARG_PARAM2)
+ }
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_session, container, false)
+ }
+
+ companion object {
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment SessionFragment.
+ */
+ // TODO: Rename and change types and number of parameters
+ @JvmStatic
+ fun newInstance(param1: String, param2: String) =
+ SessionFragment().apply {
+ arguments = Bundle().apply {
+ putString(ARG_PARAM1, param1)
+ putString(ARG_PARAM2, param2)
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MyAdapter.kt b/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MyAdapter.kt
new file mode 100644
index 0000000..168f4ab
--- /dev/null
+++ b/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MyAdapter.kt
@@ -0,0 +1,4 @@
+package fr.iut.cinecool.adapter
+
+class MyAdapter {
+}
\ No newline at end of file
diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/model/Session.kt b/CineCool/app/src/main/java/fr/iut/cinecool/model/Session.kt
index 902981f..f60ddac 100644
--- a/CineCool/app/src/main/java/fr/iut/cinecool/model/Session.kt
+++ b/CineCool/app/src/main/java/fr/iut/cinecool/model/Session.kt
@@ -2,4 +2,4 @@ package fr.iut.cinecool.model
import java.util.Date
-class Session(val id:Int, val date: Date, val beginHour:Int, val endingHour:Int, val room:String)
\ No newline at end of file
+data class Session(val id:Int, val date: Date, val beginHour:Int, val endingHour:Int, val room:String)
\ No newline at end of file
diff --git a/CineCool/app/src/main/res/layout/activity_cinema.xml b/CineCool/app/src/main/res/layout/activity_cinema.xml
index 288abc0..6cf60db 100644
--- a/CineCool/app/src/main/res/layout/activity_cinema.xml
+++ b/CineCool/app/src/main/res/layout/activity_cinema.xml
@@ -5,12 +5,16 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".CinemaActivity">
-
-
+ app:defaultNavHost="true"
+ app:navGraph="@navigation/nav_graph" />
+
\ No newline at end of file
diff --git a/CineCool/app/src/main/res/layout/fragment_cinema.xml b/CineCool/app/src/main/res/layout/fragment_cinema.xml
new file mode 100644
index 0000000..8dc1681
--- /dev/null
+++ b/CineCool/app/src/main/res/layout/fragment_cinema.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CineCool/app/src/main/res/layout/fragment_movies.xml b/CineCool/app/src/main/res/layout/fragment_movies.xml
new file mode 100644
index 0000000..034bff2
--- /dev/null
+++ b/CineCool/app/src/main/res/layout/fragment_movies.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CineCool/app/src/main/res/layout/fragment_session.xml b/CineCool/app/src/main/res/layout/fragment_session.xml
new file mode 100644
index 0000000..ca40073
--- /dev/null
+++ b/CineCool/app/src/main/res/layout/fragment_session.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CineCool/app/src/main/res/layout/movie.xml b/CineCool/app/src/main/res/layout/movie.xml
new file mode 100644
index 0000000..d0101ce
--- /dev/null
+++ b/CineCool/app/src/main/res/layout/movie.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CineCool/app/src/main/res/navigation/nav_graph.xml b/CineCool/app/src/main/res/navigation/nav_graph.xml
index ca33455..419b35f 100644
--- a/CineCool/app/src/main/res/navigation/nav_graph.xml
+++ b/CineCool/app/src/main/res/navigation/nav_graph.xml
@@ -3,26 +3,32 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph"
- app:startDestination="@id/FirstFragment">
-
+ app:startDestination="@id/CinemaFragment">
-
+ android:id="@+id/CinemaFragment"
+ android:name="fr.iut.cinecool.CinemaFragment"
+ android:label="Cinema Fragment"
+ tools:layout="@layout/fragment_cinema">
+ app:destination="@id/fragment_movies">
+
+ android:id="@+id/fragment_movies"
+ android:name="fr.iut.cinecool.MoviesFragment"
+ android:label="@string/first_fragment_label"
+ tools:layout="@layout/fragment_movies">
+ android:id="@+id/action_FirstFragment_to_SessionFragment"
+ app:destination="@id/SessionFragment">
+
+
+
\ No newline at end of file
diff --git a/CineCool/app/src/main/res/values/strings.xml b/CineCool/app/src/main/res/values/strings.xml
index 02dd242..4a365df 100644
--- a/CineCool/app/src/main/res/values/strings.xml
+++ b/CineCool/app/src/main/res/values/strings.xml
@@ -9,4 +9,6 @@
Hello first fragment
Hello second fragment. Arg: %1$s
+
+ Hello blank fragment
\ No newline at end of file