Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b0caa7facb | |||
| 77f21b4380 | |||
| b27ec44279 | |||
| c0de0a94fb | |||
| 0f3bd04cc2 | |||
| 2410cf9c82 | |||
| 916effa20c | |||
| 5de6d0ac34 | |||
| 173d224978 | |||
| fa5c630c2b |
Binary file not shown.
BIN
Binary file not shown.
@@ -1,32 +1,32 @@
|
|||||||
{
|
{
|
||||||
"leader": 3,
|
"leader": 2,
|
||||||
"lineups": {
|
"lineups": {
|
||||||
"0": 1217,
|
"0": 1409,
|
||||||
"1": 1307,
|
"1": 1407,
|
||||||
"2": 1005,
|
"2": 1406,
|
||||||
"3": 1410
|
"3": 1403
|
||||||
},
|
},
|
||||||
"position": {
|
"position": {
|
||||||
"x": -30,
|
"x": -4030,
|
||||||
"z": -22750,
|
"z": -13006,
|
||||||
"y": -15000,
|
"y": 0,
|
||||||
"rot_y": 234288
|
"rot_y": 270000
|
||||||
},
|
},
|
||||||
"scene": {
|
"scene": {
|
||||||
"plane_id": 10000,
|
"plane_id": 10000,
|
||||||
"floor_id": 10000003,
|
"floor_id": 10000000,
|
||||||
"entry_id": 100000352
|
"entry_id": 100000104
|
||||||
},
|
},
|
||||||
"player_outfit": [
|
"player_outfit": [
|
||||||
1003
|
1003
|
||||||
],
|
],
|
||||||
"char_path": {
|
"char_path": {
|
||||||
"main": 8010,
|
"main": 8008,
|
||||||
"march_7": 1224
|
"march_7": 1224
|
||||||
},
|
},
|
||||||
"char_enhanced": {
|
"char_enhanced": {
|
||||||
"1004": 1,
|
"1004": 1,
|
||||||
"1005": 1,
|
"1005": 0,
|
||||||
"1006": 1,
|
"1006": 1,
|
||||||
"1102": 1,
|
"1102": 1,
|
||||||
"1205": 1,
|
"1205": 1,
|
||||||
@@ -39,17 +39,186 @@
|
|||||||
"challenge": {
|
"challenge": {
|
||||||
"challenge_id": 0,
|
"challenge_id": 0,
|
||||||
"skip_half": 0,
|
"skip_half": 0,
|
||||||
|
"random_seed": 0,
|
||||||
"blessings": [],
|
"blessings": [],
|
||||||
"is_in_challenge": false,
|
"is_in_challenge": false,
|
||||||
"current_stage_id": 30122121,
|
"current_stage_id": 0,
|
||||||
"path_resonance_id": 0,
|
"path_resonance_id": 0,
|
||||||
"maze_buff": 0,
|
"maze_buff": 0,
|
||||||
"first_lineup": [],
|
"first_lineup": [],
|
||||||
"second_lineup": []
|
"second_lineup": []
|
||||||
},
|
},
|
||||||
|
"challenge_tierce": {
|
||||||
|
"challenge_id": 0,
|
||||||
|
"current_stage_id": 0,
|
||||||
|
"maze_buff": 0,
|
||||||
|
"path_resonance_id": 0,
|
||||||
|
"is_in_challenge": false,
|
||||||
|
"is_single_stage": false,
|
||||||
|
"challenge_tierce_data": {
|
||||||
|
"20245": {
|
||||||
|
"stage_1": {
|
||||||
|
"blessing": 3031361,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 40000,
|
||||||
|
"lineup": [
|
||||||
|
1407,
|
||||||
|
1413,
|
||||||
|
1415,
|
||||||
|
1409
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"stage_2": {
|
||||||
|
"blessing": 3031361,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 40000,
|
||||||
|
"lineup": [
|
||||||
|
1310,
|
||||||
|
1225,
|
||||||
|
1321,
|
||||||
|
1222
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"stage_3": {
|
||||||
|
"blessing": 3031362,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 40000,
|
||||||
|
"lineup": [
|
||||||
|
1506,
|
||||||
|
1502,
|
||||||
|
1501,
|
||||||
|
1217
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"30185": {
|
||||||
|
"stage_1": {
|
||||||
|
"blessing": 3111090,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 3932,
|
||||||
|
"lineup": [
|
||||||
|
1501,
|
||||||
|
1502,
|
||||||
|
1414,
|
||||||
|
1506
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"stage_2": {
|
||||||
|
"blessing": 3111085,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 3913,
|
||||||
|
"lineup": [
|
||||||
|
1310,
|
||||||
|
1225,
|
||||||
|
1303,
|
||||||
|
1321
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"stage_3": {
|
||||||
|
"blessing": 3111071,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 4000,
|
||||||
|
"lineup": [
|
||||||
|
1415,
|
||||||
|
1413,
|
||||||
|
1407,
|
||||||
|
1409
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"5213": {
|
||||||
|
"stage_1": {
|
||||||
|
"blessing": 0,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 0,
|
||||||
|
"lineup": [
|
||||||
|
1407,
|
||||||
|
1413,
|
||||||
|
1415,
|
||||||
|
1409
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"stage_2": {
|
||||||
|
"blessing": 0,
|
||||||
|
"cycle_count": 1,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 0,
|
||||||
|
"lineup": [
|
||||||
|
1310,
|
||||||
|
1321,
|
||||||
|
1225,
|
||||||
|
1222
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"stage_3": {
|
||||||
|
"blessing": 0,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 1,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 0,
|
||||||
|
"lineup": [
|
||||||
|
1506,
|
||||||
|
1502,
|
||||||
|
1501,
|
||||||
|
1414
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"5313": {
|
||||||
|
"stage_1": {
|
||||||
|
"blessing": 0,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 3,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 0,
|
||||||
|
"lineup": [
|
||||||
|
1510,
|
||||||
|
8001,
|
||||||
|
1004,
|
||||||
|
1414
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"stage_2": {
|
||||||
|
"blessing": 0,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 0,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 0,
|
||||||
|
"lineup": [
|
||||||
|
1302
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"stage_3": {
|
||||||
|
"blessing": 0,
|
||||||
|
"cycle_count": 0,
|
||||||
|
"battle_status": 0,
|
||||||
|
"DeadCount": 0,
|
||||||
|
"score": 0,
|
||||||
|
"lineup": [
|
||||||
|
1321
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"challenge_peak": {
|
"challenge_peak": {
|
||||||
"current_mode": "Knight",
|
"current_mode": "Knight",
|
||||||
"group_id": 6,
|
"group_id": 8,
|
||||||
"is_in_challenge_peak": false,
|
"is_in_challenge_peak": false,
|
||||||
"challenge_peak_data": {
|
"challenge_peak_data": {
|
||||||
"1": {
|
"1": {
|
||||||
@@ -269,16 +438,16 @@
|
|||||||
"challenge_id": 604,
|
"challenge_id": 604,
|
||||||
"blessing": 3033053,
|
"blessing": 3033053,
|
||||||
"lineup": [
|
"lineup": [
|
||||||
1501,
|
1505,
|
||||||
1506,
|
1217,
|
||||||
1502,
|
1502,
|
||||||
1217
|
8001
|
||||||
],
|
],
|
||||||
"stage_id": 30506021,
|
"stage_id": 30506021,
|
||||||
"is_hard_mode": false
|
"is_hard_mode": false
|
||||||
},
|
},
|
||||||
"knight_data": {
|
"knight_data": {
|
||||||
"current_challenge_id": 603,
|
"current_challenge_id": 602,
|
||||||
"details_data": [
|
"details_data": [
|
||||||
{
|
{
|
||||||
"lineup": [
|
"lineup": [
|
||||||
@@ -309,6 +478,60 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"checkmate_data": {
|
||||||
|
"challenge_id": 704,
|
||||||
|
"blessing": 3033061,
|
||||||
|
"lineup": [
|
||||||
|
1505,
|
||||||
|
1502,
|
||||||
|
1414,
|
||||||
|
1410
|
||||||
|
],
|
||||||
|
"stage_id": 30507021,
|
||||||
|
"is_hard_mode": false
|
||||||
|
},
|
||||||
|
"knight_data": {
|
||||||
|
"current_challenge_id": 703,
|
||||||
|
"details_data": [
|
||||||
|
{
|
||||||
|
"lineup": [
|
||||||
|
1414
|
||||||
|
],
|
||||||
|
"stage_id": 30507011,
|
||||||
|
"challenge_id": 701
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lineup": [
|
||||||
|
1501
|
||||||
|
],
|
||||||
|
"stage_id": 30507012,
|
||||||
|
"challenge_id": 702
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lineup": [
|
||||||
|
1507,
|
||||||
|
1222
|
||||||
|
],
|
||||||
|
"stage_id": 30507013,
|
||||||
|
"challenge_id": 703
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"checkmate_data": {
|
||||||
|
"challenge_id": 0,
|
||||||
|
"blessing": 0,
|
||||||
|
"lineup": null,
|
||||||
|
"stage_id": 0,
|
||||||
|
"is_hard_mode": false
|
||||||
|
},
|
||||||
|
"knight_data": {
|
||||||
|
"current_challenge_id": 0,
|
||||||
|
"details_data": null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -328,7 +551,8 @@
|
|||||||
},
|
},
|
||||||
"cycle_count": 1,
|
"cycle_count": 1,
|
||||||
"stage_id": 30118121,
|
"stage_id": 30118121,
|
||||||
"mode": false
|
"mode": false,
|
||||||
|
"custom_lineup": []
|
||||||
},
|
},
|
||||||
"profile_data": {
|
"profile_data": {
|
||||||
"cur_chat_bubble_id": 220009,
|
"cur_chat_bubble_id": 220009,
|
||||||
@@ -339,6 +563,7 @@
|
|||||||
"cur_avatar_player_icon": 202034,
|
"cur_avatar_player_icon": 202034,
|
||||||
"cur_player_personal_card": 253001,
|
"cur_player_personal_card": 253001,
|
||||||
"cur_signature": "Firefly GO By Kain",
|
"cur_signature": "Firefly GO By Kain",
|
||||||
|
"cur_nickname": "Firefly GO",
|
||||||
"cur_display_avatar": [
|
"cur_display_avatar": [
|
||||||
1310,
|
1310,
|
||||||
1309,
|
1309,
|
||||||
@@ -350,7 +575,9 @@
|
|||||||
},
|
},
|
||||||
"skin_data": {
|
"skin_data": {
|
||||||
"1001": 1100101,
|
"1001": 1100101,
|
||||||
"1310": 1131001
|
"1310": 1131001,
|
||||||
|
"1407": 1140701,
|
||||||
|
"1415": 1141501
|
||||||
},
|
},
|
||||||
"extra_setting": {
|
"extra_setting": {
|
||||||
"censorship": false,
|
"censorship": false,
|
||||||
|
|||||||
+9273
-6149
File diff suppressed because it is too large
Load Diff
@@ -1,44 +1,44 @@
|
|||||||
{
|
{
|
||||||
"CNBETAAndroid4.1.51": {
|
"CNBETAAndroid4.3.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14372365_fa78e03ad599_36972b4e3bb553",
|
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15261247_f6e6db2125cf_369da465b36faf",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14352532_e3dee8767e70_9fd758f12171f5",
|
"asset_bundle_url_b": "https://autopatchos.starrails.com/asb/BetaLive/output_15235885_6091fd15561a_83828f542dc1f3",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_14394020_12e3f0c6a002_07566508dd1394",
|
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15265964_c2fbb1eb05fc_f2238199ee2b6e",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_14358961_e055a63b3c34_b199a0234548b5",
|
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15242148_d40f856defc0_599b68a0adf7bd",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_14374543_04d971175704_ab00cb3f54bb00"
|
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_15265964_799df4f0ecef_5a94550ba64cff"
|
||||||
},
|
},
|
||||||
"CNBETAWin4.1.51": {
|
"CNBETAWin4.3.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14372365_fa78e03ad599_36972b4e3bb553",
|
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15261247_f6e6db2125cf_369da465b36faf",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14352532_e3dee8767e70_9fd758f12171f5",
|
"asset_bundle_url_b": "https://autopatchos.starrails.com/asb/BetaLive/output_15235885_6091fd15561a_83828f542dc1f3",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_14394020_12e3f0c6a002_07566508dd1394",
|
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15265964_c2fbb1eb05fc_f2238199ee2b6e",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_14358961_e055a63b3c34_b199a0234548b5",
|
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15242148_d40f856defc0_599b68a0adf7bd",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_14374543_04d971175704_ab00cb3f54bb00"
|
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_15265964_799df4f0ecef_5a94550ba64cff"
|
||||||
},
|
},
|
||||||
"CNBETAiOS4.1.51": {
|
"CNBETAiOS4.3.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14372365_fa78e03ad599_36972b4e3bb553",
|
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15261247_f6e6db2125cf_369da465b36faf",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14352532_e3dee8767e70_9fd758f12171f5",
|
"asset_bundle_url_b": "https://autopatchos.starrails.com/asb/BetaLive/output_15235885_6091fd15561a_83828f542dc1f3",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_14394020_12e3f0c6a002_07566508dd1394",
|
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15265964_c2fbb1eb05fc_f2238199ee2b6e",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_14358961_e055a63b3c34_b199a0234548b5",
|
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15242148_d40f856defc0_599b68a0adf7bd",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_14374543_04d971175704_ab00cb3f54bb00"
|
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_15265964_799df4f0ecef_5a94550ba64cff"
|
||||||
},
|
},
|
||||||
"OSBETAAndroid4.1.51": {
|
"OSBETAAndroid4.3.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14372365_fa78e03ad599_36972b4e3bb553",
|
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15261247_f6e6db2125cf_369da465b36faf",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14352532_e3dee8767e70_9fd758f12171f5",
|
"asset_bundle_url_b": "https://autopatchos.starrails.com/asb/BetaLive/output_15235885_6091fd15561a_83828f542dc1f3",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_14394020_12e3f0c6a002_07566508dd1394",
|
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15265964_c2fbb1eb05fc_f2238199ee2b6e",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_14358961_e055a63b3c34_b199a0234548b5",
|
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15242148_d40f856defc0_599b68a0adf7bd",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_14374543_04d971175704_ab00cb3f54bb00"
|
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_15265964_799df4f0ecef_5a94550ba64cff"
|
||||||
},
|
},
|
||||||
"OSBETAWin4.1.51": {
|
"OSBETAWin4.3.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14372365_fa78e03ad599_36972b4e3bb553",
|
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15261247_f6e6db2125cf_369da465b36faf",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14352532_e3dee8767e70_9fd758f12171f5",
|
"asset_bundle_url_b": "https://autopatchos.starrails.com/asb/BetaLive/output_15235885_6091fd15561a_83828f542dc1f3",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_14394020_12e3f0c6a002_07566508dd1394",
|
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15265964_c2fbb1eb05fc_f2238199ee2b6e",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_14358961_e055a63b3c34_b199a0234548b5",
|
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15242148_d40f856defc0_599b68a0adf7bd",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_14374543_04d971175704_ab00cb3f54bb00"
|
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_15265964_799df4f0ecef_5a94550ba64cff"
|
||||||
},
|
},
|
||||||
"OSBETAiOS4.1.51": {
|
"OSBETAiOS4.3.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14372365_fa78e03ad599_36972b4e3bb553",
|
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15261247_f6e6db2125cf_369da465b36faf",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14352532_e3dee8767e70_9fd758f12171f5",
|
"asset_bundle_url_b": "https://autopatchos.starrails.com/asb/BetaLive/output_15235885_6091fd15561a_83828f542dc1f3",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_14394020_12e3f0c6a002_07566508dd1394",
|
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15265964_c2fbb1eb05fc_f2238199ee2b6e",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_14358961_e055a63b3c34_b199a0234548b5",
|
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15242148_d40f856defc0_599b68a0adf7bd",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_14374543_04d971175704_ab00cb3f54bb00"
|
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_15265964_799df4f0ecef_5a94550ba64cff"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.example.firefly_go_android
|
package com.example.firefly_go_android
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.os.Environment
|
import android.content.Context
|
||||||
|
import android.os.Build
|
||||||
|
import android.util.Log
|
||||||
import libandroid.Libandroid
|
import libandroid.Libandroid
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
@@ -13,29 +15,49 @@ object FireflyModMenu {
|
|||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun init(activity: Activity) {
|
fun init(activity: Activity) {
|
||||||
val appDataPath = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "FireflyGo").absolutePath
|
val appDataPath = File(activity.getExternalFilesDir(null), "FireflyGo").absolutePath
|
||||||
val dataDir = File("$appDataPath/data")
|
val dataDir = File("$appDataPath/data")
|
||||||
if (!dataDir.exists()) dataDir.mkdirs()
|
if (!dataDir.exists()) dataDir.mkdirs()
|
||||||
|
|
||||||
|
val sharedPrefs = activity.getSharedPreferences("FireflyModPrefs", Context.MODE_PRIVATE)
|
||||||
|
val currentVersion = try {
|
||||||
|
val packageInfo = activity.packageManager.getPackageInfo("com.kain344.firefly_go_android", 0)
|
||||||
|
if (Build.VERSION.SDK_INT >= 33) {
|
||||||
|
packageInfo.longVersionCode
|
||||||
|
} else {
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
packageInfo.versionCode.toLong()
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
1L
|
||||||
|
}
|
||||||
|
val lastVersion = sharedPrefs.getLong("last_version_code", 0L)
|
||||||
|
val shouldOverride = currentVersion > lastVersion
|
||||||
|
|
||||||
if (!isServerStarted) {
|
if (!isServerStarted) {
|
||||||
|
Log.d("FireflyMod", "Start Server")
|
||||||
isServerStarted = true
|
isServerStarted = true
|
||||||
Thread {
|
Thread {
|
||||||
try {
|
try {
|
||||||
val isCopyDone = copyRawFiles(dataDir)
|
val isCopyDone = copyRawFiles(dataDir, shouldOverride)
|
||||||
if (isCopyDone) {
|
if (isCopyDone) {
|
||||||
|
if (shouldOverride) {
|
||||||
|
sharedPrefs.edit().putLong("last_version_code", currentVersion).apply()
|
||||||
|
}
|
||||||
Libandroid.setPathDataLocal(appDataPath)
|
Libandroid.setPathDataLocal(appDataPath)
|
||||||
Libandroid.setServerRunning(true)
|
Libandroid.setServerRunning(true)
|
||||||
} else {
|
} else {
|
||||||
isServerStarted = false
|
isServerStarted = false
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
Log.e("FireflyMod", "Error starting server: ${e.message}", e)
|
||||||
isServerStarted = false
|
isServerStarted = false
|
||||||
}
|
}
|
||||||
}.start()
|
}.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun copyRawFiles(targetDir: File): Boolean {
|
private fun copyRawFiles(targetDir: File, override: Boolean = false): Boolean {
|
||||||
val files = listOf(
|
val files = listOf(
|
||||||
"assets/data-in-game.json" to "data-in-game.json",
|
"assets/data-in-game.json" to "data-in-game.json",
|
||||||
"assets/freesr-data.json" to "freesr-data.json",
|
"assets/freesr-data.json" to "freesr-data.json",
|
||||||
@@ -44,21 +66,22 @@ object FireflyModMenu {
|
|||||||
return try {
|
return try {
|
||||||
for ((assetPath, name) in files) {
|
for ((assetPath, name) in files) {
|
||||||
val outFile = File(targetDir, name)
|
val outFile = File(targetDir, name)
|
||||||
if (!outFile.exists()) {
|
if (outFile.exists() && !override) continue
|
||||||
val inputStream =
|
|
||||||
FireflyModMenu::class.java.classLoader?.getResourceAsStream(assetPath)
|
|
||||||
?: return false
|
|
||||||
|
|
||||||
inputStream.use { input ->
|
val inputStream =
|
||||||
FileOutputStream(outFile).use { output ->
|
FireflyModMenu::class.java.classLoader?.getResourceAsStream(assetPath)
|
||||||
input.copyTo(output)
|
?: return false
|
||||||
output.fd.sync()
|
|
||||||
}
|
inputStream.use { input ->
|
||||||
|
FileOutputStream(outFile).use { output ->
|
||||||
|
input.copyTo(output)
|
||||||
|
output.fd.sync()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
Log.e("FireflyMod", "Error copying file: ${e.message}", e)
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,11 @@ import libandroid.Libandroid
|
|||||||
|
|
||||||
class MainHook : IXposedHookLoadPackage {
|
class MainHook : IXposedHookLoadPackage {
|
||||||
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
|
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
|
||||||
// Chỉ chạy trong package của game
|
val pkg = lpparam.packageName
|
||||||
if (lpparam.packageName != "com.miHoYo.hkrpgcb") return
|
if (!pkg.startsWith("com.miHoYo.hkrpg") &&
|
||||||
|
!pkg.startsWith("com.HoYoverse.hkrpg") &&
|
||||||
|
!pkg.startsWith("com.HoYoverse.Cyrene")
|
||||||
|
) return
|
||||||
|
|
||||||
XposedHelpers.findAndHookMethod(
|
XposedHelpers.findAndHookMethod(
|
||||||
Activity::class.java.name,
|
Activity::class.java.name,
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## - UPDATE: Support 4.0.5X
|
## - UPDATE: Support 4.3.5X
|
||||||
+4
-3
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
"tag": "4.0.4-01",
|
"tag": "4.3.1-02",
|
||||||
"title": "PreBuild Version 4.0.54 - 01"
|
"title": "PreBuild Version 4.3.51 - 02"
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user