Merge "Update help manual in orscmd" into android-9.0
diff --git a/gui/theme/extra-languages/languages/zh_CN.xml b/gui/theme/extra-languages/languages/zh_CN.xml
index 944be48..6b0c022 100644
--- a/gui/theme/extra-languages/languages/zh_CN.xml
+++ b/gui/theme/extra-languages/languages/zh_CN.xml
@@ -30,6 +30,7 @@
 		<string name="sdext">SD-EXT</string>
 		<string name="adopted_data">Adopted Data</string>
 		<string name="adopted_storage">Adopted 存储</string>
+		<string name="autostorage">存储</string>
 
 		<!-- GUI XML strings -->
 		<string name="twrp_header">Team Win Recovery Project</string>
@@ -98,6 +99,7 @@
 		<string name="install_failed">安装失败</string>
 		<string name="install_successful">安装成功</string>
 		<string name="wipe_cache_dalvik_btn">清除 Cache/Dalvik</string>
+		<string name="wipe_dalvik_btn">清除 Dalvik</string>
 		<string name="reboot_system_btn">重启系统</string>
 		<string name="install_sel_target">选择目标分区</string>
 		<string name="flash_image_select">选择要刷入镜像的分区:</string>
@@ -105,8 +107,10 @@
 		<string name="flashing_image">正在刷入镜像…</string>
 		<string name="image_flashed">镜像已刷入。</string>
 		<string name="wipe_cache_dalvik_confirm">是否清除 Cache 和 Dalvik?</string>
+		<string name="wipe_dalvik_confirm">是否清除 Dalvik?</string>
 		<string name="wiping_cache_dalvik">正在清除 Cache 和 Dalvik…</string>
 		<string name="wipe_cache_dalvik_complete">Cache 和 Dalvik 清除完成</string>
+		<string name="wipe_dalvik_complete">Dalvik 清除完成</string>
 		<string name="swipe_wipe">滑动按钮确认清除</string>
 		<string name="swipe_wipe_s">   清除</string>
 		<string name="no_os1">没有安装任何系统!</string>
@@ -318,6 +322,7 @@
 		<string name="settings_tz_btn">时区</string>
 		<string name="settings_screen_btn">屏幕</string>
 		<string name="settings_screen_bright_btn">屏幕亮度</string>
+		<string name="vibration_disabled">振动已在本设备上停用</string>
 		<string name="settings_vibration_btn">振动</string>
 		<string name="settings_language_btn">语言</string>
 		<string name="time_zone_hdr">时区</string>
@@ -480,6 +485,28 @@
 		<string name="install_cancel">不,以后再说</string>
 		<string name="sel_storage_list">选择存储位置</string>
 		<string name="ok_btn">确定</string>
+		<string name="install_twrp_ramdisk">安装 Recovery Ramdisk</string>
+		<string name="install_kernel">安装内核</string>
+		<string name="repack_kernel_confirm_hdr">安装内核</string>
+		<string name="repack_ramdisk_confirm_hdr">安装 Recovery</string>
+		<string name="repack_kernel_confirm">是否安装内核?</string>
+		<string name="repack_ramdisk_confirm">是否安装 Recovery?</string>
+		<string name="repack_backup_first">请先备份现有的镜像</string>
+		<string name="repack">重新打包</string>
+		<string name="swipe_to_install">滑动按钮确认安装</string>
+		<string name="installing">正在安装…</string>
+		<string name="install_complete">安装完成</string>
+		<string name="unpack_error">解包镜像错误。</string>
+		<string name="repack_error">重新打包镜像错误。</string>
+		<string name="unpacking_image">正在解包 {1}…</string>
+		<string name="repacking_image">正在打包 {1}…</string>
+		<string name="repack_image_hdr">选择镜像</string>
+		<string name="fix_recovery_loop">修复 Recovery 无限重启</string>
+		<string name="fix_recovery_loop_confirm">是否修复 Recovery 无限重启?</string>
+		<string name="fixing_recovery_loop">正在修复 Recovery 无限重启…</string>
+		<string name="fix_recovery_loop_complete">Recovery 无限重启修复完成</string>
+		<string name="fixing_recovery_loop_patch">正在对内核打补丁…</string>
+		<string name="fix_recovery_loop_patch_error">对内核打补丁时出错。</string>
 
 		<!-- Various console messages - these consist of user displayed messages, oftentimes errors -->
 		<string name="no_kernel_selinux">内核不支持读取 SELinux Context。</string>
@@ -531,9 +558,10 @@
 		<string name="unable_find_part_path">找不到分区路径 '{1}'</string>
 		<string name="update_part_details">正在更新分区详情…</string>
 		<string name="update_part_details_done">…完成</string>
-		<string name="wiping_dalvik">正在清除 Dalvik Cache 目录…</string>
+		<string name="wiping_dalvik">正在清除 Dalvik 目录…</string>
 		<string name="cleaned">已清除:{1}…</string>
-		<string name="dalvik_done">-- Dalvik Cache 清除完成!</string>
+		<string name="cache_dalvik_done">-- Dalvik Cache 目录清除完成!</string>
+		<string name="dalvik_done">-- Dalvik 目录清除完成!</string>
 		<string name="no_andsec">未发现 android secure 分区。</string>
 		<string name="unable_to_locate">未找到 {1}。</string>
 		<string name="wiping_datamedia">清除内置存储 -- /data/media…</string>
@@ -600,7 +628,7 @@
 		<string name="recreate_folder_err">无法重新创建 {1} 文件夹。</string>
 		<string name="img_size_err">镜像大小大于目标设备</string>
 		<string name="flashing">正在刷入 {1}…</string>
-		<string name="backup_folder">备份文件夹设置为:'{1}'</string>
+		<string name="backup_folder_set">备份文件夹设置为:'{1}'</string>
 		<string name="locate_backup_err">未找到备份文件 '{1}'</string>
 		<string name="set_restore_opt">设置恢复选项:'{1}':</string>
 		<string name="digest_check_skip" version="2">跳过校验 Digest 已开启</string>
diff --git a/gui/theme/extra-languages/languages/zh_TW.xml b/gui/theme/extra-languages/languages/zh_TW.xml
index fc80862..fe7cf49 100644
--- a/gui/theme/extra-languages/languages/zh_TW.xml
+++ b/gui/theme/extra-languages/languages/zh_TW.xml
@@ -30,6 +30,7 @@
 		<string name="sdext">SD-EXT</string>
 		<string name="adopted_data">Adopted Data</string>
 		<string name="adopted_storage">Adopted 存儲</string>
+		<string name="autostorage">存儲</string>
 
 		<!-- GUI XML strings -->
 		<string name="twrp_header">Team Win Recovery Project</string>
@@ -98,6 +99,7 @@
 		<string name="install_failed">安裝失敗</string>
 		<string name="install_successful">安裝成功</string>
 		<string name="wipe_cache_dalvik_btn">清除 Cache/Dalvik</string>
+		<string name="wipe_dalvik_btn">清除 Dalvik</string>
 		<string name="reboot_system_btn">重啟系統</string>
 		<string name="install_sel_target">選擇目標分區</string>
 		<string name="flash_image_select">選擇要刷入鏡像的分區:</string>
@@ -105,8 +107,10 @@
 		<string name="flashing_image">正在刷入鏡像…</string>
 		<string name="image_flashed">鏡像已刷入。</string>
 		<string name="wipe_cache_dalvik_confirm">是否清除 Cache 和 Dalvik?</string>
+		<string name="wipe_dalvik_confirm">是否清除 Dalvik?</string>
 		<string name="wiping_cache_dalvik">正在清除 Cache 和 Dalvik…</string>
 		<string name="wipe_cache_dalvik_complete">Cache 和 Dalvik 清除完成</string>
