Compare commits
17 Commits
286f705c41
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 7c4e23e32c | |||
| d569623dfe | |||
| eccdd418b7 | |||
| 3a977688c8 | |||
|
|
a837c38732 | ||
| 2d8862c512 | |||
|
6375fb32a5
|
|||
| 7dd53baf06 | |||
| 33fab699d4 | |||
| ebacb533bc | |||
|
|
edbd229211 | ||
| fc304edc31 | |||
| 415aa098af | |||
| 95b56ecac6 | |||
|
|
1c49c2a299 | ||
| 6d3367c1cc | |||
| 037fab6409 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -49,3 +49,6 @@ lib/i18n/
|
||||
# NixOS
|
||||
.direnv
|
||||
.envrc
|
||||
|
||||
# Build artifacts
|
||||
release-*/
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
plugins {
|
||||
id "com.android.application"
|
||||
id "kotlin-android"
|
||||
id "dev.flutter.flutter-gradle-plugin"
|
||||
}
|
||||
|
||||
def localProperties = new Properties()
|
||||
def localPropertiesFile = rootProject.file('local.properties')
|
||||
if (localPropertiesFile.exists()) {
|
||||
@@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) {
|
||||
}
|
||||
}
|
||||
|
||||
def flutterRoot = localProperties.getProperty('flutter.sdk')
|
||||
if (flutterRoot == null) {
|
||||
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
|
||||
}
|
||||
|
||||
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
||||
if (flutterVersionCode == null) {
|
||||
flutterVersionCode = '1'
|
||||
@@ -21,12 +22,8 @@ if (flutterVersionName == null) {
|
||||
flutterVersionName = '1.0'
|
||||
}
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion 33
|
||||
compileSdkVersion 34
|
||||
ndkVersion flutter.ndkVersion
|
||||
|
||||
compileOptions {
|
||||
@@ -43,7 +40,6 @@ android {
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||
applicationId "me.polynom.anitrack"
|
||||
// You can update the following values to match your application needs.
|
||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
|
||||
@@ -55,9 +51,7 @@ android {
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
// TODO: Add your own signing config for the release build.
|
||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
||||
signingConfig signingConfigs.debug
|
||||
signingConfig null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -65,7 +59,3 @@ android {
|
||||
flutter {
|
||||
source '../..'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
}
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
<meta-data
|
||||
android:name="flutterEmbedding"
|
||||
android:value="2" />
|
||||
|
||||
<meta-data
|
||||
android:name="io.flutter.embedding.android.EnableImpeller"
|
||||
android:value="true" />
|
||||
</application>
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
@@ -1,16 +1,3 @@
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.6.10'
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.1.2'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
@@ -26,6 +13,6 @@ subprojects {
|
||||
project.evaluationDependsOn(':app')
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
tasks.register("clean", Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
|
||||
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
|
||||
|
||||
@@ -1,11 +1,25 @@
|
||||
include ':app'
|
||||
pluginManagement {
|
||||
def flutterSdkPath = {
|
||||
def properties = new Properties()
|
||||
file("local.properties").withInputStream { properties.load(it) }
|
||||
def flutterSdkPath = properties.getProperty("flutter.sdk")
|
||||
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
|
||||
return flutterSdkPath
|
||||
}()
|
||||
|
||||
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
|
||||
def properties = new Properties()
|
||||
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
|
||||
|
||||
assert localPropertiesFile.exists()
|
||||
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
}
|
||||
}
|
||||
|
||||
def flutterSdkPath = properties.getProperty("flutter.sdk")
|
||||
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
|
||||
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
|
||||
plugins {
|
||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||
id "com.android.application" version "7.3.0" apply false
|
||||
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
|
||||
}
|
||||
|
||||
include ":app"
|
||||
|
||||
@@ -9,15 +9,26 @@
|
||||
"title": "Einstellungen",
|
||||
"invalidAnimeListBody": "Die ausgewählte Datei ist keine gültige MAL Animeliste, da die Dateiendung nicht \".xml.gz\" ist.",
|
||||
"invalidMangaListBody": "Die ausgewählte Datei ist keine MAL Mangaliste, da die Dateiendung nicht \".xml.gz\" ist.",
|
||||
"importIndicator": "$current von $total"
|
||||
"importIndicator": "$current von $total",
|
||||
"importData": "Daten importieren",
|
||||
"dataExportSuccess": "Daten erfolgreich exportiert",
|
||||
"dataImportSuccess": "Daten erfolgreich importiert",
|
||||
"importInvalidData": {
|
||||
"content": "Die ausgewählte Datei ist nicht ein AniTrack-Datenexport, da die Dateiendung \".json.gz\" fehlt.",
|
||||
"title": "Ungültige AniTrack-Daten"
|
||||
},
|
||||
"exportData": "Daten exportieren"
|
||||
},
|
||||
"about": {
|
||||
"title": "Über",
|
||||
"source": "Quellcode"
|
||||
"source": "Quellcode",
|
||||
"license": "Lizenz",
|
||||
"close": "Schließen"
|
||||
},
|
||||
"content": {
|
||||
"anime": "Anime",
|
||||
"manga": "Manga"
|
||||
"manga": "Manga",
|
||||
"list": "Liste"
|
||||
},
|
||||
"search": {
|
||||
"anime": "Animesuche",
|
||||
@@ -52,5 +63,18 @@
|
||||
},
|
||||
"tooltips": {
|
||||
"addNewItem": "Neuen Eintrag erstellen"
|
||||
},
|
||||
"calendar": {
|
||||
"calendar": "Kalender",
|
||||
"days": {
|
||||
"monday": "Montag",
|
||||
"tuesday": "Dienstag",
|
||||
"wednesday": "Mittwoch",
|
||||
"thursday": "Donnerstag",
|
||||
"friday": "Freitag",
|
||||
"saturday": "Samstag",
|
||||
"sunday": "Sonntag",
|
||||
"unknown": "Unbekannt"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
},
|
||||
"about": {
|
||||
"title": "About",
|
||||
"source": "Source code"
|
||||
"source": "Source code",
|
||||
"license": "License",
|
||||
"close": "Close"
|
||||
},
|
||||
"tooltips": {
|
||||
"addNewItem": "Add new item"
|
||||
|
||||
@@ -4,23 +4,34 @@
|
||||
"importAnime": "Animelijst importeren",
|
||||
"importAnimeDesc": "Importeer een animelijst van MyAnimeList.",
|
||||
"invalidAnimeListTitle": "Ongeldige animelijst",
|
||||
"invalidAnimeListBody": "Het gekozen bestand is geen MAL-lijst; het achtervoegsel ‘.xml.gz’ ontbreekt.",
|
||||
"invalidAnimeListBody": "Het gekozen bestand is geen MAL-lijst: de ‘.xml.gz’-extensie ontbreekt.",
|
||||
"importManga": "Mangalijst importeren",
|
||||
"importMangaDesc": "Importeer een mangalijst van MyAnimeList.",
|
||||
"invalidMangaListTitle": "Ongeldige mangalijst",
|
||||
"invalidMangaListBody": "Het gekozen bestand is geen MAL-lijst; het achtervoegsel ‘.xml.gz’ ontbreekt.",
|
||||
"importIndicator": "$current van $total"
|
||||
"importIndicator": "$current van $total",
|
||||
"exportData": "Gegevens exporteren",
|
||||
"importData": "Gegevens importeren",
|
||||
"dataExportSuccess": "De gegevens zijn geëxporteerd",
|
||||
"dataImportSuccess": "De gegevens zijn geïmporteerd",
|
||||
"importInvalidData": {
|
||||
"title": "De AniTrack-gegevens zijn ongeldig",
|
||||
"content": "Het gekozen bestand is geen AniTrack-gegevensexport: de ‘.json.gz’-extensie ontbreekt."
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
"title": "Over",
|
||||
"source": "Broncode"
|
||||
"source": "Broncode",
|
||||
"close": "Sluiten",
|
||||
"license": "Licentie"
|
||||
},
|
||||
"tooltips": {
|
||||
"addNewItem": "Item toevoegen"
|
||||
},
|
||||
"content": {
|
||||
"anime": "Anime",
|
||||
"manga": "Manga"
|
||||
"manga": "Manga",
|
||||
"list": "Lijst"
|
||||
},
|
||||
"search": {
|
||||
"anime": "Zoeken naar anime",
|
||||
@@ -52,5 +63,18 @@
|
||||
"dropped": "Gestopt",
|
||||
"paused": "Onderbroken",
|
||||
"all": "Alles"
|
||||
},
|
||||
"calendar": {
|
||||
"calendar": "Kalender",
|
||||
"days": {
|
||||
"monday": "maandag",
|
||||
"tuesday": "dinsdag",
|
||||
"wednesday": "woensdag",
|
||||
"thursday": "donderdag",
|
||||
"friday": "vrijdag",
|
||||
"saturday": "zaterdag",
|
||||
"sunday": "zondag",
|
||||
"unknown": "Onbekend"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
80
assets/i18n/strings_zh_Hans.i18n.json
Normal file
80
assets/i18n/strings_zh_Hans.i18n.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"settings": {
|
||||
"importAnime": "导入动画列表",
|
||||
"title": "设置",
|
||||
"importManga": "导入漫画列表",
|
||||
"importMangaDesc": "导入从 MyAnimeList 导出的漫画列表。",
|
||||
"invalidMangaListTitle": "漫画列表无效",
|
||||
"importIndicator": "$current / $total",
|
||||
"exportData": "导出数据",
|
||||
"importData": "导入数据",
|
||||
"dataExportSuccess": "数据已成功导出",
|
||||
"dataImportSuccess": "数据已成功导入",
|
||||
"importInvalidData": {
|
||||
"title": "AniTrack 数据无效",
|
||||
"content": "所选文件不是 AniTrack 导出的数据。它缺少“.json.gz”后缀。"
|
||||
},
|
||||
"importAnimeDesc": "导入从 MyAnimeList 导出的动画列表。",
|
||||
"invalidAnimeListTitle": "动画列表无效",
|
||||
"invalidAnimeListBody": "所选文件不是 MyAnimeList 动画列表。它缺少“.xml.gz”后缀。",
|
||||
"invalidMangaListBody": "所选文件不是 MyAnimeList 漫画列表。它缺少“.xml.gz”后缀。"
|
||||
},
|
||||
"details": {
|
||||
"removeTitle": "移除 $title?",
|
||||
"title": "详情",
|
||||
"removeBody": "是否确定要从列表中移除“$title”?",
|
||||
"removeButton": "移除",
|
||||
"cancelButton": "取消",
|
||||
"watchState": "观看状态",
|
||||
"episodes": "剧集",
|
||||
"chapters": "章节",
|
||||
"volumesOwned": "拥有的卷",
|
||||
"readState": "阅读状态"
|
||||
},
|
||||
"calendar": {
|
||||
"days": {
|
||||
"monday": "星期一",
|
||||
"tuesday": "星期二",
|
||||
"wednesday": "星期三",
|
||||
"thursday": "星期四",
|
||||
"friday": "星期五",
|
||||
"saturday": "星期六",
|
||||
"sunday": "星期日",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"calendar": "日历"
|
||||
},
|
||||
"data": {
|
||||
"planned": {
|
||||
"manga": "计划阅读",
|
||||
"anime": "计划观看"
|
||||
},
|
||||
"completed": "已完成",
|
||||
"paused": "已暂停",
|
||||
"all": "全部",
|
||||
"ongoing": {
|
||||
"anime": "正在观看",
|
||||
"manga": "正在阅读"
|
||||
},
|
||||
"dropped": "已丢弃"
|
||||
},
|
||||
"about": {
|
||||
"title": "关于",
|
||||
"source": "源代码",
|
||||
"license": "许可证",
|
||||
"close": "关闭"
|
||||
},
|
||||
"tooltips": {
|
||||
"addNewItem": "添加新项目"
|
||||
},
|
||||
"content": {
|
||||
"list": "列表",
|
||||
"anime": "动画",
|
||||
"manga": "漫画"
|
||||
},
|
||||
"search": {
|
||||
"anime": "动画搜索",
|
||||
"manga": "漫画搜索",
|
||||
"query": "搜索查询"
|
||||
}
|
||||
}
|
||||
189
flake.lock
generated
189
flake.lock
generated
@@ -1,6 +1,100 @@
|
||||
{
|
||||
"nodes": {
|
||||
"android-nixpkgs": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689798050,
|
||||
"narHash": "sha256-ZyFPra7N0MF803o55dYQQyX9b/BmXr6QTCyN7slRThY=",
|
||||
"owner": "tadfisher",
|
||||
"repo": "android-nixpkgs",
|
||||
"rev": "9aa0e2990da86de8ca203af313668851dcb9ea6e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tadfisher",
|
||||
"repo": "android-nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"bab": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689978337,
|
||||
"narHash": "sha256-d4Rn+YtBrs6NpQobODZYUeVqsTS+WCiGih+WOt+gazA=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "92687b6513492c6fdc839f313d14da632c9d2767",
|
||||
"revCount": 1,
|
||||
"type": "git",
|
||||
"url": "https://codeberg.org/PapaTutuWawa/bits-and-bytes.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://codeberg.org/PapaTutuWawa/bits-and-bytes.git"
|
||||
}
|
||||
},
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["android-nixpkgs", "nixpkgs"],
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688380630,
|
||||
"narHash": "sha256-8ilApWVb1mAi4439zS3iFeIT0ODlbrifm/fegWwgHjA=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "f9238ec3d75cefbb2b42a44948c4e8fb1ae9a205",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689068808,
|
||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689068808,
|
||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
@@ -17,24 +111,103 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1676076353,
|
||||
"narHash": "sha256-mdUtE8Tp40cZETwcq5tCwwLqkJVV1ULJQ5GKRtbshag=",
|
||||
"owner": "AtaraxiaSjel",
|
||||
"lastModified": 1689679375,
|
||||
"narHash": "sha256-LHUC52WvyVDi9PwyL1QCpaxYWBqp4ir4iL6zgOkmcb8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5deb99bdccbbb97e7562dee4ba8a3ee3021688e6",
|
||||
"rev": "684c17c429c42515bafb3ad775d2a710947f3d67",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AtaraxiaSjel",
|
||||
"ref": "update/flutter",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689935543,
|
||||
"narHash": "sha256-6GQ9ib4dA/r1leC5VUpsBo0BmDvNxLjKrX1iyL+h8mc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e43e2448161c0a2c4928abec4e16eae1516571bc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1727586919,
|
||||
"narHash": "sha256-e/YXG0tO5GWHDS8QQauj8aj4HhXEm602q9swrrlTlKQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2dcd9c55e8914017226f5948ac22c53872a13ee2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"android-nixpkgs": "android-nixpkgs",
|
||||
"bab": "bab",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
85
flake.nix
85
flake.nix
@@ -1,11 +1,13 @@
|
||||
{
|
||||
description = "AniTrack";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:AtaraxiaSjel/nixpkgs/update/flutter";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
|
||||
bab.url = "git+https://codeberg.org/PapaTutuWawa/bits-and-bytes.git";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let
|
||||
outputs = { self, nixpkgs, android-nixpkgs, flake-utils, bab }: flake-utils.lib.eachDefaultSystem (system: let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
@@ -13,36 +15,73 @@
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
android = pkgs.androidenv.composeAndroidPackages {
|
||||
# TODO: Find a way to pin these
|
||||
#toolsVersion = "26.1.1";
|
||||
#platformToolsVersion = "31.0.3";
|
||||
#buildToolsVersions = [ "31.0.0" ];
|
||||
#includeEmulator = true;
|
||||
#emulatorVersion = "30.6.3";
|
||||
platformVersions = [ "28" ];
|
||||
includeSources = false;
|
||||
includeSystemImages = true;
|
||||
systemImageTypes = [ "default" ];
|
||||
abiVersions = [ "x86_64" ];
|
||||
includeNDK = false;
|
||||
useGoogleAPIs = false;
|
||||
useGoogleTVAddOns = false;
|
||||
};
|
||||
lib = pkgs.lib;
|
||||
babPkgs = bab.packages."${system}";
|
||||
pinnedJDK = pkgs.jdk17;
|
||||
|
||||
pythonEnv = pkgs.python3.withPackages (ps: with ps; [
|
||||
requests pyyaml # For the build scripts
|
||||
# Everything to make Flutter happy
|
||||
sdk = android-nixpkgs.sdk.${system} (sdkPkgs: with sdkPkgs; [
|
||||
cmdline-tools-latest
|
||||
build-tools-30-0-3
|
||||
build-tools-33-0-2
|
||||
build-tools-34-0-0
|
||||
platform-tools
|
||||
emulator
|
||||
patcher-v4
|
||||
#platforms-android-30
|
||||
platforms-android-31
|
||||
platforms-android-33
|
||||
platforms-android-34
|
||||
]);
|
||||
in {
|
||||
devShell = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
flutter pinnedJDK android.platform-tools dart scrcpy # Flutter/Android
|
||||
gitlint jq # Code hygiene
|
||||
ripgrep # General utilities
|
||||
# Android
|
||||
sdk
|
||||
|
||||
# Flutter
|
||||
flutter dart scrcpy pinnedJDK
|
||||
|
||||
# Code hygiene
|
||||
gitlint
|
||||
];
|
||||
|
||||
JAVA_HOME = pinnedJDK;
|
||||
ANDROID_HOME = "${sdk}/share/android-sdk";
|
||||
ANDROID_SDK_ROOT = "${sdk}/share/android-sdk";
|
||||
|
||||
# Fix an issue with Flutter using an older version of aapt2, which does not know
|
||||
# an used parameter.
|
||||
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${sdk}/share/android-sdk/build-tools/34.0.0/aapt2";
|
||||
};
|
||||
|
||||
apps = let
|
||||
providerArg = pkgs.writeText "provider-arg.cfg" ''
|
||||
name = OpenSC-PKCS11
|
||||
description = SunPKCS11 via OpenSC
|
||||
library = ${pkgs.opensc}/lib/opensc-pkcs11.so
|
||||
slotListIndex = 0
|
||||
'';
|
||||
mkBuildScript = skipBuild: pkgs.writeShellScript "build-anitrack.sh" ''
|
||||
${babPkgs.flutter-build}/bin/flutter-build \
|
||||
--name AniTrack \
|
||||
--not-signed \
|
||||
--zipalign ${sdk}/share/android-sdk/build-tools/34.0.0/zipalign \
|
||||
--apksigner ${sdk}/share/android-sdk/build-tools/34.0.0/apksigner \
|
||||
--provider-config ${providerArg} ${lib.optionalString skipBuild "--skip-build"}
|
||||
'';
|
||||
in {
|
||||
# Skip the build and just sign
|
||||
onlySign = {
|
||||
type = "app";
|
||||
program = "${mkBuildScript true}";
|
||||
};
|
||||
|
||||
# Build everything and sign
|
||||
build = {
|
||||
type = "app";
|
||||
program = "${mkBuildScript false}";
|
||||
};
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'anime.dart';
|
||||
|
||||
@@ -12,7 +12,7 @@ part of 'anime.dart';
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
|
||||
|
||||
AnimeTrackingData _$AnimeTrackingDataFromJson(Map<String, dynamic> json) {
|
||||
return _AnimeTrackingData.fromJson(json);
|
||||
@@ -46,8 +46,12 @@ mixin _$AnimeTrackingData {
|
||||
/// The day of the week the anime is airing
|
||||
String? get broadcastDay => throw _privateConstructorUsedError;
|
||||
|
||||
/// Serializes this AnimeTrackingData to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
@JsonKey(ignore: true)
|
||||
|
||||
/// Create a copy of AnimeTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$AnimeTrackingDataCopyWith<AnimeTrackingData> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
@@ -56,7 +60,8 @@ mixin _$AnimeTrackingData {
|
||||
abstract class $AnimeTrackingDataCopyWith<$Res> {
|
||||
factory $AnimeTrackingDataCopyWith(
|
||||
AnimeTrackingData value, $Res Function(AnimeTrackingData) then) =
|
||||
_$AnimeTrackingDataCopyWithImpl<$Res>;
|
||||
_$AnimeTrackingDataCopyWithImpl<$Res, AnimeTrackingData>;
|
||||
@useResult
|
||||
$Res call(
|
||||
{String id,
|
||||
@MediumTrackingStateConverter() MediumTrackingState state,
|
||||
@@ -69,69 +74,74 @@ abstract class $AnimeTrackingDataCopyWith<$Res> {
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$AnimeTrackingDataCopyWithImpl<$Res>
|
||||
class _$AnimeTrackingDataCopyWithImpl<$Res, $Val extends AnimeTrackingData>
|
||||
implements $AnimeTrackingDataCopyWith<$Res> {
|
||||
_$AnimeTrackingDataCopyWithImpl(this._value, this._then);
|
||||
|
||||
final AnimeTrackingData _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function(AnimeTrackingData) _then;
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of AnimeTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? id = freezed,
|
||||
Object? state = freezed,
|
||||
Object? title = freezed,
|
||||
Object? episodesWatched = freezed,
|
||||
Object? id = null,
|
||||
Object? state = null,
|
||||
Object? title = null,
|
||||
Object? episodesWatched = null,
|
||||
Object? episodesTotal = freezed,
|
||||
Object? thumbnailUrl = freezed,
|
||||
Object? airing = freezed,
|
||||
Object? thumbnailUrl = null,
|
||||
Object? airing = null,
|
||||
Object? broadcastDay = freezed,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
id: id == freezed
|
||||
id: null == id
|
||||
? _value.id
|
||||
: id // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
state: state == freezed
|
||||
state: null == state
|
||||
? _value.state
|
||||
: state // ignore: cast_nullable_to_non_nullable
|
||||
as MediumTrackingState,
|
||||
title: title == freezed
|
||||
title: null == title
|
||||
? _value.title
|
||||
: title // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
episodesWatched: episodesWatched == freezed
|
||||
episodesWatched: null == episodesWatched
|
||||
? _value.episodesWatched
|
||||
: episodesWatched // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
episodesTotal: episodesTotal == freezed
|
||||
episodesTotal: freezed == episodesTotal
|
||||
? _value.episodesTotal
|
||||
: episodesTotal // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
thumbnailUrl: thumbnailUrl == freezed
|
||||
thumbnailUrl: null == thumbnailUrl
|
||||
? _value.thumbnailUrl
|
||||
: thumbnailUrl // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
airing: airing == freezed
|
||||
airing: null == airing
|
||||
? _value.airing
|
||||
: airing // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
broadcastDay: broadcastDay == freezed
|
||||
broadcastDay: freezed == broadcastDay
|
||||
? _value.broadcastDay
|
||||
: broadcastDay // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
));
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$_AnimeTrackingDataCopyWith<$Res>
|
||||
abstract class _$$AnimeTrackingDataImplCopyWith<$Res>
|
||||
implements $AnimeTrackingDataCopyWith<$Res> {
|
||||
factory _$$_AnimeTrackingDataCopyWith(_$_AnimeTrackingData value,
|
||||
$Res Function(_$_AnimeTrackingData) then) =
|
||||
__$$_AnimeTrackingDataCopyWithImpl<$Res>;
|
||||
factory _$$AnimeTrackingDataImplCopyWith(_$AnimeTrackingDataImpl value,
|
||||
$Res Function(_$AnimeTrackingDataImpl) then) =
|
||||
__$$AnimeTrackingDataImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call(
|
||||
{String id,
|
||||
@MediumTrackingStateConverter() MediumTrackingState state,
|
||||
@@ -144,57 +154,57 @@ abstract class _$$_AnimeTrackingDataCopyWith<$Res>
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$_AnimeTrackingDataCopyWithImpl<$Res>
|
||||
extends _$AnimeTrackingDataCopyWithImpl<$Res>
|
||||
implements _$$_AnimeTrackingDataCopyWith<$Res> {
|
||||
__$$_AnimeTrackingDataCopyWithImpl(
|
||||
_$_AnimeTrackingData _value, $Res Function(_$_AnimeTrackingData) _then)
|
||||
: super(_value, (v) => _then(v as _$_AnimeTrackingData));
|
||||
|
||||
@override
|
||||
_$_AnimeTrackingData get _value => super._value as _$_AnimeTrackingData;
|
||||
class __$$AnimeTrackingDataImplCopyWithImpl<$Res>
|
||||
extends _$AnimeTrackingDataCopyWithImpl<$Res, _$AnimeTrackingDataImpl>
|
||||
implements _$$AnimeTrackingDataImplCopyWith<$Res> {
|
||||
__$$AnimeTrackingDataImplCopyWithImpl(_$AnimeTrackingDataImpl _value,
|
||||
$Res Function(_$AnimeTrackingDataImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of AnimeTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? id = freezed,
|
||||
Object? state = freezed,
|
||||
Object? title = freezed,
|
||||
Object? episodesWatched = freezed,
|
||||
Object? id = null,
|
||||
Object? state = null,
|
||||
Object? title = null,
|
||||
Object? episodesWatched = null,
|
||||
Object? episodesTotal = freezed,
|
||||
Object? thumbnailUrl = freezed,
|
||||
Object? airing = freezed,
|
||||
Object? thumbnailUrl = null,
|
||||
Object? airing = null,
|
||||
Object? broadcastDay = freezed,
|
||||
}) {
|
||||
return _then(_$_AnimeTrackingData(
|
||||
id == freezed
|
||||
return _then(_$AnimeTrackingDataImpl(
|
||||
null == id
|
||||
? _value.id
|
||||
: id // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
state == freezed
|
||||
null == state
|
||||
? _value.state
|
||||
: state // ignore: cast_nullable_to_non_nullable
|
||||
as MediumTrackingState,
|
||||
title == freezed
|
||||
null == title
|
||||
? _value.title
|
||||
: title // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
episodesWatched == freezed
|
||||
null == episodesWatched
|
||||
? _value.episodesWatched
|
||||
: episodesWatched // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
episodesTotal == freezed
|
||||
freezed == episodesTotal
|
||||
? _value.episodesTotal
|
||||
: episodesTotal // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
thumbnailUrl == freezed
|
||||
null == thumbnailUrl
|
||||
? _value.thumbnailUrl
|
||||
: thumbnailUrl // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
airing == freezed
|
||||
null == airing
|
||||
? _value.airing
|
||||
: airing // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
broadcastDay == freezed
|
||||
freezed == broadcastDay
|
||||
? _value.broadcastDay
|
||||
: broadcastDay // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
@@ -204,8 +214,8 @@ class __$$_AnimeTrackingDataCopyWithImpl<$Res>
|
||||
|
||||
/// @nodoc
|
||||
@JsonSerializable()
|
||||
class _$_AnimeTrackingData implements _AnimeTrackingData {
|
||||
_$_AnimeTrackingData(
|
||||
class _$AnimeTrackingDataImpl implements _AnimeTrackingData {
|
||||
_$AnimeTrackingDataImpl(
|
||||
this.id,
|
||||
@MediumTrackingStateConverter() this.state,
|
||||
this.title,
|
||||
@@ -215,8 +225,8 @@ class _$_AnimeTrackingData implements _AnimeTrackingData {
|
||||
@BoolConverter() this.airing,
|
||||
this.broadcastDay);
|
||||
|
||||
factory _$_AnimeTrackingData.fromJson(Map<String, dynamic> json) =>
|
||||
_$$_AnimeTrackingDataFromJson(json);
|
||||
factory _$AnimeTrackingDataImpl.fromJson(Map<String, dynamic> json) =>
|
||||
_$$AnimeTrackingDataImplFromJson(json);
|
||||
|
||||
/// The ID of the anime
|
||||
@override
|
||||
@@ -258,46 +268,41 @@ class _$_AnimeTrackingData implements _AnimeTrackingData {
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$_AnimeTrackingData &&
|
||||
const DeepCollectionEquality().equals(other.id, id) &&
|
||||
const DeepCollectionEquality().equals(other.state, state) &&
|
||||
const DeepCollectionEquality().equals(other.title, title) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.episodesWatched, episodesWatched) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.episodesTotal, episodesTotal) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.thumbnailUrl, thumbnailUrl) &&
|
||||
const DeepCollectionEquality().equals(other.airing, airing) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.broadcastDay, broadcastDay));
|
||||
other is _$AnimeTrackingDataImpl &&
|
||||
(identical(other.id, id) || other.id == id) &&
|
||||
(identical(other.state, state) || other.state == state) &&
|
||||
(identical(other.title, title) || other.title == title) &&
|
||||
(identical(other.episodesWatched, episodesWatched) ||
|
||||
other.episodesWatched == episodesWatched) &&
|
||||
(identical(other.episodesTotal, episodesTotal) ||
|
||||
other.episodesTotal == episodesTotal) &&
|
||||
(identical(other.thumbnailUrl, thumbnailUrl) ||
|
||||
other.thumbnailUrl == thumbnailUrl) &&
|
||||
(identical(other.airing, airing) || other.airing == airing) &&
|
||||
(identical(other.broadcastDay, broadcastDay) ||
|
||||
other.broadcastDay == broadcastDay));
|
||||
}
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(id),
|
||||
const DeepCollectionEquality().hash(state),
|
||||
const DeepCollectionEquality().hash(title),
|
||||
const DeepCollectionEquality().hash(episodesWatched),
|
||||
const DeepCollectionEquality().hash(episodesTotal),
|
||||
const DeepCollectionEquality().hash(thumbnailUrl),
|
||||
const DeepCollectionEquality().hash(airing),
|
||||
const DeepCollectionEquality().hash(broadcastDay));
|
||||
int get hashCode => Object.hash(runtimeType, id, state, title,
|
||||
episodesWatched, episodesTotal, thumbnailUrl, airing, broadcastDay);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of AnimeTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
_$$_AnimeTrackingDataCopyWith<_$_AnimeTrackingData> get copyWith =>
|
||||
__$$_AnimeTrackingDataCopyWithImpl<_$_AnimeTrackingData>(
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$AnimeTrackingDataImplCopyWith<_$AnimeTrackingDataImpl> get copyWith =>
|
||||
__$$AnimeTrackingDataImplCopyWithImpl<_$AnimeTrackingDataImpl>(
|
||||
this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$_AnimeTrackingDataToJson(
|
||||
return _$$AnimeTrackingDataImplToJson(
|
||||
this,
|
||||
);
|
||||
}
|
||||
@@ -312,47 +317,49 @@ abstract class _AnimeTrackingData implements AnimeTrackingData {
|
||||
final int? episodesTotal,
|
||||
final String thumbnailUrl,
|
||||
@BoolConverter() final bool airing,
|
||||
final String? broadcastDay) = _$_AnimeTrackingData;
|
||||
final String? broadcastDay) = _$AnimeTrackingDataImpl;
|
||||
|
||||
factory _AnimeTrackingData.fromJson(Map<String, dynamic> json) =
|
||||
_$_AnimeTrackingData.fromJson;
|
||||
|
||||
@override
|
||||
_$AnimeTrackingDataImpl.fromJson;
|
||||
|
||||
/// The ID of the anime
|
||||
String get id;
|
||||
@override
|
||||
String get id;
|
||||
|
||||
/// The state of the anime
|
||||
@override
|
||||
@MediumTrackingStateConverter()
|
||||
MediumTrackingState get state;
|
||||
@override
|
||||
|
||||
/// The title of the anime
|
||||
String get title;
|
||||
@override
|
||||
String get title;
|
||||
|
||||
/// Episodes in total.
|
||||
int get episodesWatched;
|
||||
@override
|
||||
int get episodesWatched;
|
||||
|
||||
/// Episodes watched.
|
||||
int? get episodesTotal;
|
||||
@override
|
||||
int? get episodesTotal;
|
||||
|
||||
/// URL to the thumbnail/cover art for the anime.
|
||||
String get thumbnailUrl;
|
||||
@override
|
||||
String get thumbnailUrl;
|
||||
|
||||
/// Flag whether the anime is airing
|
||||
@override
|
||||
@BoolConverter()
|
||||
bool get airing;
|
||||
@override
|
||||
|
||||
/// The day of the week the anime is airing
|
||||
String? get broadcastDay;
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$_AnimeTrackingDataCopyWith<_$_AnimeTrackingData> get copyWith =>
|
||||
String? get broadcastDay;
|
||||
|
||||
/// Create a copy of AnimeTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$AnimeTrackingDataImplCopyWith<_$AnimeTrackingDataImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
@@ -6,20 +6,22 @@ part of 'anime.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
_$_AnimeTrackingData _$$_AnimeTrackingDataFromJson(Map<String, dynamic> json) =>
|
||||
_$_AnimeTrackingData(
|
||||
_$AnimeTrackingDataImpl _$$AnimeTrackingDataImplFromJson(
|
||||
Map<String, dynamic> json) =>
|
||||
_$AnimeTrackingDataImpl(
|
||||
json['id'] as String,
|
||||
const MediumTrackingStateConverter().fromJson(json['state'] as int),
|
||||
const MediumTrackingStateConverter()
|
||||
.fromJson((json['state'] as num).toInt()),
|
||||
json['title'] as String,
|
||||
json['episodesWatched'] as int,
|
||||
json['episodesTotal'] as int?,
|
||||
(json['episodesWatched'] as num).toInt(),
|
||||
(json['episodesTotal'] as num?)?.toInt(),
|
||||
json['thumbnailUrl'] as String,
|
||||
const BoolConverter().fromJson(json['airing'] as int),
|
||||
const BoolConverter().fromJson((json['airing'] as num).toInt()),
|
||||
json['broadcastDay'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$_AnimeTrackingDataToJson(
|
||||
_$_AnimeTrackingData instance) =>
|
||||
Map<String, dynamic> _$$AnimeTrackingDataImplToJson(
|
||||
_$AnimeTrackingDataImpl instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'state': const MediumTrackingStateConverter().toJson(instance.state),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'manga.dart';
|
||||
|
||||
@@ -12,7 +12,7 @@ part of 'manga.dart';
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
|
||||
|
||||
MangaTrackingData _$MangaTrackingDataFromJson(Map<String, dynamic> json) {
|
||||
return _MangaTrackingData.fromJson(json);
|
||||
@@ -42,8 +42,12 @@ mixin _$MangaTrackingData {
|
||||
/// URL to the thumbnail/cover art for the manga.
|
||||
String get thumbnailUrl => throw _privateConstructorUsedError;
|
||||
|
||||
/// Serializes this MangaTrackingData to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
@JsonKey(ignore: true)
|
||||
|
||||
/// Create a copy of MangaTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$MangaTrackingDataCopyWith<MangaTrackingData> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
@@ -52,7 +56,8 @@ mixin _$MangaTrackingData {
|
||||
abstract class $MangaTrackingDataCopyWith<$Res> {
|
||||
factory $MangaTrackingDataCopyWith(
|
||||
MangaTrackingData value, $Res Function(MangaTrackingData) then) =
|
||||
_$MangaTrackingDataCopyWithImpl<$Res>;
|
||||
_$MangaTrackingDataCopyWithImpl<$Res, MangaTrackingData>;
|
||||
@useResult
|
||||
$Res call(
|
||||
{String id,
|
||||
@MediumTrackingStateConverter() MediumTrackingState state,
|
||||
@@ -64,64 +69,69 @@ abstract class $MangaTrackingDataCopyWith<$Res> {
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$MangaTrackingDataCopyWithImpl<$Res>
|
||||
class _$MangaTrackingDataCopyWithImpl<$Res, $Val extends MangaTrackingData>
|
||||
implements $MangaTrackingDataCopyWith<$Res> {
|
||||
_$MangaTrackingDataCopyWithImpl(this._value, this._then);
|
||||
|
||||
final MangaTrackingData _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function(MangaTrackingData) _then;
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of MangaTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? id = freezed,
|
||||
Object? state = freezed,
|
||||
Object? title = freezed,
|
||||
Object? chaptersRead = freezed,
|
||||
Object? volumesOwned = freezed,
|
||||
Object? id = null,
|
||||
Object? state = null,
|
||||
Object? title = null,
|
||||
Object? chaptersRead = null,
|
||||
Object? volumesOwned = null,
|
||||
Object? chaptersTotal = freezed,
|
||||
Object? thumbnailUrl = freezed,
|
||||
Object? thumbnailUrl = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
id: id == freezed
|
||||
id: null == id
|
||||
? _value.id
|
||||
: id // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
state: state == freezed
|
||||
state: null == state
|
||||
? _value.state
|
||||
: state // ignore: cast_nullable_to_non_nullable
|
||||
as MediumTrackingState,
|
||||
title: title == freezed
|
||||
title: null == title
|
||||
? _value.title
|
||||
: title // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
chaptersRead: chaptersRead == freezed
|
||||
chaptersRead: null == chaptersRead
|
||||
? _value.chaptersRead
|
||||
: chaptersRead // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
volumesOwned: volumesOwned == freezed
|
||||
volumesOwned: null == volumesOwned
|
||||
? _value.volumesOwned
|
||||
: volumesOwned // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
chaptersTotal: chaptersTotal == freezed
|
||||
chaptersTotal: freezed == chaptersTotal
|
||||
? _value.chaptersTotal
|
||||
: chaptersTotal // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
thumbnailUrl: thumbnailUrl == freezed
|
||||
thumbnailUrl: null == thumbnailUrl
|
||||
? _value.thumbnailUrl
|
||||
: thumbnailUrl // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
));
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$_MangaTrackingDataCopyWith<$Res>
|
||||
abstract class _$$MangaTrackingDataImplCopyWith<$Res>
|
||||
implements $MangaTrackingDataCopyWith<$Res> {
|
||||
factory _$$_MangaTrackingDataCopyWith(_$_MangaTrackingData value,
|
||||
$Res Function(_$_MangaTrackingData) then) =
|
||||
__$$_MangaTrackingDataCopyWithImpl<$Res>;
|
||||
factory _$$MangaTrackingDataImplCopyWith(_$MangaTrackingDataImpl value,
|
||||
$Res Function(_$MangaTrackingDataImpl) then) =
|
||||
__$$MangaTrackingDataImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call(
|
||||
{String id,
|
||||
@MediumTrackingStateConverter() MediumTrackingState state,
|
||||
@@ -133,52 +143,52 @@ abstract class _$$_MangaTrackingDataCopyWith<$Res>
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$_MangaTrackingDataCopyWithImpl<$Res>
|
||||
extends _$MangaTrackingDataCopyWithImpl<$Res>
|
||||
implements _$$_MangaTrackingDataCopyWith<$Res> {
|
||||
__$$_MangaTrackingDataCopyWithImpl(
|
||||
_$_MangaTrackingData _value, $Res Function(_$_MangaTrackingData) _then)
|
||||
: super(_value, (v) => _then(v as _$_MangaTrackingData));
|
||||
|
||||
@override
|
||||
_$_MangaTrackingData get _value => super._value as _$_MangaTrackingData;
|
||||
class __$$MangaTrackingDataImplCopyWithImpl<$Res>
|
||||
extends _$MangaTrackingDataCopyWithImpl<$Res, _$MangaTrackingDataImpl>
|
||||
implements _$$MangaTrackingDataImplCopyWith<$Res> {
|
||||
__$$MangaTrackingDataImplCopyWithImpl(_$MangaTrackingDataImpl _value,
|
||||
$Res Function(_$MangaTrackingDataImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of MangaTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? id = freezed,
|
||||
Object? state = freezed,
|
||||
Object? title = freezed,
|
||||
Object? chaptersRead = freezed,
|
||||
Object? volumesOwned = freezed,
|
||||
Object? id = null,
|
||||
Object? state = null,
|
||||
Object? title = null,
|
||||
Object? chaptersRead = null,
|
||||
Object? volumesOwned = null,
|
||||
Object? chaptersTotal = freezed,
|
||||
Object? thumbnailUrl = freezed,
|
||||
Object? thumbnailUrl = null,
|
||||
}) {
|
||||
return _then(_$_MangaTrackingData(
|
||||
id == freezed
|
||||
return _then(_$MangaTrackingDataImpl(
|
||||
null == id
|
||||
? _value.id
|
||||
: id // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
state == freezed
|
||||
null == state
|
||||
? _value.state
|
||||
: state // ignore: cast_nullable_to_non_nullable
|
||||
as MediumTrackingState,
|
||||
title == freezed
|
||||
null == title
|
||||
? _value.title
|
||||
: title // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
chaptersRead == freezed
|
||||
null == chaptersRead
|
||||
? _value.chaptersRead
|
||||
: chaptersRead // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
volumesOwned == freezed
|
||||
null == volumesOwned
|
||||
? _value.volumesOwned
|
||||
: volumesOwned // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
chaptersTotal == freezed
|
||||
freezed == chaptersTotal
|
||||
? _value.chaptersTotal
|
||||
: chaptersTotal // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
thumbnailUrl == freezed
|
||||
null == thumbnailUrl
|
||||
? _value.thumbnailUrl
|
||||
: thumbnailUrl // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
@@ -188,8 +198,8 @@ class __$$_MangaTrackingDataCopyWithImpl<$Res>
|
||||
|
||||
/// @nodoc
|
||||
@JsonSerializable()
|
||||
class _$_MangaTrackingData implements _MangaTrackingData {
|
||||
_$_MangaTrackingData(
|
||||
class _$MangaTrackingDataImpl implements _MangaTrackingData {
|
||||
_$MangaTrackingDataImpl(
|
||||
this.id,
|
||||
@MediumTrackingStateConverter() this.state,
|
||||
this.title,
|
||||
@@ -198,8 +208,8 @@ class _$_MangaTrackingData implements _MangaTrackingData {
|
||||
this.chaptersTotal,
|
||||
this.thumbnailUrl);
|
||||
|
||||
factory _$_MangaTrackingData.fromJson(Map<String, dynamic> json) =>
|
||||
_$$_MangaTrackingDataFromJson(json);
|
||||
factory _$MangaTrackingDataImpl.fromJson(Map<String, dynamic> json) =>
|
||||
_$$MangaTrackingDataImplFromJson(json);
|
||||
|
||||
/// The ID of the manga
|
||||
@override
|
||||
@@ -236,44 +246,40 @@ class _$_MangaTrackingData implements _MangaTrackingData {
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$_MangaTrackingData &&
|
||||
const DeepCollectionEquality().equals(other.id, id) &&
|
||||
const DeepCollectionEquality().equals(other.state, state) &&
|
||||
const DeepCollectionEquality().equals(other.title, title) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.chaptersRead, chaptersRead) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.volumesOwned, volumesOwned) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.chaptersTotal, chaptersTotal) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.thumbnailUrl, thumbnailUrl));
|
||||
other is _$MangaTrackingDataImpl &&
|
||||
(identical(other.id, id) || other.id == id) &&
|
||||
(identical(other.state, state) || other.state == state) &&
|
||||
(identical(other.title, title) || other.title == title) &&
|
||||
(identical(other.chaptersRead, chaptersRead) ||
|
||||
other.chaptersRead == chaptersRead) &&
|
||||
(identical(other.volumesOwned, volumesOwned) ||
|
||||
other.volumesOwned == volumesOwned) &&
|
||||
(identical(other.chaptersTotal, chaptersTotal) ||
|
||||
other.chaptersTotal == chaptersTotal) &&
|
||||
(identical(other.thumbnailUrl, thumbnailUrl) ||
|
||||
other.thumbnailUrl == thumbnailUrl));
|
||||
}
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(id),
|
||||
const DeepCollectionEquality().hash(state),
|
||||
const DeepCollectionEquality().hash(title),
|
||||
const DeepCollectionEquality().hash(chaptersRead),
|
||||
const DeepCollectionEquality().hash(volumesOwned),
|
||||
const DeepCollectionEquality().hash(chaptersTotal),
|
||||
const DeepCollectionEquality().hash(thumbnailUrl));
|
||||
int get hashCode => Object.hash(runtimeType, id, state, title, chaptersRead,
|
||||
volumesOwned, chaptersTotal, thumbnailUrl);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of MangaTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
_$$_MangaTrackingDataCopyWith<_$_MangaTrackingData> get copyWith =>
|
||||
__$$_MangaTrackingDataCopyWithImpl<_$_MangaTrackingData>(
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$MangaTrackingDataImplCopyWith<_$MangaTrackingDataImpl> get copyWith =>
|
||||
__$$MangaTrackingDataImplCopyWithImpl<_$MangaTrackingDataImpl>(
|
||||
this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$_MangaTrackingDataToJson(
|
||||
return _$$MangaTrackingDataImplToJson(
|
||||
this,
|
||||
);
|
||||
}
|
||||
@@ -287,42 +293,44 @@ abstract class _MangaTrackingData implements MangaTrackingData {
|
||||
final int chaptersRead,
|
||||
final int volumesOwned,
|
||||
final int? chaptersTotal,
|
||||
final String thumbnailUrl) = _$_MangaTrackingData;
|
||||
final String thumbnailUrl) = _$MangaTrackingDataImpl;
|
||||
|
||||
factory _MangaTrackingData.fromJson(Map<String, dynamic> json) =
|
||||
_$_MangaTrackingData.fromJson;
|
||||
|
||||
@override
|
||||
_$MangaTrackingDataImpl.fromJson;
|
||||
|
||||
/// The ID of the manga
|
||||
String get id;
|
||||
@override
|
||||
String get id;
|
||||
|
||||
/// The state of the manga
|
||||
@override
|
||||
@MediumTrackingStateConverter()
|
||||
MediumTrackingState get state;
|
||||
@override
|
||||
|
||||
/// The title of the manga
|
||||
@override
|
||||
String get title;
|
||||
@override
|
||||
|
||||
/// Chapters read.
|
||||
@override
|
||||
int get chaptersRead;
|
||||
@override
|
||||
|
||||
/// Chapters read.
|
||||
int get volumesOwned;
|
||||
@override
|
||||
int get volumesOwned;
|
||||
|
||||
/// Episodes watched.
|
||||
int? get chaptersTotal;
|
||||
@override
|
||||
int? get chaptersTotal;
|
||||
|
||||
/// URL to the thumbnail/cover art for the manga.
|
||||
String get thumbnailUrl;
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$_MangaTrackingDataCopyWith<_$_MangaTrackingData> get copyWith =>
|
||||
String get thumbnailUrl;
|
||||
|
||||
/// Create a copy of MangaTrackingData
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$MangaTrackingDataImplCopyWith<_$MangaTrackingDataImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
@@ -6,19 +6,21 @@ part of 'manga.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
_$_MangaTrackingData _$$_MangaTrackingDataFromJson(Map<String, dynamic> json) =>
|
||||
_$_MangaTrackingData(
|
||||
_$MangaTrackingDataImpl _$$MangaTrackingDataImplFromJson(
|
||||
Map<String, dynamic> json) =>
|
||||
_$MangaTrackingDataImpl(
|
||||
json['id'] as String,
|
||||
const MediumTrackingStateConverter().fromJson(json['state'] as int),
|
||||
const MediumTrackingStateConverter()
|
||||
.fromJson((json['state'] as num).toInt()),
|
||||
json['title'] as String,
|
||||
json['chaptersRead'] as int,
|
||||
json['volumesOwned'] as int,
|
||||
json['chaptersTotal'] as int?,
|
||||
(json['chaptersRead'] as num).toInt(),
|
||||
(json['volumesOwned'] as num).toInt(),
|
||||
(json['chaptersTotal'] as num?)?.toInt(),
|
||||
json['thumbnailUrl'] as String,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$_MangaTrackingDataToJson(
|
||||
_$_MangaTrackingData instance) =>
|
||||
Map<String, dynamic> _$$MangaTrackingDataImplToJson(
|
||||
_$MangaTrackingDataImpl instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'state': const MediumTrackingStateConverter().toJson(instance.state),
|
||||
|
||||
@@ -83,7 +83,7 @@ enum MediumTrackingState {
|
||||
}
|
||||
|
||||
/// Interface for the Anime and Manga data classes
|
||||
abstract class TrackingMedium {
|
||||
mixin TrackingMedium {
|
||||
/// The ID of the medium
|
||||
final String id = '';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'anime_list_bloc.dart';
|
||||
|
||||
@@ -12,7 +12,7 @@ part of 'anime_list_bloc.dart';
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
|
||||
|
||||
/// @nodoc
|
||||
mixin _$AnimeListState {
|
||||
@@ -25,7 +25,9 @@ mixin _$AnimeListState {
|
||||
throw _privateConstructorUsedError;
|
||||
TrackingMediumType get trackingType => throw _privateConstructorUsedError;
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of AnimeListState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$AnimeListStateCopyWith<AnimeListState> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
@@ -34,7 +36,8 @@ mixin _$AnimeListState {
|
||||
abstract class $AnimeListStateCopyWith<$Res> {
|
||||
factory $AnimeListStateCopyWith(
|
||||
AnimeListState value, $Res Function(AnimeListState) then) =
|
||||
_$AnimeListStateCopyWithImpl<$Res>;
|
||||
_$AnimeListStateCopyWithImpl<$Res, AnimeListState>;
|
||||
@useResult
|
||||
$Res call(
|
||||
{bool buttonVisibility,
|
||||
List<AnimeTrackingData> animes,
|
||||
@@ -45,59 +48,64 @@ abstract class $AnimeListStateCopyWith<$Res> {
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$AnimeListStateCopyWithImpl<$Res>
|
||||
class _$AnimeListStateCopyWithImpl<$Res, $Val extends AnimeListState>
|
||||
implements $AnimeListStateCopyWith<$Res> {
|
||||
_$AnimeListStateCopyWithImpl(this._value, this._then);
|
||||
|
||||
final AnimeListState _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function(AnimeListState) _then;
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of AnimeListState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? buttonVisibility = freezed,
|
||||
Object? animes = freezed,
|
||||
Object? mangas = freezed,
|
||||
Object? animeFilterState = freezed,
|
||||
Object? mangaFilterState = freezed,
|
||||
Object? trackingType = freezed,
|
||||
Object? buttonVisibility = null,
|
||||
Object? animes = null,
|
||||
Object? mangas = null,
|
||||
Object? animeFilterState = null,
|
||||
Object? mangaFilterState = null,
|
||||
Object? trackingType = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
buttonVisibility: buttonVisibility == freezed
|
||||
buttonVisibility: null == buttonVisibility
|
||||
? _value.buttonVisibility
|
||||
: buttonVisibility // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
animes: animes == freezed
|
||||
animes: null == animes
|
||||
? _value.animes
|
||||
: animes // ignore: cast_nullable_to_non_nullable
|
||||
as List<AnimeTrackingData>,
|
||||
mangas: mangas == freezed
|
||||
mangas: null == mangas
|
||||
? _value.mangas
|
||||
: mangas // ignore: cast_nullable_to_non_nullable
|
||||
as List<MangaTrackingData>,
|
||||
animeFilterState: animeFilterState == freezed
|
||||
animeFilterState: null == animeFilterState
|
||||
? _value.animeFilterState
|
||||
: animeFilterState // ignore: cast_nullable_to_non_nullable
|
||||
as MediumTrackingState,
|
||||
mangaFilterState: mangaFilterState == freezed
|
||||
mangaFilterState: null == mangaFilterState
|
||||
? _value.mangaFilterState
|
||||
: mangaFilterState // ignore: cast_nullable_to_non_nullable
|
||||
as MediumTrackingState,
|
||||
trackingType: trackingType == freezed
|
||||
trackingType: null == trackingType
|
||||
? _value.trackingType
|
||||
: trackingType // ignore: cast_nullable_to_non_nullable
|
||||
as TrackingMediumType,
|
||||
));
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$_AnimeListStateCopyWith<$Res>
|
||||
abstract class _$$AnimeListStateImplCopyWith<$Res>
|
||||
implements $AnimeListStateCopyWith<$Res> {
|
||||
factory _$$_AnimeListStateCopyWith(
|
||||
_$_AnimeListState value, $Res Function(_$_AnimeListState) then) =
|
||||
__$$_AnimeListStateCopyWithImpl<$Res>;
|
||||
factory _$$AnimeListStateImplCopyWith(_$AnimeListStateImpl value,
|
||||
$Res Function(_$AnimeListStateImpl) then) =
|
||||
__$$AnimeListStateImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call(
|
||||
{bool buttonVisibility,
|
||||
List<AnimeTrackingData> animes,
|
||||
@@ -108,47 +116,47 @@ abstract class _$$_AnimeListStateCopyWith<$Res>
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$_AnimeListStateCopyWithImpl<$Res>
|
||||
extends _$AnimeListStateCopyWithImpl<$Res>
|
||||
implements _$$_AnimeListStateCopyWith<$Res> {
|
||||
__$$_AnimeListStateCopyWithImpl(
|
||||
_$_AnimeListState _value, $Res Function(_$_AnimeListState) _then)
|
||||
: super(_value, (v) => _then(v as _$_AnimeListState));
|
||||
|
||||
@override
|
||||
_$_AnimeListState get _value => super._value as _$_AnimeListState;
|
||||
class __$$AnimeListStateImplCopyWithImpl<$Res>
|
||||
extends _$AnimeListStateCopyWithImpl<$Res, _$AnimeListStateImpl>
|
||||
implements _$$AnimeListStateImplCopyWith<$Res> {
|
||||
__$$AnimeListStateImplCopyWithImpl(
|
||||
_$AnimeListStateImpl _value, $Res Function(_$AnimeListStateImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of AnimeListState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? buttonVisibility = freezed,
|
||||
Object? animes = freezed,
|
||||
Object? mangas = freezed,
|
||||
Object? animeFilterState = freezed,
|
||||
Object? mangaFilterState = freezed,
|
||||
Object? trackingType = freezed,
|
||||
Object? buttonVisibility = null,
|
||||
Object? animes = null,
|
||||
Object? mangas = null,
|
||||
Object? animeFilterState = null,
|
||||
Object? mangaFilterState = null,
|
||||
Object? trackingType = null,
|
||||
}) {
|
||||
return _then(_$_AnimeListState(
|
||||
buttonVisibility: buttonVisibility == freezed
|
||||
return _then(_$AnimeListStateImpl(
|
||||
buttonVisibility: null == buttonVisibility
|
||||
? _value.buttonVisibility
|
||||
: buttonVisibility // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
animes: animes == freezed
|
||||
animes: null == animes
|
||||
? _value._animes
|
||||
: animes // ignore: cast_nullable_to_non_nullable
|
||||
as List<AnimeTrackingData>,
|
||||
mangas: mangas == freezed
|
||||
mangas: null == mangas
|
||||
? _value._mangas
|
||||
: mangas // ignore: cast_nullable_to_non_nullable
|
||||
as List<MangaTrackingData>,
|
||||
animeFilterState: animeFilterState == freezed
|
||||
animeFilterState: null == animeFilterState
|
||||
? _value.animeFilterState
|
||||
: animeFilterState // ignore: cast_nullable_to_non_nullable
|
||||
as MediumTrackingState,
|
||||
mangaFilterState: mangaFilterState == freezed
|
||||
mangaFilterState: null == mangaFilterState
|
||||
? _value.mangaFilterState
|
||||
: mangaFilterState // ignore: cast_nullable_to_non_nullable
|
||||
as MediumTrackingState,
|
||||
trackingType: trackingType == freezed
|
||||
trackingType: null == trackingType
|
||||
? _value.trackingType
|
||||
: trackingType // ignore: cast_nullable_to_non_nullable
|
||||
as TrackingMediumType,
|
||||
@@ -158,8 +166,8 @@ class __$$_AnimeListStateCopyWithImpl<$Res>
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$_AnimeListState implements _AnimeListState {
|
||||
_$_AnimeListState(
|
||||
class _$AnimeListStateImpl implements _AnimeListState {
|
||||
_$AnimeListStateImpl(
|
||||
{this.buttonVisibility = true,
|
||||
final List<AnimeTrackingData> animes = const [],
|
||||
final List<MangaTrackingData> mangas = const [],
|
||||
@@ -176,6 +184,7 @@ class _$_AnimeListState implements _AnimeListState {
|
||||
@override
|
||||
@JsonKey()
|
||||
List<AnimeTrackingData> get animes {
|
||||
if (_animes is EqualUnmodifiableListView) return _animes;
|
||||
// ignore: implicit_dynamic_type
|
||||
return EqualUnmodifiableListView(_animes);
|
||||
}
|
||||
@@ -184,6 +193,7 @@ class _$_AnimeListState implements _AnimeListState {
|
||||
@override
|
||||
@JsonKey()
|
||||
List<MangaTrackingData> get mangas {
|
||||
if (_mangas is EqualUnmodifiableListView) return _mangas;
|
||||
// ignore: implicit_dynamic_type
|
||||
return EqualUnmodifiableListView(_mangas);
|
||||
}
|
||||
@@ -204,36 +214,40 @@ class _$_AnimeListState implements _AnimeListState {
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$_AnimeListState &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.buttonVisibility, buttonVisibility) &&
|
||||
other is _$AnimeListStateImpl &&
|
||||
(identical(other.buttonVisibility, buttonVisibility) ||
|
||||
other.buttonVisibility == buttonVisibility) &&
|
||||
const DeepCollectionEquality().equals(other._animes, _animes) &&
|
||||
const DeepCollectionEquality().equals(other._mangas, _mangas) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.animeFilterState, animeFilterState) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.mangaFilterState, mangaFilterState) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.trackingType, trackingType));
|
||||
(identical(other.animeFilterState, animeFilterState) ||
|
||||
other.animeFilterState == animeFilterState) &&
|
||||
(identical(other.mangaFilterState, mangaFilterState) ||
|
||||
other.mangaFilterState == mangaFilterState) &&
|
||||
(identical(other.trackingType, trackingType) ||
|
||||
other.trackingType == trackingType));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(buttonVisibility),
|
||||
buttonVisibility,
|
||||
const DeepCollectionEquality().hash(_animes),
|
||||
const DeepCollectionEquality().hash(_mangas),
|
||||
const DeepCollectionEquality().hash(animeFilterState),
|
||||
const DeepCollectionEquality().hash(mangaFilterState),
|
||||
const DeepCollectionEquality().hash(trackingType));
|
||||
animeFilterState,
|
||||
mangaFilterState,
|
||||
trackingType);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of AnimeListState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
_$$_AnimeListStateCopyWith<_$_AnimeListState> get copyWith =>
|
||||
__$$_AnimeListStateCopyWithImpl<_$_AnimeListState>(this, _$identity);
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$AnimeListStateImplCopyWith<_$AnimeListStateImpl> get copyWith =>
|
||||
__$$AnimeListStateImplCopyWithImpl<_$AnimeListStateImpl>(
|
||||
this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _AnimeListState implements AnimeListState {
|
||||
@@ -243,7 +257,7 @@ abstract class _AnimeListState implements AnimeListState {
|
||||
final List<MangaTrackingData> mangas,
|
||||
final MediumTrackingState animeFilterState,
|
||||
final MediumTrackingState mangaFilterState,
|
||||
final TrackingMediumType trackingType}) = _$_AnimeListState;
|
||||
final TrackingMediumType trackingType}) = _$AnimeListStateImpl;
|
||||
|
||||
@override
|
||||
bool get buttonVisibility;
|
||||
@@ -257,8 +271,11 @@ abstract class _AnimeListState implements AnimeListState {
|
||||
MediumTrackingState get mangaFilterState;
|
||||
@override
|
||||
TrackingMediumType get trackingType;
|
||||
|
||||
/// Create a copy of AnimeListState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$_AnimeListStateCopyWith<_$_AnimeListState> get copyWith =>
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$AnimeListStateImplCopyWith<_$AnimeListStateImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'anime_search_bloc.dart';
|
||||
|
||||
@@ -12,7 +12,7 @@ part of 'anime_search_bloc.dart';
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
|
||||
|
||||
/// @nodoc
|
||||
mixin _$AnimeSearchState {
|
||||
@@ -21,7 +21,9 @@ mixin _$AnimeSearchState {
|
||||
bool get working => throw _privateConstructorUsedError;
|
||||
List<SearchResult> get searchResults => throw _privateConstructorUsedError;
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of AnimeSearchState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$AnimeSearchStateCopyWith<AnimeSearchState> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
@@ -30,7 +32,8 @@ mixin _$AnimeSearchState {
|
||||
abstract class $AnimeSearchStateCopyWith<$Res> {
|
||||
factory $AnimeSearchStateCopyWith(
|
||||
AnimeSearchState value, $Res Function(AnimeSearchState) then) =
|
||||
_$AnimeSearchStateCopyWithImpl<$Res>;
|
||||
_$AnimeSearchStateCopyWithImpl<$Res, AnimeSearchState>;
|
||||
@useResult
|
||||
$Res call(
|
||||
{TrackingMediumType trackingType,
|
||||
String searchQuery,
|
||||
@@ -39,49 +42,54 @@ abstract class $AnimeSearchStateCopyWith<$Res> {
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$AnimeSearchStateCopyWithImpl<$Res>
|
||||
class _$AnimeSearchStateCopyWithImpl<$Res, $Val extends AnimeSearchState>
|
||||
implements $AnimeSearchStateCopyWith<$Res> {
|
||||
_$AnimeSearchStateCopyWithImpl(this._value, this._then);
|
||||
|
||||
final AnimeSearchState _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function(AnimeSearchState) _then;
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of AnimeSearchState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? trackingType = freezed,
|
||||
Object? searchQuery = freezed,
|
||||
Object? working = freezed,
|
||||
Object? searchResults = freezed,
|
||||
Object? trackingType = null,
|
||||
Object? searchQuery = null,
|
||||
Object? working = null,
|
||||
Object? searchResults = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
trackingType: trackingType == freezed
|
||||
trackingType: null == trackingType
|
||||
? _value.trackingType
|
||||
: trackingType // ignore: cast_nullable_to_non_nullable
|
||||
as TrackingMediumType,
|
||||
searchQuery: searchQuery == freezed
|
||||
searchQuery: null == searchQuery
|
||||
? _value.searchQuery
|
||||
: searchQuery // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
working: working == freezed
|
||||
working: null == working
|
||||
? _value.working
|
||||
: working // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
searchResults: searchResults == freezed
|
||||
searchResults: null == searchResults
|
||||
? _value.searchResults
|
||||
: searchResults // ignore: cast_nullable_to_non_nullable
|
||||
as List<SearchResult>,
|
||||
));
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$_AnimeSearchStateCopyWith<$Res>
|
||||
abstract class _$$AnimeSearchStateImplCopyWith<$Res>
|
||||
implements $AnimeSearchStateCopyWith<$Res> {
|
||||
factory _$$_AnimeSearchStateCopyWith(
|
||||
_$_AnimeSearchState value, $Res Function(_$_AnimeSearchState) then) =
|
||||
__$$_AnimeSearchStateCopyWithImpl<$Res>;
|
||||
factory _$$AnimeSearchStateImplCopyWith(_$AnimeSearchStateImpl value,
|
||||
$Res Function(_$AnimeSearchStateImpl) then) =
|
||||
__$$AnimeSearchStateImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call(
|
||||
{TrackingMediumType trackingType,
|
||||
String searchQuery,
|
||||
@@ -90,37 +98,37 @@ abstract class _$$_AnimeSearchStateCopyWith<$Res>
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$_AnimeSearchStateCopyWithImpl<$Res>
|
||||
extends _$AnimeSearchStateCopyWithImpl<$Res>
|
||||
implements _$$_AnimeSearchStateCopyWith<$Res> {
|
||||
__$$_AnimeSearchStateCopyWithImpl(
|
||||
_$_AnimeSearchState _value, $Res Function(_$_AnimeSearchState) _then)
|
||||
: super(_value, (v) => _then(v as _$_AnimeSearchState));
|
||||
|
||||
@override
|
||||
_$_AnimeSearchState get _value => super._value as _$_AnimeSearchState;
|
||||
class __$$AnimeSearchStateImplCopyWithImpl<$Res>
|
||||
extends _$AnimeSearchStateCopyWithImpl<$Res, _$AnimeSearchStateImpl>
|
||||
implements _$$AnimeSearchStateImplCopyWith<$Res> {
|
||||
__$$AnimeSearchStateImplCopyWithImpl(_$AnimeSearchStateImpl _value,
|
||||
$Res Function(_$AnimeSearchStateImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of AnimeSearchState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? trackingType = freezed,
|
||||
Object? searchQuery = freezed,
|
||||
Object? working = freezed,
|
||||
Object? searchResults = freezed,
|
||||
Object? trackingType = null,
|
||||
Object? searchQuery = null,
|
||||
Object? working = null,
|
||||
Object? searchResults = null,
|
||||
}) {
|
||||
return _then(_$_AnimeSearchState(
|
||||
trackingType: trackingType == freezed
|
||||
return _then(_$AnimeSearchStateImpl(
|
||||
trackingType: null == trackingType
|
||||
? _value.trackingType
|
||||
: trackingType // ignore: cast_nullable_to_non_nullable
|
||||
as TrackingMediumType,
|
||||
searchQuery: searchQuery == freezed
|
||||
searchQuery: null == searchQuery
|
||||
? _value.searchQuery
|
||||
: searchQuery // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
working: working == freezed
|
||||
working: null == working
|
||||
? _value.working
|
||||
: working // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
searchResults: searchResults == freezed
|
||||
searchResults: null == searchResults
|
||||
? _value._searchResults
|
||||
: searchResults // ignore: cast_nullable_to_non_nullable
|
||||
as List<SearchResult>,
|
||||
@@ -130,8 +138,8 @@ class __$$_AnimeSearchStateCopyWithImpl<$Res>
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$_AnimeSearchState implements _AnimeSearchState {
|
||||
_$_AnimeSearchState(
|
||||
class _$AnimeSearchStateImpl implements _AnimeSearchState {
|
||||
_$AnimeSearchStateImpl(
|
||||
{this.trackingType = TrackingMediumType.anime,
|
||||
this.searchQuery = '',
|
||||
this.working = false,
|
||||
@@ -151,6 +159,7 @@ class _$_AnimeSearchState implements _AnimeSearchState {
|
||||
@override
|
||||
@JsonKey()
|
||||
List<SearchResult> get searchResults {
|
||||
if (_searchResults is EqualUnmodifiableListView) return _searchResults;
|
||||
// ignore: implicit_dynamic_type
|
||||
return EqualUnmodifiableListView(_searchResults);
|
||||
}
|
||||
@@ -161,31 +170,31 @@ class _$_AnimeSearchState implements _AnimeSearchState {
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$_AnimeSearchState &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.trackingType, trackingType) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.searchQuery, searchQuery) &&
|
||||
const DeepCollectionEquality().equals(other.working, working) &&
|
||||
other is _$AnimeSearchStateImpl &&
|
||||
(identical(other.trackingType, trackingType) ||
|
||||
other.trackingType == trackingType) &&
|
||||
(identical(other.searchQuery, searchQuery) ||
|
||||
other.searchQuery == searchQuery) &&
|
||||
(identical(other.working, working) || other.working == working) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._searchResults, _searchResults));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(trackingType),
|
||||
const DeepCollectionEquality().hash(searchQuery),
|
||||
const DeepCollectionEquality().hash(working),
|
||||
const DeepCollectionEquality().hash(_searchResults));
|
||||
int get hashCode => Object.hash(runtimeType, trackingType, searchQuery,
|
||||
working, const DeepCollectionEquality().hash(_searchResults));
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of AnimeSearchState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
_$$_AnimeSearchStateCopyWith<_$_AnimeSearchState> get copyWith =>
|
||||
__$$_AnimeSearchStateCopyWithImpl<_$_AnimeSearchState>(this, _$identity);
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$AnimeSearchStateImplCopyWith<_$AnimeSearchStateImpl> get copyWith =>
|
||||
__$$AnimeSearchStateImplCopyWithImpl<_$AnimeSearchStateImpl>(
|
||||
this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _AnimeSearchState implements AnimeSearchState {
|
||||
@@ -193,7 +202,7 @@ abstract class _AnimeSearchState implements AnimeSearchState {
|
||||
{final TrackingMediumType trackingType,
|
||||
final String searchQuery,
|
||||
final bool working,
|
||||
final List<SearchResult> searchResults}) = _$_AnimeSearchState;
|
||||
final List<SearchResult> searchResults}) = _$AnimeSearchStateImpl;
|
||||
|
||||
@override
|
||||
TrackingMediumType get trackingType;
|
||||
@@ -203,8 +212,11 @@ abstract class _AnimeSearchState implements AnimeSearchState {
|
||||
bool get working;
|
||||
@override
|
||||
List<SearchResult> get searchResults;
|
||||
|
||||
/// Create a copy of AnimeSearchState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$_AnimeSearchStateCopyWith<_$_AnimeSearchState> get copyWith =>
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$AnimeSearchStateImplCopyWith<_$AnimeSearchStateImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
|
||||
airing = false;
|
||||
}
|
||||
|
||||
print('Anime "${anime.title}": airing=${airing}');
|
||||
print('Anime "${anime.title}": airing=$airing');
|
||||
if (!airing) {
|
||||
al.add(
|
||||
AnimeUpdatedEvent(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'calendar_bloc.dart';
|
||||
|
||||
@@ -12,7 +12,7 @@ part of 'calendar_bloc.dart';
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
|
||||
|
||||
/// @nodoc
|
||||
mixin _$CalendarState {
|
||||
@@ -20,7 +20,9 @@ mixin _$CalendarState {
|
||||
int get refreshingCount => throw _privateConstructorUsedError;
|
||||
int get refreshingTotal => throw _privateConstructorUsedError;
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of CalendarState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$CalendarStateCopyWith<CalendarState> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
@@ -29,79 +31,85 @@ mixin _$CalendarState {
|
||||
abstract class $CalendarStateCopyWith<$Res> {
|
||||
factory $CalendarStateCopyWith(
|
||||
CalendarState value, $Res Function(CalendarState) then) =
|
||||
_$CalendarStateCopyWithImpl<$Res>;
|
||||
_$CalendarStateCopyWithImpl<$Res, CalendarState>;
|
||||
@useResult
|
||||
$Res call({bool refreshing, int refreshingCount, int refreshingTotal});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$CalendarStateCopyWithImpl<$Res>
|
||||
class _$CalendarStateCopyWithImpl<$Res, $Val extends CalendarState>
|
||||
implements $CalendarStateCopyWith<$Res> {
|
||||
_$CalendarStateCopyWithImpl(this._value, this._then);
|
||||
|
||||
final CalendarState _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function(CalendarState) _then;
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of CalendarState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? refreshing = freezed,
|
||||
Object? refreshingCount = freezed,
|
||||
Object? refreshingTotal = freezed,
|
||||
Object? refreshing = null,
|
||||
Object? refreshingCount = null,
|
||||
Object? refreshingTotal = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
refreshing: refreshing == freezed
|
||||
refreshing: null == refreshing
|
||||
? _value.refreshing
|
||||
: refreshing // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
refreshingCount: refreshingCount == freezed
|
||||
refreshingCount: null == refreshingCount
|
||||
? _value.refreshingCount
|
||||
: refreshingCount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
refreshingTotal: refreshingTotal == freezed
|
||||
refreshingTotal: null == refreshingTotal
|
||||
? _value.refreshingTotal
|
||||
: refreshingTotal // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
));
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$_CalendarStateCopyWith<$Res>
|
||||
abstract class _$$CalendarStateImplCopyWith<$Res>
|
||||
implements $CalendarStateCopyWith<$Res> {
|
||||
factory _$$_CalendarStateCopyWith(
|
||||
_$_CalendarState value, $Res Function(_$_CalendarState) then) =
|
||||
__$$_CalendarStateCopyWithImpl<$Res>;
|
||||
factory _$$CalendarStateImplCopyWith(
|
||||
_$CalendarStateImpl value, $Res Function(_$CalendarStateImpl) then) =
|
||||
__$$CalendarStateImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({bool refreshing, int refreshingCount, int refreshingTotal});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$_CalendarStateCopyWithImpl<$Res>
|
||||
extends _$CalendarStateCopyWithImpl<$Res>
|
||||
implements _$$_CalendarStateCopyWith<$Res> {
|
||||
__$$_CalendarStateCopyWithImpl(
|
||||
_$_CalendarState _value, $Res Function(_$_CalendarState) _then)
|
||||
: super(_value, (v) => _then(v as _$_CalendarState));
|
||||
|
||||
@override
|
||||
_$_CalendarState get _value => super._value as _$_CalendarState;
|
||||
class __$$CalendarStateImplCopyWithImpl<$Res>
|
||||
extends _$CalendarStateCopyWithImpl<$Res, _$CalendarStateImpl>
|
||||
implements _$$CalendarStateImplCopyWith<$Res> {
|
||||
__$$CalendarStateImplCopyWithImpl(
|
||||
_$CalendarStateImpl _value, $Res Function(_$CalendarStateImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of CalendarState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? refreshing = freezed,
|
||||
Object? refreshingCount = freezed,
|
||||
Object? refreshingTotal = freezed,
|
||||
Object? refreshing = null,
|
||||
Object? refreshingCount = null,
|
||||
Object? refreshingTotal = null,
|
||||
}) {
|
||||
return _then(_$_CalendarState(
|
||||
refreshing == freezed
|
||||
return _then(_$CalendarStateImpl(
|
||||
null == refreshing
|
||||
? _value.refreshing
|
||||
: refreshing // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
refreshingCount == freezed
|
||||
null == refreshingCount
|
||||
? _value.refreshingCount
|
||||
: refreshingCount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
refreshingTotal == freezed
|
||||
null == refreshingTotal
|
||||
? _value.refreshingTotal
|
||||
: refreshingTotal // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
@@ -111,8 +119,9 @@ class __$$_CalendarStateCopyWithImpl<$Res>
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$_CalendarState implements _CalendarState {
|
||||
_$_CalendarState(this.refreshing, this.refreshingCount, this.refreshingTotal);
|
||||
class _$CalendarStateImpl implements _CalendarState {
|
||||
_$CalendarStateImpl(
|
||||
this.refreshing, this.refreshingCount, this.refreshingTotal);
|
||||
|
||||
@override
|
||||
final bool refreshing;
|
||||
@@ -127,34 +136,34 @@ class _$_CalendarState implements _CalendarState {
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$_CalendarState &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.refreshing, refreshing) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.refreshingCount, refreshingCount) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.refreshingTotal, refreshingTotal));
|
||||
other is _$CalendarStateImpl &&
|
||||
(identical(other.refreshing, refreshing) ||
|
||||
other.refreshing == refreshing) &&
|
||||
(identical(other.refreshingCount, refreshingCount) ||
|
||||
other.refreshingCount == refreshingCount) &&
|
||||
(identical(other.refreshingTotal, refreshingTotal) ||
|
||||
other.refreshingTotal == refreshingTotal));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(refreshing),
|
||||
const DeepCollectionEquality().hash(refreshingCount),
|
||||
const DeepCollectionEquality().hash(refreshingTotal));
|
||||
int get hashCode =>
|
||||
Object.hash(runtimeType, refreshing, refreshingCount, refreshingTotal);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of CalendarState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
_$$_CalendarStateCopyWith<_$_CalendarState> get copyWith =>
|
||||
__$$_CalendarStateCopyWithImpl<_$_CalendarState>(this, _$identity);
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$CalendarStateImplCopyWith<_$CalendarStateImpl> get copyWith =>
|
||||
__$$CalendarStateImplCopyWithImpl<_$CalendarStateImpl>(this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _CalendarState implements CalendarState {
|
||||
factory _CalendarState(final bool refreshing, final int refreshingCount,
|
||||
final int refreshingTotal) = _$_CalendarState;
|
||||
final int refreshingTotal) = _$CalendarStateImpl;
|
||||
|
||||
@override
|
||||
bool get refreshing;
|
||||
@@ -162,8 +171,11 @@ abstract class _CalendarState implements CalendarState {
|
||||
int get refreshingCount;
|
||||
@override
|
||||
int get refreshingTotal;
|
||||
|
||||
/// Create a copy of CalendarState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$_CalendarStateCopyWith<_$_CalendarState> get copyWith =>
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$CalendarStateImplCopyWith<_$CalendarStateImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'details_bloc.dart';
|
||||
|
||||
@@ -12,7 +12,7 @@ part of 'details_bloc.dart';
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
|
||||
|
||||
/// @nodoc
|
||||
mixin _$DetailsState {
|
||||
@@ -20,7 +20,9 @@ mixin _$DetailsState {
|
||||
String? get heroImagePrefix => throw _privateConstructorUsedError;
|
||||
TrackingMediumType get trackingType => throw _privateConstructorUsedError;
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of DetailsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$DetailsStateCopyWith<DetailsState> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
@@ -29,7 +31,8 @@ mixin _$DetailsState {
|
||||
abstract class $DetailsStateCopyWith<$Res> {
|
||||
factory $DetailsStateCopyWith(
|
||||
DetailsState value, $Res Function(DetailsState) then) =
|
||||
_$DetailsStateCopyWithImpl<$Res>;
|
||||
_$DetailsStateCopyWithImpl<$Res, DetailsState>;
|
||||
@useResult
|
||||
$Res call(
|
||||
{TrackingMedium? data,
|
||||
String? heroImagePrefix,
|
||||
@@ -37,43 +40,49 @@ abstract class $DetailsStateCopyWith<$Res> {
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$DetailsStateCopyWithImpl<$Res> implements $DetailsStateCopyWith<$Res> {
|
||||
class _$DetailsStateCopyWithImpl<$Res, $Val extends DetailsState>
|
||||
implements $DetailsStateCopyWith<$Res> {
|
||||
_$DetailsStateCopyWithImpl(this._value, this._then);
|
||||
|
||||
final DetailsState _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function(DetailsState) _then;
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of DetailsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? data = freezed,
|
||||
Object? heroImagePrefix = freezed,
|
||||
Object? trackingType = freezed,
|
||||
Object? trackingType = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
data: data == freezed
|
||||
data: freezed == data
|
||||
? _value.data
|
||||
: data // ignore: cast_nullable_to_non_nullable
|
||||
as TrackingMedium?,
|
||||
heroImagePrefix: heroImagePrefix == freezed
|
||||
heroImagePrefix: freezed == heroImagePrefix
|
||||
? _value.heroImagePrefix
|
||||
: heroImagePrefix // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
trackingType: trackingType == freezed
|
||||
trackingType: null == trackingType
|
||||
? _value.trackingType
|
||||
: trackingType // ignore: cast_nullable_to_non_nullable
|
||||
as TrackingMediumType,
|
||||
));
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$_DetailsStateCopyWith<$Res>
|
||||
abstract class _$$DetailsStateImplCopyWith<$Res>
|
||||
implements $DetailsStateCopyWith<$Res> {
|
||||
factory _$$_DetailsStateCopyWith(
|
||||
_$_DetailsState value, $Res Function(_$_DetailsState) then) =
|
||||
__$$_DetailsStateCopyWithImpl<$Res>;
|
||||
factory _$$DetailsStateImplCopyWith(
|
||||
_$DetailsStateImpl value, $Res Function(_$DetailsStateImpl) then) =
|
||||
__$$DetailsStateImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call(
|
||||
{TrackingMedium? data,
|
||||
String? heroImagePrefix,
|
||||
@@ -81,32 +90,32 @@ abstract class _$$_DetailsStateCopyWith<$Res>
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$_DetailsStateCopyWithImpl<$Res>
|
||||
extends _$DetailsStateCopyWithImpl<$Res>
|
||||
implements _$$_DetailsStateCopyWith<$Res> {
|
||||
__$$_DetailsStateCopyWithImpl(
|
||||
_$_DetailsState _value, $Res Function(_$_DetailsState) _then)
|
||||
: super(_value, (v) => _then(v as _$_DetailsState));
|
||||
|
||||
@override
|
||||
_$_DetailsState get _value => super._value as _$_DetailsState;
|
||||
class __$$DetailsStateImplCopyWithImpl<$Res>
|
||||
extends _$DetailsStateCopyWithImpl<$Res, _$DetailsStateImpl>
|
||||
implements _$$DetailsStateImplCopyWith<$Res> {
|
||||
__$$DetailsStateImplCopyWithImpl(
|
||||
_$DetailsStateImpl _value, $Res Function(_$DetailsStateImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of DetailsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? data = freezed,
|
||||
Object? heroImagePrefix = freezed,
|
||||
Object? trackingType = freezed,
|
||||
Object? trackingType = null,
|
||||
}) {
|
||||
return _then(_$_DetailsState(
|
||||
data: data == freezed
|
||||
return _then(_$DetailsStateImpl(
|
||||
data: freezed == data
|
||||
? _value.data
|
||||
: data // ignore: cast_nullable_to_non_nullable
|
||||
as TrackingMedium?,
|
||||
heroImagePrefix: heroImagePrefix == freezed
|
||||
heroImagePrefix: freezed == heroImagePrefix
|
||||
? _value.heroImagePrefix
|
||||
: heroImagePrefix // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
trackingType: trackingType == freezed
|
||||
trackingType: null == trackingType
|
||||
? _value.trackingType
|
||||
: trackingType // ignore: cast_nullable_to_non_nullable
|
||||
as TrackingMediumType,
|
||||
@@ -116,8 +125,8 @@ class __$$_DetailsStateCopyWithImpl<$Res>
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$_DetailsState implements _DetailsState {
|
||||
_$_DetailsState(
|
||||
class _$DetailsStateImpl implements _DetailsState {
|
||||
_$DetailsStateImpl(
|
||||
{this.data,
|
||||
this.heroImagePrefix,
|
||||
this.trackingType = TrackingMediumType.anime});
|
||||
@@ -136,35 +145,35 @@ class _$_DetailsState implements _DetailsState {
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$_DetailsState &&
|
||||
const DeepCollectionEquality().equals(other.data, data) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.heroImagePrefix, heroImagePrefix) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.trackingType, trackingType));
|
||||
other is _$DetailsStateImpl &&
|
||||
(identical(other.data, data) || other.data == data) &&
|
||||
(identical(other.heroImagePrefix, heroImagePrefix) ||
|
||||
other.heroImagePrefix == heroImagePrefix) &&
|
||||
(identical(other.trackingType, trackingType) ||
|
||||
other.trackingType == trackingType));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(data),
|
||||
const DeepCollectionEquality().hash(heroImagePrefix),
|
||||
const DeepCollectionEquality().hash(trackingType));
|
||||
int get hashCode =>
|
||||
Object.hash(runtimeType, data, heroImagePrefix, trackingType);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of DetailsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
_$$_DetailsStateCopyWith<_$_DetailsState> get copyWith =>
|
||||
__$$_DetailsStateCopyWithImpl<_$_DetailsState>(this, _$identity);
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$DetailsStateImplCopyWith<_$DetailsStateImpl> get copyWith =>
|
||||
__$$DetailsStateImplCopyWithImpl<_$DetailsStateImpl>(this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _DetailsState implements DetailsState {
|
||||
factory _DetailsState(
|
||||
{final TrackingMedium? data,
|
||||
final String? heroImagePrefix,
|
||||
final TrackingMediumType trackingType}) = _$_DetailsState;
|
||||
final TrackingMediumType trackingType}) = _$DetailsStateImpl;
|
||||
|
||||
@override
|
||||
TrackingMedium? get data;
|
||||
@@ -172,8 +181,11 @@ abstract class _DetailsState implements DetailsState {
|
||||
String? get heroImagePrefix;
|
||||
@override
|
||||
TrackingMediumType get trackingType;
|
||||
|
||||
/// Create a copy of DetailsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$_DetailsStateCopyWith<_$_DetailsState> get copyWith =>
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$DetailsStateImplCopyWith<_$DetailsStateImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'settings_bloc.dart';
|
||||
|
||||
@@ -12,7 +12,7 @@ part of 'settings_bloc.dart';
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
|
||||
|
||||
/// @nodoc
|
||||
mixin _$SettingsState {
|
||||
@@ -20,7 +20,9 @@ mixin _$SettingsState {
|
||||
int get importCurrent => throw _privateConstructorUsedError;
|
||||
int get importTotal => throw _privateConstructorUsedError;
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of SettingsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$SettingsStateCopyWith<SettingsState> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
@@ -29,79 +31,85 @@ mixin _$SettingsState {
|
||||
abstract class $SettingsStateCopyWith<$Res> {
|
||||
factory $SettingsStateCopyWith(
|
||||
SettingsState value, $Res Function(SettingsState) then) =
|
||||
_$SettingsStateCopyWithImpl<$Res>;
|
||||
_$SettingsStateCopyWithImpl<$Res, SettingsState>;
|
||||
@useResult
|
||||
$Res call({bool importSpinnerVisible, int importCurrent, int importTotal});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$SettingsStateCopyWithImpl<$Res>
|
||||
class _$SettingsStateCopyWithImpl<$Res, $Val extends SettingsState>
|
||||
implements $SettingsStateCopyWith<$Res> {
|
||||
_$SettingsStateCopyWithImpl(this._value, this._then);
|
||||
|
||||
final SettingsState _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function(SettingsState) _then;
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of SettingsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? importSpinnerVisible = freezed,
|
||||
Object? importCurrent = freezed,
|
||||
Object? importTotal = freezed,
|
||||
Object? importSpinnerVisible = null,
|
||||
Object? importCurrent = null,
|
||||
Object? importTotal = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
importSpinnerVisible: importSpinnerVisible == freezed
|
||||
importSpinnerVisible: null == importSpinnerVisible
|
||||
? _value.importSpinnerVisible
|
||||
: importSpinnerVisible // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
importCurrent: importCurrent == freezed
|
||||
importCurrent: null == importCurrent
|
||||
? _value.importCurrent
|
||||
: importCurrent // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
importTotal: importTotal == freezed
|
||||
importTotal: null == importTotal
|
||||
? _value.importTotal
|
||||
: importTotal // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
));
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$_SettingsStateCopyWith<$Res>
|
||||
abstract class _$$SettingsStateImplCopyWith<$Res>
|
||||
implements $SettingsStateCopyWith<$Res> {
|
||||
factory _$$_SettingsStateCopyWith(
|
||||
_$_SettingsState value, $Res Function(_$_SettingsState) then) =
|
||||
__$$_SettingsStateCopyWithImpl<$Res>;
|
||||
factory _$$SettingsStateImplCopyWith(
|
||||
_$SettingsStateImpl value, $Res Function(_$SettingsStateImpl) then) =
|
||||
__$$SettingsStateImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({bool importSpinnerVisible, int importCurrent, int importTotal});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$_SettingsStateCopyWithImpl<$Res>
|
||||
extends _$SettingsStateCopyWithImpl<$Res>
|
||||
implements _$$_SettingsStateCopyWith<$Res> {
|
||||
__$$_SettingsStateCopyWithImpl(
|
||||
_$_SettingsState _value, $Res Function(_$_SettingsState) _then)
|
||||
: super(_value, (v) => _then(v as _$_SettingsState));
|
||||
|
||||
@override
|
||||
_$_SettingsState get _value => super._value as _$_SettingsState;
|
||||
class __$$SettingsStateImplCopyWithImpl<$Res>
|
||||
extends _$SettingsStateCopyWithImpl<$Res, _$SettingsStateImpl>
|
||||
implements _$$SettingsStateImplCopyWith<$Res> {
|
||||
__$$SettingsStateImplCopyWithImpl(
|
||||
_$SettingsStateImpl _value, $Res Function(_$SettingsStateImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of SettingsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? importSpinnerVisible = freezed,
|
||||
Object? importCurrent = freezed,
|
||||
Object? importTotal = freezed,
|
||||
Object? importSpinnerVisible = null,
|
||||
Object? importCurrent = null,
|
||||
Object? importTotal = null,
|
||||
}) {
|
||||
return _then(_$_SettingsState(
|
||||
importSpinnerVisible: importSpinnerVisible == freezed
|
||||
return _then(_$SettingsStateImpl(
|
||||
importSpinnerVisible: null == importSpinnerVisible
|
||||
? _value.importSpinnerVisible
|
||||
: importSpinnerVisible // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
importCurrent: importCurrent == freezed
|
||||
importCurrent: null == importCurrent
|
||||
? _value.importCurrent
|
||||
: importCurrent // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
importTotal: importTotal == freezed
|
||||
importTotal: null == importTotal
|
||||
? _value.importTotal
|
||||
: importTotal // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
@@ -111,8 +119,8 @@ class __$$_SettingsStateCopyWithImpl<$Res>
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$_SettingsState implements _SettingsState {
|
||||
_$_SettingsState(
|
||||
class _$SettingsStateImpl implements _SettingsState {
|
||||
_$SettingsStateImpl(
|
||||
{this.importSpinnerVisible = false,
|
||||
this.importCurrent = 0,
|
||||
this.importTotal = 0});
|
||||
@@ -133,36 +141,36 @@ class _$_SettingsState implements _SettingsState {
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$_SettingsState &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.importSpinnerVisible, importSpinnerVisible) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.importCurrent, importCurrent) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.importTotal, importTotal));
|
||||
other is _$SettingsStateImpl &&
|
||||
(identical(other.importSpinnerVisible, importSpinnerVisible) ||
|
||||
other.importSpinnerVisible == importSpinnerVisible) &&
|
||||
(identical(other.importCurrent, importCurrent) ||
|
||||
other.importCurrent == importCurrent) &&
|
||||
(identical(other.importTotal, importTotal) ||
|
||||
other.importTotal == importTotal));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(importSpinnerVisible),
|
||||
const DeepCollectionEquality().hash(importCurrent),
|
||||
const DeepCollectionEquality().hash(importTotal));
|
||||
runtimeType, importSpinnerVisible, importCurrent, importTotal);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
/// Create a copy of SettingsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
_$$_SettingsStateCopyWith<_$_SettingsState> get copyWith =>
|
||||
__$$_SettingsStateCopyWithImpl<_$_SettingsState>(this, _$identity);
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$SettingsStateImplCopyWith<_$SettingsStateImpl> get copyWith =>
|
||||
__$$SettingsStateImplCopyWithImpl<_$SettingsStateImpl>(this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _SettingsState implements SettingsState {
|
||||
factory _SettingsState(
|
||||
{final bool importSpinnerVisible,
|
||||
final int importCurrent,
|
||||
final int importTotal}) = _$_SettingsState;
|
||||
final int importTotal}) = _$SettingsStateImpl;
|
||||
|
||||
@override
|
||||
bool get importSpinnerVisible;
|
||||
@@ -170,8 +178,11 @@ abstract class _SettingsState implements SettingsState {
|
||||
int get importCurrent;
|
||||
@override
|
||||
int get importTotal;
|
||||
|
||||
/// Create a copy of SettingsState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$_SettingsStateCopyWith<_$_SettingsState> get copyWith =>
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$SettingsStateImplCopyWith<_$SettingsStateImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'package:anitrack/i18n/strings.g.dart';
|
||||
import 'package:anitrack/licenses.g.dart';
|
||||
import 'package:anitrack/src/ui/constants.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class AboutPage extends StatelessWidget {
|
||||
@@ -35,15 +36,55 @@ class AboutPage extends StatelessWidget {
|
||||
'AniTrack',
|
||||
style: Theme.of(context).textTheme.titleLarge,
|
||||
),
|
||||
ElevatedButton(
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4),
|
||||
child: ElevatedButton(
|
||||
onPressed: () async {
|
||||
await launchUrl(
|
||||
Uri.parse('https://codeberg.org/PapaTutuWawa/anitrack'),
|
||||
Uri.parse(
|
||||
'https://codeberg.org/PapaTutuWawa/anitrack',
|
||||
),
|
||||
mode: LaunchMode.externalApplication,
|
||||
);
|
||||
},
|
||||
child: Text(t.about.source),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4),
|
||||
child: ElevatedButton(
|
||||
onPressed: () async {
|
||||
final licenseText = await rootBundle.loadString(
|
||||
'LICENSE',
|
||||
);
|
||||
await showDialog<void>(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return AlertDialog(
|
||||
content: SingleChildScrollView(
|
||||
child: Text(licenseText),
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: Text(t.about.close),
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
child: Text(t.about.license),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
@@ -54,14 +95,34 @@ class AboutPage extends StatelessWidget {
|
||||
|
||||
return ListTile(
|
||||
title: Text(dep.name),
|
||||
onTap: () async {
|
||||
if (dep.repository == null) return;
|
||||
|
||||
onTap: () {
|
||||
showDialog<void>(
|
||||
context: context,
|
||||
builder: (context) => AlertDialog(
|
||||
content: SingleChildScrollView(
|
||||
child: Text(dep.license ?? ''),
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: Text(t.about.close),
|
||||
),
|
||||
if (dep.repository != null)
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
await launchUrl(
|
||||
Uri.parse(dep.repository!),
|
||||
mode: LaunchMode.externalApplication,
|
||||
);
|
||||
},
|
||||
child: Text(t.about.source),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
545
pubspec.lock
545
pubspec.lock
File diff suppressed because it is too large
Load Diff
64
pubspec.yaml
64
pubspec.yaml
@@ -1,51 +1,53 @@
|
||||
name: anitrack
|
||||
description: An anime and manga tracker
|
||||
publish_to: 'none'
|
||||
publish_to: "none"
|
||||
|
||||
version: 0.1.3+2010
|
||||
version: 0.1.3+2011
|
||||
|
||||
environment:
|
||||
sdk: '>=2.18.4 <3.0.0'
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
archive: ^3.3.7
|
||||
bloc: ^8.1.0
|
||||
archive: ^3.6.1
|
||||
bloc: ^8.1.4
|
||||
bottom_bar: ^2.0.3
|
||||
cached_network_image: ^3.2.3
|
||||
collection: ^1.17.0
|
||||
cupertino_icons: ^1.0.2
|
||||
file_picker: ^5.2.8
|
||||
cached_network_image: ^3.4.1
|
||||
collection: ^1.18.0
|
||||
cupertino_icons: ^1.0.8
|
||||
file_picker: ^8.1.2
|
||||
flutter:
|
||||
sdk: flutter
|
||||
flutter_bloc: ^8.1.1
|
||||
fluttertoast: ^8.2.2
|
||||
freezed_annotation: 2.1.0
|
||||
get_it: ^7.2.0
|
||||
jikan_api: ^2.0.0
|
||||
json_annotation: 4.6.0
|
||||
path: ^1.8.2
|
||||
permission_handler: ^10.4.3
|
||||
slang: 3.19.0
|
||||
slang_flutter: 3.19.0
|
||||
sqflite: ^2.2.4+1
|
||||
swipeable_tile: ^2.0.0+3
|
||||
url_launcher: ^6.1.8
|
||||
xml: ^6.2.2
|
||||
flutter_bloc: ^8.1.6
|
||||
fluttertoast: ^8.2.8
|
||||
freezed_annotation: ^2.4.4
|
||||
get_it: ^8.0.0
|
||||
jikan_api: ^2.2.1
|
||||
json_annotation: ^4.9.0
|
||||
path: ^1.9.0
|
||||
permission_handler: ^11.3.1
|
||||
slang: ^3.31.2
|
||||
slang_flutter: ^3.31.0
|
||||
sqflite: ^2.3.3+2
|
||||
swipeable_tile: ^2.0.1
|
||||
url_launcher: ^6.3.0
|
||||
xml: ^6.5.0
|
||||
|
||||
dev_dependencies:
|
||||
build_runner: ^2.1.11
|
||||
flutter_launcher_icons: ^0.11.0
|
||||
flutter_lints: ^2.0.0
|
||||
flutter_oss_licenses: ^2.0.1
|
||||
build_runner: ^2.4.12
|
||||
flutter_launcher_icons: ^0.14.1
|
||||
flutter_lints: ^5.0.0
|
||||
flutter_oss_licenses: ^3.0.2
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
freezed: ^2.1.0+1
|
||||
json_serializable: ^6.3.1
|
||||
slang_build_runner: 3.19.0
|
||||
very_good_analysis: ^3.0.1
|
||||
freezed: ^2.5.7
|
||||
json_serializable: ^6.8.0
|
||||
slang_build_runner: ^3.31.0
|
||||
very_good_analysis: ^6.0.0
|
||||
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
assets:
|
||||
- LICENSE
|
||||
|
||||
flutter_icons:
|
||||
android: "launcher_icon"
|
||||
|
||||
Reference in New Issue
Block a user