Crash when a empty server appear in local network
Description
Sometimes my local network might appear a empty server, and this app can't handle it. It fixed when i turn of my wifi, but I have to use it to browse my video in my computer.
Expected behavior
Works as usual.
Actual behavior
Crash.
crash log here
App version: 3.5.3 java.util.NoSuchElementException: Char sequence is empty. at kotlin.text.StringsKt___StringsKt.first(_Strings.kt:72) at org.videolan.vlc.util.KextensionsKt.sanitizeStringForAlphaCompare(Kextensions.kt:406) at org.videolan.vlc.util.ModelsHelperKt.getFilenameAscComp$lambda-2(ModelsHelper.kt:296) at org.videolan.vlc.util.ModelsHelperKt.r8
lambda$mOB1AlylPPKvyOTDA60np1BAIwU(Unknown Source:0)
at org.videolan.vlc.util.ModelsHelperKt$$ExternalSyntheticLambda2.compare(Unknown Source:6)
at org.videolan.tools.livedata.LiveDataset.add(LiveDataset.kt:62)
at org.videolan.vlc.providers.BrowserProvider.addMedia(BrowserProvider.kt:242)
at org.videolan.vlc.providers.BrowserProvider$browseImpl$2$1$1.emit(BrowserProvider.kt:170)
at org.videolan.vlc.providers.BrowserProvider$browseImpl$2$1$1.emit(BrowserProvider.kt:170)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:62)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.accessemitAllImpl
FlowKt__ChannelsKt(Channels.kt:1)
at kotlinx.coroutines.flow.FlowKt__ChannelsKtemitAllImpl
1.invokeSuspend(Unknown Source:14)
at (Coroutine boundary.()
at org.videolan.vlc.providers.BrowserProvider$browseImpl$2$1.invokeSuspend(BrowserProvider.kt:170)
at org.videolan.vlc.providers.BrowserProvider.browseImpl$suspendImpl(BrowserProvider.kt:169)
at org.videolan.vlc.providers.BrowserProvider$browserActor$1.invokeSuspend(BrowserProvider.kt:116)
at Android.MODEL(Redmi K30 5G)
at Android.VERSION(11)
at Android.FINGERPRINT(Redmi/picasso/picasso:11/RKQ1.200826.002/V12.1.8.0.RGICNXM:user/release-keys)
Caused by: java.util.NoSuchElementException: Char sequence is empty.
at kotlin.text.StringsKt___StringsKt.first(_Strings.kt:72)
at org.videolan.vlc.util.KextensionsKt.sanitizeStringForAlphaCompare(Kextensions.kt:406)
at org.videolan.vlc.util.ModelsHelperKt.getFilenameAscComp$lambda-2(ModelsHelper.kt:296)
at org.videolan.vlc.util.ModelsHelperKt.r8
lambda$mOB1AlylPPKvyOTDA60np1BAIwU(Unknown Source:0)
at org.videolan.vlc.util.ModelsHelperKt$$ExternalSyntheticLambda2.compare(Unknown Source:6)
at org.videolan.tools.livedata.LiveDataset.add(LiveDataset.kt:62)
at org.videolan.vlc.providers.BrowserProvider.addMedia(BrowserProvider.kt:242)
at org.videolan.vlc.providers.BrowserProvider$browseImpl$2$1$1.emit(BrowserProvider.kt:170)
at org.videolan.vlc.providers.BrowserProvider$browseImpl$2$1$1.emit(BrowserProvider.kt:170)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:62)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.access$emitAllImpl$FlowKt__ChannelsKt(Channels.kt:1)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Unknown Source:14)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at android.os.Handler.handleCallback(Unknown Source:2)
at android.os.Handler.dispatchMessage(Unknown Source:4)
at android.os.Looper.loop(Unknown Source:249)
at android.app.ActivityThread.main(Unknown Source:101)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
at com.android.internal.os.ZygoteInit.main(Unknown Source:313)
1.Open this app.
2.Click "Browse".
3.Boom.
Screenshot / video
https://www.youtube.com/shorts/EpWpb33_qAM
Context
App version
3.5.3
Android version
11
Device model
Redmi K30 5G
App mode
Smartphone
TV
both