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);
|
StandardV2RayBean bean = ((StandardV2RayBean) other);
|
||||||
bean.allowInsecure = allowInsecure;
|
bean.allowInsecure = allowInsecure;
|
||||||
bean.utlsFingerprint = utlsFingerprint;
|
bean.utlsFingerprint = utlsFingerprint;
|
||||||
bean.realityPubKey = realityPubKey;
|
|
||||||
bean.realityShortId = realityShortId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isVLESS() {
|
public boolean isVLESS() {
|
||||||
|
|||||||
@ -104,6 +104,7 @@ class AboutFragment : ToolbarFragment(R.layout.layout_about) {
|
|||||||
}
|
}
|
||||||
.build())
|
.build())
|
||||||
.apply {
|
.apply {
|
||||||
|
PackageCache.awaitLoadSync()
|
||||||
for ((_, pkg) in PackageCache.installedPluginPackages) {
|
for ((_, pkg) in PackageCache.installedPluginPackages) {
|
||||||
try {
|
try {
|
||||||
val pluginId = pkg.providers[0].loadString(Plugins.METADATA_KEY_ID)
|
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.Mutex
|
||||||
import kotlinx.coroutines.sync.withLock
|
import kotlinx.coroutines.sync.withLock
|
||||||
import moe.matsuri.nb4a.plugin.Plugins
|
import moe.matsuri.nb4a.plugin.Plugins
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean
|
||||||
|
|
||||||
object PackageCache {
|
object PackageCache {
|
||||||
|
|
||||||
@ -20,9 +21,11 @@ object PackageCache {
|
|||||||
lateinit var packageMap: Map<String, Int>
|
lateinit var packageMap: Map<String, Int>
|
||||||
val uidMap = HashMap<Int, HashSet<String>>()
|
val uidMap = HashMap<Int, HashSet<String>>()
|
||||||
val loaded = Mutex(true)
|
val loaded = Mutex(true)
|
||||||
|
var registerd = AtomicBoolean(false)
|
||||||
|
|
||||||
// called from init (suspend)
|
// called from init (suspend)
|
||||||
fun register() {
|
fun register() {
|
||||||
|
if (registerd.getAndSet(true)) return
|
||||||
reload()
|
reload()
|
||||||
app.listenForPackageChanges(false) {
|
app.listenForPackageChanges(false) {
|
||||||
reload()
|
reload()
|
||||||
@ -77,6 +80,10 @@ object PackageCache {
|
|||||||
if (::packageMap.isInitialized) {
|
if (::packageMap.isInitialized) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if (!registerd.get()) {
|
||||||
|
register()
|
||||||
|
return
|
||||||
|
}
|
||||||
runBlocking {
|
runBlocking {
|
||||||
loaded.withLock {
|
loaded.withLock {
|
||||||
// just await
|
// just await
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user