ストリーミング受信状態表示をもっと正確にする
This commit is contained in:
parent
731780c775
commit
26888a79f4
|
@ -66,6 +66,7 @@ internal class StreamReader(
|
||||||
internal fun dispose() {
|
internal fun dispose() {
|
||||||
bDisposed.set(true)
|
bDisposed.set(true)
|
||||||
socket.get()?.cancel()
|
socket.get()?.cancel()
|
||||||
|
socket.set(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal val proc_reconnect : Runnable = Runnable {
|
internal val proc_reconnect : Runnable = Runnable {
|
||||||
|
@ -240,12 +241,14 @@ internal class StreamReader(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
socket.set(null)
|
||||||
bListening.set(true)
|
bListening.set(true)
|
||||||
fireListeningChanged()
|
fireListeningChanged()
|
||||||
|
|
||||||
TootTaskRunner(context).run(access_info, object : TootTask {
|
TootTaskRunner(context).run(access_info, object : TootTask {
|
||||||
override fun background(client : TootApiClient) : TootApiResult? {
|
override fun background(client : TootApiClient) : TootApiResult? {
|
||||||
val result = client.webSocket(end_point, this@Reader)
|
val result = client.webSocket(end_point, this@Reader)
|
||||||
|
|
||||||
if(result == null) {
|
if(result == null) {
|
||||||
log.d("startRead: cancelled.")
|
log.d("startRead: cancelled.")
|
||||||
bListening.set(false)
|
bListening.set(false)
|
||||||
|
@ -254,9 +257,15 @@ internal class StreamReader(
|
||||||
val ws = result.data as? WebSocket
|
val ws = result.data as? WebSocket
|
||||||
if(ws != null) {
|
if(ws != null) {
|
||||||
socket.set(ws)
|
socket.set(ws)
|
||||||
|
fireListeningChanged()
|
||||||
} else {
|
} else {
|
||||||
val error = result.error
|
val error = result.error
|
||||||
log.d("startRead: error. $error")
|
log.d("startRead: error. $error")
|
||||||
|
bListening.set(false)
|
||||||
|
fireListeningChanged()
|
||||||
|
// this may network error.
|
||||||
|
handler.removeCallbacks(proc_reconnect)
|
||||||
|
handler.postDelayed(proc_reconnect, 5000L)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
|
@ -350,9 +359,10 @@ internal class StreamReader(
|
||||||
&& reader.end_point == endPoint
|
&& reader.end_point == endPoint
|
||||||
&& reader.containsCallback( streamCallback )
|
&& reader.containsCallback( streamCallback )
|
||||||
) {
|
) {
|
||||||
return when( reader.bListening.get() ){
|
return if(reader.bListening.get() && reader.socket.get() != null ) {
|
||||||
true -> StreamingIndicatorState.LISTENING
|
StreamingIndicatorState.LISTENING
|
||||||
else -> StreamingIndicatorState.REGISTERED
|
}else {
|
||||||
|
StreamingIndicatorState.REGISTERED
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue