Skip to content

Commit 7589c2a

Browse files
committed
Fix ANR issue
1 parent 422ed72 commit 7589c2a

File tree

86 files changed

+1244
-1236
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+1244
-1236
lines changed

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ android {
4141
else -> 0
4242
}
4343

44-
val vCode = 406
44+
val vCode = 409
4545
versionCode = vCode - singleAbiNum
46-
versionName = "2.1.8"
46+
versionName = "2.1.9"
4747

4848
ndk {
4949
//noinspection ChromeOsAbiSupport

app/src/main/java/com/ismartcoding/plain/web/NsdHelper.kt

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@ package com.ismartcoding.plain.web
33
import android.content.Context
44
import android.net.nsd.NsdManager
55
import android.net.nsd.NsdServiceInfo
6+
import com.ismartcoding.lib.helpers.CoroutinesHelper.coIO
67
import com.ismartcoding.lib.helpers.NetworkHelper
78
import com.ismartcoding.lib.logcat.LogCat
89
import com.ismartcoding.plain.TempData
10+
import kotlinx.coroutines.Job
11+
import kotlinx.coroutines.withTimeout
912
import java.net.InetAddress
1013
import javax.jmdns.JmDNS
1114
import javax.jmdns.ServiceInfo
@@ -17,6 +20,7 @@ object NsdHelper {
1720
private var nsdManager: NsdManager? = null
1821
private var registrationListener: NsdManager.RegistrationListener? = null
1922
private var jmDNS: JmDNS? = null
23+
private var unregisterJob: Job? = null
2024

2125
/**
2226
* Register the HTTP service with NSD and mDNS
@@ -98,25 +102,28 @@ object NsdHelper {
98102
* Unregister the service when no longer needed
99103
*/
100104
fun unregisterService() {
101-
// Unregister Android NSD
102-
registrationListener?.let { listener ->
103-
try {
104-
nsdManager?.unregisterService(listener)
105-
LogCat.d("Unregistered Android NSD service")
106-
} catch (e: Exception) {
107-
LogCat.e("Failed to unregister Android NSD service: ${e.message}")
105+
val listener = registrationListener.also { registrationListener = null }
106+
val jmdns = jmDNS.also { jmDNS = null }
107+
108+
unregisterJob?.cancel()
109+
110+
unregisterJob = coIO {
111+
listener?.let { l ->
112+
runCatching { nsdManager?.unregisterService(l) }
113+
.onSuccess { LogCat.d("Unregistered Android NSD service") }
114+
.onFailure { LogCat.e("Failed to unregister Android NSD service: ${it.message}") }
115+
}
116+
117+
jmdns?.let { j ->
118+
runCatching {
119+
withTimeout(5_000) {
120+
runCatching { j.unregisterAllServices() }
121+
runCatching { j.close() }
122+
}
123+
}
124+
.onSuccess { LogCat.d("Unregistered JmDNS service") }
125+
.onFailure { LogCat.e("Failed to shutdown JmDNS: ${it.message}") }
108126
}
109127
}
110-
registrationListener = null
111-
112-
// Unregister JmDNS
113-
try {
114-
jmDNS?.unregisterAllServices()
115-
jmDNS?.close()
116-
LogCat.d("Unregistered JmDNS service")
117-
} catch (e: Exception) {
118-
LogCat.e("Failed to unregister JmDNS service: ${e.message}")
119-
}
120-
jmDNS = null
121128
}
122129
}

app/src/main/resources/web/assets/AppsSidebar-BsIQ3qYp.js renamed to app/src/main/resources/web/assets/AppsSidebar-D4BgHUrW.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/resources/web/assets/AppsView-BjyQjYFu.js renamed to app/src/main/resources/web/assets/AppsView-DoSJS6xO.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/resources/web/assets/AudiosSidebar-CWh-ScFY.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/resources/web/assets/AudiosSidebar-xrWKR1X2.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

app/src/main/resources/web/assets/AudiosView-B4vDAUbX.js renamed to app/src/main/resources/web/assets/AudiosView-xrwi-uHO.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/resources/web/assets/CallsSidebar-BZpYyESC.js renamed to app/src/main/resources/web/assets/CallsSidebar-zgdCbDYK.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)