Skip to content

Commit 41f104d

Browse files
Fixed blank new settings screen in an single-column mode,
Optimized app launch, Null-safe setting values, Enabled gradle caching, parallel building and non-final res ids to reduce speed time, Updated libraries, Add an foojay-resolver-convention plugin to automatically install an required jdk Signed-off-by: MrBoom <[email protected]>
1 parent 7adc91b commit 41f104d

File tree

69 files changed

+1080
-1052
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1080
-1052
lines changed

app/build.gradle.kts

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import com.android.build.api.dsl.ApplicationProductFlavor
22
import com.mrboomdev.awery.gradle.ProjectVersion.generateVersionCode
33
import com.mrboomdev.awery.gradle.ProjectVersion.getGitCommitHash
4-
import com.mrboomdev.awery.gradle.SettingsClassGenerator.generatedSettingsDir
5-
import com.mrboomdev.awery.gradle.SettingsGenerateTask
4+
import com.mrboomdev.awery.gradle.settings.GenerateSettingsTask
5+
import com.mrboomdev.awery.gradle.settings.generatedSettingsKotlinDirectory
6+
import com.mrboomdev.awery.gradle.settings.generatedSettingsResourcesDirectory
67

78
plugins {
89
alias(libs.plugins.android.app)
@@ -38,13 +39,12 @@ android {
3839
androidResources {
3940
generateLocaleConfig = true
4041
}
41-
42-
sourceSets {
43-
get("main").apply {
44-
java.srcDirs(layout.buildDirectory.file("generated/awery/kotlin"), generatedSettingsDir)
45-
}
42+
43+
sourceSets["main"].apply {
44+
kotlin.srcDir(generatedSettingsKotlinDirectory)
45+
resources.srcDir(generatedSettingsResourcesDirectory)
4646
}
47-
47+
4848
buildTypes {
4949
debug {
5050
isDebuggable = true
@@ -133,8 +133,8 @@ dependencies {
133133
implementation(libs.retrostreams)
134134
implementation(libs.bundles.aniyomi)
135135
implementation(projects.ext)
136-
137-
// Database
136+
137+
// Database
138138
ksp(libs.androidx.room.compiler)
139139
implementation(libs.androidx.room.runtime)
140140

@@ -163,6 +163,9 @@ dependencies {
163163
implementation(libs.androidx.navigation.compose)
164164
implementation(libs.compose.tv.material)
165165
implementation(libs.compose.tv.foundation)
166+
implementation(libs.androidx.adaptive)
167+
implementation(libs.androidx.adaptive.layout)
168+
implementation(libs.androidx.adaptive.navigation)
166169

167170
// Markdown
168171
implementation(libs.markwon.core)
@@ -204,12 +207,11 @@ dependencies {
204207
debugImplementation(libs.leakcanary)
205208
}
206209

207-
tasks.register<SettingsGenerateTask>("generateClasses") {
208-
outputFile = layout.buildDirectory.file("generated/awery/kotlin/com/mrboomdev/awery/AwerySettings.kt")
210+
tasks.register<GenerateSettingsTask>("generateSettings") {
211+
packageName = "com.mrboomdev.awery.generated"
212+
className = "AwerySettings"
209213
inputFiles = listOf(
210214
layout.projectDirectory.file("src/main/assets/app_settings.json"),
211215
layout.projectDirectory.file("src/main/assets/system_settings.json")
212216
)
213-
}
214-
215-
tasks["preBuild"].dependsOn(tasks["generateClasses"])
217+
}.let { tasks["preBuild"].dependsOn(it) }

app/src/main/assets/app_settings.json

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -179,49 +179,49 @@
179179
{
180180
"key": "player_double_tap_seek_length",
181181
"type": "select",
182-
"value": "10",
182+
"value": 10,
183183
"title": "double_tap_seek",
184184
"icon": "ic_round_touch_app_24",
185185
"description": "${VALUE}",
186186
"show_if": ["!tv"],
187187
"items": [
188188
{
189-
"key": "0",
189+
"key": 0,
190190
"title": "disabled"
191191
},
192192

193193
{
194-
"key": "3",
194+
"key": 3,
195195
"title": "3s"
196196
},
197197

198198
{
199-
"key": "5",
199+
"key": 5,
200200
"title": "5s"
201201
},
202202

203203
{
204-
"key": "10",
204+
"key": 10,
205205
"title": "10s"
206206
},
207207

208208
{
209-
"key": "15",
209+
"key": 15,
210210
"title": "15s"
211211
},
212212

213213
{
214-
"key": "30",
214+
"key": 30,
215215
"title": "30s"
216216
},
217217

218218
{
219-
"key": "60",
219+
"key": 60,
220220
"title": "60s"
221221
},
222222

223223
{
224-
"key": "120",
224+
"key": 120,
225225
"title": "120s"
226226
}
227227
]
@@ -230,43 +230,43 @@
230230
{
231231
"key": "player_big_seek_length",
232232
"type": "select",
233-
"value": "60",
233+
"value": 60,
234234
"title": "quick_rewind",
235235
"icon": "ic_fast_forward_outlined",
236236
"description": "${VALUE}",
237237
"items": [
238238
{
239-
"key": "0",
239+
"key": 0,
240240
"title": "Disabled"
241241
},
242242

243243
{
244-
"key": "30",
244+
"key": 30,
245245
"title": "30s"
246246
},
247247

248248
{
249-
"key": "45",
249+
"key": 45,
250250
"title": "45s"
251251
},
252252

253253
{
254-
"key": "60",
254+
"key": 60,
255255
"title": "1m"
256256
},
257257

258258
{
259-
"key": "120",
259+
"key": 120,
260260
"title": "2m"
261261
},
262262

263263
{
264-
"key": "180",
264+
"key": 180,
265265
"title": "3m"
266266
},
267267

268268
{
269-
"key": "240",
269+
"key": 240,
270270
"title": "4m"
271271
}
272272
]
@@ -330,42 +330,42 @@
330330
},
331331

332332
{
333-
"key": "144",
333+
"key": 144,
334334
"title": "144p"
335335
},
336336

337337
{
338-
"key": "240",
338+
"key": 240,
339339
"title": "240p"
340340
},
341341

342342
{
343-
"key": "360",
343+
"key": 360,
344344
"title": "360p"
345345
},
346346

347347
{
348-
"key": "480",
348+
"key": 480,
349349
"title": "480p"
350350
},
351351

352352
{
353-
"key": "720",
353+
"key": 720,
354354
"title": "720p"
355355
},
356356

357357
{
358-
"key": "1080",
358+
"key": 1080,
359359
"title": "1080p"
360360
},
361361

362362
{
363-
"key": "1440",
363+
"key": 1440,
364364
"title": "1440p"
365365
},
366366

367367
{
368-
"key": "2160",
368+
"key": 2160,
369369
"title": "2160p"
370370
}
371371
]
@@ -520,6 +520,7 @@
520520
"key": "log_network",
521521
"type": "boolean",
522522
"restart": true,
523+
"value": false,
523524
"title": "Verbose network logging"
524525
},
525526

app/src/main/assets/system_settings.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"items": [
44
{
55
"key": "did_suggest_material_you",
6-
"type": "boolean"
6+
"type": "boolean",
7+
"value": false
78
},
89

910
{
@@ -13,13 +14,13 @@
1314

1415
{
1516
"key": "last_opened_version",
16-
"type": "integer", "value": 0
17+
"type": "integer", "value": -1
1718
},
1819

1920
{
2021
"key": "setup_version_finished",
2122
"type": "integer",
22-
"value": 0
23+
"value": -1
2324
},
2425

2526
{
@@ -86,6 +87,7 @@
8687
{
8788
"key": "use_amoled_theme",
8889
"type": "boolean",
90+
"value": false,
8991
"restart": true,
9092
"title": "amoled",
9193
"icon": "ic_contrast",
@@ -95,6 +97,7 @@
9597
{
9698
"key": "extract_banner_color",
9799
"type": "boolean",
100+
"value": true,
98101
"title": "use_unique_theme_for_each_item",
99102
"icon": "ic_round_movie_filter_24",
100103
"show_if": ["never"]

0 commit comments

Comments
 (0)