summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md25
-rw-r--r--app/src/main/AndroidManifest.xml8
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/data/anime/AnimeApi.kt (renamed from app/src/main/java/xyz/adjutor/aniki/data/AnimeApi.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/data/anime/SearchAnimeApi.kt (renamed from app/src/main/java/xyz/adjutor/aniki/data/SearchAnimeApi.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/data/anime/TopAnimeApi.kt (renamed from app/src/main/java/xyz/adjutor/aniki/data/TopAnimeApi.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/data/manga/MangaApi.kt (renamed from app/src/main/java/xyz/adjutor/aniki/data/MangaApi.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/data/manga/SearchMangaApi.kt (renamed from app/src/main/java/xyz/adjutor/aniki/data/SearchMangaApi.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/data/manga/TopMangaApi.kt (renamed from app/src/main/java/xyz/adjutor/aniki/data/TopMangaApi.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/controller/MainController.kt12
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/controller/TopMangaController.kt29
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/AnimeResponse.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/AnimeResponse.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/SearchAnime.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchAnime.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/SearchAnimeResponse.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchAnimeResponse.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/TopAnime.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/TopAnime.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/TopAnimeResponse.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/TopAnimeResponse.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/MangaResponse.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/MangaResponse.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/SearchManga.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchManga.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/SearchMangaResponse.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchMangaResponse.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/TopManga.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/TopManga.kt)3
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/TopMangaResponse.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/model/TopMangaResponse.kt)2
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/HomePage.kt3
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/MainActivity.kt1
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/DetailSearchAnimeActivity.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailSearchAnimeActivity.kt)6
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/DetailTopAnimeActivity.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailTopAnimeActivity.kt)6
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/SearchAnimeAdapter.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchAnimeAdapter.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/SearchAnimePage.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchAnimePage.kt)9
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/TopAnimeAdapter.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/TopAnimeAdapter.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/TopAnimePage.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/TopAnimePage.kt)8
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/DetailSearchMangaActivity.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailSearchMangaActivity.kt)6
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/DetailTopMangaActivity.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailTopMangaActivity.kt)6
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/SearchMangaAdapter.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchMangaAdapter.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/SearchMangaPage.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchMangaPage.kt)9
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/TopMangaAdapter.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/TopMangaAdapter.kt)4
-rw-r--r--app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/TopMangaPage.kt (renamed from app/src/main/java/xyz/adjutor/aniki/presentation/view/TopMangaPage.kt)11
-rw-r--r--app/src/main/res/layout/activity_detail_top_anime.xml2
-rw-r--r--app/src/main/res/layout/activity_detail_top_manga.xml2
-rw-r--r--app/src/main/res/layout/search_anime_page.xml2
-rw-r--r--app/src/main/res/layout/search_manga_page.xml2
-rw-r--r--app/src/main/res/layout/top_anime_page.xml2
-rw-r--r--app/src/main/res/layout/top_manga_page.xml2
-rw-r--r--app/src/main/res/navigation/nav_graph.xml8
41 files changed, 140 insertions, 80 deletions
diff --git a/README.md b/README.md
index a1f6dcf..da5ecc0 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,9 @@
+# Android myanimelist client project. (WIP)
+
+## Features
+
List of elements used in top manga and top anime with a recycler view
-SwipeRefresh used to refresh the list of data of the frist page.
+SwipeRefresh used to refresh the list of data of the first page.
Use the button (prev and next) to navigate with ease through the pages.
Details of a chosen element from the recycler view with an intent object
@@ -13,6 +17,7 @@ We can also submit the query by clicking the "search" button that replace the "r
Clicking on a searched item also opens a detail page of it.
I'm not adding the "multiple pages" feature to the search section because I assume the user should use a more precise query if what he's looking for doesn't show up in the first page.
+## API
Multiple calls of the REST API from jikan.moe.
Usage of :
+ /v3/top/manga
@@ -22,10 +27,12 @@ Usage of :
+ /v3/search/manga
+ /v3/search/anime
+## Data Storage
Data storage with sharedpreferences used for the recycler view of top manga and top anime as well as the details
Saves the detail page of an item when opened, not when the list is shown
Usage of ScrollView in the detail page. Thus, items with long synopsis and background aren't cut down.
+## Design
Used my "personal" theme colors for the app.
It consists of some colors of the pink/purple "family" :
+ very dark purple : #09022A
@@ -34,4 +41,18 @@ It consists of some colors of the pink/purple "family" :
+ slightly desaturated magenta : #C583B6
+ grayish magenta : #C9A6C9
-Development done with a Gitflow workflow.
+Also added the "bangers" font for the titles.
+
+## Gitflow
+Development done with a Gitflow workflow. I used master, release, develop and feature branches.
+
+## Architecture
+I used the MVC architecture.
+
+## TO-DO
++ Finishing MVC
++ Adding Singleton
++ Clicking on an image opens it full size
++ Firebase
++ Bottom navigation
++ ...
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93413a4..356c924 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -14,19 +14,19 @@
android:theme="@style/Theme.Aniki"
tools:ignore="AllowBackup">
<activity
- android:name="xyz.adjutor.aniki.presentation.view.DetailTopMangaActivity"
+ android:name="xyz.adjutor.aniki.presentation.view.manga.DetailTopMangaActivity"
android:label="Details"
android:theme="@style/Theme.Aniki" />
<activity
- android:name="xyz.adjutor.aniki.presentation.view.DetailTopAnimeActivity"
+ android:name="xyz.adjutor.aniki.presentation.view.anime.DetailTopAnimeActivity"
android:label="Details"
android:theme="@style/Theme.Aniki" />
<activity
- android:name="xyz.adjutor.aniki.presentation.view.DetailSearchMangaActivity"
+ android:name="xyz.adjutor.aniki.presentation.view.manga.DetailSearchMangaActivity"
android:label="Details"
android:theme="@style/Theme.Aniki" />
<activity
- android:name="xyz.adjutor.aniki.presentation.view.DetailSearchAnimeActivity"
+ android:name="xyz.adjutor.aniki.presentation.view.anime.DetailSearchAnimeActivity"
android:label="Details"
android:theme="@style/Theme.Aniki" />
<activity
diff --git a/app/src/main/java/xyz/adjutor/aniki/data/AnimeApi.kt b/app/src/main/java/xyz/adjutor/aniki/data/anime/AnimeApi.kt
index d67d0ef..24e5cd7 100644
--- a/app/src/main/java/xyz/adjutor/aniki/data/AnimeApi.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/data/anime/AnimeApi.kt
@@ -1,9 +1,9 @@
-package xyz.adjutor.aniki.data
+package xyz.adjutor.aniki.data.anime
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Path
-import xyz.adjutor.aniki.presentation.model.AnimeResponse
+import xyz.adjutor.aniki.presentation.model.anime.AnimeResponse
interface AnimeApi {
diff --git a/app/src/main/java/xyz/adjutor/aniki/data/SearchAnimeApi.kt b/app/src/main/java/xyz/adjutor/aniki/data/anime/SearchAnimeApi.kt
index 1b0811b..9bd6b2d 100644
--- a/app/src/main/java/xyz/adjutor/aniki/data/SearchAnimeApi.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/data/anime/SearchAnimeApi.kt
@@ -1,9 +1,9 @@
-package xyz.adjutor.aniki.data
+package xyz.adjutor.aniki.data.anime
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Query
-import xyz.adjutor.aniki.presentation.model.SearchAnimeResponse
+import xyz.adjutor.aniki.presentation.model.anime.SearchAnimeResponse
interface SearchAnimeApi {
diff --git a/app/src/main/java/xyz/adjutor/aniki/data/TopAnimeApi.kt b/app/src/main/java/xyz/adjutor/aniki/data/anime/TopAnimeApi.kt
index 39bd78b..76fd25f 100644
--- a/app/src/main/java/xyz/adjutor/aniki/data/TopAnimeApi.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/data/anime/TopAnimeApi.kt
@@ -1,9 +1,9 @@
-package xyz.adjutor.aniki.data
+package xyz.adjutor.aniki.data.anime
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Path
-import xyz.adjutor.aniki.presentation.model.TopAnimeResponse
+import xyz.adjutor.aniki.presentation.model.anime.TopAnimeResponse
interface TopAnimeApi {
diff --git a/app/src/main/java/xyz/adjutor/aniki/data/MangaApi.kt b/app/src/main/java/xyz/adjutor/aniki/data/manga/MangaApi.kt
index 699efa4..a0f8df1 100644
--- a/app/src/main/java/xyz/adjutor/aniki/data/MangaApi.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/data/manga/MangaApi.kt
@@ -1,9 +1,9 @@
-package xyz.adjutor.aniki.data
+package xyz.adjutor.aniki.data.manga
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Path
-import xyz.adjutor.aniki.presentation.model.MangaResponse
+import xyz.adjutor.aniki.presentation.model.manga.MangaResponse
interface MangaApi {
diff --git a/app/src/main/java/xyz/adjutor/aniki/data/SearchMangaApi.kt b/app/src/main/java/xyz/adjutor/aniki/data/manga/SearchMangaApi.kt
index 3b26c1a..6cc2d77 100644
--- a/app/src/main/java/xyz/adjutor/aniki/data/SearchMangaApi.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/data/manga/SearchMangaApi.kt
@@ -1,9 +1,9 @@
-package xyz.adjutor.aniki.data
+package xyz.adjutor.aniki.data.manga
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Query
-import xyz.adjutor.aniki.presentation.model.SearchMangaResponse
+import xyz.adjutor.aniki.presentation.model.manga.SearchMangaResponse
interface SearchMangaApi {
diff --git a/app/src/main/java/xyz/adjutor/aniki/data/TopMangaApi.kt b/app/src/main/java/xyz/adjutor/aniki/data/manga/TopMangaApi.kt
index 8edab88..222dce3 100644
--- a/app/src/main/java/xyz/adjutor/aniki/data/TopMangaApi.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/data/manga/TopMangaApi.kt
@@ -1,9 +1,9 @@
-package xyz.adjutor.aniki.data
+package xyz.adjutor.aniki.data.manga
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Path
-import xyz.adjutor.aniki.presentation.model.TopMangaResponse
+import xyz.adjutor.aniki.presentation.model.manga.TopMangaResponse
interface TopMangaApi {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/controller/MainController.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/controller/MainController.kt
index 312ecbe..133f84b 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/controller/MainController.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/controller/MainController.kt
@@ -1,7 +1,5 @@
package xyz.adjutor.aniki.presentation.controller
-import xyz.adjutor.aniki.presentation.model.TopManga
-
class MainController {
fun MainController() {
@@ -12,15 +10,19 @@ class MainController {
}
- fun onItemClick(topmanga: TopManga) {
+ fun onButtonTopMangaClick() {
}
- fun onButtonTopMangaClick() {
+ fun onButtonTopAnimeClick() {
}
- fun onButtonTopAnimeClick() {
+ fun onButtonSearchMangaClick() {
+
+ }
+
+ fun onButtonSearchAnimeClick() {
}
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/controller/TopMangaController.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/controller/TopMangaController.kt
new file mode 100644
index 0000000..cfee062
--- /dev/null
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/controller/TopMangaController.kt
@@ -0,0 +1,29 @@
+package xyz.adjutor.aniki.presentation.controller
+
+class TopMangaController {
+
+ fun TopMangaController() {
+
+ }
+
+ fun onStart() {
+
+ }
+
+ fun onButtonTopMangaClick() {
+
+ }
+
+ fun onButtonTopAnimeClick() {
+
+ }
+
+ fun onButtonSearchMangaClick() {
+
+ }
+
+ fun onButtonSearchAnimeClick() {
+
+ }
+
+} \ No newline at end of file
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/AnimeResponse.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/AnimeResponse.kt
index d682e3c..e4336ce 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/AnimeResponse.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/AnimeResponse.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.anime
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchAnime.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/SearchAnime.kt
index df5189d..7e4340c 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchAnime.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/SearchAnime.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.anime
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchAnimeResponse.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/SearchAnimeResponse.kt
index 1e20e2f..d04aa67 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchAnimeResponse.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/SearchAnimeResponse.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.anime
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/TopAnime.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/TopAnime.kt
index 3cf4390..aefc1c5 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/TopAnime.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/TopAnime.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.anime
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/TopAnimeResponse.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/TopAnimeResponse.kt
index 95d39d6..48e2f8f 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/TopAnimeResponse.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/anime/TopAnimeResponse.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.anime
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/MangaResponse.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/MangaResponse.kt
index 4bd7f2f..06aeed0 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/MangaResponse.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/MangaResponse.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.manga
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchManga.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/SearchManga.kt
index c24d93c..d69227b 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchManga.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/SearchManga.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.manga
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchMangaResponse.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/SearchMangaResponse.kt
index 4fe7047..942c071 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/SearchMangaResponse.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/SearchMangaResponse.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.manga
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/TopManga.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/TopManga.kt
index 2e0886a..4fe3951 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/TopManga.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/TopManga.kt
@@ -1,7 +1,8 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.manga
import com.google.gson.annotations.SerializedName
+//model
//Content of the top field from the api of top manga
class TopManga {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/model/TopMangaResponse.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/TopMangaResponse.kt
index 1b0dd8f..a0f6b8c 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/model/TopMangaResponse.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/model/manga/TopMangaResponse.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.model
+package xyz.adjutor.aniki.presentation.model.manga
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/HomePage.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/HomePage.kt
index f2abca1..d740dba 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/HomePage.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/HomePage.kt
@@ -8,9 +8,12 @@ import android.widget.Button
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import xyz.adjutor.aniki.R
+import xyz.adjutor.aniki.presentation.controller.MainController
class HomePage : Fragment() {
+ lateinit var controller: MainController
+
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/MainActivity.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/MainActivity.kt
index bff89e4..e58737a 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/MainActivity.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/MainActivity.kt
@@ -6,6 +6,7 @@ import xyz.adjutor.aniki.R
class MainActivity : AppCompatActivity() {
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailSearchAnimeActivity.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/DetailSearchAnimeActivity.kt
index 68a30de..f9d1325 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailSearchAnimeActivity.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/DetailSearchAnimeActivity.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.anime
import android.os.Bundle
import android.widget.ImageView
@@ -14,8 +14,8 @@ import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.data.AnimeApi
-import xyz.adjutor.aniki.presentation.model.AnimeResponse
+import xyz.adjutor.aniki.data.anime.AnimeApi
+import xyz.adjutor.aniki.presentation.model.anime.AnimeResponse
class DetailSearchAnimeActivity : AppCompatActivity() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailTopAnimeActivity.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/DetailTopAnimeActivity.kt
index 3ec6ab6..54c34d5 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailTopAnimeActivity.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/DetailTopAnimeActivity.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.anime
import android.content.Context
import android.content.SharedPreferences
@@ -17,8 +17,8 @@ import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.data.AnimeApi
-import xyz.adjutor.aniki.presentation.model.AnimeResponse
+import xyz.adjutor.aniki.data.anime.AnimeApi
+import xyz.adjutor.aniki.presentation.model.anime.AnimeResponse
import java.lang.reflect.Type
class DetailTopAnimeActivity : AppCompatActivity() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchAnimeAdapter.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/SearchAnimeAdapter.kt
index e938473..3bb875b 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchAnimeAdapter.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/SearchAnimeAdapter.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.anime
import android.content.Intent
import android.view.LayoutInflater
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.presentation.model.SearchAnime
+import xyz.adjutor.aniki.presentation.model.anime.SearchAnime
class SearchAnimeAdapter(private val animeList: List<SearchAnime>) :
RecyclerView.Adapter<SearchAnimeAdapter.AnimeViewHolder>() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchAnimePage.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/SearchAnimePage.kt
index d2cf795..5a5ad7e 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchAnimePage.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/SearchAnimePage.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.anime
import android.content.Context
import android.os.Bundle
@@ -23,9 +23,10 @@ import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.data.SearchAnimeApi
-import xyz.adjutor.aniki.presentation.model.SearchAnime
-import xyz.adjutor.aniki.presentation.model.SearchAnimeResponse
+import xyz.adjutor.aniki.data.anime.SearchAnimeApi
+import xyz.adjutor.aniki.presentation.model.anime.SearchAnime
+import xyz.adjutor.aniki.presentation.model.anime.SearchAnimeResponse
+import xyz.adjutor.aniki.presentation.view.MainActivity
class SearchAnimePage : Fragment() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/TopAnimeAdapter.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/TopAnimeAdapter.kt
index b1b336a..0529c26 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/TopAnimeAdapter.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/TopAnimeAdapter.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.anime
import android.content.Intent
import android.view.LayoutInflater
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.presentation.model.TopAnime
+import xyz.adjutor.aniki.presentation.model.anime.TopAnime
class TopAnimeAdapter(private val animeList: List<TopAnime>) :
RecyclerView.Adapter<TopAnimeAdapter.AnimeViewHolder>() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/TopAnimePage.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/TopAnimePage.kt
index 8a7ef08..66197d7 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/TopAnimePage.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/anime/TopAnimePage.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.anime
import android.content.Context
import android.content.SharedPreferences
@@ -22,9 +22,9 @@ import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.data.TopAnimeApi
-import xyz.adjutor.aniki.presentation.model.TopAnime
-import xyz.adjutor.aniki.presentation.model.TopAnimeResponse
+import xyz.adjutor.aniki.data.anime.TopAnimeApi
+import xyz.adjutor.aniki.presentation.model.anime.TopAnime
+import xyz.adjutor.aniki.presentation.model.anime.TopAnimeResponse
import java.lang.reflect.Type
class TopAnimePage : Fragment() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailSearchMangaActivity.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/DetailSearchMangaActivity.kt
index d96cc70..d04760b 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailSearchMangaActivity.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/DetailSearchMangaActivity.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.manga
import android.os.Bundle
import android.widget.ImageView
@@ -14,8 +14,8 @@ import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.data.MangaApi
-import xyz.adjutor.aniki.presentation.model.MangaResponse
+import xyz.adjutor.aniki.data.manga.MangaApi
+import xyz.adjutor.aniki.presentation.model.manga.MangaResponse
class DetailSearchMangaActivity : AppCompatActivity() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailTopMangaActivity.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/DetailTopMangaActivity.kt
index 0142018..2bf2f14 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/DetailTopMangaActivity.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/DetailTopMangaActivity.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.manga
import android.content.Context
import android.content.SharedPreferences
@@ -17,8 +17,8 @@ import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.data.MangaApi
-import xyz.adjutor.aniki.presentation.model.MangaResponse
+import xyz.adjutor.aniki.data.manga.MangaApi
+import xyz.adjutor.aniki.presentation.model.manga.MangaResponse
import java.lang.reflect.Type
class DetailTopMangaActivity : AppCompatActivity() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchMangaAdapter.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/SearchMangaAdapter.kt
index 061eafc..c0813c8 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchMangaAdapter.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/SearchMangaAdapter.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.manga
import android.content.Intent
import android.view.LayoutInflater
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.presentation.model.SearchManga
+import xyz.adjutor.aniki.presentation.model.manga.SearchManga
class SearchMangaAdapter(private val mangaList: List<SearchManga>) :
RecyclerView.Adapter<SearchMangaAdapter.MangaViewHolder>() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchMangaPage.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/SearchMangaPage.kt
index 7d7fa74..a571473 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/SearchMangaPage.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/SearchMangaPage.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.manga
import android.content.Context
import android.os.Bundle
@@ -23,9 +23,10 @@ import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.data.SearchMangaApi
-import xyz.adjutor.aniki.presentation.model.SearchManga
-import xyz.adjutor.aniki.presentation.model.SearchMangaResponse
+import xyz.adjutor.aniki.data.manga.SearchMangaApi
+import xyz.adjutor.aniki.presentation.model.manga.SearchManga
+import xyz.adjutor.aniki.presentation.model.manga.SearchMangaResponse
+import xyz.adjutor.aniki.presentation.view.MainActivity
class SearchMangaPage : Fragment() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/TopMangaAdapter.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/TopMangaAdapter.kt
index fac3730..5ab1713 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/TopMangaAdapter.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/TopMangaAdapter.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.manga
import android.content.Intent
import android.view.LayoutInflater
@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.presentation.model.TopManga
+import xyz.adjutor.aniki.presentation.model.manga.TopManga
class TopMangaAdapter(private val mangaList: List<TopManga>) :
RecyclerView.Adapter<TopMangaAdapter.MangaViewHolder>() {
diff --git a/app/src/main/java/xyz/adjutor/aniki/presentation/view/TopMangaPage.kt b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/TopMangaPage.kt
index 2bf84e8..edb5fea 100644
--- a/app/src/main/java/xyz/adjutor/aniki/presentation/view/TopMangaPage.kt
+++ b/app/src/main/java/xyz/adjutor/aniki/presentation/view/manga/TopMangaPage.kt
@@ -1,4 +1,4 @@
-package xyz.adjutor.aniki.presentation.view
+package xyz.adjutor.aniki.presentation.view.manga
import android.content.Context
import android.content.SharedPreferences
@@ -22,11 +22,12 @@ import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import xyz.adjutor.aniki.R
-import xyz.adjutor.aniki.data.TopMangaApi
-import xyz.adjutor.aniki.presentation.model.TopManga
-import xyz.adjutor.aniki.presentation.model.TopMangaResponse
+import xyz.adjutor.aniki.data.manga.TopMangaApi
+import xyz.adjutor.aniki.presentation.model.manga.TopManga
+import xyz.adjutor.aniki.presentation.model.manga.TopMangaResponse
import java.lang.reflect.Type
+//view
class TopMangaPage : Fragment() {
private lateinit var sharedPreferences: SharedPreferences
@@ -77,7 +78,7 @@ class TopMangaPage : Fragment() {
findNavController().navigate(R.id.action_TopMangaPage_to_HomePage)
}
view.findViewById<Button>(R.id.button_prev).setOnClickListener {
- if (page > 1) {
+ if (page > 1) { // if we're not on the first page, because we can't go back if we're on the first one.
page -= 1
makeApiCall(view, baseUrl, page)
Snackbar.make(requireView(), "Page $page has been loaded.", Snackbar.LENGTH_SHORT)
diff --git a/app/src/main/res/layout/activity_detail_top_anime.xml b/app/src/main/res/layout/activity_detail_top_anime.xml
index d4c9380..f352e61 100644
--- a/app/src/main/res/layout/activity_detail_top_anime.xml
+++ b/app/src/main/res/layout/activity_detail_top_anime.xml
@@ -8,7 +8,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- tools:context=".presentation.view.DetailTopAnimeActivity">
+ tools:context=".presentation.view.anime.DetailTopAnimeActivity">
<androidx.cardview.widget.CardView
android:id="@+id/cv_header"
diff --git a/app/src/main/res/layout/activity_detail_top_manga.xml b/app/src/main/res/layout/activity_detail_top_manga.xml
index e659baf..cbfa296 100644
--- a/app/src/main/res/layout/activity_detail_top_manga.xml
+++ b/app/src/main/res/layout/activity_detail_top_manga.xml
@@ -8,7 +8,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- tools:context=".presentation.view.DetailTopMangaActivity">
+ tools:context=".presentation.view.manga.DetailTopMangaActivity">
<androidx.cardview.widget.CardView
android:id="@+id/cv_header"
diff --git a/app/src/main/res/layout/search_anime_page.xml b/app/src/main/res/layout/search_anime_page.xml
index a3a1671..abbd762 100644
--- a/app/src/main/res/layout/search_anime_page.xml
+++ b/app/src/main/res/layout/search_anime_page.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/very_dark_purple"
- tools:context=".presentation.view.SearchAnimePage">
+ tools:context=".presentation.view.anime.SearchAnimePage">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiet_query"
diff --git a/app/src/main/res/layout/search_manga_page.xml b/app/src/main/res/layout/search_manga_page.xml
index a83b4ef..db4bd6c 100644
--- a/app/src/main/res/layout/search_manga_page.xml
+++ b/app/src/main/res/layout/search_manga_page.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/very_dark_purple"
- tools:context=".presentation.view.SearchMangaPage">
+ tools:context=".presentation.view.manga.SearchMangaPage">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiet_query"
diff --git a/app/src/main/res/layout/top_anime_page.xml b/app/src/main/res/layout/top_anime_page.xml
index 7b33f34..633e5f4 100644
--- a/app/src/main/res/layout/top_anime_page.xml
+++ b/app/src/main/res/layout/top_anime_page.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/very_dark_purple"
- tools:context=".presentation.view.TopAnimePage">
+ tools:context=".presentation.view.anime.TopAnimePage">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swiperefresh"
diff --git a/app/src/main/res/layout/top_manga_page.xml b/app/src/main/res/layout/top_manga_page.xml
index e3bbd47..6bb911b 100644
--- a/app/src/main/res/layout/top_manga_page.xml
+++ b/app/src/main/res/layout/top_manga_page.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/very_dark_purple"
- tools:context=".presentation.view.TopMangaPage">
+ tools:context=".presentation.view.manga.TopMangaPage">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swiperefresh"
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
index 95c7996..63639d8 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -28,7 +28,7 @@
<fragment
android:id="@+id/TopMangaPage"
- android:name="xyz.adjutor.aniki.presentation.view.TopMangaPage"
+ android:name="xyz.adjutor.aniki.presentation.view.manga.TopMangaPage"
android:label="@string/top_manga_page_label"
tools:layout="@layout/top_manga_page">
@@ -38,7 +38,7 @@
</fragment>
<fragment
android:id="@+id/TopAnimePage"
- android:name="xyz.adjutor.aniki.presentation.view.TopAnimePage"
+ android:name="xyz.adjutor.aniki.presentation.view.anime.TopAnimePage"
android:label="@string/top_anime_page_label"
tools:layout="@layout/top_anime_page">
@@ -48,7 +48,7 @@
</fragment>
<fragment
android:id="@+id/SearchMangaPage"
- android:name="xyz.adjutor.aniki.presentation.view.SearchMangaPage"
+ android:name="xyz.adjutor.aniki.presentation.view.manga.SearchMangaPage"
android:label="@string/search_manga_page_label"
tools:layout="@layout/search_manga_page">
@@ -58,7 +58,7 @@
</fragment>
<fragment
android:id="@+id/SearchAnimePage"
- android:name="xyz.adjutor.aniki.presentation.view.SearchAnimePage"
+ android:name="xyz.adjutor.aniki.presentation.view.anime.SearchAnimePage"
android:label="@string/search_anime_page_label"
tools:layout="@layout/search_anime_page">