diff --git a/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/MainActivity.kt b/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/MainActivity.kt
index 7f36ef4..566b78c 100644
--- a/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/MainActivity.kt
+++ b/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/MainActivity.kt
@@ -26,7 +26,6 @@ class MainActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
preferences.contains(USERNAME) || return
- setContentView(R.layout.activity_main)
val nav = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
nav.navController.navigate(R.id.repository_list_fragment)
}
@@ -38,7 +37,7 @@ class MainActivity : AppCompatActivity() {
REPOSITORY_NAME to repository.name
)
val nav = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
- nav.navController.navigate(R.id.activity_list_fragment, bundle)
+ nav.navController.navigate(R.id.repository_details_fragment, bundle)
}
class RepositoryListFragmentFactory(
diff --git a/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/RepositoryDetailActivity.kt b/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/RepositoryDetailActivity.kt
deleted file mode 100644
index 4d622e5..0000000
--- a/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/RepositoryDetailActivity.kt
+++ /dev/null
@@ -1,57 +0,0 @@
-package fr.uca.iut.clfreville2.teaiswarm
-
-import android.content.Intent
-import android.os.Bundle
-import android.widget.TextView
-import androidx.appcompat.app.AppCompatActivity
-import androidx.lifecycle.lifecycleScope
-import androidx.recyclerview.widget.RecyclerView
-import fr.uca.iut.clfreville2.teaiswarm.model.RepositoryIdentifier
-import fr.uca.iut.clfreville2.teaiswarm.model.VersionedFile
-import fr.uca.iut.clfreville2.teaiswarm.network.GiteaService
-import kotlinx.coroutines.launch
-
-const val FILE_PATH = "file_path"
-
-class RepositoryDetailActivity : AppCompatActivity() {
-
- private val service = GiteaService()
- private lateinit var repositoryName: TextView
- private lateinit var versionedFiles: RecyclerView
-
- private lateinit var currentRepositoryOwner: String
- private lateinit var currentRepositoryName: String
- private var currentFilePath: String? = null
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_repository_detail)
-
- repositoryName = findViewById(R.id.repository_detail_name)
-
- val bundle: Bundle? = intent.extras
- if (bundle != null) {
- currentRepositoryOwner = bundle.getString(REPOSITORY_OWNER)!!
- currentRepositoryName = bundle.getString(REPOSITORY_NAME)!!
- currentFilePath = bundle.getString(FILE_PATH)
- }
-
- repositoryName.text = currentRepositoryName
-
- versionedFiles = findViewById(R.id.versioned_files_view)
- lifecycleScope.launch {
- val repos = service.listFileContents(RepositoryIdentifier(currentRepositoryOwner, currentRepositoryName), currentFilePath ?: "")
- versionedFiles.adapter = FileListAdapter(repos) {
- file -> adapterOnClick(file)
- }
- }
- }
-
- private fun adapterOnClick(file: VersionedFile) {
- val intent = Intent(this, RepositoryDetailActivity()::class.java)
- intent.putExtra(REPOSITORY_OWNER, currentRepositoryOwner)
- intent.putExtra(REPOSITORY_NAME, currentRepositoryName)
- intent.putExtra(FILE_PATH, (currentFilePath ?: "") + file.name)
- startActivity(intent)
- }
-}
diff --git a/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/fragment/RepositoryDetailsFragment.kt b/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/fragment/RepositoryDetailsFragment.kt
new file mode 100644
index 0000000..ff1b5f4
--- /dev/null
+++ b/app/src/main/java/fr/uca/iut/clfreville2/teaiswarm/fragment/RepositoryDetailsFragment.kt
@@ -0,0 +1,66 @@
+package fr.uca.iut.clfreville2.teaiswarm.fragment
+
+import android.os.Bundle
+import android.view.View
+import android.widget.Button
+import android.widget.TextView
+import androidx.core.os.bundleOf
+import androidx.fragment.app.Fragment
+import androidx.lifecycle.lifecycleScope
+import androidx.navigation.fragment.findNavController
+import androidx.recyclerview.widget.RecyclerView
+import fr.uca.iut.clfreville2.teaiswarm.*
+import fr.uca.iut.clfreville2.teaiswarm.model.RepositoryIdentifier
+import fr.uca.iut.clfreville2.teaiswarm.model.VersionedFile
+import fr.uca.iut.clfreville2.teaiswarm.network.GiteaService
+import kotlinx.coroutines.launch
+
+const val FILE_PATH = "file_path"
+
+class RepositoryDetailsFragment : Fragment(R.layout.repository_details) {
+
+ private val service = GiteaService()
+ private lateinit var repositoryName: TextView
+ private lateinit var repositoryDescription: TextView
+ private lateinit var activity: Button
+ private lateinit var versionedFiles: RecyclerView
+
+ private lateinit var currentRepositoryOwner: String
+ private lateinit var currentRepositoryName: String
+ private var currentFilePath: String? = null
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ repositoryName = view.findViewById(R.id.repository_detail_name)
+ repositoryDescription = view.findViewById(R.id.repository_detail_description)
+ activity = view.findViewById(R.id.repository_detail_activity)
+
+ val bundle = requireArguments()
+ currentRepositoryOwner = bundle.getString(REPOSITORY_OWNER)!!
+ currentRepositoryName = bundle.getString(REPOSITORY_NAME)!!
+ currentFilePath = bundle.getString(FILE_PATH)
+
+ repositoryName.text = currentRepositoryName
+
+ versionedFiles = view.findViewById(R.id.versioned_files_view)
+ lifecycleScope.launch {
+ val repos = service.listFileContents(RepositoryIdentifier(currentRepositoryOwner, currentRepositoryName), currentFilePath ?: "")
+ versionedFiles.adapter = FileListAdapter(repos) {
+ file -> adapterOnClick(file)
+ }
+ }
+
+ activity.setOnClickListener {
+ findNavController().navigate(R.id.activity_list_fragment, bundle)
+ }
+ }
+
+ private fun adapterOnClick(file: VersionedFile) {
+ val bundle = bundleOf(
+ REPOSITORY_OWNER to currentRepositoryOwner,
+ REPOSITORY_NAME to currentRepositoryName,
+ FILE_PATH to (currentFilePath ?: "") + file.name
+ )
+ findNavController().navigate(R.id.repository_details_fragment, bundle)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_repository_detail.xml b/app/src/main/res/layout/repository_details.xml
similarity index 84%
rename from app/src/main/res/layout/activity_repository_detail.xml
rename to app/src/main/res/layout/repository_details.xml
index 3bcbadf..9fcfdeb 100644
--- a/app/src/main/res/layout/activity_repository_detail.xml
+++ b/app/src/main/res/layout/repository_details.xml
@@ -21,6 +21,12 @@
android:text="@string/repository_description"
android:padding="16dp" />
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e315682..4c6ae95 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -13,4 +13,5 @@
Unknown
Username
Configure
+ Activity
\ No newline at end of file