diff --git a/src/pt/animesvision/AndroidManifest.xml b/src/pt/animesvision/AndroidManifest.xml deleted file mode 100644 index 8164a545fe..0000000000 --- a/src/pt/animesvision/AndroidManifest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/pt/animesvision/build.gradle b/src/pt/animesvision/build.gradle deleted file mode 100644 index f6dd8a2d98..0000000000 --- a/src/pt/animesvision/build.gradle +++ /dev/null @@ -1,7 +0,0 @@ -ext { - extName = 'AnimesVision' - extClass = '.AnimesVision' - extVersionCode = 25 -} - -apply from: "$rootDir/common.gradle" diff --git a/src/pt/animesvision/res/mipmap-hdpi/ic_launcher.png b/src/pt/animesvision/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index ed2a0a0045..0000000000 Binary files a/src/pt/animesvision/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/src/pt/animesvision/res/mipmap-mdpi/ic_launcher.png b/src/pt/animesvision/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index a8b4474124..0000000000 Binary files a/src/pt/animesvision/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/src/pt/animesvision/res/mipmap-xhdpi/ic_launcher.png b/src/pt/animesvision/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index de9e87f4a1..0000000000 Binary files a/src/pt/animesvision/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/src/pt/animesvision/res/mipmap-xxhdpi/ic_launcher.png b/src/pt/animesvision/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index b25e24eacc..0000000000 Binary files a/src/pt/animesvision/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/pt/animesvision/res/mipmap-xxxhdpi/ic_launcher.png b/src/pt/animesvision/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 670aff1139..0000000000 Binary files a/src/pt/animesvision/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVFilters.kt b/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVFilters.kt deleted file mode 100644 index 5cf40998d3..0000000000 --- a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVFilters.kt +++ /dev/null @@ -1,1508 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.pt.animesvision - -import eu.kanade.tachiyomi.animesource.model.AnimeFilter -import eu.kanade.tachiyomi.animesource.model.AnimeFilterList - -object AVFilters { - - internal open class SelectFilter( - displayName: String, - val vals: Array>, - ) : AnimeFilter.Select( - displayName, - vals.map { it.first }.toTypedArray(), - ) { - inline val selected get() = vals[state].second - } - - internal open class CheckBoxFilterList(name: String, values: List) : AnimeFilter.Group(name, values) - private class CheckBoxVal(name: String) : AnimeFilter.CheckBox(name, false) - - private inline fun AnimeFilterList.parseCheckbox( - options: Array>, - ): String { - return (first { it is R } as CheckBoxFilterList).state - .asSequence() - .filter { it.state } - .map { checkbox -> options.find { it.first == checkbox.name }!!.second } - .filter(String::isNotBlank) - .joinToString(",") - } - - private inline fun AnimeFilterList.getSelected(): String { - return (first { it is R } as SelectFilter).selected - } - - internal class TypeFilter : SelectFilter("Tipo", TYPES) - internal class StatusFilter : SelectFilter("Status", STATUS) - internal class LanguageFilter : SelectFilter("Idioma", LANGUAGES) - internal class SortFilter : SelectFilter("Ordenar", ORDERS) - internal class InitialYearFilter : SelectFilter("Ano Inicial", INITIAL_YEAR) - internal class LastYearFilter : SelectFilter("Ano Final", LAST_YEAR) - internal class FansubFilter : SelectFilter("Fansubs", FANSUBS) - internal class SeasonFilter : SelectFilter("Temporada", SEASONS) - internal class StudioFilter : SelectFilter("Estúdio", STUDIOS) - internal class ProducerFilter : SelectFilter("Produtora", PRODUCERS) - - internal class GenresFilter : CheckBoxFilterList( - "Gêneros", - GENRES.map { CheckBoxVal(it.first) }, - ) - - internal val FILTER_LIST get() = AnimeFilterList( - TypeFilter(), - StatusFilter(), - LanguageFilter(), - SortFilter(), - InitialYearFilter(), - LastYearFilter(), - FansubFilter(), - SeasonFilter(), - StudioFilter(), - ProducerFilter(), - GenresFilter(), - ) - - data class FilterSearchParams( - val type: String = "", - val status: String = "", - val language: String = "", - val sort: String = "padrao", - val initial_year: String = "1917", - val last_year: String = "2024", - val fansub: String = "", - val season: String = "", - val studio: String = "", - val producer: String = "", - val genres: String = "", - ) - - internal fun getSearchParameters(filters: AnimeFilterList): FilterSearchParams { - if (filters.isEmpty()) return FilterSearchParams() - - return FilterSearchParams( - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.parseCheckbox(GENRES), - ) - } - - private val EVERY = Pair("Todos", "") - private val TYPES = arrayOf( - EVERY, - Pair("Animes", "1"), - Pair("Filmes", "2"), - Pair("Doramas", "4"), - Pair("Cartoons", "5"), - Pair("Live Actions", "6"), - ) - - private val STATUS = arrayOf( - EVERY, - Pair("Finalizado", "1"), - Pair("Sendo exibido", "2"), - Pair("Ainda não exibido", "3"), - ) - - private val LANGUAGES = arrayOf( - EVERY, - Pair("Legendados", "1"), - Pair("Dublados", "2"), - ) - - private val ORDERS = arrayOf( - Pair("Padrão", ""), - Pair("Adicionado Recentemente", "adicionado_recentemente"), - Pair("Atualizado Recentemente", "atualizado_recentemente"), - Pair("Título de A-Z", "titulo_az"), - Pair("Mais visualizados", "mais_visualizados"), - ) - - private val INITIAL_YEAR = (1917..2024).map { - Pair(it.toString(), it.toString()) - }.toTypedArray() - - private val LAST_YEAR = INITIAL_YEAR.reversed().toTypedArray() - - private val SEASONS = arrayOf( - EVERY, - Pair("Inverno 2024", "167"), - Pair("Outono 2023 ", "166"), - Pair("Verão 2023", "165"), - Pair("Primavera 2023", "164"), - Pair("Inverno 2022", "157"), - Pair("Primavera 2022", "159"), - Pair("Verão 2022", "161"), - Pair("Outono 2022", "162"), - Pair("Inverno 2021", "1"), - Pair("Primavera 2021", "152"), - Pair("Verão 2021", "155"), - Pair("Outono 2021", "156"), - Pair("Inverno 2020", "5"), - Pair("Primavera 2020", "4"), - Pair("Verão 2020", "3"), - Pair("Outono 2020", "2"), - Pair("Inverno 2019", "23"), - Pair("Primavera 2019", "18"), - Pair("Verão 2019", "7"), - Pair("Outono 2019", "6"), - Pair("Inverno 2018", "75"), - Pair("Primavera 2018", "73"), - Pair("Verão 2018", "69"), - Pair("Outono 2018", "67"), - Pair("Inverno 2017", "131"), - Pair("Primavera 2017", "128"), - Pair("Verão 2017", "126"), - Pair("Outono 2017", "76"), - Pair("Inverno 2016", "139"), - Pair("Primavera 2016", "138"), - Pair("Verão 2016", "137"), - Pair("Outono 2016", "134"), - Pair("Inverno 2015", "147"), - Pair("Primavera 2015", "146"), - Pair("Verão 2015", "145"), - Pair("Outono 2015", "144"), - Pair("Inverno 2014", "151"), - Pair("Primavera 2014", "150"), - Pair("Verão 2014", "149"), - Pair("Outono 2014", "148"), - Pair("Verão 2013", "154"), - Pair("Outono 2013", "153"), - Pair("Inverno 2007", "140"), - Pair("Primavera 2007", "141"), - Pair("Verão 2007", "142"), - Pair("Outono 2007", "143"), - Pair("Inverno 2006", "132"), - Pair("Primavera 2006", "133"), - Pair("Verão 2006", "135"), - Pair("Outono 2006", "136"), - Pair("Inverno 2005", "125"), - Pair("Primavera 2005", "127"), - Pair("Verão 2005", "129"), - Pair("Outono 2005", "130"), - Pair("Inverno 2004", "121"), - Pair("Primavera 2004", "122"), - Pair("Verão 2004", "123"), - Pair("Outono 2004", "124"), - Pair("Inverno 2003", "117"), - Pair("Primavera 2003", "118"), - Pair("Verão 2003", "119"), - Pair("Outono 2003", "120"), - Pair("Inverno 2002", "113"), - Pair("Primavera 2002", "114"), - Pair("Verão 2002", "115"), - Pair("Outono 2002", "116"), - Pair("Inverno 2001", "110"), - Pair("Primavera 2001", "111"), - Pair("Verão 2001", "112"), - Pair("Outono 2001", "109"), - Pair("Inverno 2000", "105"), - Pair("Primavera 2000", "107"), - Pair("Verão 2000", "108"), - Pair("Outono 2000", "106"), - Pair("Inverno 1999", "101"), - Pair("Primavera 1999", "102"), - Pair("Verão 1999", "104"), - Pair("Outono 1999", "103"), - Pair("Inverno 1998", "97"), - Pair("Primavera 1998", "98"), - Pair("Verão 1998", "99"), - Pair("Outono 1998", "100"), - Pair("Inverno 1997", "95"), - Pair("Primavera 1997", "93"), - Pair("Verão 1997", "94"), - Pair("Outono 1997", "96"), - Pair("Inverno 1996", "89"), - Pair("Primavera 1996", "90"), - Pair("Verão 1996", "92"), - Pair("Outono 1996", "91"), - Pair("Inverno 1995", "85"), - Pair("Primavera 1995", "86"), - Pair("Verão 1995", "88"), - Pair("Outono 1995", "87"), - Pair("Inverno 1994", "81"), - Pair("Primavera 1994", "82"), - Pair("Verão 1994", "84"), - Pair("Outono 1994", "83"), - Pair("Inverno 1993", "77"), - Pair("Primavera 1993", "78"), - Pair("Verão 1993", "79"), - Pair("Outono 1993", "80"), - Pair("Inverno 1992", "68"), - Pair("Primavera 1992", "71"), - Pair("Verão 1992", "70"), - Pair("Outono 1992", "74"), - Pair("Inverno 1991", "63"), - Pair("Primavera 1991", "64"), - Pair("Verão 1991", "65"), - Pair("Outono 1991", "66"), - Pair("Inverno 1990", "60"), - Pair("Primavera 1990", "61"), - Pair("Outono 1990", "62"), - Pair("Inverno 1989", "56"), - Pair("Primavera 1989", "57"), - Pair("Verão 1989", "58"), - Pair("Outono 1989", "59"), - Pair("Inverno 1988", "52"), - Pair("Primavera 1988", "53"), - Pair("Verão 1988", "54"), - Pair("Outono 1988", "55"), - Pair("Inverno 1987", "48"), - Pair("Primavera 1987", "49"), - Pair("Verão 1987", "50"), - Pair("Outono 1987", "51"), - Pair("Inverno 1986", "43"), - Pair("Primavera 1986", "45"), - Pair("Verão 1986", "46"), - Pair("Outono 1986", "47"), - Pair("Inverno 1985", "39"), - Pair("Primavera 1985", "40"), - Pair("Verão 1985", "41"), - Pair("Outono 1985", "42"), - Pair("Inverno 1984", "36"), - Pair("Primavera 1984", "37"), - Pair("Outono 1984", "38"), - Pair("Inverno 1983", "32"), - Pair("Primavera 1983", "33"), - Pair("Verão 1983", "35"), - Pair("Outono 1983", "34"), - Pair("Inverno 1982", "30"), - Pair("Primavera 1982", "28"), - Pair("Verão 1982", "29"), - Pair("Outono 1982", "31"), - Pair("Inverno 1981", "24"), - Pair("Primavera 1981", "25"), - Pair("Verão 1981", "26"), - Pair("Outono 1981", "27"), - Pair("Outono 1980", "22"), - Pair("Inverno 1979", "19"), - Pair("Primavera 1979", "20"), - Pair("Inverno 1978", "16"), - Pair("Outono 1978", "17"), - ) - - private val FANSUBS = arrayOf( - EVERY, - Pair("AMA", "ama"), - Pair("ANSK", "ansk"), - Pair("Absolute", "absolute"), - Pair("Aenianos", "aenianos"), - Pair("Akogare", "akogare"), - Pair("Anipakku", "anipakku"), - Pair("Armagedon", "armagedon"), - Pair("Atlantida", "atlantida"), - Pair("BAS", "bas"), - Pair("Dollars", "dollars"), - Pair("Elite", "elite fansub"), - Pair("Eternal Animes", "eternal animes"), - Pair("Fênix Sub", "fênix sub"), - Pair("Hacchi", "hacchi"), - Pair("Hacchi", "hacchi"), - Pair("Infinite", "infinite"), - Pair("Kiyoteru", "kiyoteru"), - Pair("Kyoshiro", "kyoshiro"), - Pair("Lolicons Anônimos", "lolicons anonimos"), - Pair("Nippon", "nippon"), - Pair("Oficial", "oficial"), - Pair("Proxy", "proxy"), - Pair("SubVision", "subvision"), - ) - - private val STUDIOS = arrayOf( - EVERY, - Pair("3xCube", "329"), - Pair("8bit", "75"), - Pair("A-1 Pictures", "39"), - Pair("A-Real", "233"), - Pair("A.C.G.T.", "185"), - Pair("Acca effe", "301"), - Pair("Actas", "133"), - Pair("AIC ASTA", "146"), - Pair("AIC Build", "277"), - Pair("AIC Classic", "237"), - Pair("AIC Frontier", "221"), - Pair("AIC PLUS+", "159"), - Pair("AIC Spirits", "110"), - Pair("AIC", "88"), - Pair("Ajia-Do", "93"), - Pair("Albacrow", "290"), - Pair("Anima&Co.", "274"), - Pair("animate Film", "90"), - Pair("Animation Do", "327"), - Pair("Animation Staff Room", "310"), - Pair("Ankama Animations", "214"), - Pair("Annapuru", "156"), - Pair("APPP", "138"), - Pair("ARECT", "332"), - Pair("Arms", "101"), - Pair("Artland", "130"), - Pair("Artmic", "89"), - Pair("Arvo Animation", "67"), - Pair("Asahi Production", "179"), - Pair("Asatsu DK", "147"), - Pair("Ascension", "308"), - Pair("Ashi Production", "189"), - Pair("asread.", "36"), - Pair("Asura Film", "199"), - Pair("AtelierPontdarc", "6"), - Pair("AXsiZ", "70"), - Pair("B.CMAY PICTURES", "154"), - Pair("B&T", "260"), - Pair("Bakken Record", "309"), - Pair("Bandai Namco Pictures", "132"), - Pair("Barnum Studio", "300"), - Pair("Bee Media", "119"), - Pair("Bee Train", "94"), - Pair("BeSTACK", "192"), - Pair("Bibury Animation Studios", "144"), - Pair("BigFireBird Animation", "249"), - Pair("Blade", "126"), - Pair("Bones", "9"), - Pair("Bouncy", "203"), - Pair("Brain's Base", "96"), - Pair("Bridge", "105"), - Pair("C-Station", "242"), - Pair("C2C", "53"), - Pair("CANDY BOX", "177"), - Pair("Chaos Project", "235"), - Pair("Children's Playground Entertainment", "66"), - Pair("China Literature Limited", "225"), - Pair("CLAP", "335"), - Pair("CloverWorks", "150"), - Pair("Colored Pencil Animation", "92"), - Pair("CoMix Wave Films", "19"), - Pair("Connect", "44"), - Pair("Craftar Studios", "184"), - Pair("Creators in Pack", "208"), - Pair("CygamesPictures", "294"), - Pair("D.A.S.T.", "165"), - Pair("DandeLion Animation Studio", "161"), - Pair("Darts", "291"), - Pair("Daume", "35"), - Pair("David Production", "83"), - Pair("Digital Network Animation", "341"), - Pair("Diomedéa", "32"), - Pair("DLE", "111"), - Pair("DMM.futureworks", "153"), - Pair("Doga Kobo", "37"), - Pair("domerica", "272"), - Pair("Dongwoo A&E", "181"), - Pair("DRAWIZ", "320"), - Pair("Drive", "157"), - Pair("Dwango", "81"), - Pair("Dynamic Planning", "190"), - Pair("Dynamo Pictures", "173"), - Pair("E&G Films", "288"), - Pair("Egg Firm", "85"), - Pair("Eiken", "134"), - Pair("EKACHI EPILKA", "56"), - Pair("Emon", "125"), - Pair("EMT Squared", "164"), - Pair("Encourage Films", "86"), - Pair("ENGI", "4"), - Pair("Ezόla", "246"), - Pair("Fanworks", "155"), - Pair("feel.", "65"), - Pair("Felix Film", "231"), - Pair("Fifth Avenue", "169"), - Pair("Filmlink International", "140"), - Pair("FILMONY", "311"), - Pair("FLAGSHIP LINE", "64"), - Pair("G-angle", "240"), - Pair("G&G Entertainment", "304"), - Pair("Gainax Kyoto", "232"), - Pair("Gainax", "80"), - Pair("Gallop", "186"), - Pair("Gambit", "52"), - Pair("Gathering", "259"), - Pair("GEEK TOYS", "261"), - Pair("GEMBA", "280"), - Pair("Geno Studio", "26"), - Pair("GIFTanimation", "47"), - Pair("Giga Production", "302"), - Pair("Ginga Ya", "295"), - Pair("GoHands", "31"), - Pair("Gonzo", "116"), - Pair("Gosay Studio", "313"), - Pair("Graphinica", "63"), - Pair("Green Monster Team", "248"), - Pair("GRIZZLY", "337"), - Pair("Group TAC", "117"), - Pair("Grouper Productions", "183"), - Pair("Hal Film Maker", "14"), - Pair("Haoliners Animation League", "124"), - Pair("Hiro Media", "253"), - Pair("Hoods Drifters Studio", "265"), - Pair("Hoods Entertainment", "79"), - Pair("HORNETS", "298"), - Pair("Hotline", "198"), - Pair("HOTZIPANG", "158"), - Pair("I.Gzwei", "299"), - Pair("ILCA", "281"), - Pair("IMAGICA Lab.", "315"), - Pair("Imagineer", "166"), - Pair("Indivision", "57"), - Pair("Ishimori Entertainment", "333"), - Pair("Issen", "285"), - Pair("ixtl", "215"), - Pair("Iyasakadou Film", "247"), - Pair("J.C.Staff", "8"), - Pair("Japan Vistec", "123"), - Pair("K-Factory", "128"), - Pair("Kachidoki Studio", "278"), - Pair("Kamikaze Douga", "23"), - Pair("Karaku", "127"), - Pair("Khara", "238"), - Pair("Kigumi", "342"), - Pair("Kinema Citrus", "22"), - Pair("Kitty Film Mitaka Studio", "129"), - Pair("Kitty Films", "131"), - Pair("Knack Productions", "142"), - Pair("Kyoto Animation", "76"), - Pair("l-a-unch・BOX", "122"), - Pair("L²Studio", "102"), - Pair("LandQ studios", "257"), - Pair("Lapin Track", "229"), - Pair("Larx Entertainment", "40"), - Pair("Lay-duce", "171"), - Pair("Lerche", "49"), - Pair("Lesprit", "91"), - Pair("LEVELS", "321"), - Pair("LIDENFILMS Kyoto Studio", "58"), - Pair("LIDENFILMS Osaka Studio", "306"), - Pair("LIDENFILMS", "55"), - Pair("Life Work", "296"), - Pair("LMD", "137"), - Pair("M.S.C", "220"), - Pair("Madhouse", "45"), - Pair("Magia Doraglier", "314"), - Pair("Magic Bus", "234"), - Pair("Maho Film", "108"), - Pair("Manglobe", "100"), - Pair("MAPPA", "7"), - Pair("Marone", "251"), - Pair("Marvy Jack", "178"), - Pair("Marza Animation Planet", "330"), - Pair("Millepensee", "218"), - Pair("Minami Machi Bugyousho", "222"), - Pair("MMT Technology", "322"), - Pair("Mushi Production", "175"), - Pair("Namu Animation", "250"), - Pair("NAZ", "149"), - Pair("Nexus", "141"), - Pair("Nice Boat Animation", "317"), - Pair("Nihon Ad Systems", "293"), - Pair("Nippon Animation", "34"), - Pair("Nomad", "43"), - Pair("Nut", "262"), - Pair("Oh! Production", "254"), - Pair("Okuruto Noboru", "191"), - Pair("OLM Digital", "286"), - Pair("OLM Team Yoshioka", "339"), - Pair("OLM", "28"), - Pair("Orange", "95"), - Pair("Ordet", "269"), - Pair("Original Force", "324"), - Pair("P.A. Works", "98"), - Pair("P.I.C.S.", "312"), - Pair("Palm Studio", "118"), - Pair("Passione", "72"), - Pair("Pastel", "78"), - Pair("Picture Magic", "268"), - Pair("Pierrot Plus", "10"), - Pair("Pine Jam", "106"), - Pair("Platinum Vision", "263"), - Pair("Polygon Pictures", "77"), - Pair("PPM", "180"), - Pair("PRA", "87"), - Pair("Primastea", "282"), - Pair("Production +h.", "343"), - Pair("production doA", "136"), - Pair("Production GoodBook", "264"), - Pair("Production I.G", "21"), - Pair("Production IMS", "99"), - Pair("Production Reed", "197"), - Pair("Project No.9", "209"), - Pair("Purple Cow Studio Japan", "270"), - Pair("Quad", "338"), - Pair("Qualia Animation", "104"), - Pair("Radix", "160"), - Pair("RAMS", "245"), - Pair("Remic", "307"), - Pair("Revoroot", "284"), - Pair("Rising Force", "168"), - Pair("Robot Communications", "266"), - Pair("Rockwell Eyes", "244"), - Pair("Ruo Hong Culture", "319"), - Pair("Saetta", "305"), - Pair("Samsara Animation Studio", "318"), - Pair("Sanrio", "256"), - Pair("SANZIGEN", "170"), - Pair("Satelight", "46"), - Pair("Science SARU", "27"), - Pair("Seven Arcs Pictures", "202"), - Pair("Seven Arcs", "42"), - Pair("Seven Stone Entertainment", "292"), - Pair("Shaft", "30"), - Pair("Shanghai Foch Film and TV Culture Investment", "267"), - Pair("Shenying Animation", "336"), - Pair("Shin-Ei Animation", "84"), - Pair("Shinkuukan", "283"), - Pair("Shirogumi", "151"), - Pair("Shuka", "82"), - Pair("SIDO LIMITED", "303"), - Pair("Signal.MD", "73"), - Pair("SILVER LINK.", "1"), - Pair("Soft Garage", "213"), - Pair("Sola Digital Arts", "279"), - Pair("Soyep", "297"), - Pair("Space Neko Company", "115"), - Pair("Sprite Animation Studios", "287"), - Pair("Square Enix", "326"), - Pair("Steve N' Steven", "243"), - Pair("Stingray", "174"), - Pair("Studio 3Hz", "148"), - Pair("Studio 4°C", "172"), - Pair("Studio A-CAT", "120"), - Pair("Studio Animal", "331"), - Pair("Studio Bind", "74"), - Pair("Studio Blanc", "38"), - Pair("Studio Chizu", "210"), - Pair("Studio Colorido", "25"), - Pair("Studio Comet", "187"), - Pair("Studio Crocodile", "228"), - Pair("Studio Daisy", "323"), - Pair("Studio Deen", "12"), - Pair("Studio elle", "121"), - Pair("Studio Fantasia", "33"), - Pair("Studio Flad", "68"), - Pair("Studio Flag", "328"), - Pair("Studio Ghibli", "112"), - Pair("Studio Gokumi", "54"), - Pair("Studio Hibari", "205"), - Pair("Studio Jemi", "48"), - Pair("Studio Kafka", "334"), - Pair("Studio Kai", "193"), - Pair("Studio Kyuuma", "201"), - Pair("Studio LAN", "226"), - Pair("Studio Lings", "216"), - Pair("Studio Live", "230"), - Pair("Studio Matrix", "143"), - Pair("studio MOTHER", "340"), - Pair("Studio Nue", "217"), - Pair("Studio Palette", "71"), - Pair("Studio Pierrot", "2"), - Pair("Studio Ponoc", "206"), - Pair("Studio PuYUKAI", "196"), - Pair("Studio Rikka", "41"), - Pair("Studio Signal", "275"), - Pair("Studio Signpost", "11"), - Pair("Studio Unicorn", "252"), - Pair("Studio VOLN", "236"), - Pair("Studio World", "258"), - Pair("Sublimation", "51"), - Pair("Sunrise Beyond", "50"), - Pair("Sunrise", "29"), - Pair("SynergySP", "59"), - Pair("Tatsunoko Production", "17"), - Pair("Team TillDawn", "188"), - Pair("Team YokkyuFuman", "113"), - Pair("teamKG", "289"), - Pair("Tear Studio", "316"), - Pair("Telecom Animation Film", "182"), - Pair("Tencent Animation & Comics", "224"), - Pair("Tezuka Productions", "18"), - Pair("The Answer Studio", "139"), - Pair("Think Corporation", "255"), - Pair("TMS Entertainment", "13"), - Pair("TNK", "109"), - Pair("Todos", ""), - Pair("Toei Animation", "3"), - Pair("Toho Interactive Animation", "223"), - Pair("Tokyo Kids", "114"), - Pair("Tokyo Media Connections", "204"), - Pair("Tokyo Movie Shinsha", "135"), - Pair("Tomason", "195"), - Pair("Topcraft", "273"), - Pair("Trans Arts", "219"), - Pair("Tri-Slash", "211"), - Pair("Triangle Staff", "271"), - Pair("TriF Studio", "207"), - Pair("Trigger", "24"), - Pair("Trinet Entertainment", "200"), - Pair("TROYCA", "163"), - Pair("Twilight Studio", "241"), - Pair("TYO Animations", "107"), - Pair("Typhoon Graphics", "227"), - Pair("ufotable", "20"), - Pair("Vega Entertainment", "60"), - Pair("Venet", "145"), - Pair("View Works", "276"), - Pair("Visual Flight", "239"), - Pair("W-Toon Studio", "152"), - Pair("Wan Wei Mao Donghua", "325"), - Pair("WAO World", "167"), - Pair("White Fox", "97"), - Pair("Wit Studio", "16"), - Pair("Wolfsbane", "69"), - Pair("XEBEC M2", "103"), - Pair("Xebec", "15"), - Pair("XFLAG Pictures", "212"), - Pair("Yaoyorozu", "194"), - Pair("Yokohama Animation Lab", "5"), - Pair("Yostar Pictures", "176"), - Pair("Yumeta Company", "62"), - Pair("Zero-G", "61"), - Pair("Zexcs", "162"), - ) - - private val PRODUCERS = arrayOf( - EVERY, - Pair("12 Diary Holders", "67"), - Pair("1st PLACE", "432"), - Pair("3xCube", "482"), - Pair("5pb.", "358"), - Pair("81 Produce", "119"), - Pair("A-1 Pictures", "650"), - Pair("A-Craft", "567"), - Pair("A-Line", "467"), - Pair("A-Sketch", "129"), - Pair("A3", "361"), - Pair("ABC Animation", "2"), - Pair("Abe Shuuji Jimusho", "594"), - Pair("AbemaTV", "726"), - Pair("AC Create", "622"), - Pair("AC-Bu", "677"), - Pair("ADK Emotions", "489"), - Pair("ADK Marketing Solutions", "111"), - Pair("Adores", "500"), - Pair("Aeon Entertainment", "317"), - Pair("AG-ONE", "642"), - Pair("Age Global Networks", "241"), - Pair("Agent 21", "764"), - Pair("Ai Addiction", "274"), - Pair("AIC Rights", "466"), - Pair("AIC", "208"), - Pair("AKABEiSOFT2", "728"), - Pair("Akatsuki", "487"), - Pair("Akita Shoten", "442"), - Pair("Alchemist", "647"), - Pair("Amber Film Works", "712"), - Pair("AMG Entertainment", "632"), - Pair("AMG MUSIC", "519"), - Pair("Amuse", "316"), - Pair("Amusement Media Academy", "507"), - Pair("AN Entertainment", "435"), - Pair("Anima&Co.", "267"), - Pair("Animaruya", "434"), - Pair("animate Film", "256"), - Pair("Animatic", "297"), - Pair("Animation 21", "623"), - Pair("Animation Do", "459"), - Pair("Animatsu Entertainment", "638"), - Pair("Animax", "164"), - Pair("Anime Beans", "695"), - Pair("Anime Consortium Japan", "250"), - Pair("Anime R", "497"), - Pair("Aniplex", "4"), - Pair("Ankama", "453"), - Pair("Annapuru", "347"), - Pair("Aoni Entertainment", "375"), - Pair("Aoni Production", "641"), - Pair("APDREAM", "686"), - Pair("Apollon", "444"), - Pair("AQUA ARIS", "269"), - Pair("Aquamarine", "702"), - Pair("AQUAPLUS", "512"), - Pair("arma bianca", "532"), - Pair("Arquebuse", "645"), - Pair("Artist Management Office", "249"), - Pair("Artmic", "465"), - Pair("Asahi Broadcasting", "162"), - Pair("Asahi Production", "176"), - Pair("Asahi Shimbun", "276"), - Pair("Asatsu DK", "143"), - Pair("ASCII Media Works", "204"), - Pair("Ashi Production", "579"), - Pair("Ashisuto", "724"), - Pair("Asmik Ace", "144"), - Pair("AT-X", "22"), - Pair("Atelier Musa", "215"), - Pair("Atlus", "651"), - Pair("Audio Highs", "236"), - Pair("Audio Planning U", "568"), - Pair("Audio Tanaka", "303"), - Pair("Avex Entertainment", "141"), - Pair("Avex Pictures", "18"), - Pair("Avex Technologies", "755"), - Pair("AZ Creative", "494"), - Pair("Azumaker", "424"), - Pair("Bandai Channel", "527"), - Pair("Bandai Namco Arts", "98"), - Pair("Bandai Namco Entertainment", "78"), - Pair("Bandai Namco Games", "216"), - Pair("Bandai Namco Live Creative", "293"), - Pair("Bandai Namco Rights Marketing", "404"), - Pair("Bandai Spirits", "96"), - Pair("Bandai Visual", "48"), - Pair("Banpresto", "152"), - Pair("Barnum Studio", "376"), - Pair("Beijing Enlight Pictures", "570"), - Pair("Beijing IMMG", "680"), - Pair("Being", "495"), - Pair("Beyond C.", "339"), - Pair("Big Bang", "696"), - Pair("Big West", "401"), - Pair("BIGFACE", "477"), - Pair("BIGLOBE", "461"), - Pair("bilibili", "159"), - Pair("Bit grooove promotion", "12"), - Pair("Bit Promotion", "336"), - Pair("BloomZ", "631"), - Pair("BMG Japan", "485"), - Pair("BookLive", "592"), - Pair("Bouncy", "171"), - Pair("Brave Hearts", "572"), - Pair("Bridge", "451"), - Pair("Broccoli", "170"), - Pair("BS Asahi", "369"), - Pair("BS Fuji", "118"), - Pair("BS Japan", "454"), - Pair("BS NTV", "194"), - Pair("BS-TBS", "286"), - Pair("BS11", "108"), - Pair("Bulls Eye", "535"), - Pair("Bungeishunjuu", "640"), - Pair("Bushiroad Move", "186"), - Pair("Bushiroad Music", "181"), - Pair("Bushiroad", "95"), - Pair("Buzz Wave", "766"), - Pair("C & I entertainment", "698"), - Pair("C-one", "625"), - Pair("CA-Cygames Anime Fund", "541"), - Pair("Cammot", "251"), - Pair("Capcom", "281"), - Pair("CBC Television", "323"), - Pair("CBS", "163"), - Pair("chara-ani.com", "66"), - Pair("Chiba TV", "421"), - Pair("Children's Playground Entertainment", "380"), - Pair("China Animation Characters", "476"), - Pair("China Film Animation", "679"), - Pair("China Literature Limited", "475"), - Pair("Christmas Holly", "581"), - Pair("Chrono Gear Creative", "462"), - Pair("Chugai Mining", "212"), - Pair("Chukyo TV Broadcasting", "97"), - Pair("CIC", "731"), - Pair("Cloud22", "455"), - Pair("Coamix", "563"), - Pair("Cocoro Free", "636"), - Pair("Code", "87"), - Pair("COLOPL", "658"), - Pair("Comic Animation", "518"), - Pair("Comic Umenohone", "582"), - Pair("comico", "445"), - Pair("COMICSMART", "717"), - Pair("CoMix Wave Films", "377"), - Pair("Contents Seed", "116"), - Pair("Cosmic Ray", "299"), - Pair("Cospa", "193"), - Pair("CREi", "736"), - Pair("Crest", "777"), - Pair("Cromea", "254"), - Pair("Crunchyroll SC Anime Fund", "183"), - Pair("CTW", "656"), - Pair("CUCURI", "771"), - Pair("Culture Entertainment", "595"), - Pair("CyberAgent", "99"), - Pair("CyberConnect2", "763"), - Pair("CyberStep", "552"), - Pair("Cyclone Graphics", "242"), - Pair("Cygames", "165"), - Pair("d-rights", "209"), - Pair("D-techno", "121"), - Pair("D.A.S.T.", "659"), - Pair("D.N. Dream Partners", "418"), - Pair("Da Huoniao Donghua", "683"), - Pair("Dai Nippon Printing", "393"), - Pair("Daiichi Shokai", "270"), - Pair("Daiichikosho", "606"), - Pair("Darts", "585"), - Pair("Daume", "732"), - Pair("DAX Production", "76"), - Pair("Dear Stage inc.", "147"), - Pair("Deho Gallery", "711"), - Pair("Delfi Sound", "70"), - Pair("Delightworks", "734"), - Pair("DeNA", "104"), - Pair("Dentsu Meitetsu Communications", "753"), - Pair("Dentsu", "26"), - Pair("Digital Frontier", "379"), - Pair("Digital Works", "730"), - Pair("Directions", "86"), - Pair("DIVE II Entertainment", "34"), - Pair("DMM Music", "106"), - Pair("DMM pictures", "62"), - Pair("DMM.com Labo", "573"), - Pair("DMM.com", "313"), - Pair("DMM.futureworks", "327"), - Pair("Docomo Anime Store", "127"), - Pair("Dream Creation", "300"), - Pair("Dream Force", "537"), - Pair("Dream Shift", "546"), - Pair("Drecom", "665"), - Pair("Duckbill Entertainment", "437"), - Pair("dugout", "16"), - Pair("Dwango", "68"), - Pair("Dynamic Planning", "569"), - Pair("Dynamo Pictures", "520"), - Pair("e-notion", "610"), - Pair("E&G Films", "217"), - Pair("Earth Star Entertainment", "328"), - Pair("eBooK Initiative Japan", "646"), - Pair("Echoes", "302"), - Pair("Egg Firm", "79"), - Pair("ELF-IN", "271"), - Pair("EMI", "387"), - Pair("Emon", "229"), - Pair("Enoki Films", "357"), - Pair("ensky", "513"), - Pair("entama", "130"), - Pair("Enterbrain", "153"), - Pair("Epicross", "463"), - Pair("eStream", "776"), - Pair("Eswood", "333"), - Pair("Evil Line Records", "312"), - Pair("Exa International", "314"), - Pair("Exit Tunes", "306"), - Pair("Eye Move", "372"), - Pair("F.M.F", "329"), - Pair("f4samurai", "363"), - Pair("FABTONE", "720"), - Pair("famima.com", "390"), - Pair("FanFan Inc.", "262"), - Pair("Fanworks", "539"), - Pair("FBC", "562"), - Pair("feng", "285"), - Pair("Fields", "291"), - Pair("FILMONY", "673"), - Pair("Flex Comix", "158"), - Pair("flying DOG", "23"), - Pair("Forecast Communications", "268"), - Pair("Fosun Entertainment Japan", "768"), - Pair("Free-Will", "257"), - Pair("Front Line", "604"), - Pair("Front Wing", "185"), - Pair("Frontier Works", "20"), - Pair("Fuji Creative", "123"), - Pair("Fuji TV", "7"), - Pair("Fuji&gumi Games", "706"), - Pair("Fujimi Shobo", "234"), - Pair("Fujio Production", "714"), - Pair("Fujipacific Music", "259"), - Pair("Fujishouji", "545"), - Pair("Fukuoka Broadcasting System", "385"), - Pair("FuRyu", "120"), - Pair("Futabasha", "491"), - Pair("FUTURE LEAP", "657"), - Pair("G-mode", "471"), - Pair("G&G Entertainment", "601"), - Pair("GAGA", "470"), - Pair("Gainax", "528"), - Pair("Gakken", "597"), - Pair("Gallop", "587"), - Pair("Gamegate", "308"), - Pair("GANSIS", "311"), - Pair("GDH", "213"), - Pair("Genco", "64"), - Pair("Geneon Universal Entertainment", "94"), - Pair("Gentosha Comics", "207"), - Pair("Gigno Systems", "373"), - Pair("Global Solutions", "175"), - Pair("Glovision", "56"), - Pair("Gonzo", "620"), - Pair("Good Smile Company", "148"), - Pair("Good Smile Film", "246"), - Pair("GOON TRAX", "719"), - Pair("GRANTdesign", "634"), - Pair("Graphinica", "243"), - Pair("GREE Entertainment", "205"), - Pair("Green Bunny", "578"), - Pair("Greenwood", "586"), - Pair("Group TAC", "222"), - Pair("GYAO!", "128"), - Pair("Gzbrain", "635"), - Pair("Hakoniwa Academy Student Council", "427"), - Pair("Hakuhodo DY Media Partners", "51"), - Pair("Hakuhodo DY Music & Pictures", "115"), - Pair("Hakusensha", "53"), - Pair("Hal Film Maker", "63"), - Pair("Half H.P Studio", "107"), - Pair("Haoliners Animation League", "230"), - Pair("Happinet Pictures", "58"), - Pair("Happy Elements", "433"), - Pair("Harappa", "509"), - Pair("Harmony Gold", "499"), - Pair("Hawkeye", "684"), - Pair("Hayakawa Shobou", "508"), - Pair("Heart Company", "112"), - Pair("HeART-BIT", "739"), - Pair("Heewon Entertainment", "664"), - Pair("Heiwa", "457"), - Pair("Heroz", "618"), - Pair("High Kick Entertainment", "210"), - Pair("Highlights Entertainment", "406"), - Pair("Hikari TV", "543"), - Pair("Hiroshima Television", "90"), - Pair("HJ Holdings", "746"), - Pair("HOBBY BASE Yellow Submarine", "556"), - Pair("Hobby Japan", "289"), - Pair("Hobibox", "332"), - Pair("Hochi Shimbun", "577"), - Pair("Hokkaido Azmacy", "740"), - Pair("Hokkaido Cultural Broadcasting", "630"), - Pair("Hoods Entertainment", "514"), - Pair("HoriPro International", "648"), - Pair("HoriPro", "378"), - Pair("Hotline", "103"), - Pair("HOTZIPANG", "325"), - Pair("Houbunsha", "72"), - Pair("Hulu", "381"), - Pair("I was a Ballerina", "264"), - Pair("I Will", "588"), - Pair("i0+", "177"), - Pair("ibis Capital Partners", "699"), - Pair("Ichigo Animation", "517"), - Pair("Ichijinsha", "360"), - Pair("Idea Factory", "138"), - Pair("ILCA", "749"), - Pair("Ima Group", "479"), - Pair("IMAGICA Lab.", "155"), - Pair("ImaginAsian Entertainment", "770"), - Pair("Imagine", "296"), - Pair("INCS toenter", "114"), - Pair("Index", "551"), - Pair("Infinite", "192"), - Pair("iQIYI", "748"), - Pair("it's", "157"), - Pair("Iwatobi High School Swimming Club", "741"), - Pair("J.C.Staff", "506"), - Pair("Japan Home Video", "619"), - Pair("Japan Sleeve", "596"), - Pair("Japan Volleyball Association", "765"), - Pair("jeux d'eau", "362"), - Pair("Jinnan Studio", "160"), - Pair("JM Animation", "338"), - Pair("JR East Marketing & Communications", "42"), - Pair("JTB Entertainment", "179"), - Pair("JTB Next Creation", "554"), - Pair("Jumondo", "287"), - Pair("Just Production", "391"), - Pair("JY Animation", "292"), - Pair("K-Factory", "627"), - Pair("Kadokawa Animation", "727"), - Pair("Kadokawa Contents Gate", "167"), - Pair("Kadokawa Daiei Studio", "515"), - Pair("Kadokawa Media (Taiwan)", "671"), - Pair("Kadokawa Media House", "113"), - Pair("Kadokawa Pictures Japan", "65"), - Pair("Kadokawa Shoten", "57"), - Pair("Kadokawa", "11"), - Pair("Kakao Japan", "492"), - Pair("Kamikaze Douga", "745"), - Pair("Kanetsu Investment", "174"), - Pair("Kanon Sound", "188"), - Pair("Kansai Telecasting", "228"), - Pair("KBS", "150"), - Pair("KDDI", "550"), - Pair("KEN ON", "417"), - Pair("KENMedia", "218"), - Pair("Khara", "414"), - Pair("Kids Station", "219"), - Pair("King Records", "74"), - Pair("Kinoshita Group Holdings", "247"), - Pair("Kinoshita Koumuten", "350"), - Pair("Kinoshita Management", "589"), - Pair("Kinyosha", "602"), - Pair("Kitty Films", "231"), - Pair("Kiyosumi High School Mahjong Club", "607"), - Pair("KJJ Animation", "682"), - Pair("KLab", "83"), - Pair("KlockWorx", "55"), - Pair("Kobunsha", "742"), - Pair("Kodansha", "36"), - Pair("Koei Tecmo Games", "663"), - Pair("Konami Digital Entertainment", "729"), - Pair("Konami", "468"), - Pair("KSS", "9"), - Pair("Kyoraku Industrial Holdings", "59"), - Pair("Lantis", "49"), - Pair("Lawson Entertainment", "45"), - Pair("Lawson HMV Entertainment", "41"), - Pair("Legs", "166"), - Pair("Level-5", "480"), - Pair("Liber Entertainment", "284"), - Pair("Libre", "574"), - Pair("LIDENFILMS", "662"), - Pair("LINE Corporation", "415"), - Pair("LinkedBrain", "549"), - Pair("Live Viewing Japan", "616"), - Pair("Lucent Pictures Entertainment", "576"), - Pair("Lucky Paradise", "750"), - Pair("m.o.e.", "536"), - Pair("M.S.C", "469"), - Pair("Mad Box", "681"), - Pair("Madhouse", "713"), - Pair("Mag Garden", "25"), - Pair("MAGES.", "73"), - Pair("Magic Bus", "187"), - Pair("Magic Capsule", "61"), - Pair("MAGNET", "85"), - Pair("Maho Film", "722"), - Pair("Mainichi Broadcasting System", "14"), - Pair("Manga Productions", "345"), - Pair("Marine Entertainment", "516"), - Pair("Marubeni", "456"), - Pair("Marui Group", "195"), - Pair("Marvel Entertainment", "410"), - Pair("Marvelous AQL", "309"), - Pair("Marvelous", "149"), - Pair("Media Do", "279"), - Pair("Media Factory", "137"), - Pair("Media Rings", "674"), - Pair("MediaLink Entertainment Limited", "538"), - Pair("MediaNet Pictures", "140"), - Pair("Medicos Entertainment", "226"), - Pair("Mellow Head", "599"), - Pair("Melonbooks", "639"), - Pair("Memory-Tech", "252"), - Pair("Micro Magazine Publishing", "109"), - Pair("Milestone Music Publishing", "202"), - Pair("Milky Cartoon", "621"), - Pair("Mill Creek Entertainment", "349"), - Pair("Mime Corporation", "156"), - Pair("Minami Machi Bugyousho", "305"), - Pair("Miracle Bus", "238"), - Pair("Miracle Robo", "237"), - Pair("Mirai-Kojo", "555"), - Pair("Mixer", "690"), - Pair("Miyagi Television Broadcasting", "383"), - Pair("Miyazaki Broadcasting", "633"), - Pair("Mobcast", "321"), - Pair("Möbius Tone", "708"), - Pair("Moonbell", "548"), - Pair("Movic", "28"), - Pair("Muse Communication", "168"), - Pair("Music Brains", "775"), - Pair("Music Ray'n", "203"), - Pair("My Theater D.D.", "407"), - Pair("Myrica Music", "184"), - Pair("NADA Holdings", "439"), - Pair("Nagoya Broadcasting Network", "398"), - Pair("Naver Webtoons", "474"), - Pair("NAZ", "557"), - Pair("NBCUniversal Entertainment Japan", "13"), - Pair("NEC Avenue", "443"), - Pair("Nelke Planning", "685"), - Pair("Nelvana", "426"), - Pair("NetEase", "399"), - Pair("Netflix", "84"), - Pair("NewGin", "580"), - Pair("Nexon", "122"), - Pair("NHK Enterprises", "134"), - Pair("NHK-BS2", "628"), - Pair("NHK", "30"), - Pair("NHN PlayArt", "478"), - Pair("NIANTIC", "386"), - Pair("NichiNare", "227"), - Pair("Nichion", "190"), - Pair("Nihon Ad Systems", "81"), - Pair("Nihon Falcom", "522"), - Pair("Nihon Keizai Koukokusha", "413"), - Pair("Nikkatsu", "341"), - Pair("Nintendo", "697"), - Pair("Nippon Animation", "335"), - Pair("Nippon Columbia", "92"), - Pair("Nippon Cultural Broadcasting", "105"), - Pair("Nippon Ichi Software", "412"), - Pair("Nippon Shuppan Hanbai (Nippan) K.K.", "490"), - Pair("Nippon Television Music", "364"), - Pair("Nippon Television Network", "77"), - Pair("Nishinippon Broadcasting", "504"), - Pair("Nitroplus", "180"), - Pair("North Stars Pictures", "342"), - Pair("Notes", "126"), - Pair("NTT Docomo", "253"), - Pair("NTT Plala", "182"), - Pair("OB Planning", "125"), - Pair("Office ENDLESS", "273"), - Pair("OLM", "502"), - Pair("Omnibus Japan", "133"), - Pair("On The Run", "304"), - Pair("On-Lead", "762"), - Pair("ONEMUSIC", "436"), - Pair("Orange", "605"), - Pair("Orchid Seed", "359"), - Pair("Overlap", "337"), - Pair("Palm Studio", "221"), - Pair("Parco", "609"), - Pair("Pazzy Entertainment", "561"), - Pair("pH Studio", "294"), - Pair("Pia", "591"), - Pair("Pierrot Plus", "611"), - Pair("Pink Pineapple", "511"), - Pair("Pioneer LDC", "298"), - Pair("Planet", "721"), - Pair("Plum", "488"), - Pair("Plus One", "735"), - Pair("Po10tial", "751"), - Pair("Polygon Pictures", "688"), - Pair("Pony Canyon Enterprise", "38"), - Pair("Pony Canyon", "35"), - Pair("PPP", "703"), - Pair("PRA", "233"), - Pair("Production Ace", "290"), - Pair("Production I.G", "19"), - Pair("Q-Tec", "244"), - Pair("Qiying Animation", "744"), - Pair("QREAZY", "759"), - Pair("Quaras", "629"), - Pair("Quatre Stella", "761"), - Pair("RAB Aomori Broadcasting", "738"), - Pair("Radio Osaka", "608"), - Pair("Radix", "422"), - Pair("Raku High Student Council", "351"), - Pair("Rakuonsha", "5"), - Pair("Rakuten", "521"), - Pair("RAY", "161"), - Pair("Remic", "603"), - Pair("Rex Entertainment", "704"), - Pair("Rialto Entertainment", "486"), - Pair("RightTracks", "670"), - Pair("Rironsha", "278"), - Pair("Robot Communications", "343"), - Pair("Romantica club !!", "747"), - Pair("Rondo Robe", "223"), - Pair("Royal Limousine", "530"), - Pair("Ryukyu Asahi Broadcasting", "348"), - Pair("S-TAR7", "716"), - Pair("Saban Brands", "689"), - Pair("Sakura Create", "69"), - Pair("Sammy", "154"), - Pair("Sankyo Planning", "752"), - Pair("Sanrio", "295"), - Pair("Sanyo Bussan", "669"), - Pair("SANZIGEN", "472"), - Pair("Sapporo Television Broadcasting", "382"), - Pair("Satelight", "531"), - Pair("Sav! The World Productions", "31"), - Pair("SB Creative", "409"), - Pair("Scarlet", "769"), - Pair("Science SARU", "60"), - Pair("Sega Interactive", "718"), - Pair("Sega", "322"), - Pair("Seikaisha", "737"), - Pair("Seven", "566"), - Pair("Shaft", "756"), - Pair("Shanghai Animation Film Studio", "450"), - Pair("Shanghai Tiantan Culture & Media", "438"), - Pair("Shelty", "558"), - Pair("Shimogumi", "593"), - Pair("Shin-Ei Animation", "320"), - Pair("Shinchosha", "501"), - Pair("Shinshokan", "245"), - Pair("Shizuoka Daiichi Television", "384"), - Pair("Shochiku Music Publishing", "767"), - Pair("Shochiku", "21"), - Pair("Shogakukan Music & Digital Entertainment", "542"), - Pair("Shogakukan-Shueisha Productions", "91"), - Pair("Shogakukan", "82"), - Pair("Shounen Gahousha", "334"), - Pair("Shout! Factory", "612"), - Pair("Show Corporation", "452"), - Pair("Showgate", "50"), - Pair("Shueisha", "6"), - Pair("Shufunotomo", "151"), - Pair("Shun Produce", "263"), - Pair("SILVER LINK.", "694"), - Pair("SKY Perfect Well Think", "353"), - Pair("SKY PerfecTV!", "275"), - Pair("Slow Curve", "272"), - Pair("SME Visual Works", "255"), - Pair("Smile Company", "40"), - Pair("Smiral Animation", "330"), - Pair("Soeishinsha", "324"), - Pair("Soft Garage", "258"), - Pair("SoftBank Creative", "248"), - Pair("SoftX", "523"), - Pair("Sogo Vision", "135"), - Pair("Sol Blade", "397"), - Pair("Sola Entertainment", "473"), - Pair("Sonilude", "169"), - Pair("Sony Creative Products", "498"), - Pair("Sony Interactive Entertainment", "666"), - Pair("Sony Music Communications", "71"), - Pair("Sony Music Entertainment", "29"), - Pair("Sony Music Solutions", "110"), - Pair("Sony PCL", "52"), - Pair("Sony Pictures Entertainment", "211"), - Pair("Sotsu Music Publishing", "214"), - Pair("Sotsu", "32"), - Pair("Sound Team Don Juan", "365"), - Pair("Souten no Ken", "691"), - Pair("Sovat Theater", "583"), - Pair("Spacey Music Entertainment", "534"), - Pair("Spectrum", "772"), - Pair("SPO Entertainment", "565"), - Pair("Square Enix", "1"), - Pair("Starchild Records", "132"), - Pair("Stardust Promotion", "615"), - Pair("Starry Cube", "654"), - Pair("Steve N' Steven", "449"), - Pair("STORY", "44"), - Pair("Straight Edge", "80"), - Pair("Strawberry Meets Pictures", "743"), - Pair("Stray Cats", "355"), - Pair("Studio A-CAT", "102"), - Pair("Studio Blanc", "701"), - Pair("Studio CHANT", "301"), - Pair("Studio Comet", "661"), - Pair("Studio elle", "280"), - Pair("Studio Fantasia", "428"), - Pair("Studio GOONEYS", "687"), - Pair("Studio Gram", "733"), - Pair("Studio Hibari", "265"), - Pair("Studio Jack", "47"), - Pair("Studio Junio", "754"), - Pair("Studio Kai", "705"), - Pair("Studio Kelmadick", "392"), - Pair("Studio Kikan", "199"), - Pair("Studio Kyuuma", "510"), - Pair("Studio LAN", "481"), - Pair("Studio Mausu", "33"), - Pair("Studio Mir", "571"), - Pair("Studio Moriken", "660"), - Pair("Studio NOIX", "346"), - Pair("Studio Nue", "402"), - Pair("Studio Pastoral", "405"), - Pair("Studio Pierrot", "493"), - Pair("Studio Saki Makura", "668"), - Pair("Studio Shamrock", "307"), - Pair("Studio Take Off", "693"), - Pair("Studio Tulip", "260"), - Pair("Studio Wombat", "626"), - Pair("Studio Zain", "408"), - Pair("studioGONG", "389"), - Pair("StudioRF Inc.", "544"), - Pair("Sumitomo", "145"), - Pair("Sumzap", "17"), - Pair("Sun TV", "93"), - Pair("Sunny Side Up", "440"), - Pair("Sunrise Music Publishing", "403"), - Pair("Sunrise", "239"), - Pair("SUPA LOVE", "653"), - Pair("Synergy Japan", "758"), - Pair("SynergySP", "757"), - Pair("T.O Entertainment", "644"), - Pair("Tablier Communications", "526"), - Pair("Takahashi Studio", "447"), - Pair("Takara Tomy A.R.T.S", "368"), - Pair("Takeshobo", "173"), - Pair("TAKI Corporation", "614"), - Pair("tamakoshi", "655"), - Pair("TAP", "8"), - Pair("Tapioca", "464"), - Pair("Tatsunoko Production", "598"), - Pair("TBS", "131"), - Pair("TC Entertainment", "356"), - Pair("TEAM Entertainment Inc.", "760"), - Pair("Techno Sound", "37"), - Pair("Teichiku Entertainment", "564"), - Pair("Telecom Animation Film", "318"), - Pair("Tencent Animation & Comics", "525"), - Pair("Tencent Japan", "524"), - Pair("Tencent Penguin Pictures", "282"), - Pair("Tezuka Productions", "352"), - Pair("The Answer Studio", "575"), - Pair("Think Corporation", "559"), - Pair("THINKR", "547"), - Pair("Three Fat Samurai", "396"), - Pair("TMS Entertainment", "142"), - Pair("TMS Music", "189"), - Pair("TMS-Kyokuchi", "584"), - Pair("TO Books", "411"), - Pair("Tochigi TV", "643"), - Pair("Todas", ""), - Pair("Toei Agency", "172"), - Pair("Toei Animation", "266"), - Pair("Toei Video", "319"), - Pair("Tohan Corporation", "590"), - Pair("TOHO animation", "15"), - Pair("Toho Interactive Animation", "725"), - Pair("Toho Music", "206"), - Pair("Toho Visual Entertainment", "709"), - Pair("Tohokushinsha Film Corporation", "101"), - Pair("Tokuma Japan Communications", "232"), - Pair("Tokuma Shoten", "224"), - Pair("Tokyo Animator Gakuin", "553"), - Pair("Tokyo Kids", "400"), - Pair("Tokyo Movie Shinsha", "288"), - Pair("Tokyo MX", "24"), - Pair("Tokyo Theatres", "678"), - Pair("TOMY Company", "649"), - Pair("Top Marshal", "560"), - Pair("Top-Insight International", "310"), - Pair("Toppan Printing", "484"), - Pair("Toranoana", "198"), - Pair("Tose", "672"), - Pair("Toshiba Digital Frontiers", "675"), - Pair("Toshiba EMI", "431"), - Pair("Toshiba Entertainment", "220"), - Pair("Tosho Printing", "637"), - Pair("Toy's Factory", "146"), - Pair("Toyo Recording", "394"), - Pair("Trans Arts", "371"), - Pair("Trick Block", "88"), - Pair("Trigger", "533"), - Pair("Trilogy Future Studio", "225"), - Pair("Trinet Entertainment", "540"), - Pair("Trinity Sound", "235"), - Pair("TRUSS", "441"), - Pair("Tsuburaya Productions", "692"), - Pair("Tsukuru no Mori", "613"), - Pair("TSUTAYA", "723"), - Pair("TV Aichi", "429"), - Pair("TV Asahi Music", "617"), - Pair("TV Asahi", "196"), - Pair("TV Osaka", "366"), - Pair("TV Saitama", "420"), - Pair("TV Tokyo Music", "10"), - Pair("TV Tokyo", "3"), - Pair("Twin Engine", "46"), - Pair("TYO Animations", "460"), - Pair("Typhoon Graphics", "715"), - Pair("U-NEXT", "458"), - Pair("Ultra Super Pictures", "136"), - Pair("Universal Music Japan", "496"), - Pair("Universal Pictures Japan", "600"), - Pair("Universal Studios", "707"), - Pair("VAP", "75"), - Pair("Victor Entertainment", "39"), - Pair("Video Market", "529"), - Pair("Visual 80", "331"), - Pair("Visual Arts", "100"), - Pair("Visual Vision", "277"), - Pair("VIZ Media", "624"), - Pair("voque ting", "43"), - Pair("Voyager Entertainment", "503"), - Pair("VV-ALKLINE", "710"), - Pair("W-Toon Studio", "326"), - Pair("Walt Disney Japan", "416"), - Pair("Walt Disney Studios", "344"), - Pair("WAO World", "505"), - Pair("Wargaming Japan", "178"), - Pair("Warner Bros. Japan", "54"), - Pair("Warner Bros. Pictures", "448"), - Pair("Warner Music Japan", "425"), - Pair("Wave Master", "773"), - Pair("Wawayu Animation", "124"), - Pair("Wicky.Records", "370"), - Pair("Wolfsbane", "652"), - Pair("World Cosplay Summit", "367"), - Pair("WOWMAX", "774"), - Pair("WOWOW", "191"), - Pair("Xebec", "201"), - Pair("XFLAG Pictures", "446"), - Pair("XFLAG", "240"), - Pair("Xing", "388"), - Pair("Y&N Brothers", "700"), - Pair("Yahoo! Japan", "197"), - Pair("Yamasa", "283"), - Pair("Yaoqi", "200"), - Pair("Yokohama Animation Lab", "676"), - Pair("Yomiko Advertising", "89"), - Pair("Yomiuri Advertising", "315"), - Pair("Yomiuri Shimbun", "419"), - Pair("Yomiuri Telecasting", "27"), - Pair("Yomiuri TV Enterprise", "261"), - Pair("Yoshimoto Creative Agency", "395"), - Pair("Yostar Pictures", "354"), - Pair("Youmex", "430"), - Pair("YTV", "117"), - Pair("Yuhodo", "139"), - Pair("YUKE'S", "340"), - Pair("Zack Promotion", "374"), - Pair("ZERO-A", "483"), - Pair("Zero-G Room", "423"), - Pair("ZOOM ENTERPRISE", "667"), - ) - - private val GENRES = arrayOf( - Pair("Amor de meninas", "amor-de-meninas"), - Pair("Amor de meninos", "amor-de-meninos"), - Pair("Artes Marciais", "artes-marciais"), - Pair("Avant Garde", "avant-garde"), - Pair("Aventura", "aventura"), - Pair("Ação", "acao"), - Pair("Comédia", "comedia"), - Pair("Cotidiano", "cotidiano"), - Pair("Demência", "demencia"), - Pair("Demônios", "demonios"), - Pair("Drama", "drama"), - Pair("Ecchi", "ecchi"), - Pair("Erotica", "erotica"), - Pair("Escolar", "escolar"), - Pair("Espacial", "espacial"), - Pair("Esportes", "esportes"), - Pair("Fantasia", "fantasia"), - Pair("Fatia de vida", "fatia-de-vida"), - Pair("Ficção Científica", "ficcao-cientifica"), - Pair("Game", "game"), - Pair("Garotos amam", "garotos-amam"), - Pair("Gourmet", "gourmet"), - Pair("Harém", "harem"), - Pair("Hentai", "hentai"), - Pair("Histórico", "historico"), - Pair("Horror", "horror"), - Pair("Infantil", "infantil"), - Pair("Josei", "josei"), - Pair("Magia", "magia"), - Pair("Mecha", "mecha"), - Pair("Militar", "militar"), - Pair("Mistério", "misterio"), - Pair("Musical", "musical"), - Pair("Paródia", "parodia"), - Pair("Policial", "policial"), - Pair("Psicológico", "psicologico"), - Pair("Romance", "romance"), - Pair("Samurai", "samurai"), - Pair("Sci-Fi", "sci-fi"), - Pair("Seinen", "seinen"), - Pair("Shoujo", "shoujo"), - Pair("Shoujo-Ai", "shoujo-ai"), - Pair("Shounen", "shounen"), - Pair("Shounen-Ai", "shounen-ai"), - Pair("Slice of Life", "slice-of-life"), - Pair("Sobrenatural", "sobrenatural"), - Pair("Super Poderes", "super-poderes"), - Pair("Suspense", "suspense"), - Pair("Terror", "terror"), - Pair("Thriller", "thriller"), - Pair("Tragédia", "tragedia"), - Pair("Vampiros", "vampiros"), - Pair("Vanguarda", "vanguarda"), - Pair("Vida Escolar", "vida-escolar"), - Pair("Vida de trabalho", "vida-de-trabalho"), - Pair("Yaoi", "yaoi"), - Pair("Yuri", "yuri"), - ) -} diff --git a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVUrlActivity.kt b/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVUrlActivity.kt deleted file mode 100644 index d8c55289fc..0000000000 --- a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVUrlActivity.kt +++ /dev/null @@ -1,43 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.pt.animesvision - -import android.app.Activity -import android.content.ActivityNotFoundException -import android.content.Intent -import android.os.Bundle -import android.util.Log -import kotlin.system.exitProcess - -/** - * Springboard that accepts https://animes.vision// intents - * and redirects them to the main Aniyomi process. - */ -class AVUrlActivity : Activity() { - - private val tag = "AVUrlActivity" - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - val pathSegments = intent?.data?.pathSegments - if (pathSegments != null && pathSegments.size > 1) { - val type = pathSegments[0] - val item = pathSegments[1] - val searchQuery = "$type/$item" - val mainIntent = Intent().apply { - action = "eu.kanade.tachiyomi.ANIMESEARCH" - putExtra("query", "${AnimesVision.PREFIX_SEARCH}$searchQuery") - putExtra("filter", packageName) - } - - try { - startActivity(mainIntent) - } catch (e: ActivityNotFoundException) { - Log.e(tag, e.toString()) - } - } else { - Log.e(tag, "could not parse uri from intent $intent") - } - - finish() - exitProcess(0) - } -} diff --git a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AnimesVision.kt b/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AnimesVision.kt deleted file mode 100644 index 23a6b19a15..0000000000 --- a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AnimesVision.kt +++ /dev/null @@ -1,281 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.pt.animesvision - -import android.app.Application -import androidx.preference.ListPreference -import androidx.preference.PreferenceScreen -import eu.kanade.tachiyomi.animeextension.pt.animesvision.extractors.AnimesVisionExtractor -import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource -import eu.kanade.tachiyomi.animesource.model.AnimeFilterList -import eu.kanade.tachiyomi.animesource.model.AnimesPage -import eu.kanade.tachiyomi.animesource.model.SAnime -import eu.kanade.tachiyomi.animesource.model.SEpisode -import eu.kanade.tachiyomi.animesource.model.Video -import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.awaitSuccess -import eu.kanade.tachiyomi.util.asJsoup -import okhttp3.HttpUrl.Companion.toHttpUrl -import okhttp3.Interceptor -import okhttp3.Request -import okhttp3.Response -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get -import java.io.IOException - -class AnimesVision : ConfigurableAnimeSource, ParsedAnimeHttpSource() { - - override val name = "AnimesVision" - - override val baseUrl = "https://animes.vision" - - override val lang = "pt-BR" - - override val supportsLatest = true - - override val client = network.client.newBuilder() - .addInterceptor(::loginInterceptor) - .build() - - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } - - override fun headersBuilder() = super.headersBuilder() - .add("Referer", baseUrl) - .add("Accept-Language", ACCEPT_LANGUAGE) - - // ============================== Popular =============================== - private fun nextPageSelector() = "ul.pagination li.page-item:contains(›):not(.disabled)" - override fun popularAnimeRequest(page: Int) = GET(baseUrl, headers) - override fun popularAnimeSelector() = "div#anime-trending div.item > a.film-poster" - - override fun popularAnimeFromElement(element: Element) = SAnime.create().apply { - val img = element.selectFirst("img")!! - setUrlWithoutDomain(element.attr("href")) - title = img.attr("title") - thumbnail_url = img.attr("src") - } - - override fun popularAnimeNextPageSelector() = null - - // =============================== Latest =============================== - override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/lancamentos?page=$page") - override fun latestUpdatesSelector() = episodeListSelector() - - override fun latestUpdatesFromElement(element: Element) = SAnime.create().apply { - setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) - title = element.selectFirst("h3")!!.text() - thumbnail_url = element.selectFirst("img")?.attr("src") - } - - override fun latestUpdatesNextPageSelector() = nextPageSelector() - - // =============================== Search =============================== - override suspend fun getSearchAnime(page: Int, query: String, filters: AnimeFilterList): AnimesPage { - return if (query.startsWith(PREFIX_SEARCH)) { - val path = query.removePrefix(PREFIX_SEARCH) - client.newCall(GET("$baseUrl/$path")) - .awaitSuccess() - .use(::searchAnimeByPathParse) - } else { - super.getSearchAnime(page, query, filters) - } - } - - private fun searchAnimeByPathParse(response: Response): AnimesPage { - val details = animeDetailsParse(response) - return AnimesPage(listOf(details), false) - } - - override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { - val params = AVFilters.getSearchParameters(filters) - val url = "$baseUrl/search-anime".toHttpUrl().newBuilder() - .addQueryParameter("page", page.toString()) - .addQueryParameter("nome", query) - .addQueryParameter("tipo", params.type) - .addQueryParameter("idioma", params.language) - .addQueryParameter("ordenar", params.sort) - .addQueryParameter("ano_inicial", params.initial_year) - .addQueryParameter("ano_final", params.last_year) - .addQueryParameter("fansub", params.fansub) - .addQueryParameter("status", params.status) - .addQueryParameter("temporada", params.season) - .addQueryParameter("estudios", params.studio) - .addQueryParameter("produtores", params.producer) - .addQueryParameter("generos", params.genres) - .build() - - return GET(url, headers) - } - - override fun searchAnimeSelector() = "div.film_list-wrap div.film-poster" - - override fun searchAnimeFromElement(element: Element) = SAnime.create().apply { - val elementA = element.selectFirst("a")!! - title = elementA.attr("title") - setUrlWithoutDomain(elementA.attr("href")) - thumbnail_url = element.selectFirst("img")?.attr("data-src") - } - - override fun searchAnimeNextPageSelector() = nextPageSelector() - - // =========================== Anime Details ============================ - override fun animeDetailsParse(document: Document) = SAnime.create().apply { - val doc = getRealDoc(document) - setUrlWithoutDomain(doc.location()) - - val content = doc.selectFirst("div#ani_detail div.anis-content")!! - val detail = content.selectFirst("div.anisc-detail")!! - val infos = content.selectFirst("div.anisc-info")!! - - thumbnail_url = content.selectFirst("img")?.attr("src") - title = detail.selectFirst("h2.film-name")!!.text() - genre = infos.getInfo("Gêneros") - author = infos.getInfo("Produtores") - artist = infos.getInfo("Estúdios") - status = parseStatus(infos.getInfo("Status")) - - description = buildString { - appendLine(infos.getInfo("Sinopse")) - infos.getInfo("Inglês")?.also { append("\nTítulo em inglês: ", it) } - infos.getInfo("Japonês")?.also { append("\nTítulo em japonês: ", it) } - infos.getInfo("Foi ao ar em")?.also { append("\nFoi ao ar em: ", it) } - infos.getInfo("Temporada")?.also { append("\nTemporada: ", it) } - infos.getInfo("Duração")?.also { append("\nDuração: ", it) } - infos.getInfo("Fansub")?.also { append("\nFansub: ", it) } - } - } - - // ============================== Episodes ============================== - override fun episodeListSelector() = "div.container div.screen-items > div.item" - - override fun episodeListParse(response: Response): List { - var doc = getRealDoc(response.asJsoup()) - - return buildList { - do { - if (isNotEmpty()) { - val nextUrl = doc.selectFirst(nextPageSelector())!! - .selectFirst("a")!! - .attr("href") - doc = client.newCall(GET(nextUrl)).execute().asJsoup() - } - doc.select(episodeListSelector()) - .map(::episodeFromElement) - .also(::addAll) - } while (doc.selectFirst(nextPageSelector()) != null) - reverse() - } - } - - override fun episodeFromElement(element: Element) = SEpisode.create().apply { - setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) - val epName = element.selectFirst("h3")!!.text().trim() - name = epName - episode_number = epName.substringAfterLast(" ").toFloatOrNull() ?: 0F - } - - // ============================ Video Links ============================= - override fun videoListParse(response: Response): List