Skip to content

Commit f70cdcb

Browse files
2dustAnGgIt886
authored andcommitted
Optimize Storage
1 parent 78c5f76 commit f70cdcb

File tree

10 files changed

+107
-116
lines changed

10 files changed

+107
-116
lines changed

app/src/main/kotlin/com/neko/v2ray/ui/ServerCustomConfigActivity.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ import com.neko.v2ray.dto.ServerConfig
2020
import com.neko.v2ray.dto.V2rayConfig
2121
import com.neko.v2ray.extension.toast
2222
import com.neko.v2ray.util.MmkvManager
23-
import com.neko.v2ray.util.MmkvManager.serverRawStorage
24-
import com.neko.v2ray.util.Utils
2523
import com.neko.v2ray.util.SoftInputAssist
24+
import com.neko.v2ray.util.Utils
2625
import me.drakeet.support.toast.ToastCompat
2726

2827
import com.neko.imageslider.ImageSlider
@@ -109,7 +108,7 @@ class ServerCustomConfigActivity : BaseActivity() {
109108
*/
110109
private fun bindingServer(config: ServerConfig): Boolean {
111110
binding.etRemarks.text = Utils.getEditable(config.remarks)
112-
val raw = serverRawStorage?.decodeString(editGuid)
111+
val raw = MmkvManager.decodeServerRaw(editGuid)
113112
if (raw.isNullOrBlank()) {
114113
binding.editor.setTextContent(Utils.getEditable(config.fullConfig?.toPrettyPrinting().orEmpty()))
115114
} else {
@@ -148,7 +147,7 @@ class ServerCustomConfigActivity : BaseActivity() {
148147
config.fullConfig = v2rayConfig
149148

150149
MmkvManager.encodeServerConfig(editGuid, config)
151-
serverRawStorage?.encode(editGuid, binding.editor.text.toString())
150+
MmkvManager.encodeServerRaw(editGuid, binding.editor.text.toString())
152151
toast(R.string.toast_success)
153152
finish()
154153
return true

app/src/main/kotlin/com/neko/v2ray/ui/SubEditActivity.kt

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,13 @@ import android.view.Menu
77
import android.view.MenuItem
88
import com.google.android.material.dialog.MaterialAlertDialogBuilder
99
import com.google.android.material.appbar.MaterialToolbar
10-
import androidx.lifecycle.lifecycleScope
1110
import com.google.android.material.appbar.CollapsingToolbarLayout
12-
import com.google.gson.Gson
11+
import androidx.lifecycle.lifecycleScope
1312
import com.neko.v2ray.R
1413
import com.neko.v2ray.databinding.ActivitySubEditBinding
1514
import com.neko.v2ray.dto.SubscriptionItem
1615
import com.neko.v2ray.extension.toast
1716
import com.neko.v2ray.util.MmkvManager
18-
import com.neko.v2ray.util.MmkvManager.subStorage
1917
import com.neko.v2ray.util.SoftInputAssist
2018
import com.neko.v2ray.util.Utils
2119
import kotlinx.coroutines.Dispatchers
@@ -48,9 +46,9 @@ class SubEditActivity : BaseActivity() {
4846
setSupportActionBar(toolbar)
4947
supportActionBar?.setDisplayHomeAsUpEnabled(true)
5048

51-
val json = subStorage?.decodeString(editSubId)
52-
if (!json.isNullOrBlank()) {
53-
bindingServer(Gson().fromJson(json, SubscriptionItem::class.java))
49+
val subItem = MmkvManager.decodeSubscription(editSubId)
50+
if (subItem != null) {
51+
bindingServer(subItem)
5452
} else {
5553
clearServer()
5654
}
@@ -121,13 +119,7 @@ class SubEditActivity : BaseActivity() {
121119
* save server config
122120
*/
123121
private fun saveServer(): Boolean {
124-
val subItem: SubscriptionItem
125-
val json = subStorage?.decodeString(editSubId)
126-
if (!json.isNullOrBlank()) {
127-
subItem = Gson().fromJson(json, SubscriptionItem::class.java)
128-
} else {
129-
subItem = SubscriptionItem()
130-
}
122+
val subItem = MmkvManager.decodeSubscription(editSubId)?:SubscriptionItem()
131123

132124
subItem.remarks = binding.etRemarks.text.toString()
133125
subItem.url = binding.etUrl.text.toString()

app/src/main/kotlin/com/neko/v2ray/ui/TaskerActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class TaskerActivity : BaseActivity() {
2828
lstData.add("Default")
2929
lstGuid.add(AppConfig.TASKER_DEFAULT_GUID)
3030

31-
MmkvManager.serverStorage?.allKeys()?.forEach { key ->
31+
MmkvManager.decodeServerList()?.forEach { key ->
3232
MmkvManager.decodeServerConfig(key)?.let { config ->
3333
lstData.add(config.remarks)
3434
lstGuid.add(key)

app/src/main/kotlin/com/neko/v2ray/ui/UserAssetActivity.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import com.google.android.material.appbar.CollapsingToolbarLayout
2121
import androidx.lifecycle.lifecycleScope
2222
import androidx.recyclerview.widget.LinearLayoutManager
2323
import androidx.recyclerview.widget.RecyclerView
24-
import com.google.gson.Gson
2524
import com.tbruyelle.rxpermissions3.RxPermissions
2625
import com.neko.v2ray.AppConfig
2726
import com.neko.v2ray.R
@@ -32,7 +31,6 @@ import com.neko.v2ray.dto.AssetUrlItem
3231
import com.neko.v2ray.extension.toTrafficString
3332
import com.neko.v2ray.extension.toast
3433
import com.neko.v2ray.util.MmkvManager
35-
import com.neko.v2ray.util.MmkvManager.assetStorage
3634
import com.neko.v2ray.util.MmkvManager.settingsStorage
3735
import com.neko.v2ray.util.Utils
3836
import kotlinx.coroutines.Dispatchers
@@ -143,7 +141,7 @@ class UserAssetActivity : BaseActivity() {
143141
toast(R.string.msg_remark_is_duplicate)
144142
return@registerForActivityResult
145143
}
146-
assetStorage?.encode(assetId, Gson().toJson(assetItem))
144+
MmkvManager.encodeAsset(assetId, assetItem)
147145
copyFile(uri)
148146
} catch (e: Exception) {
149147
toast(R.string.toast_asset_copy_failed)

app/src/main/kotlin/com/neko/v2ray/ui/UserAssetUrlActivity.kt

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,13 @@ import android.view.MenuItem
88
import com.google.android.material.appbar.MaterialToolbar
99
import com.google.android.material.appbar.CollapsingToolbarLayout
1010
import com.google.android.material.dialog.MaterialAlertDialogBuilder
11-
import com.google.gson.Gson
11+
// import androidx.appcompat.app.AlertDialog
1212
import com.neko.v2ray.R
1313
import com.neko.v2ray.databinding.ActivityUserAssetUrlBinding
1414
import com.neko.v2ray.dto.AssetUrlItem
1515
import com.neko.v2ray.extension.toast
1616
import com.neko.v2ray.util.MmkvManager
1717
import com.neko.v2ray.util.SoftInputAssist
18-
import com.neko.v2ray.util.MmkvManager.assetStorage
1918
import com.neko.v2ray.util.Utils
2019
import java.io.File
2120

@@ -47,9 +46,9 @@ class UserAssetUrlActivity : BaseActivity() {
4746
setSupportActionBar(toolbar)
4847
supportActionBar?.setDisplayHomeAsUpEnabled(true)
4948

50-
val json = assetStorage?.decodeString(editAssetId)
51-
if (!json.isNullOrBlank()) {
52-
bindingAsset(Gson().fromJson(json, AssetUrlItem::class.java))
49+
val assetItem = MmkvManager.decodeAsset(editAssetId)
50+
if (assetItem != null) {
51+
bindingAsset(assetItem)
5352
} else {
5453
clearAsset()
5554
}
@@ -113,12 +112,9 @@ class UserAssetUrlActivity : BaseActivity() {
113112
* save asset config
114113
*/
115114
private fun saveServer(): Boolean {
116-
val assetItem: AssetUrlItem
117-
val json = assetStorage?.decodeString(editAssetId)
115+
var assetItem = MmkvManager.decodeAsset(editAssetId)
118116
var assetId = editAssetId
119-
if (!json.isNullOrBlank()) {
120-
assetItem = Gson().fromJson(json, AssetUrlItem::class.java)
121-
117+
if (assetItem != null) {
122118
// remove file associated with the asset
123119
val file = extDir.resolve(assetItem.remarks)
124120
if (file.exists()) {
@@ -149,7 +145,7 @@ class UserAssetUrlActivity : BaseActivity() {
149145
return false
150146
}
151147

152-
assetStorage?.encode(assetId, Gson().toJson(assetItem))
148+
MmkvManager.encodeAsset(assetId, assetItem)
153149
toast(R.string.toast_success)
154150
finish()
155151
return true

app/src/main/kotlin/com/neko/v2ray/util/AngConfigManager.kt

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import com.google.gson.reflect.TypeToken
1313
import com.neko.v2ray.AppConfig
1414
import com.neko.v2ray.R
1515
import com.neko.v2ray.dto.*
16-
import com.neko.v2ray.util.MmkvManager.serverRawStorage
1716
import com.neko.v2ray.util.MmkvManager.settingsStorage
1817
import com.neko.v2ray.util.fmt.ShadowsocksFmt
1918
import com.neko.v2ray.util.fmt.SocksFmt
@@ -177,39 +176,6 @@ object AngConfigManager {
177176
return 0
178177
}
179178

180-
// /**
181-
// * upgrade
182-
// */
183-
// private fun upgradeServerVersion(vmess: AngConfig.VmessBean): Int {
184-
// try {
185-
// if (vmess.configVersion == 2) {
186-
// return 0
187-
// }
188-
//
189-
// when (vmess.network) {
190-
// "ws", "h2" -> {
191-
// var path = ""
192-
// var host = ""
193-
// val lstParameter = vmess.requestHost.split(";")
194-
// if (lstParameter.isNotEmpty()) {
195-
// path = lstParameter[0].trim()
196-
// }
197-
// if (lstParameter.size > 1) {
198-
// path = lstParameter[0].trim()
199-
// host = lstParameter[1].trim()
200-
// }
201-
// vmess.path = path
202-
// vmess.requestHost = host
203-
// }
204-
// }
205-
// vmess.configVersion = 2
206-
// return 0
207-
// } catch (e: Exception) {
208-
// e.printStackTrace()
209-
// return -1
210-
// }
211-
// }
212-
213179
fun importBatchConfig(server: String?, subid: String, append: Boolean): Pair<Int, Int> {
214180
var count = parseBatchConfig(Utils.decode(server), subid, append)
215181
if (count <= 0) {
@@ -324,7 +290,7 @@ object AngConfigManager {
324290
.toString())
325291
config.subscriptionId = subid
326292
val key = MmkvManager.encodeServerConfig("", config)
327-
serverRawStorage?.encode(key, gson.toJson(srv))
293+
MmkvManager.encodeServerRaw(key, gson.toJson(srv))
328294
count += 1
329295
}
330296
return count
@@ -339,14 +305,14 @@ object AngConfigManager {
339305
config.fullConfig = Gson().fromJson(server, V2rayConfig::class.java)
340306
config.remarks = config.fullConfig?.remarks ?: System.currentTimeMillis().toString()
341307
val key = MmkvManager.encodeServerConfig("", config)
342-
serverRawStorage?.encode(key, server)
308+
MmkvManager.encodeServerRaw(key, server)
343309
return 1
344310
} else if (server.startsWith("[Interface]") && server.contains("[Peer]")) {
345311
val config = WireguardFmt.parseWireguardConfFile(server)
346312
?: return R.string.toast_incorrect_protocol
347313
config.fullConfig?.remarks ?: System.currentTimeMillis().toString()
348314
val key = MmkvManager.encodeServerConfig("", config)
349-
serverRawStorage?.encode(key, server)
315+
MmkvManager.encodeServerRaw(key, server)
350316
return 1
351317
} else {
352318
return 0

0 commit comments

Comments
 (0)