Updates folder_unzipper. Copy the zip file to user before unzipping it (Android doesnt support file writing from res)

This commit is contained in:
Dylan Sarrazyn
2024-07-04 15:45:16 +02:00
parent b63e09eaa5
commit bcd70fb651
5 changed files with 39 additions and 26 deletions
+12 -12
View File
@@ -262,16 +262,16 @@ notarization/apple_team_id=""
[preset.3]
name="Android"
name="Android Kalulu"
platform="Android"
runnable=true
advanced_options=false
advanced_options=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
include_filter="*.zip, language_resources/*"
exclude_filter=""
export_path=""
export_path="../Export/android/kalulu_app.apk"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
@@ -362,10 +362,10 @@ permissions/change_configuration=false
permissions/change_network_state=false
permissions/change_wifi_multicast_state=false
permissions/change_wifi_state=false
permissions/clear_app_cache=false
permissions/clear_app_user_data=false
permissions/clear_app_cache=true
permissions/clear_app_user_data=true
permissions/control_location_updates=false
permissions/delete_cache_files=false
permissions/delete_cache_files=true
permissions/delete_packages=false
permissions/device_power=false
permissions/diagnostic=false
@@ -386,13 +386,13 @@ permissions/install_location_provider=false
permissions/install_packages=false
permissions/install_shortcut=false
permissions/internal_system_window=false
permissions/internet=false
permissions/internet=true
permissions/kill_background_processes=false
permissions/location_hardware=false
permissions/manage_accounts=false
permissions/manage_app_tokens=false
permissions/manage_documents=false
permissions/manage_external_storage=false
permissions/manage_documents=true
permissions/manage_external_storage=true
permissions/master_clear=false
permissions/media_content_control=false
permissions/modify_audio_settings=false
@@ -406,11 +406,11 @@ permissions/process_outgoing_calls=false
permissions/read_calendar=false
permissions/read_call_log=false
permissions/read_contacts=false
permissions/read_external_storage=false
permissions/read_external_storage=true
permissions/read_frame_buffer=false
permissions/read_history_bookmarks=false
permissions/read_input_state=false
permissions/read_logs=false
permissions/read_logs=true
permissions/read_phone_state=false
permissions/read_profile=false
permissions/read_sms=false
+2
View File
@@ -23,5 +23,7 @@ func extract(zip_path: String, extract_path: String, extract_in_subfolder: = tru
file.store_buffer(read_file(sub_path))
copied_file += 1
file_copied.emit(copied_file, file_name)
close()
finished.emit()
File diff suppressed because one or more lines are too long
@@ -16,6 +16,7 @@ func _ready() -> void:
if not DirAccess.dir_exists_absolute(language_resources_path.path_join(UserDataManager.get_device_settings().language)):
mutex = Mutex.new()
thread = Thread.new()
if OS.request_permissions():
thread.start(_copy_data.bind(self))
else:
_go_to_main_menu()
@@ -27,6 +28,11 @@ func _exit_tree() -> void:
func _copy_data(this: Control) -> void:
DirAccess.make_dir_recursive_absolute(language_resources_path)
var source_dir = DirAccess.open("res://");
source_dir.copy("res://fr_FR.zip", language_resources_path.path_join("fr_FR.zip"))
var unzipper: = FolderUnzipper.new()
unzipper.file_count.connect(
@@ -44,7 +50,10 @@ func _copy_data(this: Control) -> void:
mutex.unlock()
)
unzipper.extract("res://fr_FR.zip", language_resources_path, false)
unzipper.extract(language_resources_path.path_join("fr_FR.zip"), language_resources_path, false)
DirAccess.remove_absolute(language_resources_path.path_join("fr_FR.zip"))
this.call_thread_safe("_go_to_main_menu")
+2
View File
@@ -33,6 +33,8 @@ var db_path: String = base_path + language + "/language.db":
if db:
db.path = db_path
db.foreign_keys = true
# TODO For testing on iOS
#db.read_only = true
var words_path: String = base_path + language + "/words/"
var additional_word_list: Dictionary