+		<string name="wipe_dalvik_complete">Dalvik 清除完成</string>
 		<string name="swipe_wipe">滑動按鈕確認清除</string>
 		<string name="swipe_wipe_s">   清除</string>
 		<string name="no_os1">沒有安裝任何系統!</string>
@@ -318,6 +322,7 @@
 		<string name="settings_tz_btn">時區</string>
 		<string name="settings_screen_btn">螢幕</string>
 		<string name="settings_screen_bright_btn">螢幕亮度</string>
+		<string name="vibration_disabled">振動已在本設備上停用</string>
 		<string name="settings_vibration_btn">振動</string>
 		<string name="settings_language_btn">語言</string>
 		<string name="time_zone_hdr">時區</string>
@@ -480,6 +485,28 @@
 		<string name="install_cancel">不,以後再說</string>
 		<string name="sel_storage_list">選擇存儲位置</string>
 		<string name="ok_btn">確定</string>
+		<string name="install_twrp_ramdisk">安裝 Recovery Ramdisk</string>
+		<string name="install_kernel">安裝內核</string>
+		<string name="repack_kernel_confirm_hdr">安裝內核</string>
+		<string name="repack_ramdisk_confirm_hdr">安裝 Recovery</string>
+		<string name="repack_kernel_confirm">是否安裝內核?</string>
+		<string name="repack_ramdisk_confirm">是否安裝 Recovery?</string>
+		<string name="repack_backup_first">請先備份現有的鏡像</string>
+		<string name="repack">重新打包</string>
+		<string name="swipe_to_install">滑動按鈕確認安裝</string>
+		<string name="installing">正在安裝…</string>
+		<string name="install_complete">安裝完成</string>
+		<string name="unpack_error">解包鏡像錯誤。</string>
+		<string name="repack_error">重新打包鏡像錯誤。</string>
+		<string name="unpacking_image">正在解包 {1}…</string>
+		<string name="repacking_image">正在打包 {1}…</string>
+		<string name="repack_image_hdr">選擇鏡像</string>
+		<string name="fix_recovery_loop">修復 Recovery 無限重啟</string>
+		<string name="fix_recovery_loop_confirm">是否修復 Recovery 無限重啟?</string>
+		<string name="fixing_recovery_loop">正在修復 Recovery 無限重啟…</string>
+		<string name="fix_recovery_loop_complete">Recovery 無限重啟修復完成</string>
+		<string name="fixing_recovery_loop_patch">正在對內核打補丁…</string>
+		<string name="fix_recovery_loop_patch_error">對內核打補丁時出錯。</string>
 
 		<!-- Various console messages - these consist of user displayed messages, oftentimes errors -->
 		<string name="no_kernel_selinux">內核不支持讀取 SELinux Context。</string>
@@ -531,9 +558,10 @@
 		<string name="unable_find_part_path">找不到分區路徑 '{1}'</string>
 		<string name="update_part_details">正在更新分區詳情…</string>
 		<string name="update_part_details_done">…完成</string>
-		<string name="wiping_dalvik">正在清除 Dalvik Cache 目錄…</string>
+		<string name="wiping_dalvik">正在清除 Dalvik 目錄…</string>
 		<string name="cleaned">已清除:{1}…</string>
-		<string name="dalvik_done">-- Dalvik Cache 清除完成!</string>
+		<string name="cache_dalvik_done">-- Dalvik Cache 目錄清除完成!</string>
+		<string name="dalvik_done">-- Dalvik 目錄清除完成!</string>
 		<string name="no_andsec">未發現 android secure 分區。</string>
 		<string name="unable_to_locate">未找到 {1}。</string>
 		<string name="wiping_datamedia">清除內置存儲 -- /data/media…</string>
@@ -600,7 +628,7 @@
 		<string name="recreate_folder_err">無法重新創建 {1} 檔案夾。</string>
 		<string name="img_size_err">鏡像大小大於目標設備</string>
 		<string name="flashing">正在刷入 {1}…</string>
