aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt')
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt51
1 files changed, 51 insertions, 0 deletions
diff --git a/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt b/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt
index ac585c7..9496053 100644
--- a/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt
@@ -9,6 +9,13 @@ import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
+import com.google.android.material.snackbar.Snackbar
+import com.google.gson.GsonBuilder
+import retrofit2.Call
+import retrofit2.Callback
+import retrofit2.Response
+import retrofit2.Retrofit
+import retrofit2.converter.gson.GsonConverterFactory
class TopMangaPage : Fragment() {
@@ -22,6 +29,10 @@ class TopMangaPage : Fragment() {
// Retrieves data from mangasource
val mangaList = MangaSource(view.context).getMangaList()
+
+ makeApiCall(base_url)
+
+
val recyclerView: RecyclerView = view.findViewById(R.id.recycler_view)
recyclerView.setHasFixedSize(true)
recyclerView.layoutManager = LinearLayoutManager(view.context)
@@ -37,4 +48,44 @@ class TopMangaPage : Fragment() {
}
}
+
+ fun makeApiCall(BASE_URL: String) {
+ val gson = GsonBuilder()
+ .setLenient()
+ .create()
+ val retrofit = Retrofit.Builder()
+ .baseUrl(BASE_URL)
+ .addConverterFactory(GsonConverterFactory.create(gson))
+ .build()
+ val service = retrofit.create(TopMangaApi::class.java)
+ val call = service.getTopMangaData()
+ call.enqueue(object : Callback<RestTopMangaResponse> {
+ override fun onResponse(call: Call<RestTopMangaResponse>, response: Response<RestTopMangaResponse>) {
+ if(response.isSuccessful && response.body() != null){
+ val topMangaResponse = response.body()
+ Snackbar.make(requireView(), "HA? YOU THOUGHT IT WAS AN ERROR !? BUT IT WAS I, API !", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show()
+ } else {
+ showError()
+ }
+ }
+
+ override fun onFailure(call: Call<RestTopMangaResponse>, t: Throwable) {
+ showError()
+ }
+
+
+ }
+ )
+ }
+
+ private fun showError() {
+ Snackbar.make(requireView(), "HA? YOU THOUGHT IT WAS AN API !? BUT IT WAS I, ERROR !", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show()
+ }
+
+ companion object {
+ var base_url = "https://api.jikan.moe/"
+ }
+
} \ No newline at end of file