├── app ├── src │ ├── main │ │ ├── java │ │ │ └── ani │ │ │ │ └── saikou │ │ │ │ ├── others │ │ │ │ ├── .gitignore │ │ │ │ ├── DisabledReports.kt │ │ │ │ ├── Idiosyncrasy.kt │ │ │ │ ├── ResettableTimer.kt │ │ │ │ ├── webview │ │ │ │ │ └── CloudFlare.kt │ │ │ │ ├── GlideApp.kt │ │ │ │ ├── MalSyncBackup.kt │ │ │ │ ├── AniSkip.kt │ │ │ │ └── Jikan.kt │ │ │ │ ├── settings │ │ │ │ ├── Developer.kt │ │ │ │ ├── ReaderSettings.kt │ │ │ │ ├── UserInterfaceSettings.kt │ │ │ │ ├── PlayerSettings.kt │ │ │ │ ├── DevelopersAdapter.kt │ │ │ │ └── ForksDialogFragment.kt │ │ │ │ ├── anilist │ │ │ │ ├── Genre.kt │ │ │ │ ├── BannerImage.kt │ │ │ │ ├── UrlMedia.kt │ │ │ │ ├── Login.kt │ │ │ │ └── api │ │ │ │ │ ├── Recommendations.kt │ │ │ │ │ ├── Studio.kt │ │ │ │ │ └── FuzzyDate.kt │ │ │ │ ├── media │ │ │ │ ├── Studio.kt │ │ │ │ ├── Source.kt │ │ │ │ ├── Selected.kt │ │ │ │ ├── Character.kt │ │ │ │ ├── TitleAdapter.kt │ │ │ │ ├── CharacterDetailsAdapter.kt │ │ │ │ └── OtherDetailsViewModel.kt │ │ │ │ ├── parsers │ │ │ │ ├── anime │ │ │ │ │ ├── HentaiStream.kt │ │ │ │ │ └── extractors │ │ │ │ │ │ ├── StreamTape.kt │ │ │ │ │ │ ├── FPlayer.kt │ │ │ │ │ │ └── VidStreaming.kt │ │ │ │ ├── AnimeSources.kt │ │ │ │ ├── MangaSources.kt │ │ │ │ └── manga │ │ │ │ │ ├── MangaPill.kt │ │ │ │ │ ├── MangaKatana.kt │ │ │ │ │ ├── MangaKomi.kt │ │ │ │ │ └── MangaRead.kt │ │ │ │ ├── manga │ │ │ │ ├── Manga.kt │ │ │ │ ├── MangaSourceAdapter.kt │ │ │ │ └── MangaChapter.kt │ │ │ │ ├── user │ │ │ │ ├── ListViewPagerAdapter.kt │ │ │ │ └── ListViewModel.kt │ │ │ │ ├── anime │ │ │ │ ├── AnimeSourceAdapter.kt │ │ │ │ ├── Episode.kt │ │ │ │ ├── Anime.kt │ │ │ │ └── VideoCache.kt │ │ │ │ ├── NoInternet.kt │ │ │ │ ├── LoginFragment.kt │ │ │ │ ├── download │ │ │ │ └── video │ │ │ │ │ └── MyDownloadService.kt │ │ │ │ └── subcriptions │ │ │ │ └── SubscriptionWorker.kt │ │ ├── res │ │ │ ├── font │ │ │ │ ├── poppins.ttf │ │ │ │ ├── poppins_bold.ttf │ │ │ │ ├── poppins_thin.ttf │ │ │ │ ├── poppins_semi_bold.ttf │ │ │ │ └── poppins_family.xml │ │ │ ├── drawable │ │ │ │ ├── un_checked_home.png │ │ │ │ ├── item_score.xml │ │ │ │ ├── item_type.xml │ │ │ │ ├── item_user_score.xml │ │ │ │ ├── control_background_40dp.xml │ │ │ │ ├── round_corner.xml │ │ │ │ ├── bottom_nav.xml │ │ │ │ ├── rounded_top_nav.xml │ │ │ │ ├── shape_corner_16dp.xml │ │ │ │ ├── item_ongoing.xml │ │ │ │ ├── linear_gradient_black_horizontal.xml │ │ │ │ ├── linear_gradient_black.xml │ │ │ │ ├── linear_gradient_bg.xml │ │ │ │ ├── linear_gradient_nav.xml │ │ │ │ ├── ic_round_alpha_t_box_24.xml │ │ │ │ ├── ic_round_space_bar_24.xml │ │ │ │ ├── ic_round_play_arrow_24.xml │ │ │ │ ├── ic_page_numbering.xml │ │ │ │ ├── ic_round_font_size_24.xml │ │ │ │ ├── ic_round_pause_24.xml │ │ │ │ ├── ic_round_source_24.xml │ │ │ │ ├── ic_round_arrow_drop_down_24.xml │ │ │ │ ├── ic_round_skip_next_24.xml │ │ │ │ ├── ic_round_person_24.xml │ │ │ │ ├── ic_round_filter_alt_24.xml │ │ │ │ ├── ic_round_info_24.xml │ │ │ │ ├── ic_round_arrow_back_ios_new_24.xml │ │ │ │ ├── ic_round_skip_previous_24.xml │ │ │ │ ├── ic_round_subtitles_24.xml │ │ │ │ ├── ic_round_fast_forward_24.xml │ │ │ │ ├── ic_round_lock_24.xml │ │ │ │ ├── ic_round_play_circle_24.xml │ │ │ │ ├── ic_round_audiotrack_24.xml │ │ │ │ ├── ic_round_home_24.xml │ │ │ │ ├── ic_round_view_array_24.xml │ │ │ │ ├── ic_round_fast_rewind_24.xml │ │ │ │ ├── ic_round_swipe_up_alt_24.xml │ │ │ │ ├── ic_skip.xml │ │ │ │ ├── ic_round_swipe_down_alt_24.xml │ │ │ │ ├── ic_round_add_circle_24.xml │ │ │ │ ├── ic_round_favorite_24.xml │ │ │ │ ├── ic_round_format_text_24.xml │ │ │ │ ├── ic_round_remove_red_eye_24.xml │ │ │ │ ├── ic_round_calendar_today_24.xml │ │ │ │ ├── ic_round_star_24.xml │ │ │ │ ├── ic_round_download_24.xml │ │ │ │ ├── ic_round_collections_bookmark_24.xml │ │ │ │ ├── ic_round_photo_size_select_actual_24.xml │ │ │ │ ├── ic_round_restaurant_24.xml │ │ │ │ ├── ic_round_view_column_24.xml │ │ │ │ ├── ic_round_picture_in_picture_alt_24.xml │ │ │ │ ├── ic_round_straighten_24.xml │ │ │ │ ├── ic_round_view_comfy_24.xml │ │ │ │ ├── ic_round_video_library_24.xml │ │ │ │ ├── ic_round_dns_24.xml │ │ │ │ ├── ic_round_close_24.xml │ │ │ │ ├── ic_round_date_range_24.xml │ │ │ │ ├── ic_round_notifications_none_24.xml │ │ │ │ ├── ic_round_add_circle_outline_24.xml │ │ │ │ ├── ic_round_play_disabled_24.xml │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── ic_round_amp_stories_24.xml │ │ │ │ ├── ic_round_search_24.xml │ │ │ │ ├── ic_baseline_screen_lock_portrait_24.xml │ │ │ │ ├── ic_round_heart_broken_24.xml │ │ │ │ ├── ic_round_fullscreen_24.xml │ │ │ │ ├── ic_round_brightness_medium_24.xml │ │ │ │ ├── ic_round_playlist_play_24.xml │ │ │ │ ├── ic_round_sd_card_24.xml │ │ │ │ ├── ic_anilist.xml │ │ │ │ ├── ic_round_share_24.xml │ │ │ │ ├── ic_round_lock_open_24.xml │ │ │ │ ├── ic_round_refresh_24.xml │ │ │ │ ├── ic_round_volume_up_24.xml │ │ │ │ ├── ic_round_favorite_border_24.xml │ │ │ │ ├── ic_round_translate_variant_24.xml │ │ │ │ ├── ic_round_playlist_add_24.xml │ │ │ │ ├── ic_round_brightness_high_24.xml │ │ │ │ ├── ic_round_color_24.xml │ │ │ │ ├── ic_round_touch_app_24.xml │ │ │ │ ├── baseline_paid_24.xml │ │ │ │ ├── ic_round_high_quality_24.xml │ │ │ │ ├── ic_round_art_track_24.xml │ │ │ │ ├── ic_round_screen_rotation_alt_24.xml │ │ │ │ ├── spinner_icon.xml │ │ │ │ ├── ic_round_movie_filter_24.xml │ │ │ │ ├── spinner_icon_manga.xml │ │ │ │ ├── ic_round_smart_button_24.xml │ │ │ │ ├── ic_round_accessible_forward_24.xml │ │ │ │ ├── ic_round_cast_24.xml │ │ │ │ ├── ic_round_import_contacts_24.xml │ │ │ │ ├── ic_round_sync_24.xml │ │ │ │ ├── ic_round_brightness_auto_24.xml │ │ │ │ ├── ic_round_auto_awesome_24.xml │ │ │ │ ├── ic_round_view_list_24.xml │ │ │ │ ├── ic_round_brightness_4_24.xml │ │ │ │ ├── ic_round_new_releases_24.xml │ │ │ │ ├── ic_round_notifications_active_24.xml │ │ │ │ ├── ic_round_grid_view_24.xml │ │ │ │ ├── ic_round_animation_24.xml │ │ │ │ ├── ic_round_swipe_vertical_24.xml │ │ │ │ ├── ic_myanimelist.xml │ │ │ │ ├── ui_bg.xml │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ ├── ic_round_settings_24.xml │ │ │ │ ├── ic_github.xml │ │ │ │ ├── monochrome.xml │ │ │ │ ├── ic_round_help_24.xml │ │ │ │ ├── ic_round_sort_24.xml │ │ │ │ ├── ic_telegram.xml │ │ │ │ ├── ic_round_slow_motion_video_24.xml │ │ │ │ ├── ic_round_reader_settings.xml │ │ │ │ ├── ic_round_video_settings_24.xml │ │ │ │ └── ic_round_menu_book_24.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── anim │ │ │ │ └── over_shoot.xml │ │ │ ├── values │ │ │ │ ├── preloaded_fonts.xml │ │ │ │ ├── attr.xml │ │ │ │ └── colors.xml │ │ │ ├── color │ │ │ │ ├── tab_layout_text.xml │ │ │ │ ├── tab_layout_icon.xml │ │ │ │ └── button_switch_track.xml │ │ │ ├── layout │ │ │ │ ├── item_progressbar.xml │ │ │ │ ├── item_title.xml │ │ │ │ ├── item_dropdown.xml │ │ │ │ ├── item_recyclerview.xml │ │ │ │ ├── item_chip.xml │ │ │ │ ├── splash_screen.xml │ │ │ │ ├── activity_exoplayer.xml │ │ │ │ ├── item_episodes_recyclerview.xml │ │ │ │ ├── activity_search.xml │ │ │ │ ├── item_question.xml │ │ │ │ ├── fragment_list.xml │ │ │ │ ├── item_subtitle_text.xml │ │ │ │ ├── bottom_sheet_webview.xml │ │ │ │ ├── item_title_text.xml │ │ │ │ ├── item_count_down.xml │ │ │ │ ├── bottom_sheet_subtitles.xml │ │ │ │ ├── item_title_chipgroup.xml │ │ │ │ ├── item_title_recycler.xml │ │ │ │ ├── item_character_details.xml │ │ │ │ ├── item_genre.xml │ │ │ │ ├── item_stream.xml │ │ │ │ ├── bottom_sheet_developers.xml │ │ │ │ ├── activity_faq.xml │ │ │ │ ├── fragment_anime_watch.xml │ │ │ │ ├── activity_genre.xml │ │ │ │ ├── item_image.xml │ │ │ │ ├── item_title_trailer.xml │ │ │ │ ├── fragment_anime.xml │ │ │ │ └── fragment_manga.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── menu │ │ │ │ ├── menu_media.xml │ │ │ │ ├── anime_menu_detail.xml │ │ │ │ ├── manga_menu_detail.xml │ │ │ │ ├── list_sort_menu.xml │ │ │ │ └── bottom_navbar_menu.xml │ │ │ ├── values-night │ │ │ │ ├── themes.xml │ │ │ │ └── colors.xml │ │ │ └── xml │ │ │ │ └── provider_paths.xml │ │ └── ic_launcher-playstore.png │ └── debug │ │ └── res │ │ └── values │ │ └── strings.xml └── .gitignore ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── beta.md ├── .idea ├── codeStyles │ └── codeStyleConfig.xml ├── compiler.xml ├── vcs.xml ├── kotlinScripting.xml ├── discord.xml └── gradle.xml ├── settings.gradle.kts ├── .github ├── ISSUE_TEMPLATE │ ├── config.yml │ └── feature_request.yml ├── workflows │ ├── pull-req.yml │ └── latest.yml └── FUNDING.yml └── gradle.properties /app/src/main/java/ani/saikou/others/.gitignore: -------------------------------------------------------------------------------- 1 | DisabledReports.kt -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /debug 3 | /debug/output-metadata.json 4 | /release -------------------------------------------------------------------------------- /app/src/main/res/font/poppins.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/font/poppins.ttf -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | .idea 4 | build 5 | local.properties 6 | .DS_Store 7 | /captures 8 | .externalNativeBuild 9 | .cxx -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/res/font/poppins_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/font/poppins_bold.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/poppins_thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/font/poppins_thin.ttf -------------------------------------------------------------------------------- /beta.md: -------------------------------------------------------------------------------- 1 | # 1.2.3.1 2 | 3 | - Fix Mangareader Crashes 4 | - Fix Mangareader getting stuck on loading 5 | - Fix Allanime 6 | - Fix ConsumeBili -------------------------------------------------------------------------------- /app/src/main/res/font/poppins_semi_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/font/poppins_semi_bold.ttf -------------------------------------------------------------------------------- /app/src/main/res/drawable/un_checked_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/drawable/un_checked_home.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/debug/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Saikou β 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorDeveloper/saikou/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/anim/over_shoot.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/others/DisabledReports.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.others 2 | 3 | const val DisabledReports=true 4 | //Setting this to false, will allow sending crash reports to Saikou's Firebase Crashlytics -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/settings/Developer.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.settings 2 | 3 | data class Developer( 4 | val name: String, 5 | val pfp: String, 6 | val role: String, 7 | val url: String 8 | ) 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_score.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_type.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_user_score.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/kotlinScripting.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/control_background_40dp.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_corner.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bottom_nav.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_top_nav.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencyResolutionManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | maven("https://jitpack.io") 6 | } 7 | } 8 | 9 | rootProject.name = "Saikou" 10 | include(":app") 11 | -------------------------------------------------------------------------------- /.idea/discord.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_corner_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/anilist/Genre.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.anilist 2 | 3 | import java.io.Serializable 4 | 5 | data class Genre( 6 | val name: String, 7 | var id: Int, 8 | var thumbnail: String, 9 | var time: Long, 10 | ) : Serializable -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_ongoing.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/media/Studio.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.media 2 | 3 | import java.io.Serializable 4 | 5 | data class Studio( 6 | val id: String, 7 | val name: String, 8 | var yearMedia: MutableMap>? = null 9 | ) : Serializable 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/preloaded_fonts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @font/poppins_bold 5 | @font/poppins_thin 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/color/tab_layout_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/tab_layout_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Jan 12 15:21:18 IST 2023 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/media/Source.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.media 2 | 3 | import java.io.Serializable 4 | 5 | data class Source( 6 | val link: String, 7 | val name: String, 8 | val cover: String, 9 | val headers: MutableMap? = null 10 | ) : Serializable -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/parsers/anime/HentaiStream.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.parsers.anime 2 | 3 | class HentaiStream: HentaiFF() { 4 | override val name: String = "Hentai Stream" 5 | override val saveName: String = "hentai_stream" 6 | override val hostUrl = "https://hentaistream.moe" 7 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/linear_gradient_black_horizontal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/color/button_switch_track.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_progressbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/linear_gradient_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/linear_gradient_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/linear_gradient_nav.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/anilist/BannerImage.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.anilist 2 | 3 | import java.io.Serializable 4 | 5 | data class BannerImage( 6 | val url: String?, 7 | var time: Long, 8 | ) : Serializable { 9 | fun checkTime(): Boolean { 10 | return (System.currentTimeMillis() - time) >= (1000 * 60 * 60 * 6) 11 | } 12 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Discord Server 4 | url: https://discord.gg/2T7TunuwFZ 5 | about: Join our Discord server for support and updates. 6 | - name: Telegram group 7 | url: https://t.me/saikou_discussion 8 | about: Join our Telegram discussion group for support and updates. 9 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/manga/Manga.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.manga 2 | 3 | import java.io.Serializable 4 | 5 | data class Manga( 6 | var totalChapters: Int? = null, 7 | var selectedChapter: String? = null, 8 | var chapters: MutableMap? = null, 9 | var slug: String? = null, 10 | var author: String?=null, 11 | ) : Serializable -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/font/poppins_family.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values/attr.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_media.xml: -------------------------------------------------------------------------------- 1 | 5 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_alpha_t_box_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_space_bar_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_title.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/media/Selected.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.media 2 | 3 | import java.io.Serializable 4 | 5 | data class Selected( 6 | var window: Int = 0, 7 | var recyclerStyle: Int? = null, 8 | var recyclerReversed: Boolean = false, 9 | var chip: Int = 0, 10 | var source: Int = 0, 11 | var preferDub: Boolean = false, 12 | var server: String? = null, 13 | var video: Int = 0, 14 | var latest: Float = 0f, 15 | ) : Serializable 16 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/settings/ReaderSettings.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.settings 2 | 3 | import java.io.Serializable 4 | 5 | data class ReaderSettings( 6 | var showSource: Boolean = true, 7 | var showSystemBars: Boolean = false, 8 | 9 | var autoDetectWebtoon: Boolean = true, 10 | var default: CurrentReaderSettings = CurrentReaderSettings(), 11 | 12 | var askIndividual: Boolean = true, 13 | var updateForH: Boolean = false 14 | ) : Serializable -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_play_arrow_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_page_numbering.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 12 | 15 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_font_size_24.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_pause_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_source_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/media/Character.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.media 2 | 3 | import ani.saikou.anilist.api.FuzzyDate 4 | import java.io.Serializable 5 | 6 | data class Character( 7 | val id: Int, 8 | val name: String?, 9 | val image: String?, 10 | val banner: String?, 11 | val role: String, 12 | 13 | var description: String? = null, 14 | var age: String? = null, 15 | var gender: String? = null, 16 | var dateOfBirth: FuzzyDate? = null, 17 | var roles: ArrayList? = null 18 | ) : Serializable -------------------------------------------------------------------------------- /app/src/main/res/menu/anime_menu_detail.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/menu/manga_menu_detail.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_arrow_drop_down_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_skip_next_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/user/ListViewPagerAdapter.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.user 2 | 3 | import androidx.fragment.app.Fragment 4 | import androidx.fragment.app.FragmentActivity 5 | import androidx.viewpager2.adapter.FragmentStateAdapter 6 | 7 | class ListViewPagerAdapter(private val size: Int, private val calendar: Boolean, fragment: FragmentActivity) : 8 | FragmentStateAdapter(fragment) { 9 | override fun getItemCount(): Int = size 10 | override fun createFragment(position: Int): Fragment = ListFragment.newInstance(position, calendar) 11 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_person_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_filter_alt_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_info_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_dropdown.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_recyclerview.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_arrow_back_ios_new_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_skip_previous_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_subtitles_24.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/menu/list_sort_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 12 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #000000 4 | #A8EEEEEE 5 | @color/bg_white 6 | #1C1C1C 7 | #001C1C1C 8 | #40ffffff 9 | #40ffffff 10 | #54000000 11 | #80000000 12 | #29FF6B08 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_chip.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_fast_forward_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_lock_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_play_circle_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_audiotrack_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_home_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_view_array_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_fast_rewind_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_swipe_up_alt_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_skip.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_swipe_down_alt_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_add_circle_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/menu/bottom_navbar_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 12 | 13 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_favorite_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_format_text_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_remove_red_eye_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_calendar_today_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_star_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_download_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_collections_bookmark_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_photo_size_select_actual_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_restaurant_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_view_column_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_picture_in_picture_alt_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_straighten_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_view_comfy_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_video_library_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_dns_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_close_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_date_range_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_notifications_none_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_add_circle_outline_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_play_disabled_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/anime/AnimeSourceAdapter.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.anime 2 | 3 | import ani.saikou.media.MediaDetailsViewModel 4 | import ani.saikou.media.SourceAdapter 5 | import ani.saikou.media.SourceSearchDialogFragment 6 | import ani.saikou.parsers.ShowResponse 7 | import kotlinx.coroutines.CoroutineScope 8 | 9 | class AnimeSourceAdapter( 10 | sources: List, 11 | val model: MediaDetailsViewModel, 12 | val i: Int, 13 | val id: Int, 14 | fragment: SourceSearchDialogFragment, 15 | scope: CoroutineScope 16 | ) : SourceAdapter(sources, fragment, scope) { 17 | 18 | override suspend fun onItemClick(source: ShowResponse) { 19 | model.overrideEpisodes(i, source, id) 20 | } 21 | } -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/manga/MangaSourceAdapter.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.manga 2 | 3 | import ani.saikou.media.MediaDetailsViewModel 4 | import ani.saikou.media.SourceAdapter 5 | import ani.saikou.media.SourceSearchDialogFragment 6 | import ani.saikou.parsers.ShowResponse 7 | import kotlinx.coroutines.CoroutineScope 8 | 9 | class MangaSourceAdapter( 10 | sources: List, 11 | val model: MediaDetailsViewModel, 12 | val i: Int, 13 | val id: Int, 14 | fragment: SourceSearchDialogFragment, 15 | scope: CoroutineScope 16 | ) : SourceAdapter(sources, fragment, scope) { 17 | override suspend fun onItemClick(source: ShowResponse) { 18 | model.overrideMangaChapters(i, source, id) 19 | } 20 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 6 | 8 | 11 | 14 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_amp_stories_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_search_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_screen_lock_portrait_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_exoplayer.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_episodes_recyclerview.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/settings/UserInterfaceSettings.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.settings 2 | 3 | import java.io.Serializable 4 | 5 | data class UserInterfaceSettings( 6 | var darkMode: Boolean? = null, 7 | var showYtButton: Boolean = true, 8 | var animeDefaultView: Int = 0, 9 | var mangaDefaultView: Int = 0, 10 | 11 | //App 12 | var immersiveMode: Boolean = false, 13 | var smallView: Boolean = true, 14 | var defaultStartUpTab: Int = 1, 15 | var homeLayoutShow: MutableList = mutableListOf(true, false, false, true, false, false, true), 16 | 17 | //Animations 18 | var bannerAnimations: Boolean = true, 19 | var layoutAnimations: Boolean = true, 20 | var animationSpeed: Float = 1f 21 | 22 | ) : Serializable -------------------------------------------------------------------------------- /.github/workflows/pull-req.yml: -------------------------------------------------------------------------------- 1 | name: PR Test Builds 2 | 3 | on: 4 | pull_request: 5 | branches: [ main ] 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v3 12 | 13 | - name: set up JDK 17 14 | uses: actions/setup-java@v3 15 | with: 16 | java-version: '17' 17 | distribution: 'temurin' 18 | cache: gradle 19 | 20 | - name: Grant execute permission for gradlew 21 | run: chmod +x gradlew 22 | - name: Build with Gradle 23 | run: ./gradlew assembleDebug 24 | shell: bash 25 | 26 | - name: Upload a Build Artifact 27 | uses: actions/upload-artifact@v3.0.0 28 | with: 29 | path: "app/build/outputs/apk/debug/app-debug.apk" 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_heart_broken_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_fullscreen_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_brightness_medium_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_playlist_play_24.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_sd_card_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_anilist.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_share_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/others/Idiosyncrasy.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("UNCHECKED_CAST", "DEPRECATION") 2 | 3 | package ani.saikou.others 4 | 5 | import android.content.Intent 6 | import android.os.Build 7 | import android.os.Bundle 8 | import java.io.Serializable 9 | 10 | inline fun Bundle.getSerialized(key: String): T? { 11 | return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) 12 | this.getSerializable(key, T::class.java) 13 | else 14 | this.getSerializable(key) as? T 15 | } 16 | 17 | inline fun Intent.getSerialized(key: String): T? { 18 | return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) 19 | this.getSerializableExtra(key, T::class.java) 20 | else 21 | this.getSerializableExtra(key) as? T 22 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_lock_open_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_refresh_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_volume_up_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_favorite_border_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_translate_variant_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: ['https://www.buymeacoffee.com/brahmkshatriya'] 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_playlist_add_24.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/parsers/anime/extractors/StreamTape.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.parsers.anime.extractors 2 | 3 | import ani.saikou.FileUrl 4 | import ani.saikou.client 5 | import ani.saikou.getSize 6 | import ani.saikou.parsers.* 7 | 8 | class StreamTape(override val server: VideoServer) : VideoExtractor() { 9 | private val linkRegex = Regex("""'robotlink'\)\.innerHTML = '(.+?)'\+ \('(.+?)'\)""") 10 | 11 | override suspend fun extract(): VideoContainer { 12 | val reg = linkRegex.find(client.get(server.embed.url.replace("tape.com","adblocker.xyz")).text)?:return VideoContainer(listOf()) 13 | val extractedUrl = FileUrl("https:${reg.groups[1]!!.value + reg.groups[2]!!.value.substring(3)}") 14 | return VideoContainer(listOf(Video(null, VideoType.CONTAINER, extractedUrl, getSize(extractedUrl)))) 15 | } 16 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_brightness_high_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/ani/saikou/user/ListViewModel.kt: -------------------------------------------------------------------------------- 1 | package ani.saikou.user 2 | 3 | import androidx.lifecycle.LiveData 4 | import androidx.lifecycle.MutableLiveData 5 | import androidx.lifecycle.ViewModel 6 | import ani.saikou.anilist.Anilist 7 | import ani.saikou.loadData 8 | import ani.saikou.media.Media 9 | import ani.saikou.tryWithSuspend 10 | 11 | class ListViewModel : ViewModel() { 12 | var grid = MutableLiveData(loadData("listGrid") ?: true) 13 | 14 | private val lists = MutableLiveData>>() 15 | fun getLists(): LiveData>> = lists 16 | suspend fun loadLists(anime: Boolean, userId: Int, sortOrder: String? = null) { 17 | tryWithSuspend { 18 | lists.postValue(Anilist.query.getMediaLists(anime, userId, sortOrder)) 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_color_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_question.xml: -------------------------------------------------------------------------------- 1 | 2 |