Repository navigation
fix: quick fixes for TV visibility, status overlay, crash handler, WebUI auth (#24 #25 #26 #29) - #42
Conversation
Without the uses-feature entry Google Play assumes a touchscreen is required and hides the app on Android TV and set-top boxes (fixes #29).
The 1 s details refresh and the 5 s hide posted on "connected" were never cancelled, so a later "Disconnected" could be overwritten or hidden (fixes #26).
The handler started the Crash activity but left the crashed process running in an undefined state (or frozen, after a main-thread crash). The process is now killed; Crash runs in its own :crash process so it still shows the report (fixes #24).
onReceivedHttpAuthRequest answered every host with the user and password from the RTSP URL, so a redirect or link to another host received them (fixes #25).
PR Summary by QodoFix TV availability, status timers, crash recovery, and WebUI auth
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can commit Qodo's fix in one click with committable suggestions (GitHub & GitLab) |
Fixes #29, fixes #26, fixes #24, fixes #25. One commit per issue.
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>updateStatus()cancels them withremoveCallbacks()Crashis started;Crashruns in its own:crashprocesshandler.proceed()only when the requesting host equals the camera host; otherwisecancel()About #24
Lint still warns about
DefaultUncaughtExceptionDelegation, and this is deliberate. Handing the exception to the system handler would show the system "app keeps stopping" dialog on top of our own crash screen. Instead the process is ended explicitly withkillProcess+exit. TheCrashactivity lives in a separate process, so it survives this and shows the stack trace.Verification
assembleDebug: OK.lintDebug: errors go from 3 to 2.ImpliedTouchscreenHardwareis gone; the remaining two are Android 16 (targetSdk 36): migrate Back handling to OnBackInvokedCallback #30 and Cleanup: small code issues #35.