Model radio startup and main queue delivery failures
This commit is contained in:
1 parent
982ed0ca7d
commit
45bc97c25b
2 files changed
+14
-4
No files matched your search
@@ -32,8 +32,8 @@ class Looper private constructor() {
|
||||
}
|
||||
}
|
||||
class Handler(val looper: Looper) {
|
||||
companion object { var rejectDelayed = false }
|
||||
fun post(task: Runnable): Boolean = looper.post(this, task, 0)
|
||||
companion object { var rejectDelayed = false; var rejectImmediate = false }
|
||||
fun post(task: Runnable): Boolean = !rejectImmediate && looper.post(this, task, 0)
|
||||
fun postDelayed(task: Runnable, delay: Long): Boolean = !rejectDelayed && looper.post(this, task, delay)
|
||||
fun removeCallbacks(task: Runnable) = looper.remove(this, task)
|
||||
}
|
||||
|
||||
+12
-2
@@ -40,12 +40,18 @@ object NativeLib {
|
||||
@Volatile private var radioGroup = 0L
|
||||
@Volatile private var radioMode = 0
|
||||
@Volatile private var radioTx = false
|
||||
var radioFailures = emptySet<String>()
|
||||
fun radioSetActive(group: Long, active: Boolean) { radioCommands.add(RadioCommand("active=$active", group)) }
|
||||
fun radioConfigure(request: Long, settings: RadioAutoSettings): Boolean { radioRequest = request; return settings.valid() }
|
||||
fun radioAudioStart(group: Long, channels: Int): Boolean {
|
||||
if ("start" in radioFailures) return false
|
||||
radioGroup = group; radioCommands.add(RadioCommand("audio start", group)); return true
|
||||
}
|
||||
fun radioAudioStop() { radioTx = false; radioCommands.add(RadioCommand("audio stop", radioGroup)) }
|
||||
fun radioAudioStop() {
|
||||
radioCommands.add(RadioCommand("audio stop", radioGroup))
|
||||
check("stop" !in radioFailures) { "native audio stop failed" }
|
||||
radioTx = false
|
||||
}
|
||||
fun radioAudioPull(group: Long, out: ShortArray, playedFrames: Long): Int = 0
|
||||
fun radioAudioFeed(group: Long, samples: ShortArray): Boolean = group == radioGroup
|
||||
fun radioCaptureStart(group: Long, channels: Int, mode: Int): Boolean {
|
||||
@@ -108,7 +114,11 @@ object NativeLib {
|
||||
/** Управляемая подготовка конфига: тест удерживает реальный worker, считает перекрытия и затем дожидается его завершения. */
|
||||
class HostConfigProvider {
|
||||
var radioSettings = RadioAutoSettings()
|
||||
fun getRadioAutoSettings() = radioSettings
|
||||
var failRadioSettings = false
|
||||
fun getRadioAutoSettings(): RadioAutoSettings {
|
||||
check(!failRadioSettings) { "radio settings read failed" }
|
||||
return radioSettings
|
||||
}
|
||||
var mediaProfile = MediaAudioProfile.AUTO
|
||||
var failMediaRead = false
|
||||
var failMediaWrite = false
|
||||
|
||||
Reference in new issue
Block a user