Skip to content

Commit ba306bf

Browse files
authored
android: use a coroutine for loadfiles (#551)
contentResolver.query is attempting to perform a network query on the main thread. Move this to a coroutine to prevent blocking. Fixes tailscale/corp#24293 Signed-off-by: kari-ts <[email protected]>
1 parent e89c259 commit ba306bf

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

android/src/main/java/com/tailscale/ipn/ShareActivity.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,18 @@ import androidx.activity.compose.setContent
1414
import androidx.compose.material3.MaterialTheme
1515
import androidx.compose.material3.Surface
1616
import androidx.compose.ui.Modifier
17+
import androidx.lifecycle.lifecycleScope
1718
import com.tailscale.ipn.ui.model.Ipn
1819
import com.tailscale.ipn.ui.theme.AppTheme
1920
import com.tailscale.ipn.ui.util.set
2021
import com.tailscale.ipn.ui.util.universalFit
2122
import com.tailscale.ipn.ui.view.TaildropView
2223
import com.tailscale.ipn.util.TSLog
24+
import kotlinx.coroutines.Dispatchers
2325
import kotlinx.coroutines.flow.MutableStateFlow
2426
import kotlinx.coroutines.flow.StateFlow
27+
import kotlinx.coroutines.launch
28+
import kotlinx.coroutines.withContext
2529
import kotlin.random.Random
2630

2731
// ShareActivity is the entry point for Taildrop share intents
@@ -47,7 +51,7 @@ class ShareActivity : ComponentActivity() {
4751
super.onStart()
4852
// Ensure our app instance is initialized
4953
App.get()
50-
loadFiles()
54+
lifecycleScope.launch { withContext(Dispatchers.IO) { loadFiles() } }
5155
}
5256

5357
override fun onNewIntent(intent: Intent) {

0 commit comments

Comments
 (0)