-		<string name="backup_folder">備份檔案夾設置為:'{1}'</string>
+		<string name="backup_folder_set">備份檔案夾設置為:'{1}'</string>
 		<string name="locate_backup_err">未找到備份檔案 '{1}'</string>
 		<string name="set_restore_opt">設置恢復選項:'{1}':</string>
 		<string name="digest_check_skip" version="2">跳過校驗 Digest 已開啟</string>
diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk
index 05e750a..5c0b441 100644
--- a/prebuilt/Android.mk
+++ b/prebuilt/Android.mk
@@ -320,7 +320,11 @@
     RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/fsck.ntfs
     RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mkfs.ntfs
     RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libntfs-3g.so
-    RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libfuse.so
+    ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 28; echo $$?),0)
+        RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libfuse-lite.so
+    else
+        RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libfuse.so
+    endif
 else
     RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/ntfs-3g
     RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/ntfsfix
diff --git a/toolbox/Android.mk b/toolbox/Android.mk
index 6698491..9267438 100644
--- a/toolbox/Android.mk
+++ b/toolbox/Android.mk
@@ -289,6 +289,33 @@
 $(TOOLS_H):
 	$(transform-generated-source)
 
+# toolbox setenforce is used during init in non-symlink form, so it was
+# required to be included as part of the suite above. if busybox already
+# provides setenforce, we can omit the toolbox symlink
+TEMP_TOOLS := $(filter-out $(RECOVERY_BUSYBOX_TOOLS), $(ALL_TOOLS))
+ALL_TOOLS := $(TEMP_TOOLS)
+
+# Make /sbin/toolbox launchers for each tool
+SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(ALL_TOOLS))
+$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE_STEM)
+$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+	@echo "Symlink: $@ -> $(TOOLBOX_BINARY)"
+	@mkdir -p $(dir $@)
+	@rm -rf $@
+	$(hide) ln -sf $(TOOLBOX_BINARY) $@
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := toolbox_symlinks
+LOCAL_MODULE_TAGS := optional
+LOCAL_ADDITIONAL_DEPENDENCIES := $(SYMLINKS)
+include $(BUILD_PHONY_PACKAGE)
+
+ifneq (,$(filter $(PLATFORM_SDK_VERSION),16 17 18))
+    # Only needed if the build system lacks support for LOCAL_ADDITIONAL_DEPENDENCIES
+    ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
+    ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
+        $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)
+endif
 
 ifeq ($(TW_USE_TOOLBOX), true)
     ifeq ($(shell test $(PLATFORM_SDK_VERSION) -gt 23; echo $$?),0)
@@ -320,34 +347,6 @@
     endif
 endif
 
-# toolbox setenforce is used during init in non-symlink form, so it was
-# required to be included as part of the suite above. if busybox already
-# provides setenforce, we can omit the toolbox symlink
-TEMP_TOOLS := $(filter-out $(RECOVERY_BUSYBOX_TOOLS), $(ALL_TOOLS))
-ALL_TOOLS := $(TEMP_TOOLS)
-
-# Make /sbin/toolbox launchers for each tool
-SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(ALL_TOOLS))
-$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE_STEM)
-$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
-	@echo "Symlink: $@ -> $(TOOLBOX_BINARY)"
-	@mkdir -p $(dir $@)
-	@rm -rf $@
-	$(hide) ln -sf $(TOOLBOX_BINARY) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := toolbox_symlinks
-LOCAL_MODULE_TAGS := optional
-LOCAL_ADDITIONAL_DEPENDENCIES := $(SYMLINKS)
-include $(BUILD_PHONY_PACKAGE)
-
-ifneq (,$(filter $(PLATFORM_SDK_VERSION),16 17 18))
-    # Only needed if the build system lacks support for LOCAL_ADDITIONAL_DEPENDENCIES
-    ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
-    ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
-        $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)
-endif
-
 SYMLINKS :=
 ALL_TOOLS :=
 BSD_TOOLS :=