summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorClyhtsuriva <aimeric@adjutor.xyz>2021-02-19 14:04:59 +0100
committerClyhtsuriva <aimeric@adjutor.xyz>2021-02-19 14:04:59 +0100
commit2aaa50c8303018f89da461750d5577902bc87357 (patch)
tree1d4e58436f7d88c82b588c86fe99fce74ea09de3 /app/src
parentc519b3f99d5b03f8c52c8d881033c8d5ec6b8b6a (diff)
parentfa849021bf137fc4b245a8c0e7a2a8fc46d574df (diff)
Merge branch 'release/1.0'v1.0.0
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/AndroidManifest.xml5
-rw-r--r--app/src/main/ic_launcher-playstore.pngbin0 -> 46963 bytes
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/HomePage.kt (renamed from app/src/main/java/xyz/adjutor/aniki/FirstFragment.kt)12
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/MainActivity.kt7
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/News.kt7
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/RestTopMangaResponse.kt19
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/SecondFragment.kt31
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/TopManga.kt31
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/TopMangaAdapter.kt69
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/TopMangaApi.kt11
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt92
-rw-r--r--app/src/main/res/drawable/ic_launcher_background.xml163
-rw-r--r--app/src/main/res/font/bangers.xml7
-rw-r--r--app/src/main/res/layout/activity_main.xml11
-rw-r--r--app/src/main/res/layout/fragment_first.xml39
-rw-r--r--app/src/main/res/layout/fragment_second.xml27
-rw-r--r--app/src/main/res/layout/home_page.xml36
-rw-r--r--app/src/main/res/layout/item_layout.xml61
-rw-r--r--app/src/main/res/layout/top_manga_page.xml31
-rw-r--r--app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml4
-rw-r--r--app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml4
-rw-r--r--app/src/main/res/mipmap-hdpi/ic_launcher.pngbin3593 -> 2252 bytes
-rw-r--r--app/src/main/res/mipmap-hdpi/ic_launcher_foreground.pngbin0 -> 4526 bytes
-rw-r--r--app/src/main/res/mipmap-hdpi/ic_launcher_round.pngbin5339 -> 4198 bytes
-rw-r--r--app/src/main/res/mipmap-mdpi/ic_launcher.pngbin2636 -> 1355 bytes
-rw-r--r--app/src/main/res/mipmap-mdpi/ic_launcher_foreground.pngbin0 -> 2501 bytes
-rw-r--r--app/src/main/res/mipmap-mdpi/ic_launcher_round.pngbin3388 -> 2435 bytes
-rw-r--r--app/src/main/res/mipmap-xhdpi/ic_launcher.pngbin4926 -> 3530 bytes
-rw-r--r--app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.pngbin0 -> 6850 bytes
-rw-r--r--app/src/main/res/mipmap-xhdpi/ic_launcher_round.pngbin7472 -> 6329 bytes
-rw-r--r--app/src/main/res/mipmap-xxhdpi/ic_launcher.pngbin7909 -> 6289 bytes
-rw-r--r--app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.pngbin0 -> 12195 bytes
-rw-r--r--app/src/main/res/mipmap-xxhdpi/ic_launcher_round.pngbin11873 -> 10864 bytes
-rw-r--r--app/src/main/res/mipmap-xxxhdpi/ic_launcher.pngbin10652 -> 9367 bytes
-rw-r--r--app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.pngbin0 -> 18030 bytes
-rw-r--r--app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.pngbin16570 -> 16049 bytes
-rw-r--r--app/src/main/res/navigation/nav_graph.xml56
-rw-r--r--app/src/main/res/values-night/themes.xml10
-rw-r--r--app/src/main/res/values/colors.xml5
-rw-r--r--app/src/main/res/values/font_certs.xml17
-rw-r--r--app/src/main/res/values/preloaded_fonts.xml6
-rw-r--r--app/src/main/res/values/strings.xml35
-rw-r--r--app/src/main/res/values/themes.xml10
43 files changed, 484 insertions, 322 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 81bef7c..105fdfd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xyz.adjutor.aniki">
+ <uses-permission android:name="android.permission.INTERNET"/>
+
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
@@ -19,6 +21,9 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+ <meta-data
+ android:name="preloaded_fonts"
+ android:resource="@array/preloaded_fonts" />
</application>
</manifest> \ No newline at end of file
diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 0000000..1d40b22
--- /dev/null
+++ b/app/src/main/ic_launcher-playstore.png
Binary files differ
diff --git a/app/src/main/java/xyz/adjutor/aniki/FirstFragment.kt b/app/src/main/java/xyz/adjutor/aniki/HomePage.kt
index 05e5673..b6d45c3 100644
--- a/app/src/main/java/xyz/adjutor/aniki/FirstFragment.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/HomePage.kt
@@ -8,24 +8,20 @@ import android.view.ViewGroup
import android.widget.Button
import androidx.navigation.fragment.findNavController
-/**
- * A simple [Fragment] subclass as the default destination in the navigation.
- */
-class FirstFragment : Fragment() {
+class HomePage : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_first, container, false)
+ return inflater.inflate(R.layout.home_page, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
-
- view.findViewById<Button>(R.id.button_first).setOnClickListener {
- findNavController().navigate(R.id.action_FirstFragment_to_SecondFragment)
+ view.findViewById<Button>(R.id.button_top_manga).setOnClickListener {
+ findNavController().navigate(R.id.action_HomePage_to_TopMangaPage)
}
}
} \ No newline at end of file
diff --git a/app/src/main/java/xyz/adjutor/aniki/MainActivity.kt b/app/src/main/java/xyz/adjutor/aniki/MainActivity.kt
index f4ded55..50cd24f 100644
--- a/app/src/main/java/xyz/adjutor/aniki/MainActivity.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/MainActivity.kt
@@ -13,13 +13,6 @@ class MainActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(findViewById(R.id.toolbar))
-
- findViewById<FloatingActionButton>(R.id.fab).setOnClickListener { view ->
- Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show()
- }
- val industryNews = News(0,"Horror Manga Ajin Ends Nine-Year Serialization","Gamon Sakurai's Ajin (Ajin: Demi-Human) manga ended its nine-year run in the March issue of good! Afternoon on Friday.")
-
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
diff --git a/app/src/main/java/xyz/adjutor/aniki/News.kt b/app/src/main/java/xyz/adjutor/aniki/News.kt
deleted file mode 100644
index dea3516..0000000
--- a/app/src/main/java/xyz/adjutor/aniki/News.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package xyz.adjutor.aniki
-
-data class News (
- val id: Int,
- val title: String,
- val description: String
-) \ No newline at end of file
diff --git a/app/src/main/java/xyz/adjutor/aniki/RestTopMangaResponse.kt b/app/src/main/java/xyz/adjutor/aniki/RestTopMangaResponse.kt
new file mode 100644
index 0000000..0a7ebc8
--- /dev/null
+++ b/app/src/main/java/xyz/adjutor/aniki/RestTopMangaResponse.kt
@@ -0,0 +1,19 @@
+package xyz.adjutor.aniki
+
+import com.google.gson.annotations.SerializedName
+
+class RestTopMangaResponse {
+
+ @SerializedName("request_hash")
+ var request_hash: String? = null
+ @SerializedName("request_cached")
+ var request_cached: Boolean? = null
+ @SerializedName("request_cached_expiry")
+ var request_cached_expiry: Int? = null
+ @SerializedName("top")
+ var top: List<TopManga>? = null
+
+ fun getResults(): List<TopManga> {
+ return top!!
+ }
+} \ No newline at end of file
diff --git a/app/src/main/java/xyz/adjutor/aniki/SecondFragment.kt b/app/src/main/java/xyz/adjutor/aniki/SecondFragment.kt
deleted file mode 100644
index a994c61..0000000
--- a/app/src/main/java/xyz/adjutor/aniki/SecondFragment.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package xyz.adjutor.aniki
-
-import android.os.Bundle
-import androidx.fragment.app.Fragment
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.Button
-import androidx.navigation.fragment.findNavController
-
-/**
- * A simple [Fragment] subclass as the second destination in the navigation.
- */
-class SecondFragment : Fragment() {
-
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View? {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_second, container, false)
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- view.findViewById<Button>(R.id.button_second).setOnClickListener {
- findNavController().navigate(R.id.action_SecondFragment_to_FirstFragment)
- }
- }
-} \ No newline at end of file
diff --git a/app/src/main/java/xyz/adjutor/aniki/TopManga.kt b/app/src/main/java/xyz/adjutor/aniki/TopManga.kt
new file mode 100644
index 0000000..9cba192
--- /dev/null
+++ b/app/src/main/java/xyz/adjutor/aniki/TopManga.kt
@@ -0,0 +1,31 @@
+package xyz.adjutor.aniki
+
+import com.google.gson.annotations.SerializedName
+
+//Content of the top field from the api of top manga
+class TopManga{
+
+ @SerializedName("mal_id")
+ var mal_id: Int? = null
+ @SerializedName("rank")
+ var rank: Int? = null
+ @SerializedName("title")
+ var title: String? = null
+ @SerializedName("url")
+ var url: String? = null
+ @SerializedName("type")
+ var type: String? = null
+ @SerializedName("volumes")
+ var volumes: Int? = null
+ @SerializedName("start_date")
+ var start_date: String? = null
+ @SerializedName("end_date")
+ var end_date: String? = null
+ @SerializedName("members")
+ var members: Int? = null
+ @SerializedName("score")
+ var score: Float? = null
+ @SerializedName("image_url")
+ var image_url: String? = null
+
+}
diff --git a/app/src/main/java/xyz/adjutor/aniki/TopMangaAdapter.kt b/app/src/main/java/xyz/adjutor/aniki/TopMangaAdapter.kt
new file mode 100644
index 0000000..1478111
--- /dev/null
+++ b/app/src/main/java/xyz/adjutor/aniki/TopMangaAdapter.kt
@@ -0,0 +1,69 @@
+@file:Suppress("DEPRECATION")
+
+package xyz.adjutor.aniki
+
+import android.annotation.SuppressLint
+import android.graphics.Bitmap
+import android.graphics.BitmapFactory
+import android.os.AsyncTask
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+
+class TopMangaAdapter(val mangaList: List<TopManga>) :
+ RecyclerView.Adapter<TopMangaAdapter.MangaViewHolder>() {
+
+ // Describes an item view and its place within the RecyclerView
+ class MangaViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val mangaTitle: TextView = itemView.findViewById(R.id.tv_title)
+ val mangaRank: TextView = itemView.findViewById(R.id.tv_rank)
+ val mangaImage: ImageView = itemView.findViewById(R.id.iv_image)
+
+ }
+
+ // Returns a new ViewHolder
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MangaViewHolder {
+ val view = LayoutInflater.from(parent.context)
+ .inflate(R.layout.item_layout, parent, false)
+
+ return MangaViewHolder(view)
+ }
+
+ // Returns size of data list
+ override fun getItemCount(): Int {
+ return mangaList.size
+ }
+
+ // Displays data at a certain position
+ override fun onBindViewHolder(holder: MangaViewHolder, position: Int) {
+ val currentManga: TopManga = mangaList[position]
+ holder.mangaTitle.text = currentManga.title
+ holder.mangaRank.text = currentManga.rank.toString()
+ DownloadImageFromInternet(holder.mangaImage).execute(currentManga.image_url)
+ }
+
+ @SuppressLint("StaticFieldLeak")
+ private inner class DownloadImageFromInternet(var imageView: ImageView) : AsyncTask<String, Void, Bitmap?>() {
+ override fun doInBackground(vararg urls: String): Bitmap? {
+ val imageURL = urls[0]
+ var image: Bitmap? = null
+ try {
+ val `in` = java.net.URL(imageURL).openStream()
+ image = BitmapFactory.decodeStream(`in`)
+ }
+ catch (e: Exception) {
+ Log.e("Error Message", e.message.toString())
+ e.printStackTrace()
+ }
+ return image
+ }
+ override fun onPostExecute(result: Bitmap?) {
+ imageView.setImageBitmap(result)
+ }
+ }
+}
+
diff --git a/app/src/main/java/xyz/adjutor/aniki/TopMangaApi.kt b/app/src/main/java/xyz/adjutor/aniki/TopMangaApi.kt
new file mode 100644
index 0000000..b760233
--- /dev/null
+++ b/app/src/main/java/xyz/adjutor/aniki/TopMangaApi.kt
@@ -0,0 +1,11 @@
+package xyz.adjutor.aniki
+
+import retrofit2.http.GET
+import retrofit2.Call
+
+interface TopMangaApi {
+
+ @GET("v3/top/manga")
+ fun getTopMangaData(): Call<RestTopMangaResponse>
+
+} \ No newline at end of file
diff --git a/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt b/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt
new file mode 100644
index 0000000..6606b6c
--- /dev/null
+++ b/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt
@@ -0,0 +1,92 @@
+package xyz.adjutor.aniki
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.Button
+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() {
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ val view = inflater.inflate(R.layout.top_manga_page, container, false)
+
+ makeApiCall(view, base_url)
+
+ return view
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ //button to return to the home page
+ view.findViewById<Button>(R.id.button_home).setOnClickListener {
+ findNavController().navigate(R.id.action_TopMangaPage_to_HomePage)
+ }
+
+ }
+
+ //display the recyclerview
+ fun showList(view: View, mangaList: List<TopManga> ){
+ val recyclerView: RecyclerView = view.findViewById(R.id.recycler_view)
+ recyclerView.setHasFixedSize(true)
+ recyclerView.layoutManager = LinearLayoutManager(view.context)
+ recyclerView.adapter = TopMangaAdapter(mangaList)
+ }
+
+ fun makeApiCall(view: View, 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){ //if the code returned is >= 200 and < 300 AND the the body ain't empty
+ val mangaList = response.body()!!.getResults() //getting the "top" field containing our list of TopMangas
+ showList(view, mangaList) // calling the method in charge of displaying on the recyclerview
+ } else {
+ showError() //a snackbar
+ }
+ }
+
+ 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/" //the api's base url
+ }
+
+} \ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
index 07d5da9..16c436c 100644
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -5,166 +5,7 @@
android:viewportWidth="108"
android:viewportHeight="108">
<path
- android:fillColor="#3DDC84"
+ android:fillColor="#333333"
android:pathData="M0,0h108v108h-108z" />
- <path
- android:fillColor="#00000000"
- android:pathData="M9,0L9,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M19,0L19,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M29,0L29,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M39,0L39,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M49,0L49,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M59,0L59,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M69,0L69,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M79,0L79,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M89,0L89,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M99,0L99,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,9L108,9"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,19L108,19"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,29L108,29"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,39L108,39"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,49L108,49"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,59L108,59"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,69L108,69"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,79L108,79"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,89L108,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M0,99L108,99"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M19,29L89,29"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M19,39L89,39"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M19,49L89,49"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M19,59L89,59"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M19,69L89,69"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M19,79L89,79"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M29,19L29,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M39,19L39,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M49,19L49,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M59,19L59,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M69,19L69,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
- <path
- android:fillColor="#00000000"
- android:pathData="M79,19L79,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+
</vector>
diff --git a/app/src/main/res/font/bangers.xml b/app/src/main/res/font/bangers.xml
new file mode 100644
index 0000000..6edc990
--- /dev/null
+++ b/app/src/main/res/font/bangers.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<font-family xmlns:app="http://schemas.android.com/apk/res-auto"
+ app:fontProviderAuthority="com.google.android.gms.fonts"
+ app:fontProviderPackage="com.google.android.gms"
+ app:fontProviderQuery="Bangers"
+ app:fontProviderCerts="@array/com_google_android_gms_fonts_certs">
+</font-family>
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 616f503..dd69e51 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.coordinatorlayout.widget.CoordinatorLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
@@ -22,12 +23,4 @@
<include layout="@layout/content_main" />
- <com.google.android.material.floatingactionbutton.FloatingActionButton
- android:id="@+id/fab"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="bottom|end"
- android:layout_margin="@dimen/fab_margin"
- app:srcCompat="@android:drawable/ic_dialog_email" />
-
</androidx.coordinatorlayout.widget.CoordinatorLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_first.xml b/app/src/main/res/layout/fragment_first.xml
deleted file mode 100644
index 435c85b..0000000
--- a/app/src/main/res/layout/fragment_first.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".FirstFragment">
-
- <TextView
- android:id="@+id/textview_first"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/hello_first_fragment"
- app:layout_constraintBottom_toTopOf="@id/button_first"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <Button
- android:id="@+id/button_first"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="PRESS ON ME"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/textview_first" />
-
- <Button
- android:id="@+id/button_second"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="NO, PRESS ON ME !"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/button_first"
- app:layout_constraintStart_toStartOf="parent"
- />
-
-</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_second.xml b/app/src/main/res/layout/fragment_second.xml
deleted file mode 100644
index bd90524..0000000
--- a/app/src/main/res/layout/fragment_second.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".SecondFragment">
-
- <TextView
- android:id="@+id/textview_second"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toTopOf="@id/button_second"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <Button
- android:id="@+id/button_second"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/previous"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/textview_second" />
-</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/home_page.xml b/app/src/main/res/layout/home_page.xml
new file mode 100644
index 0000000..68d9f81
--- /dev/null
+++ b/app/src/main/res/layout/home_page.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".HomePage"
+ android:background="@color/very_dark_purple"
+ >
+
+ <TextView
+ android:id="@+id/tv_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/black"
+ android:fontFamily="@font/bangers"
+ android:text="@string/app_name"
+ android:textAlignment="center"
+ android:textColor="@color/strong_pink"
+ android:textSize="40sp"
+ app:layout_constraintBottom_toBottomOf="@id/button_top_manga"
+ app:layout_constraintTop_toTopOf="parent"
+ />
+
+ <Button
+ android:id="@+id/button_top_manga"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/top_manga"
+ app:layout_constraintTop_toBottomOf="@id/tv_title"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ />
+
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/item_layout.xml b/app/src/main/res/layout/item_layout.xml
new file mode 100644
index 0000000..32bea24
--- /dev/null
+++ b/app/src/main/res/layout/item_layout.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.cardview.widget.CardView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/cv_cardView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="4dp"
+ android:clickable="true"
+ android:focusable="true"
+ android:foreground="?selectableItemBackground"
+ app:cardCornerRadius="10dp"
+ app:cardBackgroundColor="@color/black"
+ >
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="10dp"
+ >
+
+ <ImageView
+ android:id="@+id/iv_image"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ android:src="@mipmap/ic_launcher_round"
+ android:contentDescription="@string/rv_image" />
+
+ <TextView
+ android:id="@+id/tv_title"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:fontFamily="@font/bangers"
+ android:text="@string/rv_title"
+ android:textAlignment="center"
+ android:textColor="@color/strong_pink"
+ android:textSize="30sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@id/iv_image"
+ app:layout_constraintTop_toTopOf="parent"
+ android:layout_marginHorizontal="10sp"/>
+
+ <TextView
+ android:id="@+id/tv_rank"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@color/very_dark_purple"
+ android:text="@string/rv_rank"
+ android:textColor="@color/slightly_desaturated_magenta"
+ android:textSize="20sp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toTopOf="@id/tv_title"/>
+
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.cardview.widget.CardView> \ No newline at end of file
diff --git a/app/src/main/res/layout/top_manga_page.xml b/app/src/main/res/layout/top_manga_page.xml
new file mode 100644
index 0000000..ba19596
--- /dev/null
+++ b/app/src/main/res/layout/top_manga_page.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".TopMangaPage"
+ android:background="@color/very_dark_purple">
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/recycler_view"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toTopOf="@+id/button_home"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:listitem="@layout/item_layout" />
+
+ <Button
+ android:id="@+id/button_home"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/home"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index eca70cf..c4a603d 100644
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
- <background android:drawable="@drawable/ic_launcher_background" />
- <foreground android:drawable="@drawable/ic_launcher_foreground" />
+ <background android:drawable="@drawable/ic_launcher_background"/>
+ <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon> \ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
index eca70cf..c4a603d 100644
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
- <background android:drawable="@drawable/ic_launcher_background" />
- <foreground android:drawable="@drawable/ic_launcher_foreground" />
+ <background android:drawable="@drawable/ic_launcher_background"/>
+ <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon> \ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
index a571e60..0fce361 100644
--- a/app/src/main/res/mipmap-hdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..5429d13
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
index 61da551..7f6c2ad 100644
--- a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
+++ b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
index c41dd28..735ecf0 100644
--- a/app/src/main/res/mipmap-mdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..b994dd7
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
index db5080a..baa9a61 100644
--- a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
+++ b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 6dba46d..3ead759 100644
--- a/app/src/main/res/mipmap-xhdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..26fa079
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
index da31a87..efdcdac 100644
--- a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
+++ b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 15ac681..14126a1 100644
--- a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..698f5ff
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
index b216f2d..ba6ab2e 100644
--- a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
+++ b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index f25a419..5524755 100644
--- a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..a4ef2dc
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
index e96783c..e4a88ec 100644
--- a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
Binary files differ
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
index 5441348..d8d3b26 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -3,26 +3,56 @@
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/HomePage">
<fragment
- android:id="@+id/FirstFragment"
- android:name="xyz.adjutor.aniki.FirstFragment"
- android:label="@string/first_fragment_label"
- tools:layout="@layout/fragment_first">
+ android:id="@+id/HomePage"
+ android:name="xyz.adjutor.aniki.HomePage"
+ android:label="@string/home_page_label"
+ tools:layout="@layout/home_page">
<action
- android:id="@+id/action_FirstFragment_to_SecondFragment"
- app:destination="@id/SecondFragment" />
+ android:id="@+id/action_HomePage_to_NewsPage"
+ app:destination="@id/NewsPage" />
+ <action
+ android:id="@+id/action_HomePage_to_ArticlePage"
+ app:destination="@id/ArticlePage" />
+ <action
+ android:id="@+id/action_HomePage_to_TopMangaPage"
+ app:destination="@id/TopMangaPage" />
+ </fragment>
+
+ <fragment
+ android:id="@+id/NewsPage"
+ android:name="xyz.adjutor.aniki.NewsPage"
+ android:label="@string/news_page_label"
+ tools:layout="@layout/news_page">
+
+ <action
+ android:id="@+id/action_NewsPage_to_HomePage"
+ app:destination="@id/HomePage" />
</fragment>
+
<fragment
- android:id="@+id/SecondFragment"
- android:name="xyz.adjutor.aniki.SecondFragment"
- android:label="@string/second_fragment_label"
- tools:layout="@layout/fragment_second">
+ android:id="@+id/ArticlePage"
+ android:name="xyz.adjutor.aniki.ArticlePage"
+ android:label="@string/article_page_label"
+ tools:layout="@layout/article_page">
<action
- android:id="@+id/action_SecondFragment_to_FirstFragment"
- app:destination="@id/FirstFragment" />
+ android:id="@+id/action_ArticlePage_to_HomePage"
+ app:destination="@id/HomePage" />
</fragment>
+
+ <fragment
+ android:id="@+id/TopMangaPage"
+ android:name="xyz.adjutor.aniki.TopMangaPage"
+ android:label="@string/top_manga_page_label"
+ tools:layout="@layout/top_manga_page">
+
+ <action
+ android:id="@+id/action_TopMangaPage_to_HomePage"
+ app:destination="@id/HomePage" />
+ </fragment>
+
</navigation> \ No newline at end of file
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index e1dd5d0..e8d4e2d 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -2,12 +2,12 @@
<!-- Base application theme. -->
<style name="Theme.Aniki" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
- <item name="colorPrimary">@color/purple_200</item>
- <item name="colorPrimaryVariant">@color/purple_700</item>
- <item name="colorOnPrimary">@color/black</item>
+ <item name="colorPrimary">@color/black</item>
+ <item name="colorPrimaryVariant">@color/strong_pink</item>
+ <item name="colorOnPrimary">@color/slightly_desaturated_magenta</item>
<!-- Secondary brand color. -->
- <item name="colorSecondary">@color/teal_200</item>
- <item name="colorSecondaryVariant">@color/teal_200</item>
+ <item name="colorSecondary">@color/purple_200</item>
+ <item name="colorSecondaryVariant">@color/purple_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index f8c6127..95a118e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -7,4 +7,9 @@
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
+
+ <color name="very_dark_purple">#09022A</color>
+ <color name="very_light_magenta">#FF70FF</color>
+ <color name="strong_pink">#D52C70</color>
+ <color name="slightly_desaturated_magenta">#c583b6</color>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/font_certs.xml b/app/src/main/res/values/font_certs.xml
new file mode 100644
index 0000000..d2226ac
--- /dev/null
+++ b/app/src/main/res/values/font_certs.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <array name="com_google_android_gms_fonts_certs">
+ <item>@array/com_google_android_gms_fonts_certs_dev</item>
+ <item>@array/com_google_android_gms_fonts_certs_prod</item>
+ </array>
+ <string-array name="com_google_android_gms_fonts_certs_dev">
+ <item>
+ MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs=
+ </item>
+ </string-array>
+ <string-array name="com_google_android_gms_fonts_certs_prod">
+ <item>
+ MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK
+ </item>
+ </string-array>
+</resources>
diff --git a/app/src/main/res/values/preloaded_fonts.xml b/app/src/main/res/values/preloaded_fonts.xml
new file mode 100644
index 0000000..50baff4
--- /dev/null
+++ b/app/src/main/res/values/preloaded_fonts.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <array name="preloaded_fonts" translatable="false">
+ <item>@font/bangers</item>
+ </array>
+</resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 544b6af..5301008 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,12 +1,35 @@
<resources>
<string name="app_name">Aniki</string>
<string name="action_settings">Settings</string>
- <!-- Strings used for fragments for navigation -->
- <string name="first_fragment_label">First Fragment</string>
- <string name="second_fragment_label">Second Fragment</string>
- <string name="next">Next</string>
- <string name="previous">Previous</string>
- <string name="hello_first_fragment">Hello first fragment</string>
<string name="hello_second_fragment">Hello second fragment. Arg: %1$s</string>
+ <string name="info">Infos about the developper of the app.</string>
+ <string name="news">News</string>
+ <string name="article">Article</string>
+ <string name="top_manga">Top Manga</string>
+ <string name="home">Home</string>
+ <string name="home_page_label">Home Page</string>
+ <string name="news_page_label">News Page</string>
+ <string name="article_page_label">Article Page</string>
+ <string name="top_manga_page_label">Top Manga Page</string>
+ <string name="rv_title">Title</string>
+ <string name="rv_rank">0</string>
+ <string name="rv_image">image</string>
+ <string name="manga_image_content_description">Image of manga</string>
+
+ <string-array name="manga_array">
+ <item>Dragon Ball</item>
+ <item>Naruto</item>
+ <item>Fairy Tail</item>
+ <item>Shokugeki no Souma</item>
+ <item>Ajin</item>
+ <item>Komi-san no Komyushu</item>
+ <item>Hunter x Hunter</item>
+ <item>Detective Conan</item>
+ <item>Swortd Art Online</item>
+ <item>Scumbag Loser</item>
+ <item>Ana Satsujin</item>
+ <item>Samurai Deeper Kyou</item>
+ </string-array>
+
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index c79cf5a..2d1852e 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -2,12 +2,12 @@
<!-- Base application theme. -->
<style name="Theme.Aniki" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
- <item name="colorPrimary">@color/purple_500</item>
- <item name="colorPrimaryVariant">@color/purple_700</item>
- <item name="colorOnPrimary">@color/white</item>
+ <item name="colorPrimary">@color/black</item>
+ <item name="colorPrimaryVariant">@color/strong_pink</item>
+ <item name="colorOnPrimary">@color/slightly_desaturated_magenta</item>
<!-- Secondary brand color. -->
- <item name="colorSecondary">@color/teal_200</item>
- <item name="colorSecondaryVariant">@color/teal_700</item>
+ <item name="colorSecondary">@color/purple_200</item>
+ <item name="colorSecondaryVariant">@color/purple_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>