Pārlūkot izejas kodu

Fix bad usages of list

世界 4 gadi atpakaļ
vecāks
revīzija
8fbc6ef717

+ 1 - 1
app/src/main/java/io/nekohasekai/sagernet/bg/ProxyInstance.kt

@@ -130,7 +130,7 @@ class ProxyInstance(val profile: ProxyEntity) {
         }
     }
 
-    var cacheFiles = LinkedList<File>()
+    var cacheFiles = ArrayList<File>()
 
     @Suppress("RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS")
     fun start() {

+ 3 - 3
app/src/main/java/io/nekohasekai/sagernet/database/ProfileManager.kt

@@ -346,7 +346,7 @@ object ProfileManager {
     @Suppress("UNCHECKED_CAST")
     fun parseSubscription(text: String): Pair<Int, List<AbstractBean>>? {
 
-        val proxies = LinkedList<AbstractBean>()
+        val proxies = ArrayList<AbstractBean>()
 
         if (text.contains("proxies:")) {
 
@@ -512,7 +512,7 @@ object ProfileManager {
     }
 
     fun parseJSON(json: JSON): List<AbstractBean> {
-        val proxies = LinkedList<AbstractBean>()
+        val proxies = ArrayList<AbstractBean>()
 
         if (json is JSONObject) {
             when {
@@ -585,7 +585,7 @@ object ProfileManager {
     }
 
     fun parseOutbound(outboundObject: OutboundObject): List<AbstractBean> {
-        val proxies = LinkedList<AbstractBean>()
+        val proxies = ArrayList<AbstractBean>()
 
         with(outboundObject) {
             when (protocol) {

+ 3 - 3
app/src/main/java/io/nekohasekai/sagernet/fmt/ConfigBuilder.kt

@@ -54,7 +54,7 @@ const val TAG_DNS_OUT = "dns-out"
 
 class V2rayBuildResult(
     var config: V2RayConfig,
-    var index: LinkedList<LinkedHashMap<Int, ProxyEntity>>,
+    var index: ArrayList<LinkedHashMap<Int, ProxyEntity>>,
     var requireWs: Boolean,
 )
 
@@ -65,7 +65,7 @@ fun buildV2RayConfig(proxy: ProxyEntity): V2rayBuildResult {
         if (bean !is ChainBean) return mutableListOf(this)
         val beans = SagerDatabase.proxyDao.getEntities(bean.proxies)
         val beansMap = beans.map { it.id to it }.toMap()
-        val beanList = LinkedList<ProxyEntity>()
+        val beanList = ArrayList<ProxyEntity>()
         for (proxyId in bean.proxies) {
             beanList.addAll((beansMap[proxyId] ?: continue).resolveChain())
         }
@@ -91,7 +91,7 @@ fun buildV2RayConfig(proxy: ProxyEntity): V2rayBuildResult {
     val useLocalDns = dnsMode in arrayOf(DnsMode.LOCAL, DnsMode.FAKEDNS_LOCAL)
     val ipv6Route = DataStore.ipv6Route
     val trafficSniffing = DataStore.trafficSniffing
-    val indexMap = LinkedList<LinkedHashMap<Int, ProxyEntity>>()
+    val indexMap = ArrayList<LinkedHashMap<Int, ProxyEntity>>()
     var requireWs = false
 
     return V2RayConfig().apply {

+ 4 - 3
app/src/main/java/io/nekohasekai/sagernet/ktx/Formats.kt

@@ -33,6 +33,7 @@ import io.nekohasekai.sagernet.fmt.trojan.parseTrojan
 import io.nekohasekai.sagernet.fmt.trojan_go.parseTrojanGo
 import io.nekohasekai.sagernet.fmt.v2ray.parseV2Ray
 import java.util.*
+import kotlin.collections.ArrayList
 
 fun formatObject(obj: Any): String {
     return gson.toJson(obj).let { JSONObject(it).toStringPretty() }
@@ -51,10 +52,10 @@ fun parseProxies(text: String, initType: Int = 0, badType: Int = 4): Pair<Int, L
     val links = text.split('\n').flatMap { it.trim().split(' ') }
     val linksByLine = text.split('\n').map { it.trim() }
 
-    val entities = LinkedList<AbstractBean>()
-    val entitiesByLine = LinkedList<AbstractBean>()
+    val entities = ArrayList<AbstractBean>()
+    val entitiesByLine = ArrayList<AbstractBean>()
 
-    fun String.parseLink(entities: LinkedList<AbstractBean>) {
+    fun String.parseLink(entities: ArrayList<AbstractBean>) {
         if (startsWith("socks://")) {
             Logs.d("Try parse socks link: $this")
             runCatching {

+ 1 - 2
app/src/main/java/io/nekohasekai/sagernet/ui/AppManagerActivity.kt

@@ -38,7 +38,6 @@ import android.widget.ImageView
 import android.widget.TextView
 import androidx.annotation.UiThread
 import androidx.appcompat.app.AlertDialog
-import androidx.appcompat.app.AppCompatActivity
 import androidx.appcompat.widget.SwitchCompat
 import androidx.appcompat.widget.Toolbar
 import androidx.core.util.contains
@@ -373,7 +372,7 @@ class AppManagerActivity : ThemedActivity() {
         val txt = text.text.toString()
 
         runOnDefaultDispatcher {
-            val chinaApps = LinkedList<Pair<PackageInfo, String>>()
+            val chinaApps = ArrayList<Pair<PackageInfo, String>>()
             val chinaRegex = ("(" + arrayOf(
                 "com.tencent",
                 "com.alibaba",

+ 3 - 3
app/src/main/java/io/nekohasekai/sagernet/ui/GroupFragment.kt

@@ -223,7 +223,7 @@ class GroupFragment : ToolbarFragment(R.layout.layout_group), Toolbar.OnMenuItem
                     proxies = proxiesMap.values.toList()
 
                     val exists = SagerDatabase.proxyDao.getByGroup(proxyGroup.id)
-                    val duplicate = LinkedList<String>()
+                    val duplicate = ArrayList<String>()
                     if (proxyGroup.deduplication) {
 
                         Logs.d("Before deduplication: ${proxies.size}")
@@ -257,7 +257,7 @@ class GroupFragment : ToolbarFragment(R.layout.layout_group), Toolbar.OnMenuItem
 
                     Logs.d("Unique profiles: ${nameMap.size}")
 
-                    val toDelete = LinkedList<ProxyEntity>()
+                    val toDelete = ArrayList<ProxyEntity>()
                     val toReplace = exists.mapNotNull { entity ->
                         val name = entity.displayName()
                         if (nameMap.contains(name)) name to entity else let {
@@ -269,7 +269,7 @@ class GroupFragment : ToolbarFragment(R.layout.layout_group), Toolbar.OnMenuItem
                     Logs.d("toDelete profiles: ${toDelete.size}")
                     Logs.d("toReplace profiles: ${toReplace.size}")
 
-                    val toUpdate = LinkedList<ProxyEntity>()
+                    val toUpdate = ArrayList<ProxyEntity>()
                     val added = mutableListOf<String>()
                     val updated = mutableMapOf<String, String>()
                     val deleted = toDelete.map { it.displayName() }

+ 1 - 1
app/src/main/java/io/nekohasekai/sagernet/ui/profile/ChainSettingsActivity.kt

@@ -62,7 +62,7 @@ class ChainSettingsActivity : ProfileSettingsActivity<ChainBean>(
         ChainBean().apply { initDefaultValues() }.init()
     }
 
-    val proxyList = LinkedList<ProxyEntity>()
+    val proxyList = ArrayList<ProxyEntity>()
 
     override fun ChainBean.init() {
         DataStore.profileName = name