Production cleanup: enable R8, add ProGuard rules, validate API input
- Enable R8 minification and resource shrinking for release builds - Add ProGuard keep rules for Ktor, kotlinx.serialization, Room - Validate hour/minute range in POST /set endpoint - Guard wake lock release on server start failure - Remove unused template colors from colors.xml - Rewrite README with curl examples, security note, troubleshooting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5ad7c6cee8
commit
6032e9fd07
5 changed files with 103 additions and 55 deletions
|
|
@ -54,7 +54,13 @@ class KtorService : Service() {
|
|||
super.onCreate()
|
||||
acquireWakeLock()
|
||||
startForeground(NOTIFICATION_ID, buildNotification())
|
||||
startServer()
|
||||
try {
|
||||
startServer()
|
||||
} catch (e: Exception) {
|
||||
releaseWakeLock()
|
||||
stopSelf()
|
||||
return
|
||||
}
|
||||
rescheduleAlarms()
|
||||
}
|
||||
|
||||
|
|
@ -111,6 +117,13 @@ class KtorService : Service() {
|
|||
post("/set") {
|
||||
try {
|
||||
val req = call.receive<SetAlarmRequest>()
|
||||
if (req.hour !in 0..23 || req.minute !in 0..59) {
|
||||
call.respond(
|
||||
HttpStatusCode.BadRequest,
|
||||
ErrorResponse("hour must be 0-23, minute must be 0-59")
|
||||
)
|
||||
return@post
|
||||
}
|
||||
val id = UUID.randomUUID().toString()
|
||||
|
||||
val now = Calendar.getInstance()
|
||||
|
|
|
|||
|
|
@ -1,10 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="purple_200">#FFBB86FC</color>
|
||||
<color name="purple_500">#FF6200EE</color>
|
||||
<color name="purple_700">#FF3700B3</color>
|
||||
<color name="teal_200">#FF03DAC5</color>
|
||||
<color name="teal_700">#FF018786</color>
|
||||
<color name="black">#FF000000</color>
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
</resources>
|
||||
</resources>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue