diff options
-rw-r--r-- | README.md | 25 | ||||
-rw-r--r-- | app/src/main/AndroidManifest.xml | 8 | ||||
-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.kt | 12 | ||||
-rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/presentation/controller/TopMangaController.kt | 29 | ||||
-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.kt | 3 | ||||
-rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/presentation/view/MainActivity.kt | 1 | ||||
-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.xml | 2 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_detail_top_manga.xml | 2 | ||||
-rw-r--r-- | app/src/main/res/layout/search_anime_page.xml | 2 | ||||
-rw-r--r-- | app/src/main/res/layout/search_manga_page.xml | 2 | ||||
-rw-r--r-- | app/src/main/res/layout/top_anime_page.xml | 2 | ||||
-rw-r--r-- | app/src/main/res/layout/top_manga_page.xml | 2 | ||||
-rw-r--r-- | app/src/main/res/navigation/nav_graph.xml | 8 |
41 files changed, 140 insertions, 80 deletions
@@ -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"> |