Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b0c4a7e05a | |||
| 0a44f56c2f | |||
| 527c8176e4 | |||
| a54219b781 |
@@ -1,7 +1,11 @@
|
|||||||
name: Build
|
name: Build
|
||||||
run-name: ${{ gitea.actor }} build 🚀
|
run-name: ${{ gitea.actor }} build 🚀
|
||||||
|
|
||||||
on: [push]
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@@ -13,7 +17,7 @@ jobs:
|
|||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: '21.0.7'
|
java-version: '17'
|
||||||
|
|
||||||
- name: Setup Android SDK
|
- name: Setup Android SDK
|
||||||
uses: amyu/setup-android@v5
|
uses: amyu/setup-android@v5
|
||||||
|
|||||||
2
.idea/compiler.xml
generated
2
.idea/compiler.xml
generated
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="CompilerConfiguration">
|
<component name="CompilerConfiguration">
|
||||||
<bytecodeTargetLevel target="21" />
|
<bytecodeTargetLevel target="17" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
1
.idea/gradle.xml
generated
1
.idea/gradle.xml
generated
@@ -15,5 +15,6 @@
|
|||||||
</option>
|
</option>
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
|
<option name="parallelModelFetch" value="true" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
@file:Suppress("UnstableApiUsage")
|
@file:Suppress("UnstableApiUsage")
|
||||||
|
|
||||||
import com.android.build.api.dsl.Packaging
|
|
||||||
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
alias(libs.plugins.android.application)
|
alias(libs.plugins.android.application)
|
||||||
alias(libs.plugins.kotlin.android)
|
alias(libs.plugins.kotlin.android)
|
||||||
alias(libs.plugins.kotlin.compose)
|
alias(libs.plugins.kotlin.compose)
|
||||||
}
|
}
|
||||||
|
kotlin {
|
||||||
|
jvmToolchain(17)
|
||||||
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.example.firefly_go_android"
|
namespace = "com.example.firefly_go_android"
|
||||||
@@ -22,32 +22,24 @@ android {
|
|||||||
versionName = "1.0"
|
versionName = "1.0"
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Packaging.() {
|
|
||||||
jniLibs {
|
|
||||||
useLegacyPackaging = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
isMinifyEnabled = false
|
isMinifyEnabled = true
|
||||||
|
isShrinkResources = true
|
||||||
proguardFiles(
|
proguardFiles(
|
||||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
"proguard-rules.pro"
|
"proguard-rules.pro"
|
||||||
)
|
)
|
||||||
|
ndk {
|
||||||
|
abiFilters.addAll(listOf("arm64-v8a"))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_17
|
|
||||||
targetCompatibility = JavaVersion.VERSION_17
|
|
||||||
}
|
|
||||||
|
|
||||||
kotlinOptions {
|
|
||||||
jvmTarget = "17"
|
|
||||||
}
|
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
compose = true
|
compose = true
|
||||||
viewBinding = true
|
viewBinding = true
|
||||||
@@ -101,5 +93,7 @@ dependencies {
|
|||||||
|
|
||||||
// Local AAR library
|
// Local AAR library
|
||||||
implementation(files("libs/firefly-go.aar"))
|
implementation(files("libs/firefly-go.aar"))
|
||||||
|
|
||||||
|
implementation(libs.slf4j.android)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
BIN
app/libs/firefly-go.aar
LFS
BIN
app/libs/firefly-go.aar
LFS
Binary file not shown.
@@ -66,6 +66,7 @@ import androidx.compose.ui.window.DialogProperties
|
|||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.compose.ui.text.font.FontFamily
|
||||||
|
|
||||||
data class AppVersion(
|
data class AppVersion(
|
||||||
val latestVersion: String,
|
val latestVersion: String,
|
||||||
@@ -421,64 +422,60 @@ fun parseGoLogLine(line: String): String? {
|
|||||||
return if (content.isNullOrBlank()) null else content
|
return if (content.isNullOrBlank()) null else content
|
||||||
}
|
}
|
||||||
|
|
||||||
fun parseAnsi(text: String): AnnotatedString {
|
|
||||||
|
fun parseAnsi(text: String, defaultColor: Color): AnnotatedString {
|
||||||
val regex = Regex("\u001B\\[(\\d+)(;\\d+)*m")
|
val regex = Regex("\u001B\\[(\\d+)(;\\d+)*m")
|
||||||
val builder = buildAnnotatedString {
|
val builder = buildAnnotatedString {
|
||||||
var lastIndex = 0
|
var lastIndex = 0
|
||||||
var currentColor = Color.Black
|
var currentColor = defaultColor
|
||||||
|
|
||||||
for (match in regex.findAll(text)) {
|
for (match in regex.findAll(text)) {
|
||||||
val start = match.range.first
|
val start = match.range.first
|
||||||
|
|
||||||
|
// 1. Thêm phần text TRƯỚC mã ANSI với màu HIỆN TẠI
|
||||||
val before = text.substring(lastIndex, start)
|
val before = text.substring(lastIndex, start)
|
||||||
withStyle(SpanStyle(color = currentColor)) {
|
if (before.isNotEmpty()) {
|
||||||
append(before)
|
withStyle(SpanStyle(color = currentColor)) {
|
||||||
|
append(before)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val code = match.groupValues[1].toInt()
|
// 2. Lấy mã code (ví dụ 31, 36, hoặc 0)
|
||||||
currentColor = when (code) {
|
val code = try {
|
||||||
30 -> {
|
match.groupValues[1].toInt()
|
||||||
Color.Black
|
} catch (e: NumberFormatException) {
|
||||||
}
|
0
|
||||||
31 -> {
|
}
|
||||||
Color.Red
|
|
||||||
}
|
|
||||||
32 -> {
|
|
||||||
Color(0xFF00C853)
|
|
||||||
}
|
|
||||||
33 -> {
|
|
||||||
Color(0xFFFFD600)
|
|
||||||
}
|
|
||||||
34 -> {
|
|
||||||
Color(0xFF2962FF)
|
|
||||||
}
|
|
||||||
35 -> {
|
|
||||||
Color(0xFFD500F9)
|
|
||||||
}
|
|
||||||
36 -> {
|
|
||||||
Color(0xFF00B8D4)
|
|
||||||
}
|
|
||||||
|
|
||||||
37 -> {
|
currentColor = when (code) {
|
||||||
Color.White
|
0 -> defaultColor
|
||||||
}
|
30 -> Color.Black
|
||||||
else -> {
|
31 -> Color.Red
|
||||||
Color.Black
|
32 -> Color(0xFF00C853) // Green
|
||||||
}
|
33 -> Color(0xFFFFD600) // Yellow
|
||||||
|
34 -> Color(0xFF2962FF) // Blue
|
||||||
|
35 -> Color(0xFFD500F9) // Magenta
|
||||||
|
36 -> Color(0xFF00B8D4) // Cyan
|
||||||
|
37 -> Color.White
|
||||||
|
else -> currentColor
|
||||||
}
|
}
|
||||||
|
|
||||||
lastIndex = match.range.last + 1
|
lastIndex = match.range.last + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
val remain = text.substring(lastIndex)
|
if (lastIndex < text.length) {
|
||||||
withStyle(SpanStyle(color = currentColor)) {
|
val remain = text.substring(lastIndex)
|
||||||
append(remain)
|
if (remain.isNotEmpty()) {
|
||||||
|
withStyle(SpanStyle(color = currentColor)) {
|
||||||
|
append(remain)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder
|
return builder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LogPopup(
|
fun LogPopup(
|
||||||
onDismiss: () -> Unit
|
onDismiss: () -> Unit
|
||||||
@@ -512,6 +509,8 @@ fun LogPopup(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val defaultTextColor = LocalContentColor.current
|
||||||
|
|
||||||
Dialog(onDismissRequest = { onDismiss() }) {
|
Dialog(onDismissRequest = { onDismiss() }) {
|
||||||
Surface(
|
Surface(
|
||||||
shape = RoundedCornerShape(12.dp),
|
shape = RoundedCornerShape(12.dp),
|
||||||
@@ -531,8 +530,15 @@ fun LogPopup(
|
|||||||
LazyColumn(state = listState, modifier = Modifier.weight(1f)) {
|
LazyColumn(state = listState, modifier = Modifier.weight(1f)) {
|
||||||
items(logs.size) { index ->
|
items(logs.size) { index ->
|
||||||
Text(
|
Text(
|
||||||
text = parseAnsi(logs[index]),
|
text = parseAnsi(logs[index], defaultTextColor),
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
|
|
||||||
|
// 2. DÙNG FONT MONOSPACE
|
||||||
|
fontFamily = FontFamily.Monospace,
|
||||||
|
|
||||||
|
// 3. (Tuỳ chọn) Giảm chiều cao dòng để logo liền mạch
|
||||||
|
lineHeight = 14.sp,
|
||||||
|
|
||||||
modifier = Modifier.padding(vertical = 2.dp)
|
modifier = Modifier.padding(vertical = 2.dp)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"latest_version": "3.6.4-01",
|
"latest_version": "3.6.4-04",
|
||||||
"changelog": "UPDATE: Update to 3.6.54",
|
"changelog": "UPDATE: Support TCP, Re-optima",
|
||||||
"apk_url": "https://git.kain.io.vn/Firefly-Shelter/FireflyGo_Android/releases/download/3.6.4-01/firefly_go_android.apk"
|
"apk_url": "https://git.kain.io.vn/Firefly-Shelter/FireflyGo_Android/releases/download/3.6.4-04/firefly_go_android.apk"
|
||||||
}
|
}
|
||||||
@@ -151,13 +151,13 @@
|
|||||||
200000
|
200000
|
||||||
],
|
],
|
||||||
"2": [
|
"2": [
|
||||||
500000,
|
2000000000,
|
||||||
10000000,
|
2000000000,
|
||||||
500000
|
2000000000
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"cycle_count": 1,
|
"cycle_count": 1,
|
||||||
"mode": true
|
"mode": false
|
||||||
},
|
},
|
||||||
"profile_data": {
|
"profile_data": {
|
||||||
"cur_chat_bubble_id": 220008,
|
"cur_chat_bubble_id": 220008,
|
||||||
@@ -180,5 +180,11 @@
|
|||||||
"skin_data": {
|
"skin_data": {
|
||||||
"1001": 1100101,
|
"1001": 1100101,
|
||||||
"1310": 1131001
|
"1310": 1131001
|
||||||
|
},
|
||||||
|
"extra_setting": {
|
||||||
|
"censorship": false,
|
||||||
|
"cm": false,
|
||||||
|
"first_person": false,
|
||||||
|
"hide_ui": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1206,7 +1206,7 @@
|
|||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 63095,
|
"relic_id": 63095,
|
||||||
"relic_set_id": 309,
|
"relic_set_id": 309,
|
||||||
"main_affix_id": 8,
|
"main_affix_id": 9,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
"sub_affix_id": 5,
|
"sub_affix_id": 5,
|
||||||
@@ -9104,10 +9104,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"rank": 0,
|
"rank": 0,
|
||||||
"skills": {
|
"skills": {
|
||||||
"1013001": 1,
|
"1013001": 6,
|
||||||
"1013002": 1,
|
"1013002": 10,
|
||||||
"1013003": 1,
|
"1013003": 10,
|
||||||
"1013004": 1,
|
"1013004": 10,
|
||||||
"1013007": 1,
|
"1013007": 1,
|
||||||
"1013101": 1,
|
"1013101": 1,
|
||||||
"1013102": 1,
|
"1013102": 1,
|
||||||
@@ -9296,10 +9296,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"rank": 0,
|
"rank": 0,
|
||||||
"skills": {
|
"skills": {
|
||||||
"1104001": 1,
|
"1104001": 6,
|
||||||
"1104002": 1,
|
"1104002": 10,
|
||||||
"1104003": 1,
|
"1104003": 10,
|
||||||
"1104004": 1,
|
"1104004": 10,
|
||||||
"1104007": 1,
|
"1104007": 1,
|
||||||
"1104101": 1,
|
"1104101": 1,
|
||||||
"1104102": 1,
|
"1104102": 1,
|
||||||
@@ -9360,8 +9360,8 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"rank": 6,
|
"rank": 6,
|
||||||
"skills": {
|
"skills": {
|
||||||
"1106001": 3,
|
"1106001": 6,
|
||||||
"1106002": 9,
|
"1106002": 10,
|
||||||
"1106003": 10,
|
"1106003": 10,
|
||||||
"1106004": 10,
|
"1106004": 10,
|
||||||
"1106007": 1,
|
"1106007": 1,
|
||||||
@@ -9858,10 +9858,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"rank": 0,
|
"rank": 0,
|
||||||
"skills": {
|
"skills": {
|
||||||
"1209001": 1,
|
"1209001": 6,
|
||||||
"1209002": 1,
|
"1209002": 10,
|
||||||
"1209003": 1,
|
"1209003": 10,
|
||||||
"1209004": 1,
|
"1209004": 10,
|
||||||
"1209007": 1,
|
"1209007": 1,
|
||||||
"1209101": 1,
|
"1209101": 1,
|
||||||
"1209102": 1,
|
"1209102": 1,
|
||||||
@@ -11563,21 +11563,38 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"battle_config": {
|
"battle_config": {
|
||||||
"battle_type": "CE",
|
"battle_type": "MOC",
|
||||||
"blessings": [],
|
"blessings": [
|
||||||
|
{
|
||||||
|
"level": 1,
|
||||||
|
"id": 3030141
|
||||||
|
}
|
||||||
|
],
|
||||||
"custom_stats": [],
|
"custom_stats": [],
|
||||||
"cycle_count": 30,
|
"cycle_count": 30,
|
||||||
"stage_id": 103202,
|
"stage_id": 30118121,
|
||||||
"path_resonance_id": 0,
|
"path_resonance_id": 0,
|
||||||
"monsters": [
|
"monsters": [
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"monster_id": 8034012,
|
"monster_id": 2023030,
|
||||||
"level": 95,
|
"level": 95,
|
||||||
"amount": 1
|
"amount": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"monster_id": 8034012,
|
"monster_id": 4053020,
|
||||||
|
"level": 95,
|
||||||
|
"amount": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"monster_id": 2023030,
|
||||||
|
"level": 95,
|
||||||
|
"amount": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"monster_id": 4014020,
|
||||||
"level": 95,
|
"level": 95,
|
||||||
"amount": 1
|
"amount": 1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,20 @@
|
|||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
|
"CNBETAAndroid3.6.52": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
|
||||||
|
},
|
||||||
|
"CNBETAAndroid3.6.53": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
|
||||||
|
},
|
||||||
"CNBETAWin3.6.51": {
|
"CNBETAWin3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
@@ -13,6 +27,20 @@
|
|||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
|
"CNBETAWin3.6.52": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
|
||||||
|
},
|
||||||
|
"CNBETAWin3.6.53": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
|
||||||
|
},
|
||||||
"CNBETAiOS3.6.51": {
|
"CNBETAiOS3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
@@ -20,6 +48,20 @@
|
|||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
|
"CNBETAiOS3.6.52": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
|
||||||
|
},
|
||||||
|
"CNBETAiOS3.6.53": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
|
||||||
|
},
|
||||||
"OSBETAAndroid3.6.51": {
|
"OSBETAAndroid3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
@@ -27,6 +69,20 @@
|
|||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
|
"OSBETAAndroid3.6.52": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
|
||||||
|
},
|
||||||
|
"OSBETAAndroid3.6.53": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
|
||||||
|
},
|
||||||
"OSBETAWin3.6.51": {
|
"OSBETAWin3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
@@ -34,11 +90,39 @@
|
|||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
|
"OSBETAWin3.6.52": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
|
||||||
|
},
|
||||||
|
"OSBETAWin3.6.53": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
|
||||||
|
},
|
||||||
"OSBETAiOS3.6.51": {
|
"OSBETAiOS3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
|
},
|
||||||
|
"OSBETAiOS3.6.52": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
|
||||||
|
},
|
||||||
|
"OSBETAiOS3.6.53": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,3 +23,4 @@ kotlin.code.style=official
|
|||||||
# thereby reducing the size of the R class for that library
|
# thereby reducing the size of the R class for that library
|
||||||
android.nonTransitiveRClass=true
|
android.nonTransitiveRClass=true
|
||||||
#org.gradle.configuration-cache=false
|
#org.gradle.configuration-cache=false
|
||||||
|
android.r8.optimizedResourceShrinking=true
|
||||||
|
|||||||
@@ -2,23 +2,24 @@
|
|||||||
activityComposeVersion = "1.11.0"
|
activityComposeVersion = "1.11.0"
|
||||||
agp = "8.13.0"
|
agp = "8.13.0"
|
||||||
androidxJunit = "1.3.0"
|
androidxJunit = "1.3.0"
|
||||||
animationCore = "1.9.2"
|
animationCore = "1.9.3"
|
||||||
autoupdater = "1.0.1"
|
autoupdater = "1.0.1"
|
||||||
espressoCoreVersion = "3.7.0"
|
espressoCoreVersion = "3.7.0"
|
||||||
foundation = "1.9.2"
|
foundation = "1.9.3"
|
||||||
kotlin = "2.2.20"
|
kotlin = "2.2.20"
|
||||||
coreKtx = "1.17.0"
|
coreKtx = "1.17.0"
|
||||||
junit = "4.13.2"
|
junit = "4.13.2"
|
||||||
lifecycleRuntimeKtxVersion = "2.9.4"
|
lifecycleRuntimeKtxVersion = "2.9.4"
|
||||||
material = "1.9.2"
|
material = "1.9.3"
|
||||||
material3WindowSizeClass = "1.4.0"
|
material3WindowSizeClass = "1.4.0"
|
||||||
materialIconsExtended = "1.7.8"
|
materialIconsExtended = "1.7.8"
|
||||||
ui = "1.9.2"
|
slf4jAndroidVersion = "1.7.36"
|
||||||
uiGraphics = "1.9.2"
|
ui = "1.9.3"
|
||||||
uiTestJunit4 = "1.9.2"
|
uiGraphics = "1.9.3"
|
||||||
uiTestManifest = "1.9.2"
|
uiTestJunit4 = "1.9.3"
|
||||||
uiTooling = "1.9.2"
|
uiTestManifest = "1.9.3"
|
||||||
uiToolingPreview = "1.9.2"
|
uiTooling = "1.9.3"
|
||||||
|
uiToolingPreview = "1.9.3"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
androidx-activity-compose-v1101 = { module = "androidx.activity:activity-compose", version.ref = "activityComposeVersion" }
|
androidx-activity-compose-v1101 = { module = "androidx.activity:activity-compose", version.ref = "activityComposeVersion" }
|
||||||
@@ -35,6 +36,7 @@ androidx-material3-window-size-class1 = { module = "androidx.compose.material3:m
|
|||||||
autoupdater = { module = "com.github.CSAbhiOnline:AutoUpdater", version.ref = "autoupdater" }
|
autoupdater = { module = "com.github.CSAbhiOnline:AutoUpdater", version.ref = "autoupdater" }
|
||||||
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||||
material3 = { module = "androidx.compose.material3:material3", version.ref = "material3WindowSizeClass" }
|
material3 = { module = "androidx.compose.material3:material3", version.ref = "material3WindowSizeClass" }
|
||||||
|
slf4j-android = { module = "org.slf4j:slf4j-android", version.ref = "slf4jAndroidVersion" }
|
||||||
ui = { module = "androidx.compose.ui:ui", version.ref = "ui" }
|
ui = { module = "androidx.compose.ui:ui", version.ref = "ui" }
|
||||||
ui-graphics = { module = "androidx.compose.ui:ui-graphics", version.ref = "uiGraphics" }
|
ui-graphics = { module = "androidx.compose.ui:ui-graphics", version.ref = "uiGraphics" }
|
||||||
ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "uiTestJunit4" }
|
ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "uiTestJunit4" }
|
||||||
|
|||||||
@@ -1,2 +1,7 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
## - UPDATE: Update to 3.6.54
|
## - UPDATE:
|
||||||
|
|
||||||
|
* Support TCP
|
||||||
|
* Apply Singleton pattern
|
||||||
|
* Replace reflection with Type Factory + sync.Pool for optimization
|
||||||
|
* Optimize file release process
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"tag": "3.6.4-01",
|
"tag": "3.6.4-04",
|
||||||
"title": "PreBuild Version 3.6.54 - 01"
|
"title": "PreBuild Version 3.6.54 - 04"
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user