parent
43feb90979
commit
6687ce099d
@ -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)
|
||||
}
|
||||
}
|
@ -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)
|
||||
}
|
||||
}
|
Loading…
Reference in new issue