mirror of
https://github.com/MatsuriDayo/NekoBoxForAndroid.git
synced 2025-12-19 14:40:06 +08:00
fix
This commit is contained in:
parent
0ac46f4bc6
commit
55a2af6779
@ -187,8 +187,6 @@ public abstract class StandardV2RayBean extends AbstractBean {
|
||||
StandardV2RayBean bean = ((StandardV2RayBean) other);
|
||||
bean.allowInsecure = allowInsecure;
|
||||
bean.utlsFingerprint = utlsFingerprint;
|
||||
bean.realityPubKey = realityPubKey;
|
||||
bean.realityShortId = realityShortId;
|
||||
}
|
||||
|
||||
public boolean isVLESS() {
|
||||
|
||||
@ -104,6 +104,7 @@ class AboutFragment : ToolbarFragment(R.layout.layout_about) {
|
||||
}
|
||||
.build())
|
||||
.apply {
|
||||
PackageCache.awaitLoadSync()
|
||||
for ((_, pkg) in PackageCache.installedPluginPackages) {
|
||||
try {
|
||||
val pluginId = pkg.providers[0].loadString(Plugins.METADATA_KEY_ID)
|
||||
|
||||
@ -11,6 +11,7 @@ import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.sync.withLock
|
||||
import moe.matsuri.nb4a.plugin.Plugins
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
|
||||
object PackageCache {
|
||||
|
||||
@ -20,9 +21,11 @@ object PackageCache {
|
||||
lateinit var packageMap: Map<String, Int>
|
||||
val uidMap = HashMap<Int, HashSet<String>>()
|
||||
val loaded = Mutex(true)
|
||||
var registerd = AtomicBoolean(false)
|
||||
|
||||
// called from init (suspend)
|
||||
fun register() {
|
||||
if (registerd.getAndSet(true)) return
|
||||
reload()
|
||||
app.listenForPackageChanges(false) {
|
||||
reload()
|
||||
@ -77,6 +80,10 @@ object PackageCache {
|
||||
if (::packageMap.isInitialized) {
|
||||
return
|
||||
}
|
||||
if (!registerd.get()) {
|
||||
register()
|
||||
return
|
||||
}
|
||||
runBlocking {
|
||||
loaded.withLock {
|
||||
// just await
|
||||
|
||||
Loading…
Reference in New Issue
Block a user