Fix startup crash: listener methods collided with Activity lifecycle
ControlServer.Listener declared onPause()/onResume(); implementing them in MainActivity overrode Activity.onPause/onResume without super calls, so the first resume died with SuperNotCalledException. Renamed to onPauseCast/ onResumeCast (matching onStopCast). Also drop R8 optimize variant. Verified on a Sony Bravia (Android TV 14). Version 0.1.1. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -153,9 +153,9 @@ class MainActivity : Activity(), ControlServer.Listener {
|
||||
|
||||
override fun onTogglePlay() = playerController.toggle()
|
||||
|
||||
override fun onPause() = playerController.pause()
|
||||
override fun onPauseCast() = playerController.pause()
|
||||
|
||||
override fun onResume() = playerController.resume()
|
||||
override fun onResumeCast() = playerController.resume()
|
||||
|
||||
override fun onStopCast() = playerController.stop()
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@ class ControlServer(
|
||||
interface Listener {
|
||||
fun onPlay(url: String, name: String, group: String)
|
||||
fun onTogglePlay()
|
||||
fun onPause()
|
||||
fun onResume()
|
||||
fun onPauseCast()
|
||||
fun onResumeCast()
|
||||
fun onStopCast()
|
||||
fun onSeek(deltaSeconds: Long)
|
||||
fun onVolume(value: Float)
|
||||
@@ -176,8 +176,8 @@ class ControlServer(
|
||||
)
|
||||
}
|
||||
"toggle" -> post { listener.onTogglePlay() }
|
||||
"pause" -> post { listener.onPause() }
|
||||
"resume" -> post { listener.onResume() }
|
||||
"pause" -> post { listener.onPauseCast() }
|
||||
"resume" -> post { listener.onResumeCast() }
|
||||
"stop" -> post { listener.onStopCast() }
|
||||
"seek" -> post { listener.onSeek(msg.optLong("delta")) }
|
||||
"volume" -> post { listener.onVolume(msg.optDouble("value", 1.0).toFloat().coerceIn(0f, 1f)) }
|
||||
|
||||
Reference in New Issue
Block a user