Features #361
öppenFeatures #352: Samling: Inför provideroberoende SMS-transport
Maintenance #359: Samling: Egen SMS-gateway för Android 14
Migrera SMSGate till Android 14 och modern bakgrundsdrift
40%
Beskrivning
Utfall: Gatewayappen bygger mot aktuell Android-SDK, riktar sig mot minst API 34 och fungerar korrekt på fysisk Android 14-enhet.
Definition of Done:
- compileSdk är aktuell och targetSdk är minst 34.
- Behörigheter, foreground service, notifieringskanal, boot och batterihantering följer Android 14-regler.
- Start, stopp, omstart och återhämtning efter skärmlås/omstart är verifierade utan krasch eller tyst avbrott.
Utanför scope: gateway-API-kontrakt och Föreningskiosk-integration.
Verifiering: automatiska tester samt minst 24 timmars fysisk Android 14-körning i testmiljö.
Acceptanskriterier
Appen riktar sig mot minst API 34 och klarar start, skärmlås, omstart och 24 timmars bakgrundsdrift på fysisk Android 14-enhet.
CA Uppdaterad av Codex API för 7 dagar sedan
Automatisk Android 14-verifiering klar på branch codex/android-14-migration (ännu inte committad eller pushad).
Resultat:
- compileSdk/targetSdk 34 med JDK 17, Gradle 8.2, AGP 8.2.2, Kotlin/KSP 1.9.22 och Room 2.6.1.
- Android 14-behörigheter och explicita foreground-service-typer införda; interna komponenter hålls icke exporterade.
- POST_NOTIFICATIONS begärs på API 33+, dynamiska mottagare deklarerar exportbeteende och boot/shutdown-flödet har korrigerats.
- 8 konfigurationstester passerar.
- Gradle testDebugUnitTest, lintDebug och assembleDebug passerar, lint har 0 fel.
- Samma hela verifieringskedja passerar från en ren exporterad Git-indexkopia.
- Test-APK: app/build/outputs/apk/debug/app-debug.apk, SHA-256 448e2f033693e204257b17690a52cb8e2f5b8ded4a5a7cf124a96457412034e9.
- APK verifierad med giltig Android Debug-signatur, package me.capcom.smsgateway, minSdk 21, targetSdk 34.
Kvar enligt DoD: installation och fysisk Android 14-verifiering av behörigheter, notifiering, lokalt /health, SMS, stopp/start, 15 min skärmlås, omstart/autostart samt 24 timmars drift. Debug-APK:n är inte produktionssignerad och kan kräva avinstallation av annan signerad installation.
CA Uppdaterad av Codex API för 7 dagar sedan
Fysisk Android 14-verifiering stoppad: appen kraschar när START SERVICE trycks med Local server aktiverad. SMS-, telefon- och notifieringsbehörigheter är beviljade; lokal adress och autentiseringsuppgifter hinner inte visas. Ingen fortsatt acceptansverifiering innan Android-logcat har fångats och rotorsaken åtgärdats.
CA Uppdaterad av Codex API för 6 dagar sedan
Android 14-verifiering på fysisk Motorola edge 30 neo (2026-09-25):
- Ursprunglig startkrasch reproducerades som InvalidForegroundServiceTypeException från WorkManagers SystemForegroundService vid targetSdk 34.
- SendMessagesWorker, SendWebhookWorker och WebhookQueueProcessorWorker anger nu FOREGROUND_SERVICE_TYPE_DATA_SYNC i ForegroundInfo. Ny regressionstestning täcker samtliga tre workers.
- Full Docker/Gradle-verifiering passerade: enhetstester, lintDebug och assembleDebug. Test-APK SHA-256: 386E5D62E32DB0F255E6E0571BC29768038D7BA5EDE18B246549E894DFFAF2F0.
- Korrigerad APK installerades rent via ADB och deklarerade SMS-, telefon- och aviseringsbehörigheter beviljades.
- Lokal server startade utan FATAL EXCEPTION. WebService kör som foreground-tjänst med datasync-typ och beständig avisering.
- /health gav HTTP 200/status pass och autentiserad rot-endpoint gav HTTP 200.
- Efter 15 minuter med låst skärm: health 200, autentiserad endpoint 200, foreground-tjänst och avisering kvar, ingen krasch.
- Stopp/återstart: endpointen blev otillgänglig vid stopp och återkom med HTTP 200 utan ominstallation eller datarensning.
- Start on boot aktiverades. Efter faktisk telefon omstart och mer än fem minuter: processen, foreground-tjänsten och aviseringen autostartade utan att appen öppnades; Wi-Fi återhämtade sig till validerat nät, health 200/pass, autentiserad endpoint 200 och ingen krasch.
- API-process utan operatörssändning verifierades med fiktivt nummer och scheduleAt 2099: POST 202/Pending, GET 200/Pending, DELETE 200/Cancelled och efterkontroll 200/Cancelled.
Kvar: faktisk SMS accepted/sent/delivered när beställt SIM/eSIM finns samt minst 24 timmars fysisk bakgrundskörning. Ärendet lämnas In progress tills dessa acceptanskriterier är verifierade.
CA Uppdaterad av Codex API för 6 dagar sedan
Android 14-implementationen är committad som e131ebe2e17186221c374fc82566ece600b211af och pushad till codex/android-14-migration i ssh://bj@remembrance/srv/git/Foreningskiosk-SMSGate-Android.git. Lokal och fjärr hash verifierades identiska. Ingen merge till main utförd; faktisk SMS-leverans och 24-timmarskörning återstår.