diff options
| -rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/ListAdapter.kt | 45 | ||||
| -rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/MangaAdapter.kt | 40 | ||||
| -rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/MangaSource.kt | 11 | ||||
| -rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt | 11 | ||||
| -rw-r--r-- | app/src/main/res/layout/item_layout.xml | 34 | ||||
| -rw-r--r-- | app/src/main/res/layout/row_layout.xml | 47 | ||||
| -rw-r--r-- | app/src/main/res/layout/top_manga_page.xml | 9 | ||||
| -rw-r--r-- | app/src/main/res/values/strings.xml | 21 | 
8 files changed, 98 insertions, 120 deletions
| diff --git a/app/src/main/java/xyz/adjutor/aniki/ListAdapter.kt b/app/src/main/java/xyz/adjutor/aniki/ListAdapter.kt deleted file mode 100644 index 74ba9c4..0000000 --- a/app/src/main/java/xyz/adjutor/aniki/ListAdapter.kt +++ /dev/null @@ -1,45 +0,0 @@ -package xyz.adjutor.aniki - -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.TextView -import androidx.recyclerview.widget.RecyclerView - -class ListAdapter(private val dataSet: Array<String>) : -    RecyclerView.Adapter<ListAdapter.ViewHolder>() { - -    /** -     * Provide a reference to the type of views that you are using -     * (custom ViewHolder). -     */ -    class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { -        // Define click listener for the ViewHolder's View. -        val firstLine: TextView = view.findViewById(R.id.firstLine) -        val secondLine: TextView = view.findViewById(R.id.secondLine) - -    } - -    // Create new views (invoked by the layout manager) -    override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder { -        // Create a new view, which defines the UI of the list item -        val view = LayoutInflater.from(viewGroup.context) -            .inflate(R.layout.row_layout, viewGroup, false) - -        return ViewHolder(view) -    } - -    // Replace the contents of a view (invoked by the layout manager) -    override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) { - -        // Get element from your dataset at this position and replace the -        // contents of the view with that element -        viewHolder.firstLine.text = dataSet[position] -        viewHolder.secondLine.text = dataSet[position] -    } - -    // Return the size of your dataset (invoked by the layout manager) -    override fun getItemCount() = dataSet.size - -} - diff --git a/app/src/main/java/xyz/adjutor/aniki/MangaAdapter.kt b/app/src/main/java/xyz/adjutor/aniki/MangaAdapter.kt new file mode 100644 index 0000000..8e1c8f2 --- /dev/null +++ b/app/src/main/java/xyz/adjutor/aniki/MangaAdapter.kt @@ -0,0 +1,40 @@ +package xyz.adjutor.aniki + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import java.util.ArrayList + +class MangaAdapter(val mangaList: Array<String>) : +        RecyclerView.Adapter<MangaAdapter.MangaViewHolder>() { + +    // Describes an item view and its place within the RecyclerView +    class MangaViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { +        private val mangaTextView: TextView = itemView.findViewById(R.id.tv_title) + +        fun bind(word: String) { +            mangaTextView.text = word +        } +    } + +    // 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) { +        holder.bind(mangaList[position]) +    } +} + diff --git a/app/src/main/java/xyz/adjutor/aniki/MangaSource.kt b/app/src/main/java/xyz/adjutor/aniki/MangaSource.kt new file mode 100644 index 0000000..86e46e2 --- /dev/null +++ b/app/src/main/java/xyz/adjutor/aniki/MangaSource.kt @@ -0,0 +1,11 @@ +package xyz.adjutor.aniki + +import android.content.Context + +class MangaSource(val context: Context) { +    fun getMangaList(): Array<String> { + +        // Return manga list from string resources +        return context.resources.getStringArray(R.array.manga_array) +    } +}
\ 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 index a59e038..32d3ce6 100644 --- a/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt +++ b/app/src/main/java/xyz/adjutor/aniki/TopMangaPage.kt @@ -6,11 +6,10 @@ import android.view.LayoutInflater  import android.view.View  import android.view.ViewGroup  import android.widget.Button +import androidx.appcompat.app.AppCompatActivity  import androidx.navigation.fragment.findNavController +import androidx.recyclerview.widget.RecyclerView -/** - * A simple [Fragment] subclass as the second destination in the navigation. - */  class TopMangaPage : Fragment() {      override fun onCreateView( @@ -28,5 +27,11 @@ class TopMangaPage : Fragment() {              findNavController().navigate(R.id.action_TopMangaPage_to_HomePage)          } +        // Retrieves data from mangasource +        val mangaList = MangaSource(requireActivity().applicationContext).getMangaList() + +        val recyclerView: RecyclerView = view.findViewById(R.id.recycler_view) +        recyclerView.adapter = MangaAdapter(mangaList) +      }  }
\ 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 index e03e874..c4b662c 100644 --- a/app/src/main/res/layout/item_layout.xml +++ b/app/src/main/res/layout/item_layout.xml @@ -2,6 +2,7 @@  <androidx.cardview.widget.CardView      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:id="@+id/cv_cardView"      android:layout_width="match_parent"      android:layout_height="wrap_content" @@ -10,10 +11,10 @@      android:focusable="true"      android:foreground="?selectableItemBackground"      app:cardCornerRadius="10dp" +    app:cardBackgroundColor="@color/black"      > -    <RelativeLayout -        android:id="@+id/rl_wrapper" +    <androidx.constraintlayout.widget.ConstraintLayout          android:layout_width="match_parent"          android:layout_height="match_parent"          android:padding="20dp" @@ -23,30 +24,25 @@              android:id="@+id/iv_image"              android:layout_width="wrap_content"              android:layout_height="wrap_content" -            android:layout_centerVertical="true" -            android:layout_margin="10dp" +            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" /> -        <LinearLayout -            android:layout_width="match_parent" -            android:layout_height="match_parent" -            android:layout_alignTop="@id/iv_image" -            android:layout_alignBottom="@id/iv_image" -            android:layout_toEndOf="@id/iv_image" -            android:orientation="vertical" -            > -              <TextView                  android:id="@+id/tv_title"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content" -                android:layout_marginStart="10dp" +                app:layout_constraintStart_toEndOf="@id/iv_image" +                app:layout_constraintEnd_toEndOf="parent" +                app:layout_constraintTop_toTopOf="parent" +                app:layout_constraintBottom_toBottomOf="parent"                  android:text="@string/rv_title"                  android:textColor="@color/strong_pink" -                android:textSize="20sp"/> +                android:textSize="30sp"/> -            <TextView +            <!--TextView                  android:id="@+id/tv_description"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content" @@ -54,10 +50,8 @@                  android:text="@string/rv_description"                  android:textColor="@color/slightly_desaturated_magenta"                  android:textSize="20sp" -                /> - -        </LinearLayout> +                /--> -    </RelativeLayout> +    </androidx.constraintlayout.widget.ConstraintLayout>  </androidx.cardview.widget.CardView>
\ No newline at end of file diff --git a/app/src/main/res/layout/row_layout.xml b/app/src/main/res/layout/row_layout.xml deleted file mode 100644 index 1c74476..0000000 --- a/app/src/main/res/layout/row_layout.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout -    xmlns:android="http://schemas.android.com/apk/res/android" -    xmlns:tools="http://schemas.android.com/tools" -    xmlns:app="http://schemas.android.com/apk/res-auto" -    android:layout_width="match_parent" -    android:layout_height="?android:attr/listPreferredItemHeight" -    android:layout_marginStart="?android:attr/listPreferredItemPaddingLeft" -    android:layout_marginEnd="?android:attr/listPreferredItemPaddingRight" -    android:gravity="center_vertical" -    android:padding="6dip"> - -<ImageView -    android:id="@+id/icon" -    android:layout_width="wrap_content" -    android:layout_height="fill_parent" -    android:layout_alignParentBottom="true" -    android:layout_alignParentTop="true" -    android:layout_marginEnd="6dip" -    android:contentDescription="@string/rv_image" -    android:src="@mipmap/ic_launcher" -    tools:ignore="MissingConstraints" /> - -<TextView -    android:id="@+id/secondLine" -    android:layout_height="26dip" -    android:ellipsize="marquee" -    android:text="@string/rv_description" -    android:textSize="12sp" -    app:layout_constraintStart_toEndOf="@id/icon" -    app:layout_constraintTop_toBottomOf="@id/firstLine" -    android:layout_width="0dp" /> - -<TextView -    android:id="@+id/firstLine" -    android:layout_height="wrap_content" -    android:layout_toEndOf="@id/icon" -    android:gravity="center_vertical" -    android:text="@string/rv_title" -    android:textSize="16sp" -    app:layout_constraintStart_toEndOf="@id/icon" -    app:layout_constraintEnd_toEndOf="parent" -    android:layout_width="0dp" -    tools:ignore="MissingConstraints" /> - - -</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/top_manga_page.xml b/app/src/main/res/layout/top_manga_page.xml index f8d2510..4a807f1 100644 --- a/app/src/main/res/layout/top_manga_page.xml +++ b/app/src/main/res/layout/top_manga_page.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" @@ -11,10 +12,10 @@          android:id="@+id/recycler_view"          android:layout_width="0dp"          android:layout_height="0dp" -        app:layout_constraintTop_toTopOf="parent" -        app:layout_constraintStart_toStartOf="parent" -        app:layout_constraintEnd_toEndOf="parent"          app:layout_constraintBottom_toTopOf="@+id/home" +        app:layout_constraintEnd_toEndOf="parent" +        app:layout_constraintStart_toStartOf="parent" +        app:layout_constraintTop_toTopOf="parent"          tools:listitem="@layout/item_layout" />      <Button diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a16e804..41bd064 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,7 +1,6 @@  <resources>      <string name="app_name">Aniki</string>      <string name="action_settings">Settings</string> -    <!-- Strings used for fragments for navigation -->      <string name="hello_second_fragment">Hello second fragment. Arg: %1$s</string>      <string name="info">Infos about the developper of the app.</string> @@ -16,4 +15,24 @@      <string name="rv_title">Title</string>      <string name="rv_description">This is a description</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> +        <item>Sebsei, Ore ni Kamawazu Itte Kudasai!!</item> +    </string-array> + +    <string name="manga1_name">Dragon Ball</string> +  </resources>
\ No newline at end of file | 
