Skip to content

Commit cfb8b1a

Browse files
authored
Merge pull request #2060 from TroyTheGod/fix-call-method-from-wrong-thread
Fix: Resolved CalledFromWrongThreadException in Camera Fragment
2 parents 37c4903 + 243a2e8 commit cfb8b1a

1 file changed

Lines changed: 18 additions & 7 deletions

File tree

app/src/main/java/com/pedro/streamer/rotation/CameraFragment.kt

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import android.widget.TextView
3030
import androidx.annotation.RequiresApi
3131
import androidx.fragment.app.Fragment
3232
import com.pedro.common.ConnectChecker
33+
import com.pedro.common.onMainThreadHandler
3334
import com.pedro.encoder.input.sources.video.Camera1Source
3435
import com.pedro.encoder.input.sources.video.Camera2Source
3536
import com.pedro.extrasources.CameraXSource
@@ -145,7 +146,9 @@ class CameraFragment: Fragment(), ConnectChecker {
145146
bRecord.setImageResource(R.drawable.pause_icon)
146147
genericStream.startRecord(recordPath) { status ->
147148
if (status == RecordController.Status.RECORDING) {
148-
bRecord.setImageResource(R.drawable.stop_icon)
149+
onMainThreadHandler {
150+
bRecord.setImageResource(R.drawable.stop_icon)
151+
}
149152
}
150153
}
151154
} else {
@@ -208,24 +211,32 @@ class CameraFragment: Fragment(), ConnectChecker {
208211
toast("Retry")
209212
} else {
210213
genericStream.stopStream()
211-
bStartStop.setImageResource(R.drawable.stream_icon)
214+
onMainThreadHandler {
215+
bStartStop.setImageResource(R.drawable.stream_icon)
216+
}
212217
toast("Failed: $reason")
213218
}
214219
}
215220

216221
override fun onNewBitrate(bitrate: Long) {
217-
bitrateAdapter.adaptBitrate(bitrate, genericStream.getStreamClient().hasCongestion())
218-
txtBitrate.text = String.format(Locale.getDefault(), "%.1f mb/s", bitrate / 1000_000f)
222+
onMainThreadHandler {
223+
bitrateAdapter.adaptBitrate(bitrate, genericStream.getStreamClient().hasCongestion())
224+
txtBitrate.text = String.format(Locale.getDefault(), "%.1f mb/s", bitrate / 1000_000f)
225+
}
219226
}
220227

221228
override fun onDisconnect() {
222-
txtBitrate.text = String()
223-
toast("Disconnected")
229+
onMainThreadHandler {
230+
txtBitrate.text = String()
231+
toast("Disconnected")
232+
}
224233
}
225234

226235
override fun onAuthError() {
227236
genericStream.stopStream()
228-
bStartStop.setImageResource(R.drawable.stream_icon)
237+
onMainThreadHandler {
238+
bStartStop.setImageResource(R.drawable.stream_icon)
239+
}
229240
toast("Auth error")
230241
}
231242

0 commit comments

Comments
 (0)