From e4e7c461de5fe83eb4b0cb86599a03c730262830 Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Wed, 20 Mar 2024 20:05:24 +0800 Subject: [PATCH] =?utf8?q?=E6=B7=BB=E5=8A=A0=E5=85=B3=E6=9C=BA=E5=8A=A8?= =?utf8?q?=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../wearable/fd230app/CMakeLists.txt | 1 + .../nativelauncher/src/NativeLauncher.cpp | 4 +- .../rebootdevice/include/RebootDeviceView.h | 12 +- .../rebootdevice/include/RebootPresenter.h | 9 + .../rebootdevice/include/RebootView.h | 17 +- .../include/ShutDownAnimatorView.h | 44 ++ .../rebootdevice/include/ShutdownDeviceView.h | 4 +- .../rebootdevice/src/RebootDeviceView.cpp | 8 +- .../nativeui/rebootdevice/src/RebootModel.cpp | 7 +- .../rebootdevice/src/RebootPresenter.cpp | 175 +++--- .../nativeui/rebootdevice/src/RebootView.cpp | 568 ++++++++++-------- .../rebootdevice/src/ShutDownAnimatorView.cpp | 114 ++++ .../rebootdevice/src/ShutdownDeviceView.cpp | 11 +- .../user/res/RebootAndShutDown/ShutDown/1.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/10.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/11.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/12.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/13.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/14.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/15.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/16.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/17.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/18.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/19.bin | Bin 0 -> 6824 bytes .../user/res/RebootAndShutDown/ShutDown/2.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/20.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/21.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/22.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/23.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/24.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/25.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/26.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/27.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/28.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/29.bin | Bin 0 -> 6824 bytes .../user/res/RebootAndShutDown/ShutDown/3.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/30.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/31.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/32.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/33.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/34.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/35.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/36.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/37.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/38.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/39.bin | Bin 0 -> 6824 bytes .../user/res/RebootAndShutDown/ShutDown/4.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/40.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/41.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/42.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/43.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/44.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/45.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/46.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/47.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/48.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/49.bin | Bin 0 -> 6824 bytes .../user/res/RebootAndShutDown/ShutDown/5.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/50.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/51.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/52.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/53.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/54.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/55.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/56.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/57.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/58.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/59.bin | Bin 0 -> 6824 bytes .../user/res/RebootAndShutDown/ShutDown/6.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/60.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/61.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/62.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/63.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/64.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/65.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/66.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/67.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/68.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/69.bin | Bin 0 -> 6824 bytes .../user/res/RebootAndShutDown/ShutDown/7.bin | Bin 0 -> 6824 bytes .../res/RebootAndShutDown/ShutDown/70.bin | Bin 0 -> 6824 bytes .../user/res/RebootAndShutDown/ShutDown/8.bin | Bin 0 -> 6824 bytes .../user/res/RebootAndShutDown/ShutDown/9.bin | Bin 0 -> 6824 bytes .../fd230/fs/user/userdata/recording/test.txt | 1 + .../src/utils/frameworks/mem_check.cpp | 2 +- 85 files changed, 645 insertions(+), 332 deletions(-) create mode 100644 code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutDownAnimatorView.h create mode 100644 code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/ShutDownAnimatorView.cpp create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/1.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/10.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/11.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/12.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/13.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/14.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/15.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/16.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/17.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/18.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/19.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/2.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/20.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/21.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/22.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/23.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/24.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/25.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/26.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/27.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/28.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/29.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/3.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/30.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/31.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/32.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/33.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/34.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/35.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/36.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/37.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/38.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/39.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/4.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/40.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/41.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/42.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/43.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/44.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/45.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/46.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/47.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/48.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/49.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/5.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/50.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/51.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/52.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/53.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/54.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/55.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/56.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/57.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/58.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/59.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/6.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/60.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/61.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/62.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/63.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/64.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/65.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/66.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/67.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/68.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/69.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/7.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/70.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/8.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/9.bin create mode 100644 code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/recording/test.txt diff --git a/code/sdk/application/wearable/fd230app/CMakeLists.txt b/code/sdk/application/wearable/fd230app/CMakeLists.txt index ce419c505..8fc11ce15 100644 --- a/code/sdk/application/wearable/fd230app/CMakeLists.txt +++ b/code/sdk/application/wearable/fd230app/CMakeLists.txt @@ -180,6 +180,7 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/rebootdevice/src/RebootModel.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/rebootdevice/src/RebootDeviceView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/rebootdevice/src/ShutdownDeviceView.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/rebootdevice/src/ShutDownAnimatorView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/callerlog/src/CallerLogView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/callerlog/src/CallerLogPresenter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/callerlog/src/CallerLogModel.cpp diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp index 5b4f8d4c1..844d62643 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp +++ b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp @@ -55,8 +55,8 @@ #include "TempPresenter.h" #include "IndoorWalkPresenter.h" #include "IndoorWalkView.h" -#include "RebootView.h" -#include "RebootPresenter.h" +#include "rebootdevice/include/RebootView.h" +#include "rebootdevice/include/RebootPresenter.h" #include "UISampleView.h" #include "UISamplePresenter.h" diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootDeviceView.h b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootDeviceView.h index 95d01c265..b331447c0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootDeviceView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootDeviceView.h @@ -1,7 +1,9 @@ /* - * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved. - * Description: RebootDevice View - * Create: 2022-04-28 + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-01-29 15:37:44 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-03-20 10:52:37 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootDeviceView.h */ #ifndef REBOOTDEVICE_VIEW_H #define REBOOTDEVICE_VIEW_H @@ -21,8 +23,8 @@ public: private: bool ShowUpRebootDeviceView(void); - UILabel *rebootDeviceLabel{nullptr}; - UIButton *rebootDeviceButton{nullptr}; + UILabel *rebootDeviceLabel{nullptr}; //重启标签 + UIButton *rebootDeviceButton{nullptr}; //重启按钮 UIViewGroup *group{nullptr}; }; } // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootPresenter.h index 846a0f0cc..7037daf40 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootPresenter.h @@ -1,3 +1,11 @@ +/* + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-01-29 15:37:44 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-03-20 16:57:59 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootPresenter.h + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ /* * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved. * Description: Reboot Presenter @@ -17,6 +25,7 @@ enum RebootPresenterNum : uint8_t { REBOOTVIEW = 0, REBOOTDEVICEVIEW, SHUTDOWNDEVICEVIEW, + SHUTDOWNANIMATORVIEW, //关机动画视图 REBOOT_MAX, }; diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootView.h b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootView.h index 458cffcf2..612c16479 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootView.h @@ -1,20 +1,25 @@ /* - * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved. - * Description: Reboot View - * Create: 2022-04-28 + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-01-29 15:37:44 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-03-20 20:01:01 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootView.h */ + #ifndef REBOOT_VIEW_H #define REBOOT_VIEW_H #include "View.h" #include "ShutdownDeviceView.h" #include "RebootDeviceView.h" +#include "rebootdevice/include/ShutDownAnimatorView.h" #include "components/ui_view_group.h" #include "components/ui_label.h" #include "components/ui_button.h" - +#include "components/ui_image_animator.h" +#include "config/include/ConfigModel.h" namespace OHOS { -constexpr int16_t NUM_REBOOT_CONTAINER = 3; +constexpr int16_t NUM_REBOOT_CONTAINER = 4; class RebootPresenter; class RebootView : public View { @@ -33,6 +38,7 @@ private: bool ChangeRebootView(int16_t hideView, int16_t thisView); bool ChangeRebootDeviceView(int16_t hideView, int16_t thisView); bool ChangeShutdownDeviceView(int16_t hideView, int16_t thisView); + bool ChangeShutDownAnimatorView(int16_t hideView, int16_t thisView); bool CheckViewParam(int16_t hideView, int16_t showView); bool ShowUpRebootView(void); bool ShowUpShutdownView(void); @@ -43,6 +49,7 @@ private: UIViewGroup *group{nullptr}; RebootDeviceView *rebootDeviceView{nullptr}; ShutdownDeviceView *shutdownDeviceView{nullptr}; + ShutDownAnimatorView*shutDownAnimatorView{nullptr}; UIViewGroup *container[NUM_REBOOT_CONTAINER]{nullptr}; typedef bool (RebootView::*PreprosssChangeView)(int16_t hideView, int16_t thisView); PreprosssChangeView preProcessView[NUM_REBOOT_CONTAINER]; diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutDownAnimatorView.h b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutDownAnimatorView.h new file mode 100644 index 000000000..a41001825 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutDownAnimatorView.h @@ -0,0 +1,44 @@ +/* + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-03-20 16:37:13 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-03-20 19:33:40 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutDownAnimatorView.h + */ + +#ifndef SHUTDOWN_ANIMATOR_VIEW_H +#define SHUTDOWN_ANIMATOR_VIEW_H + +#include "components/ui_view_group.h" +#include "components/ui_image_animator.h" + +namespace OHOS +{ + static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_X = 183; + static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_Y = 183; + static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_W = 100; + static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_H = 100; + static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 70; // 图片帧数 + static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_TIME = 100; // 图片更新间隔 + static constexpr char *ShutDownPaths = "/user/res/RebootAndShutDown/ShutDown/"; + class ShutDownAnimatorView + { + public: + ShutDownAnimatorView(); + ~ShutDownAnimatorView(); + static ShutDownAnimatorView *GetInstance(); + UIViewGroup *ShutDownAnimatorViewInit(void); + UIImageAnimatorView *GeShutDownImageAnimatorView(void); + + private: + void ClearAll(void); + bool ShowUpShutDownAnimatorView(); + const char **CreateImagePathsArray(const char *basePath, const char *fileExtension, int numImages); + void FreeImagePathsArray(const char **imagePaths, const int numImages); + UIViewGroup *group{nullptr}; + UIImageAnimatorView *ShutDownImageAnimatorView{nullptr}; // 关机动画 + ImageAnimatorInfo ShutDownImageInfo[SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES]; // 关机图像的信息 + const char **ShutDownPathsArray{nullptr}; // 关机图片路径数组 + }; +} +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutdownDeviceView.h b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutdownDeviceView.h index d291b0b4e..33d776dc4 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutdownDeviceView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/ShutdownDeviceView.h @@ -21,8 +21,8 @@ public: private: bool ShowUpShutdownDeviceView(void); - UILabel *shutdownDeviceLabel{nullptr}; - UIButton *shutdownDeviceButton{nullptr}; + UILabel *shutdownDeviceLabel{nullptr}; //关机标签 + UIButton *shutdownDeviceButton{nullptr}; //关机按钮 UIViewGroup *group{nullptr}; }; } // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootDeviceView.cpp b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootDeviceView.cpp index 44210c037..bd714058c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootDeviceView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootDeviceView.cpp @@ -4,7 +4,7 @@ * Create: 2022-04-28 */ -#include "RebootDeviceView.h" +#include "rebootdevice/include/RebootDeviceView.h" #include "wearable_log.h" #include "UiConfig.h" #include "RebootPresenter.h" @@ -37,6 +37,9 @@ RebootDeviceView *RebootDeviceView::GetInstance() return g_pRebootDeviceView; } +/* + * @brief 显示重启设备视图 +*/ bool RebootDeviceView::ShowUpRebootDeviceView() { if (rebootDeviceLabel == nullptr) { @@ -72,6 +75,9 @@ bool RebootDeviceView::ShowUpRebootDeviceView() return true; } +/* + * @brief 初始化重启视图 +*/ UIViewGroup *RebootDeviceView::InitShowUpView(void) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootDeviceView::InitShowUpView"); diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp index 1b2c15d31..f2c69ac93 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp @@ -8,6 +8,9 @@ #include "wearable_log.h" #include "NativeAbility.h" #include "errcode.h" +#include +#include +#include "power_display_service.h" namespace OHOS { RebootModel::RebootModel() {} @@ -49,9 +52,7 @@ namespace OHOS #ifdef __cplusplus } #endif -#include -#include -#include "power_display_service.h" + /* * @brief 长按四秒关机回调函数 */ diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootPresenter.cpp index fd81abf8a..da114272e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootPresenter.cpp @@ -1,94 +1,123 @@ /* - * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved. - * Description: Reboot Presenter - * Create: 2022-04-28 + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-02-21 19:06:02 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-03-20 19:47:13 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootPresenter.cpp */ - -#include "RebootPresenter.h" -#include "RebootView.h" -#include "RebootModel.h" +#include "rebootdevice/include/RebootPresenter.h" +#include "rebootdevice/include/RebootView.h" +#include "rebootdevice/include/RebootModel.h" #include "drag_event.h" #include "wearable_log.h" #include "custom_utils.h" -namespace OHOS { -static RebootPresenter *g_pRebootPresenter = nullptr; - -RebootPresenter::RebootPresenter() +#include "components/ui_image_animator.h" +namespace OHOS { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter::RebootPresenter"); - g_pRebootPresenter = this; -} + static RebootPresenter *g_pRebootPresenter = nullptr; -RebootPresenter::~RebootPresenter() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter::~RebootPresenter"); - g_pRebootPresenter = nullptr; -} - -RebootPresenter *RebootPresenter::GetInstance() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter GetInstance"); - return g_pRebootPresenter; -} - -void RebootPresenter::OnStart() -{ - Presenter::OnStart(); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter::On Start "); -} + RebootPresenter::RebootPresenter() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter::RebootPresenter"); + g_pRebootPresenter = this; + } -void RebootPresenter::OnPause(void) {} + RebootPresenter::~RebootPresenter() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter::~RebootPresenter"); + g_pRebootPresenter = nullptr; + } -void RebootPresenter::OnResume(void) {} + RebootPresenter *RebootPresenter::GetInstance() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter GetInstance"); + return g_pRebootPresenter; + } -void RebootPresenter::OnStop(void) {} + void RebootPresenter::OnStart() + { + Presenter::OnStart(); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter::On Start "); + } + void RebootPresenter::OnPause(void) {} -bool RebootPresenter::OnClick(UIView& view, const ClickEvent& event) -{ - UNUSED(event); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnClick OnClick"); - if (strcmp(view.GetViewId(), REBOOT_BUTTON) == 0) { - RebootView::GetInstance()->ChangeView(REBOOTVIEW, REBOOTDEVICEVIEW); - } else if (strcmp(view.GetViewId(), SHUTDOWN_BUTTON) == 0) { - RebootView::GetInstance()->ChangeView(REBOOTVIEW, SHUTDOWNDEVICEVIEW); - } else if (strcmp(view.GetViewId(), REBOOTDEVICE_BUTTON) == 0) { - // 重启 - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "REBOOTDEVICE_BUTTON OnClick"); - uapi_reboot_device(); + void RebootPresenter::OnResume(void) {} - } else if (strcmp(view.GetViewId(), SHUTDOWNDEVICE_BUTTON) == 0) { - // 关机 - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SHUTDOWNDEVICE_BUTTON OnClick"); - // GetPMSDefaultInterface()->ShutDownDevice(NULL, NULL); - uapi_poweroff_device(); + void RebootPresenter::OnStop(void) {} + bool RebootPresenter::OnClick(UIView &view, const ClickEvent &event) + { + UNUSED(event); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnClick OnClick"); + if (strcmp(view.GetViewId(), REBOOT_BUTTON) == 0) + { + RebootView::GetInstance()->ChangeView(REBOOTVIEW, REBOOTDEVICEVIEW); + } + else if (strcmp(view.GetViewId(), SHUTDOWN_BUTTON) == 0) + { + RebootView::GetInstance()->ChangeView(REBOOTVIEW, SHUTDOWNDEVICEVIEW); + } + else if (strcmp(view.GetViewId(), REBOOTDEVICE_BUTTON) == 0) + { + // 重启 + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "REBOOTDEVICE_BUTTON OnClick"); + RebootView::GetInstance()->ChangeView(REBOOTDEVICEVIEW, SHUTDOWNANIMATORVIEW); + ShutDownAnimatorView::GetInstance()->GeShutDownImageAnimatorView()->Start(); + if (ShutDownAnimatorView::GetInstance()->GeShutDownImageAnimatorView()->GetState() == false) + { + uapi_reboot_device(); + } + } + else if (strcmp(view.GetViewId(), SHUTDOWNDEVICE_BUTTON) == 0) + { + // 关机 + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SHUTDOWNDEVICE_BUTTON OnClick"); + // GetPMSDefaultInterface()->ShutDownDevice(NULL, NULL); + RebootView::GetInstance()->ChangeView(SHUTDOWNDEVICEVIEW, SHUTDOWNANIMATORVIEW); + ShutDownAnimatorView::GetInstance()->GeShutDownImageAnimatorView()->Start(); + if (ShutDownAnimatorView::GetInstance()->GeShutDownImageAnimatorView()->GetState() == false) + { + uapi_poweroff_device(); + } + } + return true; } - return true; -} -bool RebootPresenter::OnDrag(UIView& view, const DragEvent& event) -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter::OnDrag"); - if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) { - if (strcmp(view.GetViewId(), REBOOT_VIEW) == 0) { - NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN); - } else if (strcmp(view.GetViewId(), REBOOTDEVICE_VIEW) == 0) { - if (RebootModel::GetInstance()->GetExitsView() == 0) { - RebootView::GetInstance()->ChangeView(REBOOTDEVICEVIEW, REBOOTVIEW); - } else { - NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); - RebootModel::GetInstance()->SetExitsView(false); + bool RebootPresenter::OnDrag(UIView &view, const DragEvent &event) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootPresenter::OnDrag"); + if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) + { + if (strcmp(view.GetViewId(), REBOOT_VIEW) == 0) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN); + } + else if (strcmp(view.GetViewId(), REBOOTDEVICE_VIEW) == 0) + { + if (RebootModel::GetInstance()->GetExitsView() == 0) + { + RebootView::GetInstance()->ChangeView(REBOOTDEVICEVIEW, REBOOTVIEW); + } + else + { + NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); + RebootModel::GetInstance()->SetExitsView(false); + } } - } else if (strcmp(view.GetViewId(), SHUTDOWNDEVICE_VIEW) == 0) { - if (RebootModel::GetInstance()->GetExitsView() == 0) { - RebootView::GetInstance()->ChangeView(SHUTDOWNDEVICEVIEW, REBOOTVIEW); - } else { - NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); - RebootModel::GetInstance()->SetExitsView(false); + else if (strcmp(view.GetViewId(), SHUTDOWNDEVICE_VIEW) == 0) + { + if (RebootModel::GetInstance()->GetExitsView() == 0) + { + RebootView::GetInstance()->ChangeView(SHUTDOWNDEVICEVIEW, REBOOTVIEW); + } + else + { + NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); + RebootModel::GetInstance()->SetExitsView(false); + } } } + return true; } - return true; -} } diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootView.cpp b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootView.cpp index 1718954c0..9db397c39 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootView.cpp @@ -4,298 +4,390 @@ * Create: 2022-04-28 */ -#include "RebootView.h" -#include "RebootModel.h" +#include "rebootdevice/include/RebootView.h" +#include "rebootdevice/include/RebootModel.h" #include "wearable_log.h" #include "UiConfig.h" #include "RebootPresenter.h" -namespace OHOS { -static RebootView *g_pRebootView{nullptr}; -RebootView::RebootView() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::RebootView"); - preProcessView[REBOOTVIEW] = &RebootView::ChangeRebootView; - preProcessView[REBOOTDEVICEVIEW] = &RebootView::ChangeRebootDeviceView; - preProcessView[SHUTDOWNDEVICEVIEW] = &RebootView::ChangeShutdownDeviceView; - g_pRebootView = this; -} +static constexpr int16_t BOOT_IMAGE_ANIMATOR_VIEW_X = 0; +static constexpr int16_t BOOT_IMAGE_ANIMATOR_VIEW_Y = 0; +static constexpr int16_t BOOT_IMAGE_ANIMATOR_VIEW_W = 466; +static constexpr int16_t BOOT_IMAGE_ANIMATOR_VIEW_H = 466; +static constexpr int16_t BOOT_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 24; // 图片帧数 +static constexpr int16_t BOOT_IMAGE_ANIMATOR_TIME = 100; // 图片更新间隔 + +static constexpr char *BootPaths = ""; -RebootView::~RebootView() +namespace OHOS { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~RebootView"); - if (group != nullptr) { - group->RemoveAll(); + static RebootView *g_pRebootView{nullptr}; + RebootView::RebootView() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::RebootView"); + preProcessView[REBOOTVIEW] = &RebootView::ChangeRebootView; + preProcessView[REBOOTDEVICEVIEW] = &RebootView::ChangeRebootDeviceView; + preProcessView[SHUTDOWNDEVICEVIEW] = &RebootView::ChangeShutdownDeviceView; + preProcessView[SHUTDOWNANIMATORVIEW] = &RebootView::ChangeShutDownAnimatorView; + g_pRebootView = this; } - delete rebootLabel; - rebootLabel = nullptr; - delete rebootButton; - rebootButton = nullptr; - delete shutdownLabel; - shutdownLabel = nullptr; - delete shutdownButton; - shutdownButton = nullptr; - delete group; - group = nullptr; - g_pRebootView = nullptr; -} -RebootView *RebootView::GetInstance() -{ - return g_pRebootView; -} + RebootView::~RebootView() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~RebootView"); + if (group != nullptr) + { + group->RemoveAll(); + } + delete rebootLabel; + rebootLabel = nullptr; + delete rebootButton; + rebootButton = nullptr; + delete shutdownLabel; + shutdownLabel = nullptr; + delete shutdownButton; + shutdownButton = nullptr; + delete group; + group = nullptr; + g_pRebootView = nullptr; + } -void RebootView::OnStart() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~OnStart"); - View::OnStart(); - BaseView::RootView(Color::Black().full); - if (RebootModel::GetInstance()->GetSelectView() == REBOOT) { - ChangeView(REBOOT_MAX, REBOOTVIEW); - } else if (RebootModel::GetInstance()->GetSelectView() == REBOOTDEVICE) { - ChangeView(REBOOT_MAX, REBOOTDEVICEVIEW); - RebootModel::GetInstance()->SetSelectViewId(REBOOT); - } else if (RebootModel::GetInstance()->GetSelectView() == SHUTDOWNDEVICE) { - ChangeView(REBOOT_MAX, SHUTDOWNDEVICEVIEW); - RebootModel::GetInstance()->SetSelectViewId(REBOOT); + RebootView *RebootView::GetInstance() + { + return g_pRebootView; } - RootView::GetInstance()->Invalidate(); - return; -} -void RebootView::OnSetUpView() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~OnSetUpView"); - View::OnSetUpView(); - Draw(); -} + void RebootView::OnStart() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~OnStart"); + View::OnStart(); + BaseView::RootView(Color::Black().full); + if (RebootModel::GetInstance()->GetSelectView() == REBOOT) + { + ChangeView(REBOOT_MAX, REBOOTVIEW); + } + else if (RebootModel::GetInstance()->GetSelectView() == REBOOTDEVICE) + { + ChangeView(REBOOT_MAX, REBOOTDEVICEVIEW); + RebootModel::GetInstance()->SetSelectViewId(REBOOT); + } + else if (RebootModel::GetInstance()->GetSelectView() == SHUTDOWNDEVICE) + { + ChangeView(REBOOT_MAX, SHUTDOWNDEVICEVIEW); + RebootModel::GetInstance()->SetSelectViewId(REBOOT); + } + RootView::GetInstance()->Invalidate(); + return; + } -void RebootView::OnTearDownView() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~OnTearDownView"); - View::OnTearDownView(); - return; -} + void RebootView::OnSetUpView() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~OnSetUpView"); + View::OnSetUpView(); + Draw(); + } -void RebootView::OnStop() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~OnStop"); - View::OnStop(); - if (container_ != nullptr) { - container_->RemoveAll(); - delete container_; - container_ = nullptr; + void RebootView::OnTearDownView() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~OnTearDownView"); + View::OnTearDownView(); + return; } - RootView::GetInstance()->ClearOnKeyActListener(); - RootView::GetInstance()->RemoveAll(); - return; -} -bool RebootView::ShowUpRebootView() -{ - if (rebootLabel == nullptr) { - rebootLabel = new UILabel(); - if (rebootLabel == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowUpRebootView rebootLabel new fail"); - return false; + void RebootView::OnStop() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::~OnStop"); + View::OnStop(); + if (container_ != nullptr) + { + container_->RemoveAll(); + delete container_; + container_ = nullptr; } + RootView::GetInstance()->ClearOnKeyActListener(); + RootView::GetInstance()->RemoveAll(); + return; } - rebootLabel->SetPosition(49, 272, 150, 45); // 49:x 272:y 150:width 45:height - rebootLabel->SetText("重启"); - rebootLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35); // 35:font data - rebootLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE); - rebootLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, - UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER); - if (rebootButton == nullptr) { - rebootButton = new UIButton(); - if (rebootButton == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowUpRebootView rebootButton new fail"); - return false; + bool RebootView::ShowUpRebootView() + { + if (rebootLabel == nullptr) + { + rebootLabel = new UILabel(); + if (rebootLabel == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowUpRebootView rebootLabel new fail"); + return false; + } } - } - rebootButton->SetPosition(69, 147, 110, 110); // 69:x 147:y 110:width 110:height - rebootButton->SetImageSrc(PNG_REBOOT_BUTTON_IMAGE, PNG_REBOOT_BUTTON_IMAGE); - rebootButton->SetViewId(REBOOT_BUTTON); - UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::RebootPresenter::GetInstance(); - if (clickListener == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance nullptr"); - return false; - } - rebootButton->SetOnClickListener(clickListener); - return true; -} + rebootLabel->SetPosition(49, 272, 150, 45); // 49:x 272:y 150:width 45:height + rebootLabel->SetText("重启"); + rebootLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35); // 35:font data + rebootLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE); + rebootLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, + UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER); -bool RebootView::ShowUpShutdownView() -{ - if (shutdownLabel == nullptr) { - shutdownLabel = new UILabel(); - if (shutdownLabel == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowUpShutdownView shutdownLabel new fail"); + if (rebootButton == nullptr) + { + rebootButton = new UIButton(); + if (rebootButton == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowUpRebootView rebootButton new fail"); + return false; + } + } + rebootButton->SetPosition(69, 147, 110, 110); // 69:x 147:y 110:width 110:height + rebootButton->SetImageSrc(PNG_REBOOT_BUTTON_IMAGE, PNG_REBOOT_BUTTON_IMAGE); + rebootButton->SetViewId(REBOOT_BUTTON); + UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::RebootPresenter::GetInstance(); + if (clickListener == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance nullptr"); return false; } + rebootButton->SetOnClickListener(clickListener); + return true; } - shutdownLabel->SetPosition(255, 272, 150, 45); // 255:x 272:y 150:width 45:height - shutdownLabel->SetText("关机"); - shutdownLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35); // 35:font data - shutdownLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE); - shutdownLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, - UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER); - if (shutdownButton == nullptr) { - shutdownButton = new UIButton(); - if (shutdownButton == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowUpShutdownView shutdownButton new fail"); + bool RebootView::ShowUpShutdownView() + { + if (shutdownLabel == nullptr) + { + shutdownLabel = new UILabel(); + if (shutdownLabel == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowUpShutdownView shutdownLabel new fail"); + return false; + } + } + shutdownLabel->SetPosition(255, 272, 150, 45); // 255:x 272:y 150:width 45:height + shutdownLabel->SetText("关机"); + shutdownLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35); // 35:font data + shutdownLabel->SetStyle(STYLE_BACKGROUND_COLOR, OPA_OPAQUE); + shutdownLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, + UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER); + + if (shutdownButton == nullptr) + { + shutdownButton = new UIButton(); + if (shutdownButton == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowUpShutdownView shutdownButton new fail"); + return false; + } + } + shutdownButton->SetPosition(275, 147, 110, 110); // 275:x 147:y 110:width 110:height + shutdownButton->SetImageSrc(PNG_SHUTDOWN_BUTTON_IMAGE, PNG_SHUTDOWN_BUTTON_IMAGE); + shutdownButton->SetViewId(SHUTDOWN_BUTTON); + UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::RebootPresenter::GetInstance(); + if (clickListener == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance nullptr"); return false; } + shutdownButton->SetOnClickListener(clickListener); + return true; } - shutdownButton->SetPosition(275, 147, 110, 110); // 275:x 147:y 110:width 110:height - shutdownButton->SetImageSrc(PNG_SHUTDOWN_BUTTON_IMAGE, PNG_SHUTDOWN_BUTTON_IMAGE); - shutdownButton->SetViewId(SHUTDOWN_BUTTON); - UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::RebootPresenter::GetInstance(); - if (clickListener == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clickListener GetInstance nullptr"); - return false; - } - shutdownButton->SetOnClickListener(clickListener); - return true; -} -UIViewGroup *RebootView::InitShowUpView(void) -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::InitShowUpView"); - bool ret; - if (group == nullptr) { - group = new UIViewGroup(); - if (group == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail"); + /* + * @brief 初始化开关机视图 + */ + UIViewGroup *RebootView::InitShowUpView(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::InitShowUpView"); + bool ret; + if (group == nullptr) + { + group = new UIViewGroup(); + if (group == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail"); + return nullptr; + } + group->SetPosition(0, 0); // 0:x; 0:y + group->SetWidth(HORIZONTAL_RESOLUTION); + group->SetHeight(VERTICAL_RESOLUTION); + } + ret = ShowUpRebootView(); + if (ret == false) + { return nullptr; } - group->SetPosition(0, 0); // 0:x; 0:y - group->SetWidth(HORIZONTAL_RESOLUTION); - group->SetHeight(VERTICAL_RESOLUTION); - } - ret = ShowUpRebootView(); - if (ret == false) { - return nullptr; - } - group->Add(rebootLabel); - group->Add(rebootButton); + group->Add(rebootLabel); + group->Add(rebootButton); - ret = ShowUpShutdownView(); - if (ret == false) { - return nullptr; - } - group->Add(shutdownLabel); - group->Add(shutdownButton); - UIView::OnDragListener *rebootDragListener = (UIView::OnDragListener *)OHOS::RebootPresenter::GetInstance(); - if (rebootDragListener == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "rebootDragListener GetInstance fail"); - return nullptr; - } - group->SetOnDragListener(rebootDragListener); - group->SetViewId(REBOOT_VIEW); - group->SetDraggable(true); - group->SetTouchable(true); - return group; -} - -bool RebootView::ChangeRebootView(int16_t hideView, int16_t thisView) -{ - UNUSED(hideView); - // init view - UIViewGroup *group = InitShowUpView(); - if (group == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail"); - return false; + ret = ShowUpShutdownView(); + if (ret == false) + { + return nullptr; + } + group->Add(shutdownLabel); + group->Add(shutdownButton); + UIView::OnDragListener *rebootDragListener = (UIView::OnDragListener *)OHOS::RebootPresenter::GetInstance(); + if (rebootDragListener == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "rebootDragListener GetInstance fail"); + return nullptr; + } + group->SetOnDragListener(rebootDragListener); + group->SetViewId(REBOOT_VIEW); + group->SetDraggable(true); + group->SetTouchable(true); + return group; } - container[thisView] = group; - RootView::GetInstance()->Add(container[thisView]); - return true; -} -bool RebootView::ChangeRebootDeviceView(int16_t hideView, int16_t thisView) -{ - UNUSED(hideView); - if (container[thisView] == nullptr) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChangeRebootDeviceView"); - rebootDeviceView = new RebootDeviceView(); - if (rebootDeviceView == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "rebootDeviceView new fail"); - return false; - } + /* + * @brief 切换到重启和开关机视图 + */ + bool RebootView::ChangeRebootView(int16_t hideView, int16_t thisView) + { + UNUSED(hideView); // init view - UIViewGroup *group = rebootDeviceView->InitShowUpView(); - if (group == nullptr) { + UIViewGroup *group = InitShowUpView(); + if (group == nullptr) + { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail"); return false; } container[thisView] = group; RootView::GetInstance()->Add(container[thisView]); + return true; } - return true; -} -bool RebootView::ChangeShutdownDeviceView(int16_t hideView, int16_t thisView) -{ - UNUSED(hideView); - if (container[thisView] == nullptr) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChangeShutdownDeviceView"); - shutdownDeviceView = new ShutdownDeviceView(); - if (shutdownDeviceView == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "shutdownDeviceView new fail"); - return false; - } - // init view - UIViewGroup *group = shutdownDeviceView->InitShowUpView(); - if (group == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail"); - return false; + /* + * @brief 切换到重启设备视图 + */ + bool RebootView::ChangeRebootDeviceView(int16_t hideView, int16_t thisView) + { + UNUSED(hideView); + if (container[thisView] == nullptr) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChangeRebootDeviceView"); + rebootDeviceView = new RebootDeviceView(); + if (rebootDeviceView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "rebootDeviceView new fail"); + return false; + } + // init view + UIViewGroup *group = rebootDeviceView->InitShowUpView(); + if (group == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail"); + return false; + } + container[thisView] = group; + RootView::GetInstance()->Add(container[thisView]); } - container[thisView] = group; - RootView::GetInstance()->Add(container[thisView]); + return true; } - return true; -} -bool RebootView::CheckViewParam(int16_t hideView, int16_t showView) -{ - if (showView < 0 || showView >= REBOOT_MAX) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootView::CheckViewParam showView err."); - return false; + /* + * @brief 切换到开启设备视图 + */ + bool RebootView::ChangeShutdownDeviceView(int16_t hideView, int16_t thisView) + { + UNUSED(hideView); + if (container[thisView] == nullptr) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChangeShutdownDeviceView"); + shutdownDeviceView = new ShutdownDeviceView(); + if (shutdownDeviceView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "shutdownDeviceView new fail"); + return false; + } + // init view + UIViewGroup *group = shutdownDeviceView->InitShowUpView(); + if (group == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail"); + return false; + } + container[thisView] = group; + RootView::GetInstance()->Add(container[thisView]); + } + return true; } - if (hideView < 0 || hideView > REBOOT_MAX) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootView::CheckViewParam hideView err."); - return false; + /* + * @brief 切换到关机动画视图 + */ + bool RebootView::ChangeShutDownAnimatorView(int16_t hideView, int16_t thisView) + { + UNUSED(hideView); + if (container[thisView] == nullptr) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChangeShutdownDeviceView"); + shutDownAnimatorView = new ShutDownAnimatorView(); + if (shutDownAnimatorView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "shutDownAnimatorView new fail"); + return false; + } + UIViewGroup *group = shutDownAnimatorView->ShutDownAnimatorViewInit(); + if (group == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group nullptr fail"); + return false; + } + container[thisView] = group; + RootView::GetInstance()->Add(container[thisView]); + } + return true; } - return true; -} + /* + * @brief 用于检查传递给 ChangeView 方法的视图索引参数是否有效 + */ + bool RebootView::CheckViewParam(int16_t hideView, int16_t showView) + { + if (showView < 0 || showView >= REBOOT_MAX) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootView::CheckViewParam showView err."); + return false; + } -void RebootView::ChangeView(int16_t hideView, int16_t showView) -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::ChangeView %d, %d", hideView, showView); + if (hideView < 0 || hideView > REBOOT_MAX) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootView::CheckViewParam hideView err."); + return false; + } - if (CheckViewParam(hideView, showView) == false) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootView::CheckViewParam failed."); - return; + return true; } - PreprosssChangeView tmpPreProcessView = preProcessView[showView]; + /* + * @brief 执行视图切换逻辑 + */ + void RebootView::ChangeView(int16_t hideView, int16_t showView) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView::ChangeView %d, %d", hideView, showView); - if ((this->*tmpPreProcessView)(hideView, showView) == false) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootView::ChangeView %d %dfailed", showView, hideView); - return; - } - if (hideView != REBOOT_MAX) { - if (container[hideView] == nullptr) { + if (CheckViewParam(hideView, showView) == false) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootView::CheckViewParam failed."); + return; + } + + PreprosssChangeView tmpPreProcessView = preProcessView[showView]; + + if ((this->*tmpPreProcessView)(hideView, showView) == false) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootView::ChangeView %d %dfailed", showView, hideView); return; } - container[hideView]->SetVisible(false); + if (hideView != REBOOT_MAX) + { + if (container[hideView] == nullptr) + { + return; + } + container[hideView]->SetVisible(false); + } + container[showView]->SetVisible(true); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView:: ChangeView end!!!%d", showView); + RootView::GetInstance()->Invalidate(); } - container[showView]->SetVisible(true); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootView:: ChangeView end!!!%d", showView); - RootView::GetInstance()->Invalidate(); -} + } diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/ShutDownAnimatorView.cpp b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/ShutDownAnimatorView.cpp new file mode 100644 index 000000000..fda96c0a1 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/ShutDownAnimatorView.cpp @@ -0,0 +1,114 @@ +#include "rebootdevice/include/ShutDownAnimatorView.h" +#include "wearable_log.h" +namespace OHOS +{ + + static ShutDownAnimatorView *g_pShutDownAnimatorView = nullptr; + + ShutDownAnimatorView::ShutDownAnimatorView() + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShutDownAnimatorView::ShutDownAnimatorView"); + g_pShutDownAnimatorView = this; + } + ShutDownAnimatorView::~ShutDownAnimatorView() + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShutDownAnimatorView::~ShutDownAnimatorView"); + ClearAll(); + g_pShutDownAnimatorView = nullptr; + } + ShutDownAnimatorView *ShutDownAnimatorView::GetInstance() + { + return g_pShutDownAnimatorView; + } + + const char **ShutDownAnimatorView::CreateImagePathsArray(const char *basePath, const char *fileExtension, int numImages) + { + const char **imagePaths = new const char *[numImages]; + char buffer[256]; + for (int i = 0; i < numImages; i++) + { + snprintf(buffer, sizeof(buffer), "%s%d.%s", basePath, i + 1, fileExtension); + imagePaths[i] = strdup(buffer); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " imagePaths[%d] = %s", i, imagePaths[i]); + } + return imagePaths; + } + + void ShutDownAnimatorView::FreeImagePathsArray(const char **imagePaths, const int numImages) + { + for (int i = 0; i < numImages; i++) + { + delete imagePaths[i]; + imagePaths[i] = nullptr; + } + } + + void ShutDownAnimatorView::ClearAll(void) + { + group->RemoveAll(); + if (ShutDownImageAnimatorView != nullptr) + { + delete ShutDownImageAnimatorView; + ShutDownImageAnimatorView = nullptr; + } + FreeImagePathsArray(ShutDownPathsArray, SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); + delete group; + group = nullptr; + } + + UIImageAnimatorView *ShutDownAnimatorView::GeShutDownImageAnimatorView(void) + { + return ShutDownImageAnimatorView; + } + + bool ShutDownAnimatorView::ShowUpShutDownAnimatorView() + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShutDownAnimatorView::ShowUpShutDownAnimatorView"); + ShutDownPathsArray = CreateImagePathsArray(ShutDownPaths, "bin", SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); + + if (ShutDownImageAnimatorView == nullptr) + { + ShutDownImageAnimatorView = new UIImageAnimatorView(); + if (ShutDownImageAnimatorView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothEarPhoneView new ShutDownImageAnimatorView fail"); + return false; + } + for (uint8_t i = 0; i < SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++) + { + ShutDownImageInfo[i].imagePath = (ShutDownPathsArray[i]); + ShutDownImageInfo[i].imageType = IMG_SRC_FILE_PATH; + ShutDownImageInfo[i].pos.x = SHUTDOWN_IMAGE_ANIMATOR_VIEW_X; + ShutDownImageInfo[i].pos.y = SHUTDOWN_IMAGE_ANIMATOR_VIEW_Y; + ShutDownImageInfo[i].width = SHUTDOWN_IMAGE_ANIMATOR_VIEW_W; + ShutDownImageInfo[i].height = SHUTDOWN_IMAGE_ANIMATOR_VIEW_H; + } + ShutDownImageAnimatorView->SetPosition(SHUTDOWN_IMAGE_ANIMATOR_VIEW_X, SHUTDOWN_IMAGE_ANIMATOR_VIEW_Y, SHUTDOWN_IMAGE_ANIMATOR_VIEW_W, SHUTDOWN_IMAGE_ANIMATOR_VIEW_H); + ShutDownImageAnimatorView->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff); + ShutDownImageAnimatorView->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + ShutDownImageAnimatorView->SetImageAnimatorSrc(ShutDownImageInfo, SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES, 100); + } + + return true; + } + + UIViewGroup *ShutDownAnimatorView::ShutDownAnimatorViewInit(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShutDownAnimatorView::InitShowUpView"); + bool ret; + group = new UIViewGroup(); + if (group == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail"); + return nullptr; + } + group->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); + ret = ShowUpShutDownAnimatorView(); + if (ret == false) + { + return nullptr; + } + group->Add(ShutDownImageAnimatorView); + return group; + } +} \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/ShutdownDeviceView.cpp b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/ShutdownDeviceView.cpp index 6e54ee63a..4881c02d5 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/ShutdownDeviceView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/ShutdownDeviceView.cpp @@ -4,10 +4,10 @@ * Create: 2022-04-28 */ -#include "ShutdownDeviceView.h" +#include "rebootdevice/include/ShutdownDeviceView.h" #include "wearable_log.h" #include "UiConfig.h" -#include "RebootPresenter.h" +#include "rebootdevice/include/RebootPresenter.h" namespace OHOS { static ShutdownDeviceView *g_pShutdownDeviceView{nullptr}; @@ -37,6 +37,9 @@ ShutdownDeviceView *ShutdownDeviceView::GetInstance() return g_pShutdownDeviceView; } +/* + * @brief 显示关闭设备视图 +*/ bool ShutdownDeviceView::ShowUpShutdownDeviceView() { if (shutdownDeviceLabel == nullptr) { @@ -72,6 +75,10 @@ bool ShutdownDeviceView::ShowUpShutdownDeviceView() return true; } +/* + * @brief 关机视图初始化 + * @return 初始化成功,返回关机视图,反之返回nullptr +*/ UIViewGroup *ShutdownDeviceView::InitShowUpView(void) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShutdownDeviceView::InitShowUpView"); diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/1.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/1.bin new file mode 100644 index 0000000000000000000000000000000000000000..f1079eaed304d828536f9503c917e3a074c0dc2b GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/12.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/12.bin new file mode 100644 index 0000000000000000000000000000000000000000..5c5bfc24be7a848ebd3dad5f33b9dec973e73e91 GIT binary patch literal 6824 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 Hh9v19HQ1Wi literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/13.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/13.bin new file mode 100644 index 0000000000000000000000000000000000000000..bc1195915e151453e8571cd3476ddebb8140a314 GIT binary patch literal 6824 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 p64}MK2d?=iIM)ap^99di`8+h}lyu>}3 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/15.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/15.bin new file mode 100644 index 0000000000000000000000000000000000000000..e0febf0d0182d823f034532da39c4642b80313fa GIT binary patch literal 6824 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 C+_Rnl literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/16.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/16.bin new file mode 100644 index 0000000000000000000000000000000000000000..822aa13674d8e9b71d40dbc2f09f9af7d84e6afc GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/17.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/17.bin new file mode 100644 index 0000000000000000000000000000000000000000..b97a70821d3f46f893032811fa03e15304edfad2 GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/18.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/18.bin new file mode 100644 index 0000000000000000000000000000000000000000..73ee17d6266e3c7c18765e9be530fe4047c570cc GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/19.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/19.bin new file mode 100644 index 0000000000000000000000000000000000000000..e4d7b2fd606904f99ab67c9e66a46976d1916ae3 GIT binary patch literal 6824 zcmeHLe{d639{=uUce_bbnx+K{7P?K-lGYZIA|5En<_8denAhg7CnN5UR%v&Kx7OK384|T1>wiqJ!;>ebzW;~&UXtM zF${nJT$Ap;;EirFj*TO2)_TpfxBMI3m^W}7#A_j_VLZ^}Yl0BL zkJVreu#2x9o-eLGa{e#F_Nh?d7`#V%wW32{$odlPrx#<8uV_pi_Wyh0)m#(w7$$~~ z_<)8WU^m#8BlEG)5Cje&{4RQ(wb>{=Hf)1%Tr$em(h!*+TK{LjZy1l6tPE}%@%>2r z$l(zG#dzCL{3G@sATY`v4=@T3_;fU0$FB@U;)~#OqwQ0L&gV=1xmN~0{GT0_<%&Smxx6N3Ws2SzrKG8*6&l1bHvEQcz)#gx$!WF`GG<=3J6!5Tbg$0 zND|~UO*qp&7Tp3}V=l*AVZC>sI;M2!^~oF|p(q)eVQRjZ`?O-5o{XU=nxcUPh)0P^ zNyZWsdO)}GRHg(p7Hm9X6G4E>(pZ-*S?*KK5Ag@mL(9W;d=z(9#yc^Mj>ORIh92df z31{E@dQG(PFsKm?N?_@sBZrRcIdbI4G7Mu(W%3e?pB!?KyZEI1g*Zn{ELo4!$Sn(< zn%`L~VHj0!-kPG%Uew*UD;X5!PgNwSfy}t%(IwQ#@uPV=7;mlg!pj)q3)XFAVRgdi z7T04t-&Yy>%sN-SL1O2v)$VE@{l8*}d7w4bn;Ymozd?SxKEfCA>w@sDsskmn640Iz zg8gT;XFiKI9%8&7tbGQz+gnrIuk8ihfd(0VG@CBloy>K|?1~Y34B*m|Jn0JgpF5KYJ3rA@un%TM_;Mml7m##NIQ|F# zo0j3?pV~R*_xH&BLGcqn)Kdh76Tk~Wi7gn9@&Q4~DcSR7f3Xyr7t;uj%4~W;wf|ch zo|iEAGAxa8!)zI}60C!L0yj#nRhJSUuIvkLdi0S-vt8$5xss_&Qu>tHodpewx#>Ok z{DH+RG;z;=Jp+LGS-O#bolzq=y+ALBL8J1w9PQzs$1M z?FT;a95?u6NbiZ@ET3OkR8bgheu(FjpmB^5U|E zl65JTeJT9y;|_FhDP#{0)Lg>Z3sbMu3>X{l>2~-Z>fp~DyZO$+*K;}l$*q$N=^KG1 z6jvt%rgHuX^(?`q@)>yVfIhg{h{dJg6d?y5!&$@&B`Fcp7S2{r|1|cSqixZ~gA?@w z;s+w+{=S;|aWlHI<)u?Vy10q}FMeTLx}V_wUb($5Zem-1+G8`PaDJjR6Fw{~?UvRb zHXLg(i|vGc~|ZzS)@doBYHy z{q7Y|tN7}U%>mATdX17e`CLPlVO))Ysjyr$&RZdxYdL1 z$GLd19Vu^d;GpV|%VY)&@mq&M!uw}>)KbJhdn!2jX5QoW^r*vn!;Svl@9{+J2g38g z%?<01Y3fPS{?o2cNy!T{kV`B+{Vx^Khvn`=drYj2Z5P0qpNTT@L9 zCez)feiP~k(3GD(JMQnN_o0W`2E zUY|-j$BGIMZ!W6W-kiGy6Tp&Bd3$_MEd|NUtLSF6!@9*>#J1)b^0xL|~!O;(7HA^!lxsNdfLt3;e-vdd$QI zwAaOe`YY{d|F7$FP&jet&H<$Ni4Y!8c%Q3cQnSSuKFREluM92y^G{VuOmKVIWuZrniS z!Qu?deaqYGhT|9CuxBe9Th$CJ{tYlo(v9?cxPG&$o>?pMEy9n`3tH$MYdn_u0O1c5 zd;ld9Z`_FbInw_aQSS@wUyQ;dgwM!+Q2Vurf026qhwShA9pQRqbpU^gnJ~-;nigs2}R&Zkf2?fLra_=x)lazmFxiE=B(AOnJ1e|7!yXyf(& S^+SDlL8Qko@x0%-KmP--Bj7*) literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/2.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/2.bin new file mode 100644 index 0000000000000000000000000000000000000000..252300e99329ed041ba0923ed92cd456423352b7 GIT binary patch literal 6824 zcmZQ@WMD`E!vD-1DH8%!8DQYg-~V6$;s5_X${!66Pza2s2T%x%<_CJ02aX3B7?>c5 z4@9!i+x}7eM$5m^@^AQ*|ET2&3&Uvs9$ESO;tCx@g~N|U9TXTEELa#Bf)6sVaRDoq z1_lNWPz5v6(t~3so8SS(LlO!Kz%X!NU~xR$AR^%)nxVo73=AHI2Bz07lN`Eu7!(*j zbcHZ9a18hGab!epZU`_q9%k6Mr-7Nlfq_AmVFNEq;Nhk&W(C$l4|R?rA^)UkMqf@r z2ZsiQ2M&x33xEMO+`Zz{UW|G7by@D*^&F&3R;a*w|-_egFzF2oE>^ zkNRh1)eocbJ+$NdpwhuVpn?bt97bM!KAL_}(=Td!zhT(b&!h2;8sDSgF&ZAA5P(zw LqvN$hJwE^dDpnBn literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/20.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/20.bin new file mode 100644 index 0000000000000000000000000000000000000000..9fb9b8de2029e2abb62d255fe7c5a903a399bea1 GIT binary patch literal 6824 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 AJOBUy literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/21.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/21.bin new file mode 100644 index 0000000000000000000000000000000000000000..0c01ad8326a6941d5b532aac33f34cd9c823281d GIT binary patch literal 6824 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 ikwRD_Sm0Ucl`dp`27d(EB%iE literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/22.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/22.bin new file mode 100644 index 0000000000000000000000000000000000000000..6702412b74857d81f2cbfb8b0ab9c8b8d4e27d7d GIT binary patch literal 6824 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 z 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 S>qovM1`-h<74QFF@xK8x&(IVA literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/25.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/25.bin new file mode 100644 index 0000000000000000000000000000000000000000..a017d55a1415cf7182b32d99672b31023e686020 GIT binary patch literal 6824 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 BH;MoN literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/27.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/27.bin new file mode 100644 index 0000000000000000000000000000000000000000..d5191d92b18eb997e829b1d4ab23c0c2ec74abab GIT binary patch literal 6824 zcmeHL4RBLc7C!I3oAf1lv@dB3E!6Qf4NNPbq5N3JD)+tCnwG3KkxF4438m95MWtO` z-E|dSN=sAiLJEk;>JXr~Z7sWD$5EGYC26#_$YQEETW8$eg6>EGH8Ko>g4z2LVkt8_ zyF0eKJG0!Ec5-t6&iT%F&pqdX1W-+%D9crQ9n&GvE?thsT3n7s|C#J4RZK(-fC%uD z^-Cq~=y-$}=IZ%z*~u_~d6Z1oA5O9XNO|ikBAyI%h=@Q=Z2nf#FbH9U04kchyI<-a zv@ij%LS^Uvm`390`l@{O`u`odCA5z3fi%5ioy$O7- zmB-?gsls)Lkw>&%D&BZUMbjVus4-h%At zVd#!)C^1*z_gyqLKX+gm{~yo!MR(HTt2R&mU^ z=lTuz)Yay9B^!QflcpZOBO7*WhKzD+g`MAkcf4xzCsBVgW`|~0TB;|bH}m`fFb7y^ zfK6}sipQyL;w6&+wt8>mo5W76|6MOv-ggg|uz&xH`)TXkpO7QIh*w2qqVX_Y6+Z(> z5k?xZ8w7zv8_1ppHxG)`Q+c`{DJPX)PN8_!zi$H`g#_=bVaw9iNyc<%S2EwMuddYX zxuLd3GfPM{c4(IraMPbBUUbx2A9Qv-dL)Ef1npeH?AWOZ6%G8@ZcLRo<`S+vV^|=L zj5q0d5$7!u1#g*nT>4AH^Ce0-?imU&3UWI=j?fIV4ypi*AkgzR;dt!L-I-4$$sz)1 z(+I%5LH+#?CsWV<%umiK#68%*)PUS+VTwU3h*mYeaN3*jyxf*SZ-x)1IlEl;5bCoT z5fC>ydQNWD9Wgu2AFb&<*h?=km@{bSw|JWGWG{sEod(70Ed2#vk=9Wev`?d~%vBsA zACsA}`;mSdY^CQ59HGLHQGo)1&~5;qd{Wy^NPtug5AW*i7&mjO94ek_x)$q;4&2o_^NQv1a^<)V#o6L+9>Ab=eW3y-v!P_{*!Udc>{B&Ti) zpH|lLaicyk$%Q$;yn1Ha)Adzo`?3>L3uAaJ<+tm%6CuybnXA!Db4PCD-&uI+PX5@M z6f~RJDd$b$dEGq2 zU|UM_%8TQT2aTud{Z$GI&@_aBY?dYmPE-d0JGDlj_-GdtPKDjMWw$Z{SQz#G#Z$2; z>l+c~Jf(8$eQkPA^-y2$37x_Qz|rt?yJt5p>*dV(KBes~$8@8|<%v96(y_}u(3dCe`h_c{nWo=}$#`;XbW8`&bc4mj_pzsXAQcZPK3FyYI1Q98##dt!LvGsqe0>e~5WY z#baIjLRneK;`4+{!RMJ@J}@Zx0*gfvc;#5xrSZn&%Kf!M0~(k_|BOq1Z4q68VVCFv zZb^UON`5vOfD~ptMfGc7HQ~#d_2<7SKk9KtF~ z<~Mx^2Tqq2XF9*yayZP@9BQqd$DoIFJBsqoy>IMEEW3Q7fjKLznoPLa3|J)6Zu$n;fB=B_qIUAQ%+F8jt4PYG^kAqW9T> zCh%;fcq~?^{mon;(hO34(ERoVb?NY;Q;W{6JNf0r;W0N>&yC?nH2SS{RelEVeH|Us z50K?#3~{`C(^NGfXqGO!*7{S_?;FM+m62vE^F>0G z`uh6EssE@qF`Qzayy5fcLGAky+)GX9*8lN2<8R*&#ZMl2nZ7@y-cqae tMUf;~x0lKal>=zqaLRW-bp7k||GoFQ*YUcJmx{puYP`74&;Kue{vFqf6(|4z literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/28.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/28.bin new file mode 100644 index 0000000000000000000000000000000000000000..0111655e67cac2db7c0ae76c0d74e48582a03944 GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/29.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/29.bin new file mode 100644 index 0000000000000000000000000000000000000000..628f6dd3b996ad8fa518200260a95a7b70ae1ad1 GIT binary patch literal 6824 zcmeHLeQ;FO6+idByUW|%m*njlB?6MSn}zO5fL*?fpLy?XNE3)P?*$aUmk85@f(
  • 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 PTk&=)-fqR)aK8Nq@j3G{ literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/31.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/31.bin new file mode 100644 index 0000000000000000000000000000000000000000..895fcb469dbc7cb777d958d53ecf7bb401b275d2 GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/32.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/32.bin new file mode 100644 index 0000000000000000000000000000000000000000..1723257f89fb4bfa1ce1cdae07ae79eb846859a5 GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/33.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/33.bin new file mode 100644 index 0000000000000000000000000000000000000000..fc9fe192bc8d4c095be8fc92a31cf5414a031f2e GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/35.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/35.bin new file mode 100644 index 0000000000000000000000000000000000000000..8ac69d78a60035dfdd4819f0b896b36829d786ed GIT binary patch literal 6824 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 Z{k^om76K#1>jLz@m-uywUl$X<{sW?pm^J_a literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/37.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/37.bin new file mode 100644 index 0000000000000000000000000000000000000000..25c4ea924868f824aac5882eee6af30dc13ca914 GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/39.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/39.bin new file mode 100644 index 0000000000000000000000000000000000000000..29b6a04e607948bec79ed96eac84073f5bab07a1 GIT binary patch literal 6824 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/41.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/41.bin new file mode 100644 index 0000000000000000000000000000000000000000..472f7e7c29a7b47b08eedd7ce68c13b53e2db938 GIT binary patch literal 6824 zcmeHLe{2)i9sj&{=kwVdaCSptC^XNG!xEaRiD3*42Jf7ZIcqlA3G3)OB&QU{7;L3u z8*8WS#oYJmbuSf{c-))}a#q}m@r+B8(bvUdp- z;Ys5UphGCn(k0*b?%wzF{d|ADJ6OQe@;9dFPiGR9xIV629UC7L^4M6hy!6FkDzb%g zfaSnCNTPbP0YlSz{(Ne75+>{r0XPC5KKk1g8u{QpqCEiY^Kt&v`np$hq9<6s2 z{uBkPLLpwf|IqM8pU5I9wysG522TIeR*@W6hH$-`_7BfCW;9bDAvX8S09x&7lmco@ z$cqGR*>L2EA%Noj@3vfTLv{35O$pCDs4PH&5|uuLFdFD!dyIuzMoy|&+pY>x4&h?N z4%t_(p@s8Y^w5ARlBoiO!=tMzYE$aiCHdygHId1xU?Lb&0DY&Fo9c~y>nH^0bkQu1 zMD^*&K}4yL_fl}(syo`VTD1G+^U%RN@3#HL`_~g`hYDI%U0Hdsz+~1TMFC#u@8>=A^+*jl(>ER8CQf@!S+25}IXGO_RFE2fOp}5_Boh#yu+? zAoIgIRP(3RTRMrm{ZW&16H(7A{%n#F4zcr_-R{>C&+KU|2*T1j;N@RO-KC4(r(tctvu2Oh{p^-3}}2s=sT~EL)rdFhdC#BB6(sq&WuprIVfo&f7l|zZ%_Ui9 zKvhF0%65@%shw*2ajpm%pX=dAL>LoJvuyoFJ&||auKmT&CwhsGvmA5mPnrYNs{Zkd zeZHBpyaoHX^i!)%4X<3|1lzWhyxeLvJztkCKrkjl0-b9Tqrdff!Y&}(i4e6&@Qbg6 zle}NpRL00-k?HSW>M~$<^$r-i>!a2m!Afgi#<3qNJ7qoL*zSsYzGiqmAd~=q{ zS>+2rZ$@d@%S=3P<-1+F1cHG&ta9t582_D?LwV@3faZZS(&sY&30b1*be3emjSVti z(^?&CBRXf21emE~ok)OzC6f%o&^0T+Z(Emu3xl%y0aFt$s6g+LZAa!DIr_%NDaS@T z3{x*L5aqSmy_ee)RPjt8(oo@ z%x?>ZzJhK`G|e|k!qnfM8|VjI)H?P=bKmiT*%{K+Daa}<9(no*AI3&f3dOsX&tSr`NpSmd58Dzl)6j5u9Xmyea9x4>dg{(ov_usDU@R3|5 zHH;4m#q-Fnq;CN2a zfewoGnhP20MBBr0SuK^5?9vWqs`W&vpRbcPu4``Ay(ZK&+I!dvfrdNBfkCnT6=>fJ*@DAhn!NGUwP1s=YoJ`F-Lmww+O=A# zR9p^55W>4w-dUI3Wv~fVa{gBMKk4=Qj4jU=81DKUn^OY?i9G$teQ&ceWn}T;vJ(C5@h8u{ zwD>fI>?cS&8>!BDPftWig>;bS%s8hKSSR#4uxzp|3;DR7`lRhI*4I(9JA!||PVg*2 zu0i6i-@ui7gimWWVrWTy|uysnhyHUol=+-h57;9`Gv9M6LYRKmJtW?DHW!eRYrfZ1+{~ z8}N1$$=yzJVv~GdJf$?;y3m+CeY=<`h%uSSTDdyvv{lc-`8O7`OyIgGl z^>~ZrQ+`atx57nda*8l(j literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/42.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/42.bin new file mode 100644 index 0000000000000000000000000000000000000000..9a551d69fe9b67bc48039a85169e7c0237e678fe GIT binary patch literal 6824 zcmeHLdu$ZP8UM}h+${$ zpd{uG3%R6e@d-w1sKXLni+d0Y6?IYcs{Gs6Xt~eP4t_U>alV{^|gBN<>c&GifUqs`u{s zrq2JLZu=Ds?gl8@@ub+P&qt(bXl>TXu@=DD>_db(uv#DIpNS^xrmpXFcv;sUfr}?1 z;Ha);5hUmWEUP$SfAue8<^WL}4O)-|WOnxl!v^9>uB<4~HI($n-3{lL6vwgy#D^b5 z(H^%&o4VfpZfELv)ROSpy^$ps8*LoDwlnHlZmm+oOO~H~@66neRZ*CR@HjKd*5RMo zROXy%!Z_3cU5?LzGxSbYF@x=C=-HqTg)LUNDwL>&;_8 zAyHZP2M%kSWOx+_W8rl8Dn^^5iLYuxuHj*z6d)V9#`rG1ZO z>o%O*bsbzO%#~GS?|yU$rH$(bS6@883)yG(lX^Q2WJhg5@wJ%g)Sdg)lljrKh$peJEzklB zuQfWULc(a-HTO6J#!OTea_=44-ZGg{JbHBB`MFb1kixRQ_^}w9 z_pAX(NlT-(33Ke43!K>KQRFU(pVq+Hkrd%D=5uWj@bqpcv`2`LY1S45=|!ZIdQg4btbF7`0pUiAu(^B{|o2g0p_Gw@_*us&wAGeHToq{m6^Z76LuMSMYVMe#Z3>%&)yYvQslGB$lF-Q@kX2DFI^? zG)1v9-)VrhRfY@3ekKhu{r-f;Cp8yN-lrQs(|$T%kh4OQ!~g;^X#3D6y|cKw$&n9G zFF6bflXp5F>|Ncs7Ue(oy+#X$W}hodjO>YrA~PlepIT1-YmOI-FFMkO$E>HBF!R~i^(yu+zwAe+jxXv2etYeK!&cyA&Dx$Sk6mV_-M@du1lBzF_>~*) z|Am0sqdSX43|m%_Z(A$k|Bx89e)t1Ea=0{ge;;?dt>#D;@4v{fhr!!O`|s!Lb*=Hy zK>JSB9n5^KvY&r_J=%X!hWPK8a_6i}#cIr-MULi5-`qFm`z87Q@ol-vbCg(~2~+W0o-eyAKitNzCc)F~e&hS3%|8|Y9e=pRN0#32J`_Lv|BoNPBCxKA zbrpSzKR$w&3iMQaeZbErBVMNNZ?=7J|1ZsyuRH#bEKtp#imq9W#zq>baK+HilN)sR;iD|q+}f` zAT+V9({4UQ6PBU`A{JF>3gJURWi3ohLfxjlXSW)eHk5RmCe*4*+N~qfKA_uF)TYgj z4Tv`V!$NH~wB}m2b?>_$=l473{LZyu0o&;{m#fjK^uT4qLe7eHg$IE4U~#A=!j{-QV!Jc zhxePk|Hs|;su-M&P-JnT`P!;8=GLv6GNJzV59@oIJ%|to*7>ISr^E5a+2`9mZp!f{ z;ozI4;Ha@#0A=*bw|08xYJMFtMv2<6--OH}xhv-n>4?U;GQ&XMc-)(IHlC@>&u87l zhv!G$A2*sd`@FgCCmVU#lyJM;$;xvr77ktB5q3?Cj8aD`(3!k*SnM9tc-bN%x#k4MIeNw#qd>4wT5F~)r7o@XpGX+4`p; zeK^&)@$}BC;7VbkTuuJYp+_if+NXlPv^0=weL2$Gs`-?s_!gbFS^dM`fNp@bPdW!; zF=-|C?2@K3j}1+hC}Qkl&sTQQ;S;7Kp$swSd?ZKjPs*$YQ%;l|dE(7$*60HiFRDse z8tK82*Q`C$B#svW0+((Q*urq{GsL^QdH+Ch)IFcrw&Vx}kVT=|9p=j$iquKd28?M181H zq&K(g-;X*!(^^#u0~))4uzUh$W~xCz=XVYNp#esX(``{ck$;prI$5c#yuV{5y(R%` zvCSh44`pjM_QrIM(uO?RhouIBK71xTHb~3)RZMCzm_u}Jx>4T@yt}6h{n;- zS<(&@7h3GZs%Am^a<+5zAWg9wgFQRC~BSO>gdH!@KgcJu*P6GL!i^0)48*{kU$Vk=O_vDu69G6Kd( z4Ga4vzts%wQ5nkW`4ar=aJ-IAq%oO?cQ;Mb&|tSym#%Y#;k&b;vkN2a7ej6|0D zlK4sNS=X{270-KaiwRw`PM0;Wa7leI`3PN1*k&)zi3S7_UX80n|j z&!tf(D_SLNt2<;jE)i9uSXiDFYlyiTyOD6UBQjv4yY#$JcF<^k@a0XhF4n4s5jf_F zH@WH9IJ#Jog6KOpdu19?zXDOZovBa3p4vhA;-ptSt%5FiC*?fduy?NU7TbT5 z$Lq|Sd{j_99XY_^WFPz|-Ix>!@206Hp<-h?fm8dL?91dTJe^BgK|x{mrtGOb%_1uo zt!iH{I)zmrCs!hSQJRt|5)3OhQqpfy?HNnb9!evKggO;b=a?t;v-puB!zRx3_#O2=4$z`?hA(PYI4jjMSKOA^%dEV?yuIt+Yblrt< zpYba7lb?xPUCrM1%71$7@UmXucbD(&H%pGzt{+V$NaOr$`~KVg&f0@1y!Q;lZU(m@kH6!sfb;wk^NS_& z1p7&4b&fxBAG&^3j_B{1au%#jL~4y+1P-OkUfFxa^8%UN^fsT2U%7VQ#q@@4Pn};o zb#JXa66MSPJ#n`FFJ<2^hR3V&rt|!aVYon3vH5fTJhS(8fuW`)EtESUL)Yq0eOWx? zJO3Tv4V*Ol?E0Qc@$h1!1UQF3@x#8C2Hy=mi_jn=?)J0MU8KKPnJb+EIkHqiSJmP8 zX%dzvLsUFhWy(LK4>$0u0(knEYkYUw{FVTJs*glEjDh&2mLxintjsvn8$m2|8LIoHP2U`f$R0Q`2XSa@iHGT^YQZW H<;#BnX00WW literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/44.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/44.bin new file mode 100644 index 0000000000000000000000000000000000000000..b5a90355004b98598eaa20a59594000f26db687f GIT binary patch literal 6824 zcmeHLeQaCR75}{tzdXAy-Lvb4tPRc02Z>GF$xfrKYr5_}r&MVdX?CoMPLtScn@tTG zQiDKZ6pb4v6auQ`u!1sm8ctXt5s0PTIz?z3es(B{)KyIf8%)|rhg2<^IwhN+)zm6G zE^{_r1BfIo7cV&~j*?mg%H&c}T+ETEH~1x4>nC+Q!48FFzm z2dq5GjpB+9o^+sVI)44z_de?UPO2Q!^%4-l{??O!Ir%<4({0}y;M``JSe>Bl>7*kE zDu5Z%Dp1nVw(M|uQ3h;-X?Y(^u;GI<_g_{aWFeLEkL+*QL?^AebzUj`<;tz_j{xpxtyfd8_ut*H;-X8+)8@>r~Yqft8*|6(vZ zgJXv1OL#XLgkZF%Z-Ndnebaw`w71rJa4?mR2wk5;esWml8MRKX1eYLqDgUkh`=Ub1 zX^eal5UiB`a^=?iPtUP`oDE1Zm?2E-7s3zuIb)#$J_`$P6zYQ*rliX!fA;p#+HgZ+ zP{07>P&u-SH7^<>q2LbBTapj8?~2tkwYT1eP0bsr|9h51aUqM5bHD6eWTVNz&E3 zv#qWeS&!M)HCIE+1-&&sDg{ajze2KVrY8dqzM-*+DI z!)sJor7&5Qo8K&~ZwNv8RlySBH=YHj@**L!Y@(xUo3Y#EG09!>i;t`+CGloP{*jA? zs4QFY_$`klQ+9)J?NgSU_8$F#pKSL^!ZVBzqEq)$eSlHz|9a>V zBZW>|Vw2q3Iv0pf`(dgkzCcGLoqBC8eK+M;0ivX1(rFOxnoFhfyIi^Dz)j>Lr6PvX z-|V*;GL#>YR*-3R4Bc=Qa;ZuU9>k_v4813!ACun27`)61ZyOL<*tT=I+HIqbx!)Kf z(#E(h0$69L(uZdWD?XF5NiG>8Hrr?*2Y)IDwjEFc{!xR_hrW3PzRsS3OOyNBea}Ej zN#G;d^E96;HA>qp$|%c?x77YtM|Sb2TIQ92U9nU@)}7G>I=NTCEI)uTD{Ks;n8XP$ z2qvLDM`k1?@mg;6YtJO~Dqlb6oKQ4kv%A{SWAcUsDHu~!z+USAO7ryoRR1M1y`^$Lb6q$czovqVgD-j+C0Wrr!W$^RCS?9f1I2-b+NFM%E$H5sw0(x92_5CQj~(y{1pFNwVH)t zIV!>NKQddL3eC5;u+v>F<=;xnb7{wIAN%NFZ&?+i`4?_9*i&rIkRQJ}wVvidKJ~*g z^xc7J#r!KNMmGoM8>Rm^6=z?3{y7?ie+WGmT~p>`+wD8Dl0dd&w&m4zRo+X#O1^ud z<@fR@<^|~b{_Nu|h3Dz9JVo``wFkuW@4uvJ8pVID%zi!9{w)tXC7r3R%d6krg}%2c z5PVw_c6rU_K-B(aT)scO^;r5I{o9HBjYA5npS!;6Lfg(m$H(htTek4=Gx3=N4Ydu4 zitDB97w79m47+fB=Jk0$1=7Psa-Q(5M_h=Fdv! zbIq3qZ~9(?Z&2C|JS|OiTj7W1CF-sdY@|v+7j^#nSH&=%^wI53cs#Nck6ZDJLhzr1 z_?P;(()`l+i}kRGM-$z5pO_|e(X6yTpZ57qt*0;-n<-%TpWEU^_W$Dj7@yBazkJ$w zt=hZ&_p4$(MAi;TKS!HXajRXkh--2MPc|NgsLFRS&kS}&{pvQqQn Ezg03WfdBvi literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/45.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/45.bin new file mode 100644 index 0000000000000000000000000000000000000000..bd3646917df9dad01da9bf087f0d142b472ab5ba GIT binary patch literal 6824 zcmeHLU2GKB75?s>+4bx)hOsfuCb8n{pBN)-v?f-H6a;t1j%7z~;<20lNGO>ov<;}O z?5dSg(w1xEfKA=Xi>T#?N*NPUKxrzQCI$5+J6@7POHiElfrqME0wTC=s`W#aqyo`1 zYpew4VTFiERQcGN-81LjbME=>ch0?9*uZxByRI4AN8S6eAXl$l&&#}i{dytYX5b5R z=~G`kz9-;D6!?AP`EPwsi!)Tuyx!(F=-(`vR(ujG(88FG3e@#R)i@L|bNVUQ^O3gw z>U}XiZVOWAH`#hBgg+#6$wMi?Hsvhj zcJ=Pq_dD$boZvhtZNTZs=pLkiT9vCHq*m{Ul^}6?{Uxl9U-nZM?e|aViSz3`U9CxL zu+S6SXOseOt9}@{NTk$GrA#XU-rwTojLT5QPU~7lgF?C8d<)GFsw128f$|T@XupXi;MHepiw{Q* z!d-Vl7lco?2xPE4cevRs6Xk2rAF)sr;#Xtx>8=vp33C|COkeq`Y3e#kixozi&c^N8 z2m9m%lgjsLhc&~AX(Rg2JY!5!z)RB`+#S2jgc)UfB+^}!IB$IAfYC)Z0i4kBWTExn zuH6nm@ZS*nV$ZfU`B^EYqv;AB?5Pjxq!>34FsuGRlAW9T<(rlT!D+4aa!$C%e%NW~ zbxZ|1oHT=-NkmKu6}8Y6N4wqhdVfb!Avg_E}<*%QP$ z>6@VDU-Sf}M0*kqu`5vnw)^^iSiNAB_z=)$&;8A`V8!7G<=+EYrLks;Rz5#F!JHi* z>cUfus~XAMwW+Dx5fesjV)uy0{8x!@u^Ka~Jfj@hc(V%Yk;s~#{H6T!cKJ|fKJ`m; zWj>OOg&!_kz$(<@sOcE*uJQm0^vXvW+}X0ugi#vh5qhH{@10BKOv~D~X}6q!KP?=0 zcqj2E8XazLtp%dZPc%+%WGYX8lzn9joT10V{$XbYQ^L=2_YITyGoNu0l3AyIYbrQg z=P^&xER41UJL4PZ3rW7N3+3}!+lfCM2F#HV0TONIw4PA0XRM;AfMRhwQ!zL~bh4Up zKqJ!FjVE*|kDeWTo-pHj@?6Q@xJ;T*U!Gt?_pg9ce^*M7E24zD__No~ zzSNq4&2E5^k7jB&>##oS{0jNAXWuWSwSxXBAxZTUT=lk2R+8q2W#t_Eh3<)W#f2C6 z3PFX{)bU&@J3t46AZr>?!Y@I?;y@Z?rhalz9|}_(XI4AmVrRx9`T9b)rIAx-_$O!e zKMNzu8DOH=KGxu7ox=~?J^^-j6hU=xm4@9Aj&61@xeq;T01;Rf%4ezVf%(ctWxrb~ z2rbh$Ece*g%+^}{+bs453?W5 znHK#jDkiCaMpKueNr*Jj4Z1U&Fyk>RUS`mdiex?ETSow_1o1{vAun})h5S=LS(!f{ zXh$waj97PAKNiAQTtvjA)4@zL)68{l@X0+J9&u(*c2_CMBpnBvWwEj|>EQ}Ui%Q9e zpdarT`*r2lvq8;v4-h+gf|ZmmM0;BF(HP=S?eirVVrZZUkg=xOElq?Ubr+zF04ucK z&)aSXR0|)AVSi_zF498ME5%{1w)+m5Ry}lMU)p+c!tm{xLDQrA8SlvE4hiKsv)}FH z)4i)69G?W=6yCqWei{lr>6BZXpH1h>Cqyi^-)Vh%Gzg2=dv1JBQH7xTU$@p2XGG5A zyRUVuq4Ov+@S`FO-h~;>`a2D5T3HhvbUtN% zTBjfHKJ|}hJ~DU7Pv?K9^Sjk}d@4g({rIC^HCA~P~`n#p!4yFc!?datjX{v zw_xy(a+}3 zn%nNSBEYM-q>pLuj9-iY7V&Y`3hZZR`s{T-m}6<-9TZ0^sHLcylG@*>L)aIm+Ng8O zpIwZ{jr>(U`7c2Ji`Tc*`r`Z-_%M&hM!N5RqF+%fS?cxNY5zCnM_0T;@ju4ri%~Cy z*1K%Kwcnd=6|bB4^L6K@`|4q|vs?AIJbr2SYZ>2Vd_x50&$q(AKQHrTnJ>$H`Twn# F{{aYnCIbKf literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/46.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/46.bin new file mode 100644 index 0000000000000000000000000000000000000000..734c49744d15214554b6db840ad848c011aa4a3e GIT binary patch literal 6824 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 p`2Rv0!k}SGj5AuPXO(ps^A0 zV4qQ;nsW4sj7q%g`fpp@5^$*DBe2T7^WDsH((#u24<%c=zLXnakwE5NN6`gW~_ zPE(nKW`0AnXXukmv#8)JUbmjZtdI7t%Qc~IhgsIF1Y;BI(9E4Q6+8t+D3%^C3oLLJ z$)%~2!Ytc-+|6EM#@-sautf+81Q74)W{%7D{k#{3TL#NNpZMj=<%EI8I(p_*QAPz@ z0^USRz>P2cd!uD5(jJb)04?#8PW+tCw_Xw=wtOW2ZIN*+jvH6Z&-d) zUL<;B2GfIP1MiX%dd_bz(N?kDepNMvpyUQl`^UAm6}hyR+)kwg733on8Y=EI;nz=u z)>RoS=rlB|)q)b)ixSa_C?rN1CwcgM<-W&<-`~OWKyI;v{V?M#tIn(6EUGrSMqRpL zdxYi=UR~|m^LRDiPDRu*o39{f2Q(r?QX)+RG~0VppK?c^#e2_PvZxq2WS-*EwL=>d zG|X2!R8lki4A#?uIV1S=`rhEm0biM|4LqtS~Kv@AKmMyPhh$;=9 ztdhLY-f-d*lj5oY@xBjI3e}srMx-NF2s;Ht*|8e0K$YbbswP^drfc<}Qp^FM<}f~Xk9Oc+;b6ke_Ila2*O8cFEZdC z0{nje?zQa4KNJrGe9WQWSCmvkjSiZ7?a%$T??nR(Bs}@+P`(VqOJ}m*pF8|K9Qoq+ zZ%qDg|1XV}zoB@DMfNENuv8h6WlTwVwD!jI@9+MN@jb@3WI*OCF#7+a$Kq!!e#YYG I|C>Mm0F*|Y#sB~S literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/5.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/5.bin new file mode 100644 index 0000000000000000000000000000000000000000..6f8a0590f491d6d16a9b71cff7dd73dbca5d5156 GIT binary patch literal 6824 zcmeHLU1%It6h3!mcC$&w>~?E3Xlur#YjAG1(Yh@`1cm;XKz0$WK14y#{SkwLXx^F^T~Vezr5c9Zek+1=ckaUrS6ZWG+Q z4?Ab>x%Zy$yXTyH=7IvS8-FJ6+nvxtP-(?k(`qHzG#he*56VEpA1DLM9}jBsbwL7I zO6z@Z(-pR6K;Srla3nO=+7F;c2Ce=xI&Q+8AGQ(#AOIJRd_N}dE9>Jpc@yz<;Qwli zS1t0fg%6tG`S%|KPzVp4#Q=ga%{aruafI0UuP!Udk8ONGO=g3#B!dK({YCJvIDRr+ zxSs?rc+y+s7KH4w|6lmApA)>CfU4MhHayk&aPwE1AJD_FnP#Df`WrsZ@rEDnhcweK zDb!nb@^SqY<74(Njt{p!i?7hw*%AFzg&&;%-4d`Ed9PdJVJxzwuMHrz3r9 z>~nIDc#6%pGWc-dowVYK#fvSU5W@2uXPORu)0}b0QE@@Ov|~rD{FUznh{fYCDwuvK z6IPS#eA74f{Ixu?+dmxkV`_28rg`6X%&*=S!3#yTk6O^jmt|_)dt2~)Da#S^BQLqf zf9>Q4``P|i_oqrcK^GZ^1b>F<)79(D$K>sz;vt-cA9jX%vE4i`Lq3&CJ)=wo!~oac zF}Q8~e5)R_&ZCmPWo|*O@B?s79uMN6Js;~N#_%n`N0^MlNidjxefY53n{G15)cEF; z^2X*cWTaQT0?%u?!`k|+WIU-HJ^N7mhAu6~&9tWu?z^{O9Dk$P`vCTTwHCBp@)Lge zy$v)zvUW{6rr#Em^QZrs{@-_Vcj>_vs-y zAWuHEPRR}ay>swE5=g*HZP%R$p!{X5`I{PP|9yZiU7{~)oq`IjKZ zkKlVjI7bh4T94WJcH&!^d^q+m_uM+>?@b1D8br(KuU;$fI(^`sJJ&RK5ZE3W5M#H% zBSS!Zzi!*?@4@=3|Ih&4JYPDSI)3D$caw3WPax2JX`>`09P>xTAJ~4c0zTxZNbA%2 ze1Mg>Dkvb!fgQcadWU+S{;iMU@pyP1&zJf9GIT>KnMxsk5Pd?qegoaX2l%pVe04so z?*qzio_vJ);}X-SFKeGq*?J}W9QNn_JZSO5@Cg|X`H2PwCZ_ki`RrX?!wz|3`mkes z^bgy8Lv{S__0{CdrSAtFL>bz?Vf|N!54L_4e$vLQ1Mg?9`U5UrG5&IWs+-;BYxFyv ztzR4b?)lyI2kT$l{w=q@I{Z_`9|S}97uo#(4?ff{j#&65UH6;C@9ORkZoburFQ7d! z33TM2Pn7OA@G;!FAv8KNV*7qr9)GdofdhH2n?{3as*w*X{s5qhHO~)j{0qrb{aHZ< zU6#-~q{XA{J%{%dz@gkSpvB{C{Nnh@>@VTXcP8W+#6N#t;N;leV)Ie4{`q35>njd337mu~}-+ur)WxpN( literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/50.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/50.bin new file mode 100644 index 0000000000000000000000000000000000000000..adbf953c312c2601ec3b130ef7f93373f310a0ff GIT binary patch literal 6824 zcmeHLYitx%6#i!Rc00Qa%e0ibK&7`2MWm1|8bU0AnQcwlrZJs1rf3XKLsde=w8R*E zB;1w?ttq-Bgz$rerJztn0|JH+6J}Zv8qol1;twUQD7J||S|heKl=r!7}(tbff~o#P#pCZFI57T-vYObl@TL92irYJLxg@&S;%iNDooF z?x$>l*|^-YzEDIF9V%dgFU_4~_OKyXQF4 z*aSTo=VZv5+xuwDCEPvm>sC7l9MX)V;P*Qhdl|QS&`WI1AWDtawWi+L^peZ2fX<&C z+`Rz`4P_Qu^qU@IkupcqvNAu>YwLArb-Dc;(=n&Qmn0(Q9cuT9*L-1%@c1bEEv72@Y?27g|NQ29juI|4IoiZph`HRCW z2)z!%gDojI6D~WpiSv=uT!7HhDu?1P<{JBVxY$|hb@NHQl^7k%(}*k%xGTtdvhhrI zzH#wQabfm{RHk^fM!nlr=!L}j%#MOK<3(8$f`S`3o7nH^s7a%<)QxCVP(nUR(vUIM zM54dx+gPD8uhrNhR|*PbCzptpM35L|I@#mLOaHk(689Ug2ksGDH~=l&y7r>{`RYnd z_s}avH5@`ShF6gX_dZ;yw^0)1TFW(fNAsbZLQqjE8O~$MyfJ?k?!Rz_>yRy)o^)v& zzD*`|>+38^sWE=y`E+E=1U?h@n{3Ve<%u`^Nl~*w2 zN{x=2CH0`uaQc0Xbk&IP;5$)?^38HJ&>0HChyuCnc$JeW$GDK~7^3!plS~)adzxl} z%9LA=7s!5BL6NA|7qg#Gaw&JwBSTQR=Xyxw*Ny)e9@-#KiQMiN(&&Rz##3PR)aU%R zgSt80K-~DxqWp5fm!*>{$>%vHo(}haT9re{Ic%&-55ef)*g)>$yq?Dd-7l&ge+)b% zJC8;Q!%>L%e;TWH0C6``RCzb=Q{^qU%H~i# z>S}s570vhIvPZj0j)jZU2Nz0zI+-UA?4Cn6*01`CcGgP!3szVQZOI0z`iqX#WRzVw zQT^?%qHpB?oj&AaU4-h5KkCIR*@rwK7yr#v>vU7alPUaN>ErCYE_v-LG@s8z#@CXt zX67tTFSL$V${Qj}wnZLSo-(_J)_HjT!0)TREM2*7$Eip9iwgMO47T7#&#~g416%HN zexvp2655IFdmmrs=4&dVkEq7kAXCA9zl^23*H`dL&%jnyo%FS4#m-;77LG zb7jvh|3~oekxGEKr0xb|(aVF9&8=O$B}+gNd1?7aL_44x#3nYlTUk2ro213v}u zC+_cV+llx`^)SN6GWvdXd$qau`bah(ru8$epXvDdxBT%pQ&6I} literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/51.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/51.bin new file mode 100644 index 0000000000000000000000000000000000000000..fc7882c960f82bded1a2a04cc450f6a96ebdb9d3 GIT binary patch literal 6824 zcmeHLZ){Ul6hHUAx3|~sG2SN3ITv=$*1N&e^GcwO@R|c;!WWm8m zcA9lPz4x4Z&hPxYeP97>#Mh{zZ;XcKLY79ZkESWZkB;7s4?5H^DejJeEoI#M9UlSk zi|wjhL<*f#shVcqO|S#V*FA2SKqqXSOJa zl<(OQbU@YQen~yK_PFK$Z$9jJ=P-aJAfy2RK}Rht&U}Oc{BJn`60R{)14ow}s1%HG z4uV#(dbd3nhA$gn0*pd}#Hwt?y?)T_kpA1TP6g;fC+;Vt$we6 zk=ZQbeE=K+)g+FQDn%I&{^j85)<01m{iEsdrX4g@jGrbAOw(*w8+J5`{tsX*)8zP^ zk+F}^1q~$Vc*pTs1J7W-6qicC2pAB>RNC^n#u}(80G1OlX;}YYQEO^UTMFh_Lo5B2 zwqQ_6KyV`Qm*=I4q2tPrhY(Gjttvl$nP0F&2FIv)Py3O`5V(FIt( zTf=w(^&%@Ns^r#hq9HL@Uag|PgwsoiS9@6zV-RCJRUs`75@LW47GkIyQH61fe~=sB z^M78_85V|}mTz1dc8n#fQ4o(#(?sKWr~73;os~Hn1C0HH5ZN#=G61#M2rSQYeheDp zHs)&+z{R5v_+fpsjWHE)m1yqsvHqw^Q8Ysy>l~$7fQf*amZOa)03H?av}_H;IgNuL zO+DbT+Sm2+mcDsX9PwqcKGVh^X86UV=SQwTS|QE@4aPt^zxWH4#YCLX!4zr+J?t>G z5DheGU!JsitbWka4EctCGBozGTI2=qW-w<4>I`GSUN8lRI6Br7xX~}9mkh#=NpYU! zTfm697;3FVSKdCZLmOfx$!*`==4HR78B^rDuo8OgsQkdN3Xpu8d_^Ya{VX56a*Ebx z`hlwD7p!`p<+o{2l`QR7zhQbS0beO?1FL&M?~&%JZpKju0X2|R`s;pZ^xz=^Ya;F& z+7SwU-Gli+v8`7YJbnC_3LGaGrWiJ;fuN&Pi5xa5)Nt?damT~)$VWr!CBlI_Kn zHX{t`2T7nR@l$w*SkhBd=@r&W@J+a)$GuZl1xC?019iy1r^Q-X{`~H}j$O zLAa=xmvN(ie(~@;@{dz;`lG|MvFHQCJNLbm`t|HN+A@=27qAlEXE9zlou;aS- z1b92ha)7-gxy7p6Hcar>+9B3fEu`_k45-<5{oKJICv-9p1Z9-JFg!@ALZb_#b3O#x$POpXKK`o+rDXjV$YZE6t8SP y)E9n8=ga+DFaH9+i+vVa9)VNDLZDHe(C| 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 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/55.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/55.bin new file mode 100644 index 0000000000000000000000000000000000000000..fed284514eb278e10bb5d8b5a011f1a137f5df1c GIT binary patch literal 6824 zcmeHLT}T{P6#i!RI*!|k-H0)!vF!Dyi8cn@Qc8<$IOqzn^X(u98QbeVNytJ(J2Ym>wrI64n_S{|9>X_7*Y?ZQS z*_k=_p1J3K-#zEty9*0AL7!!xej;K&g_JBVEhi+YFE4xbCRbH8*;xcGZ}ym~GF3hS z`GDV2u%b}|`3RR$3s9J7q!+D|IU&*=O8|m%-EyJn)R2?_tctdf>A*4BVJ7xys+FVl zk*63OvNwFNdXCw#mRm=xDCvdZ_LxroYc&;{$@9}H9Fm61-< z7li>Yo^#&1)gYBr42!P#_?zZw44oQY)S#1L8-O zb}Pb&{{&yBAreh?g<;h4Fgi>TgAi4Ag}IcSMW zwoLeR@B5a!hAr~gONYmc31sQ_PI#p3z*R14|wZU zy76x|{<`=k#Dq^z;3J6rL_&Ceh?!JPY5fA%DIe^dfKl7Pv)Y9TRu$1`f1&shE#1UuYE@U_w(fcou9S&c9{ZYyW_2ixbh%9*ZUHGvXVBSaK(Ou zPw+WIeSfKb7oGP<+uzMb=Wa~<0zZ&p=s@1We&tWM;H#njT?U=^7vAeV9{>5~nA-6; zr}OsF`Rc39`Smk5n(kbz{!ZQY_`U0MZFrPWox68Roc{HSrfG!#Ubb_yz2Vg?{;6_3 zSURd6JA}@!3y}Y#I$vFB zjtn-&TlSUgvkUHf{dx6N{7hkx*xvg1vCsTyAbMnPz-+W^0Je(Ba%)_)a$Djt%2JVWP^wWpD-kB>*qhg*{MqQv?vedWVu6#niH%XYopE^7-|C_DTJT}u;CADW2u-n%uSrVp%}Ms2iSplOUgNR2V| zCt;w7V8BpgYEwW1wuub4LmRA;~0e^zA{ zbnv^$N<+lfWECidFFPo;Rf-u=Fr6%1I)`(-wAXe6jOiA@zhmpe7gfk04=si8lZ%M$ z75=I~Rvi-jM#3!>0H1G&e^DxCFt?VZcD2fknjF#v?B5zH$X^UBv}TGJUS;k9mI&VHwECI`nvHAKmG zIhT((`){-!u~n}|v4Jb%iCdE;Mf-jfEqO;voJo}GB2BU)<>t51|JYH+xXg5N0iR{8 zD~l0cZvA8^oIy5{N~*9m(F?}Gy?~ME!^>dr7l5iv3(`ob%Iq zkFnuyQSS{d3e*U878#rx^g>W(jMPsaY;BhNuzH;Wn4X4^H{DkU&$wWpm^;m8EOCem+S9t~TWC2NAo}mC47< z1kvlhUoJOaPJi~E9+h#%(gCi}Mhhe9J}OS*c$)aqs6K2tgLLk}Oxv$!4;zh(cME)0 zXDyum|8KfoRnU}0Ld8Hr=i{P$Vr}{GEbx(aGLX-Ht^eQem#dAR#rbiXa%83B3k`|; zHzo$|Wn1c@zzo)DEXgJ`xpQXsCLo;Xe!dVrB}gg0OJvx%%|BTu{cRV2cIwzB+9=J* z7YEwXzns4)AKAd@{%<5aA9bR3@Tsw>*>T!hRyuxXd~z&7s9yT3gFhE|PiYYN|17l5 zckkI-z}}J01gaDA{+;Ogsu&x;m$%g3Gcy|?JRR#zWCOYpf^-u1u6 z&&sHm)t;X#9p94tdDy&mf29ICjb>@3$G;Ze&2?W~Tko~?77S$1_uT*A*Yaa6KW?V{ F_y@NyJQ@H1 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/57.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/57.bin new file mode 100644 index 0000000000000000000000000000000000000000..3f0686616acf2eed1b8afe0579ab91c34cb7d486 GIT binary patch literal 6824 zcmeHLZ)jUp6#w0qm-IC}v$S+I(?V|2x>2f-mLfuRzL!jBr5_rD3_;{M=LZGBph$HC z@3x{=R5BT(py0Ecy5bZ!CzO4Vyk%vpg4n6xr;*J+wBM{>oYGRy&1+V7^I;4(J7Ufw zFZaBA?mg#s{@iyG*uYM@RszP(LiP?+X=!<-LO#E;a;>~win3;Zv7sRfdq&f=hKY0VHzML1)LL_*$ zVl?0-8Jzn+ixa>KrKi5qxn&D$&v%k%>Uw)B(o3>jNdLspb%j3ikF;lXYg!FtJm^Mc zXJ*MSb-(M)XFScMuoGz%4YKD7e+ZuQG+hVop{b~pN;ls(9R4~Q6EuDu=DcdpvC*X% z#nsS^Go~BUYwXX?gec)IBQB-qx8-Rom$E@)l@seE+UL z{J;6nOL|LGRuwu-_nRI6se&huLuc2-zNQW?`|B+xpXKwW_VV)3Mj%_-`(hKuZpB<6 zdY%M(ds-K_u)n&Bwh_uM@s$}Rq?Fi7nEuhQs?WPSMgW# z!S_ZV^`~pysciJ>%^zMec(26TPaiqB8oo9E_`j#FCf}H^@Ar8%A5xL`*`^`uQ6~Jzwnr literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/58.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/58.bin new file mode 100644 index 0000000000000000000000000000000000000000..8fe4c9501fda7ab84ba5e1e4464a6fed4a3cac3a GIT binary patch literal 6824 zcmeHLU1%It6#nka?Cf+Mx7(1$Ru}iCNn6ua$?8i{s56rat%`IKLqTNOg-L#B(!zLX~TSjv`GO&Cs&0SVZ?X6Tg;t%orU zIy5kBmfd87ESh2^sSh)s?n>vTtp_=WV7s9?b4SylYj7dRbKdroidpd|+_{%F(71(m zpZ>DE-gv_P?8$hVmiO#jF(r^N!{alZY?@$il8_joviA?VHp^V02qCymd?>nBiC=LF z?`d2}w7^t9l(4^AcApRBmcIdF40gdtTNZeZ$RwAUTKBK?xWC0;SO!<_Hz#Tmvd>~x zF}!}CA1~t(E}mfF@v!YoPMo2QmsrL69U|}##H@&10SM1uZQEUUsaM9uf%DxFqh@?| zgz^QX{H0saO8c!FWKfHPF6?~v#E2z;oZNk~tMYHSrvKIEBfLK4hr|{%LT>vpNCK7` z0kp60O+N=VZRJ%6p<|}gU+^COIu%TaBo6+n%X;Az`IQt$G-nqcllfZQ`hfz0_S1b0o}fZw3E=ZbA)@H@aP|Z)o9oZ9hmB;)I%^ zbWC1+g@}`E08!MeCt-hU%?|U^=eH_>n0818{!tGozn0|#v_8Lu%Cl^o)QEFy4SzG< zl|A1z`K{)6`T6D)B}}99b3W_Ka^MY)4@Z+6aJsgeyujy7WoU8#M!?NyUW;Pn4$P>D z%QP{)vt@oe`_pgx?!%KC>EP|m559A__|w_%mErXqCY?WGUkqW}*o(6_O4sNq)adxb z@hPYCgzEUs0r6_;6SZ67|0C+1%{=~Ognz`&q&o7-p*=e$hr;WH?XrF@VuILS zeg52IS54#|z3af8bcjwEO3&m|=4a~E>%h7v^&E{$^6Z5FHyjKNk~tBen_H=C&RC7yM!gd;{PQ$G6heOL;qO~c$} zf6kmUchC3T@7#NK;R5^Uu@W)&<+4wqI&Lqolt$TJS!rZ@0S8mTMIb_NdVJ=kNiOnx z3&k|HZy>)La5GBpmBHNrtaQJ+AOMm1`WdkhbbzQ>GM5k+coZ5E=oLT4{n#USFfy&FFjwj^~+JYXqIj{ z51iEfUeLxYz=>BT^#Yq!^|l`~k>K|~IQ%hjEhQ-;vQfYP|F&!N0*P$*@UX>sta*on zLLQeJ<>LjGT7Ujb1+Tksjf;Ztsop@6;qKI)vl%JlLil8xwj0029m21QK{D7>k9QV? zF1kVLKfWO9_1h?))%KH~DND4_fQ|E0e~TCiZ(lRN?CbA$+_Ih&mWb$T2O5>cdzrg zA6!i>n%kQxDVsK2YoPl)7Z6T<61_m-D}6pMNR;*mlfuUdfE$=qJcId?fsW zT6!mGBc}Twc6*TYz)27?;c#`R=y)poktA1X)bK?N>+uh}9a%{C5zwMr6p{|$y7NWH zSG!;1sO}H#d+VPnCV+wNE=w$k-z@gd^3WzA zJAe4i7$zUZ_YwOl1@`r%mb#38g4S<8J-&$=uYsjQN5_gcE?i<08wD(k-t0fUyJhIg zIq#=q{XaJD@75YW?CdZUz%?NunxAjQwMe}8M{>Ue<$((uS`i-tzJ3pT4xY@tOnVTIc?(J;v%(nj3 z2yazCi z9=S5ToH&ETwDAJ)zOitSe(x+9)Sn&`@3l#ovg45_Ps>@no7fBxALBY7`gyGT*SoFb zuj-*B25h5#j+&Y3peA;`@e#B)J*VJ3O;7cq5xzV8tc`kUlyB(2zvq8d55375;{7 literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/6.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/6.bin new file mode 100644 index 0000000000000000000000000000000000000000..740b19bc9d0b31b998e37937fb7cca0751ca84d3 GIT binary patch literal 6824 zcmeHLYitx%6h3ozcGz8}4;F9#SxV!D!wG#C~_6g1i*paE)T zC|(jo{kAx2F)OT$YWOOd1%l{P^o)gN6ckCK*-_s;C@-5EC2rdy4s zv%5de+q-2*nHozyfmR{d$Pp*5x|6#ujS{WkcLm-6VpGt{VhD5+I|#?OI=j37<^kPt33Th<|c(TMJ!JqWS0f z31u??40KwRxuOH6#{FN3@oM~Vh$Ybi*oK`?@g??W9{1$E@5KKO2vBKVEL(kaoIG#r z`56@-U05Fg*GGgOq8|pnn$wIn&OnMUF+W9my%O*Q{y zb>%~Q&gPKM?S@ZtYP3(0l|h_?wiz$Zy>k$8Oz zv2Q_t09{Y)(bv;``RMA)%ZTAVo3oU&wEv^Aqz^9IYpX@q=s$()nY<$Hy$gvJS*4fu>`P`x@;yUe=Mx z3FK*j0T%SIe0Wb4SkZIxfYSxumTG@N2|5*kAm#+1{mD)FJ~r2?bPILO3)ik|&tU+S z9v5q#uW29^_HeAeKyGR*Z!++)pzSKfr}Kfwfi!U98&pY+@iCM60`?}qekNNO;DLh+ zE`T`>h^vpRFf*YNJhs=?1Xt}~g1+whp@DF}w*_6u8O)VeELZp?>B2jhkHuM?SDXhb z9& zdw0NAIE%)w*V{<>Ksdk1{uhT**^0l^-`MaGr+?^NsmPIhcBB%0&@LO!hrJJqZ%^A< zlI{dH1!4QU91xMX6GA)uKXyz%zn)()%MIHed$IhF%%cI6H-93ycy2o!+fWU*bEIDo zeHQS3zM-zJ)>tpS0~Fsd`jO3i4IjXDI-kUsd_5)kz}gV^`^2i(k5sA67a^*Dox3Zp z_T6E=wew3)Kf%dL`IS|c?avT=SU*z%a#9*D)z!xI0&2>aNb4p1{&QFKLGbdcM~vwE)m*>B*(y{nJni|U7k>W38350V`U6C4ZuxNm=HS+fA^E8=+8 zCKt>ud9=8s&{+SyD&~WA*!2Et74GdPluvj4nQMJ_qIwPc_V3$&Y=5hP4}eo*Yn=WA@CH0B zeK9>}7>flVeLoiK7egi+T4VEZ^G1o@kIm1I^;cjHTw#R-ma-N0x`y{M-dbVnOiPdT0dVDUa)kpL^EFA#bv_E3Jp1jY= m`H~>uTt9=)w&U<)eGMjk|1eT~LH$P0~PU#S|={U?C znBly0?s?yL?sxAyGXn=0px3%)4#eD7kshmS>xq%H*Vi{{JCp5hf86c`1GpW4<5N@^ zFaf*b5#2=2ztALBqX%vVK_R|>@H;|HLQB4z@_gBj2&29^GoxMhZ?^3Ss2PMTho9?% zo`MtgYU0l6Pz@b3bn%3Nav4u(>08}qTnIgv*x=s4l(*hwLdOp1F9K{>xfo=AQ|du z3?X5uM%o5ql+T;St5VnG`Jz#*X2LNl`=7V%B=M#pxt%(MP+N<| z=Gmg9o?bh=jr!Hup-;*%yd4W#;71DV*j>HSqWmRl?~Y&GMh8h~<+IWL_%HY8)Gw+S zEWESSId!z=@WVTiA1-u$uNFLid41IBSz4I$kNDVCXF6IV0rmv>Qfl|rP$VEtMSRw uPj3hreE<_UwB>#u*lP7J;VrIywzQt5_4F!`>_0aC|3FDkB|ZI{p8f`qJijvl literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/61.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/61.bin new file mode 100644 index 0000000000000000000000000000000000000000..a1c8da52366e93a0d327ef01b7919de2f503672e GIT binary patch literal 6824 zcmeHKTSyd982)B;g?<slB z5xupU36e!ukRaG$k@6+FJ;zoS`cytCp=|%mI+^RkvY3}*&a#((&wu{&f8Y7eng2im z8t4^whz+5@3RrD;ByP5Z9gk1eRsumOJ0Cdx3U6D29#QFcRZwg#vi!4GqrVjnyfrs{ z^SktAViu25pc3zyh~)Vd{SSAK07VzZ0t7*}KdZf$IL5r1}V*#thu>62tN z-F%E&FIqUoIl4VGL_l}~P6z~r5p-y40KM~yz+y@)<_!aK#NpE=bAV=ugma*(gZfp6 z{^=Ht=gTMHoo;;T&Zjsz0&GAwS}5)OeHk3rtk2D#8mZ2u=WjH4ECXj3;H|^+ksK>lsXk3dNTXy&H=6(lMHDJ~QqA=wXylog6%@9sSm4WSFLxF8Zz_|!T5Dr<#RbKIyrES1Ed9JetGNYI`A>C!p!tg%;hM#@i|9Jy z5qV$79``***Kyz*+T~D{?}FF8Z=uHtJVmc?!}0Fsi1Yx`O>P@-k?UzvRvsDPB22x` zT9#-KwZiP8POTN^CAuRLAI-`6kK)%%@br<~|G(SG_$@so_*hH#$3$&n+Em#5Z+z$l z&dmn4b@VoVq{27G&+OPQsq(e^r?$Sa^iZC4n`^@k&aw?n8Me*;)belhYx8R`VC*;i RgY~Yi9+G346dP}*r3JDv8jqg+;G5geZav+(2=uU901e1M@Lj z4;^573a@bffTCkQ+KBm~8XZBg9sm=5CRtv1@p%!RZTf#7e=od+`i&w9$1^kHs3Y5~ z=7UyqHeI6Q`oq*={)o_<=IE_nVrc#U`A}%SUhz>rSIOo319ajQ@B0g@2YkMKz61lA z6~?=Moa}nx3;AGnwS^lKU_A}RxG2XyUtGiH)nNs0)+`OMB>NnoCx=>RVEvIeeRK-6 z&x99J$y*F;s4W{V9j9;9KX0L_2J4bZ~(!K;{b>ioK`*77QsUD03G)s1PTT%Ny`-;-AV^M}L>R!7C&S_YzFNstfapTYCZ#&83!R?>ywmbiv z9x{Ba#QJSyH9z_I8I_;HJjXxJ&-j=xlU<+VJ-<=<*RvQbETPOclOLV_ulXO?m3q; z(0~T|#6(9!B)A>PYi>RkzZUFR>|fiS>e|fODyWhhjtEqk*Vm$Qt0Mt64-xpL8#7fE zBNPe=x@3+|H@o2T5g)*+6bomcD)pRb^z05WI`#uVE~M22kphVttq`@~6VH-2RXO`$B#-u^@=9wZE%>^4;ixLWMY5B z({uCsnz6~A(2I|e&HlA!Q~nDAXQDzE>6Qw=;W6fTIKTKfzu`;@EF)7)IX>0=>E;g^ zIZ{SkAkKI~OgDTMp4II?Ed4G0xdQxj0G8hW{(im=(2VJxU;c=}+mETPeag0Sh}1uo zxRfzv$|bbSS7!miXxqhgXy1%?qWqo$eP!;M687E5etxGX%SHXx%;m1SiH|Qvg{vDC zxS&Oyk6KXNeP(<%Hc97hy7M>V6P`qgRr9yA`i1;^qL=vKfT#zK+u9rTTXx^cim3g{ zSEe@%3G$!~FS85E+`jO$fN(mpt0QvAaV!{}s~44`FSGmKR5jOi4;N1FDOZR40~4o; zJ;lN7S@U{kJDERk(NAixzJ9@`4=(f_-V(^821|Ab{`*H=55(b1z$e^QBbENneAkIw z*#-<@QtA=Md*_{x;p}Axfg5b>oK|{%hK(rUo67aAIvjdoX3;~vAJ?2Y0O`^67yf#j zd>ZgK<6CJvvHw5$C-Y%Jj|zJK`Pt0y7vMElU#avnJhr`@>u&n;KdIxB{cL*FODepU xe`WiPWW9JZZnFVYv82s&irbd{E33byuca?nfY;k{^wU;8S@~q;)BjUXKLF8P9ku`f literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/64.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/64.bin new file mode 100644 index 0000000000000000000000000000000000000000..7f9f26787d25b2dc43d4f631095ac91716bc0d46 GIT binary patch literal 6824 zcmZQ@WMD`E!vD-1DH8%!8DQYg-~V6$;s5_X%BO93I38qRV1fm{0t3Tnc+)n#N5gkC zd_f^FTE2loVC0qWjtAkTEzti8qvh>reGe`WN6UkeSsu{3J#bLz;2%iZVqjPTWYF3^ zO3inkaF7G&%ojbj3bHy3%nVMN>O2Z36<+W#)&KPrWnc(A+*HZV&?3%oky+p#P@$o= z&_{K~UkAmuE}kaJ!@%J5vAQSe!P8wwnVR_(7Q4|A=pXHe_SzVze&6JXIxsr%@y zpK0S^ps#9v7BrN}FK0FY`Tsk6!mcKtP*#PdjGN?@4>QHtF|-^PV-UH**pR@hs4Zle zusMJ!Yl3du1Xqs8z{7u%nH5w%{IEOcVUygu!}z7Oj=~%f7P+qvHab7&t0&|iSo*oZ zun3%t2&t#Fd|<_69)<;8(g9Ko3|s;nOwKFAc~&#;sA6Dv#<0v`f|GNnJWq_I04oE- z7KSG*)0i*K_{+79fole%3j;$J2t9A s4<-FXI58m72dF;wU>xl3A9dg8c*W>=#prkqq`n_{<29q@-^eci0M&Tc_y7O^ literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/65.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/65.bin new file mode 100644 index 0000000000000000000000000000000000000000..6bd2d351eda119d4d8d3277134e01c536e1cad5f GIT binary patch literal 6824 zcmZQ@WMD`E!vD-1DH8%!8DQYg-~V6$;s5_X%BO93I38qRV1fm{0t3Tnc+)n#N5gkC zd_f^FTE2loVC0qWjtAkTEzti8qvh>reGe`WN6UkeSsu{3J#bLz;2%iZVqjPTWYF3^ zO3gns;UEXlnF-Z1n%QL(7#N&1)p-<7D!kxfs{iXL%D@nKxT%tzp+%hGBD26fph81! zp^xf}zYdCRT|7;c2dMsIbx+cRr@M|aHS;Sl@Gu0uv|bY~;(2LH@Qo?fSD6OA|Ix#b zY2#s_uWEi4G?d9NXEtDPJj`Iv+z=4W+LGHalg%*J=rCK|cgBX4EldI%SQ!q9DQXKD zCTtF1%9^0tHo=u6GVt)9WM&1G4?pbAdDtZP?ofVdt>ds`QNV*lH6^t`u^;I6q4Qzs z=K{kbU}z6~`U$Lf%)_w2OFBS`fq_eagUNYiIL~V49aRhr&lr|DOmK4Ul;??&6kugw z*uwCHWg7FP8GpIfF>uXbbYWoVVmw*ss9Exn@qj|Y6on3%1_q7>WkHoS4T~7sxg;1E zfZP7zCreGe`WN6UkeSsu{3J#bLz;2%iZVqjPTWYF3^ zO3gns;UEXlnF-Z1n%QL(7#IQ%GyP&;@?zp5_D6Cce*_+Gs$^$q5ofr_EN~CVH`EsT zsLuH7pxD;M(?od~7@R&<_ar@dy6Y%YGrs}@4@1yP>owsbo|m=+-3m1)rXA3gk- zHXa80s^(`wLz(W13A~EhLWT*O z1DLWV=(bI8<%kSC{3n@NLFK~_yK^2k$-O&_Us~%Z%n@Oc`}$y`^K-s>boz z)I8GquPEs!!ifQqK0x)c2jggXk`|t$;WZjwpb&u6KO=AaU^M-YrvK6OPrv*R0H4j; AKmY&$ literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/67.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/67.bin new file mode 100644 index 0000000000000000000000000000000000000000..38027841ea0496076e66ca877270799870db1252 GIT binary patch literal 6824 zcmZQ@WMD`E!vD-1DH8%!8DQYg-~V6$;s5_X%BO93I38qRV1fm{0t3Tnc+)n#N5gkC zd_f^FTE2loVC0qWjtAkTEzti8qvh>reGe`WN6UkeSsu{3J#bLz;2%iZVqjPTWYF3^ zO3gns;UEXlnF-Z1n%QL(7#N&1)p-<7DtzE!s{iXL%D@nKxT%tzp+%hGBD26fph81! zp^xf}zYdCRT|7;c2dMsIbx+cRr@M|aHS;Sl@Gu0uv|ba&!+B{-@Qo?fXPE}Q|Ix#b zY2#s_uWEi4G?d9NXEp%&|2uoat|p&QR)wXEo8*-bGsW96v>X>>5V^wGkie^`Eo7Lm zIe;l^f^ORcSB}WQ!+(;Q6;wX_usi2rlia&Q`K7gv!;VEB4-(as)B?qRpxcMehozqj z42yuFJ@Dx#u;MWf!vZhq04W9rE&&cE=au0+tC@FHF)%!1SmrRn$+=UWCq`0$m4RUk z!xNTi%$H{TWTB&G$w$Tm3JFsbI%FCcI2x1%Rn{~tVrb`*U|;}- zM+FZ5H-J4q2>g%kK3emk@elVuEImNN!-xT;J;O5a>4VzgaZriX2IN;0AOreGe`WN6UkeSsu{3J#bLz;2%iZVqjPTWYF3^ zO3gns;UEXlnF-Z1n%QL(7#IQ%GyP&;@?zp5_D6Cce*_+Gs$^$q5ofr_EN~CVH`EsT zsLuH7pxD;M(?od~7@R&<_ar@dy6Y%YGrs}@4@1yP>os9KoR_u)-3mTA!YA3gk- zHXa80s^(`wLz(W13A~EhLWT*O z1DLWV=(bI8<%kSC{3n@NLFK~_yK^2k$-O&_Us~%Z%n@Oc`}$y`^K-s>bo@EQ#-PzXTkpOH6yFq-~H)BkAtr(gaD0Gfx{ A&j0`b literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/69.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/69.bin new file mode 100644 index 0000000000000000000000000000000000000000..6463ceb16704c3f60f2fc8b28be0fb765ca6dbb4 GIT binary patch literal 6824 zcmZQ@WMD`E!vD-1DH8%!8DQYg-~V6$;s5_X%BO93I38qRV1fm{0t3Tnc+)n#N5gkC zd_f^FTE2loVC0qWjtAkTEzti8qvh>reGe`WN6UkeSsu{3J#bLz;2%iZVqjPTWYF3^ zO3gns;UEXlnF-Z1n%QL(7#N&1)p-<7DtzE!s{iXL%D@nKxT%tzp+%hGBD26fph81! zp^xf}zYdCRT|7;c2dMsIbx+cRr@M|aHS;Sl@Gu0uv|ba&<9TUI@Qo?fXPE}Q|Ix#b zY2#s_uWEi4G?d9NXEp%&|2uoaE@_8QR)wXEo8*-bGsW96v>X>>5V^wGkie^`Eo7Lm zIe;l^f^ORcSB}WQ!+(;Q6;wX_usi2rlia&Q`K7gv!;VEB4-(as)B?qRpxcMehozqj z42yuFJ@Dx#u;MWf!vZhq04W9rE&&cE=au0+tC@FHF)%!1SmrRn$+=UWCq`0$m4RUk z!xNTi%$H{TWTB&G$w$Tm3JFsbI%FCcI2w#O?R6SvoMB{UVz}UV zm~TH0|2Kd=KM4Gf?mk-cq45v*KP){!!o!FGr9Hzk@acov;c-xj)du8O6CegL2$_!v zpTUt|2)TDup0@o_Sb8wvTgbSC!GjUT2c;D7Q8~&r=I~u;A5CG-3kvQHkn*K-A L|7iLrKmP*&ocP>^ literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/7.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/7.bin new file mode 100644 index 0000000000000000000000000000000000000000..a6883732376a3c902ec7b276c9466a05f94c3b1d GIT binary patch literal 6824 zcmeHLe{2&~9RJ?+dUU00w{C_-7Ius-bdZ=11r`JDR`$mbHB^Eq##qRrBWeTzi86D? zG`Pa#$7oC#i&X3qKtb>?V=(P#LN-Gj6Ow_-wuC5|CQ_J@nQlA3@2=hJHN|4qk(ul@ zZSw8=zV|-g&-;G9@7+N)KplP*gQ@O-rwkHpWK>a`W-H3HJk$X}idP=5j^nePWu>81_ES9R z^TpG&TRqPPN&vi)^ftlkt-_fF{9>cyi8XOO{VN~+L&X(?vyl&Rsq7W3+a%={U0;j8 z$H4%**;OkojOPoUw`L1(!Rn~yN2-7R>qeX}@Q7Cw=G46`?a=XGX?dUer{^beK0%mi z0vQ6-e{%RZR=*DM%81vSJEnv}h?g@L^8#57@S?G3kh4S&G=PzPMvmE?;E6OgEvjM9 zw?P0o0O+aRS>ff%jNt+CP^fC_HkGf{XGGt#z93<2u90Em`jStcSbtK-$FlAlG`qiK&eoN(3&i73$rwMF z5_-aVX-__{ZbXJN@lk<%B2e5JJKuRhyiNVdZcJP+2|frXg*rY;qD)EDfc>m_3134l zounvW{N0XHkiX*^&lY@Iv;^Z{^6L3s_N3B#eg3;YAFqyZKh8Vw(ys;lH({r5@6Jba znC3j6C05Lo?r$?yE~NN1z5Q1{?8)cPfFX&$?C?=wV2}kKE;#`nGXoI*c`Ijv{J)xR zH`drmKAWwi9;nTPd>nj8+%dbkCeIFBE{pc}4iH(f89Mef{nR_JYrAFRLKo~_{`~si zi%+$&74h@aIp}CVhxiM+a`J2KtC+mP&WEop`eQ$d59_BD zz>yog;%^YttuwVsj(rZ5wj zjQWwvhYnw4%d!L?W~eI)^2zsiEk24rz5T=Z{ls94z-#z$1{OVR8k%EuY+1+;)xAVyg*(>G*yy1P%t(6qKpVIocT9SI2 zW|4jy_J4e8$5zRs-9LEsb}3YD)y*ed%%~5~re0MaVIDR#j7drPmYw)h`Ap3Z+OO@8 z4nKfJXGexc6aEZiFtDt49~*zZ8B4L@V$%Dl^!s0p`eZp)dxfBkDdYDIV2-0cS`zCK zHnLGKQs>LW2lc-fe){}^0E=~eL2^E)AD=ousYgT)qBEyGfc1*tQ}3fBeBFG+oOu1D z>udAH`6x1m@9+7Rj=#V7GWo0TTR7;{-r^}r{QV072k-reGe`WN6UkeSsu{3J#bLz;2%iZVqjPTWYF3^ zO3gns;UEXlnF-Z1n%QL(7#N&1)p-<7DtzE!s{iXL%D@nKxT%tzp+%hGBD26fph81! zp^xf}zYdCRT|7;c2dMsIbx+cRr@M|aHS;Sl@Gu0uv|ba&!+B{-@Qo?fXPE}Q|Ix#* zue6yhz_pIi3_ScNnOQ;Q!wnO|-VUhd#V59SMzIt@~(D|_R zbAe$IFti6g{RCD#=3!XiB^@Bez`!NI!Q{L$oM$!jjw%L*XAH|6COA2F%JalX3a~OT zY+-o9GL8AtjK5s#7`SFIx-c+wF`g`R)GYbPct9axib97>0|Q5cF{iyw!;CYG%uEay z91rvD$Kn45u;&MX|Iyt?Yd$po;r@rE2S|7rF`%?(SOz|QP&+(O{KrPPy@m*%!I596 z9Ui0Rk=B1jNk0)z42bjrs*gPwN5hk}@Ei@V(eMI=0HppIdE*D8>3=l+kEVb6<$nMO C(b=T{ literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/8.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/8.bin new file mode 100644 index 0000000000000000000000000000000000000000..cd8a8ba294f0d8a1c14a7e1bfb493066174f8d8f GIT binary patch literal 6824 zcmeHMeNa@_6+iFp+n2Y?V_8;WFfsC27YiyWYifq3R^Bd7{YWxl5t@{V%`>rnOh}6q zhs=;>uf{aeI;jwdL1J7OX<;KuGHqgu4GWkM(^MjDI@)Pml2j8M4eJ-+fPFphEz4tR zXJSV%olLI$!QtI^@A>`iIlpu66I=jm@SkGf*X;15KxB+uRkRVd73FJtYWZllGazRH z%@o3nN9<+xu>Doz-RVe{)aUrrN2EcSZa9?E7I02WAU+NlOQVt|$Hz^X6fuNtHJ`|64}KAv3+gt4gG zqpM-OqKJ5vJ$oc@85t7B>-RVMclmXH!+5XP*7-?ksH>ut*`xeGDzi;>Nnc;Jrk)=) zzLAIH#=t_!47ZHie{%5Zc&=?d*M>TbC&2Si;rD;yHdU)O;7^={f6~`OV+#2BU-@t` z3}HFKs@_01K$NW{O|ZKSQO_4!#^Jd(e%$4M)AAMQNVgJ-yYyxA5rroh4{k^Mh%Cc4 z?~Ll2T{SgLZqyIX%yQ~kdHn$K_m;)`WSSeG5;X4qW3yAuH;(1y%eJMqqqc#l^~CY# zeQo@V<&&Lh1UmkG^?oq=NeX_K(?59`T>RASO z3ujq!$*v985tB1OZ=3`|$;qmZphCIk2)C79` zw}oQjia^zWv%p#Bb2B9(0eDyg@PgR_2`BIN=00)7Wh$N*x|1~%=@I7XlMJl72@9vi zY_;0TzsKQx#6!@wfI36~r_sRj0%w*a+ugJ7diy~S!>}s<_;lZ)&fE9t^{k=5UtQ1` z#Ybn+%t$@5rzJP|swyfcn~!M*h5!d_Xd%Fp27p%)FUC6$w6?4E?OM*cA;u|pxXl6D zJ0n4u+nBt`Ay|tgr{f@>If5WOouqKy++;WGH5$}>_ADIvwwFf?;MUSrjI7ux3wA^Vlg23}E_|mz?SURdVgx%rT_>J<9x93Ii zAz4`)o)4;dxJQ_R_?XBC8Pi7ut6a?T^eq-7#|3CTb??5$)z1ouKR5lQJgAW%lMj$@ zc{;aV$ts!tTB%W*^X^0PQdcMYr(bWMexPhw&*s87THjeD&i?^@?8RF$)_RuT_siIJ z(!NekXt^C@#RQ2kr=E=g3vWg~4ufCttw6kb{i2KKFcXe)k_&3EfVox3aYuoEx z6$i67#1z)K{(kz5_1mvjR&WbeGIcXk;Xa@QZh{4H(1!WLSy=2%&)y*fKJWOy;{(H9 zs}CrSoH87z>4$~0oiY6Qw$p`gKALT^3d7Uncj|{bAjPl?^JVMhSzw*EtdH1Fymj7r zXBrWx%eZGNIpKtWzo}>a?1hU~fGL>=nOjm{n9Udj0riK)@FP5-s-9^1X$>+TwjaMo z)sNBsMtC3MLQ(qq=8caJ>=#u3I5=G%s$XKmc*c4naJJvtnbO(CJ8hk*PsR5fVwZGa zZG{qghpQ=F(^CUwoX>P#d|2%_R6Uip*amF_xn6vq)%4XKZ+mT4$9t|(Jq7rnV1M&2 zKiYuxTBU~%(YPTEf27|7*rMy}iVf8T4f#`@FS&;aiWzq7EUbZE0;>O5Ew~*`ru|Jv zUP6D74>QMuwA7Q2BR5=cEO0+$wg2UT5u8uV7T&UK&BnDqe`M`it)2+H$`8?)&{YkWkflHx7TQ+&;AzH_XMV;^^MZfvewoSJwMbC z5kfk?|H6l&47>VD;wANdBLdJv{lohFso_IkKkN_USNk(`_U0U8{>FU0KY)SpG_6J%%wD2vHQ~+^QI>l_iWMwp3Hg)yVTmJbaPu zPJ15jcRt(+gkC!J{pm!1Cgd~ri(`5R5IC=(-m3YEKeVq|8@o%r zQS&nt#hI4wlqHI1ED9ywwkPrVxbG+Z9udU)aAJZI9jGB-jQOa6#XHa_~=FFYJadSMiRWKguJFT%Pp%i0sKOrlNjns8brQ1{R1WZZnFLTdcCRr|AVhO GzyAjRpE?Qv literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/9.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ShutDown/9.bin new file mode 100644 index 0000000000000000000000000000000000000000..247daf8978ef2689d369039df5ae0df663d5b290 GIT binary patch literal 6824 zcmeHLe^8U>9sj;h-o)_o5<^XD12!{GCStkHAE$QM5=5@pTVbrN$8~~Hw^qDaQn^uo0Pns}5)3cb8{Npf z{?RA-=bJn~zTeOH*XMb_1dxv(Nuka!vrLE4F*GcBhfkKIujJt3VG6m&>Os)EV*$h| z04)a}`sFf73InjXfF*us2)0z{uw3JeY5>Ni2m34zp1b>ZouJnN{V3^TE8!u=kvm!wDL6HdfOWb}Z3%L;eO z&euPAyjJ?`Uj)(UEF4~$rOHVIQi}v8B}07rH#F2YR5b+r`Ni!2Z|9r)-a&kvfcW%F zp78sA{lKjNp6VCak4j_l502atkN#(%Tj@#>ICyHzd0)(4y50&<+0O6o-mrh#?ts3Z zzg`w!pyg%q+XG|jn{T~&*_qM!>6BdI_XGO}$NusAO@s%=H(^zTrKclqm@i{wsR+7Q z6X^BYtd3?~ldh?JsjiPrwhHc8s{nBS)g!ZH^NqOvalF-6HRP<#k>P=vDU&}3pX6K+SY#YCmg_d~JFxhFW|1j@lZjr8uwSR98uRd{IH=aw4tgi^Jm_C6ZC?^ zW-Ba|v0kFHFnKwn(E0+o^@i z!@dTbZ#I}1A~4bGt~PBt^-^+^h4IA;E_Ut>n3mM;bwb6y%fi@ zzx38C!N!B?2LeR%pz(e%K52gV>w#qJ3|ZX;26l$a<*Eh}RcL7?nep+16=DBM(Cx@H z5KC(bx1fE)Ct3)HxlLFe@RNQ$UqYCI`Q;RW9MAGwc=3O@sEYiLMzHFt?rGXTeF|<|L&5) zaA9+NHufuy<5eJryA}7Lcl3OQQ78zJBpDu_a4E8HuNMzJ!0lMkHb!3x@8s+0M0j94 zB+hRK5ugkxXG44EE-@JP#Ldd8x7XXhjq>XBhrb{%FTT7i=0VK}&OcxD;jWLax36pb zXzhhRnUh23Ts`%2V;dW`s%lH&^DCLSu$faVAnbLL)|B=Uny+e3gYjrD0LY6Oj|b*2 zOH_o2CC3sCNpTM1$3wuPC#Ja-qw^^m!N5b8^i+h?3VPA1hYRq}F?jppgZ39S=D#8S zKvHdY;sLaO`RsV3=z{nk5bciw`1zcFkO5(VK1@akBf$V)}YgI?$gQEsymx@+>9&y-IIAjRO4(?^Mn|-a%%dzpy>=!oK^Y?8Ymf?}w`ACL`@!+k5Wg^8RP7m(szt8_Q33hy}Y$0k4 z))`O%S&X0z^p|fAdIrq8#S{<9CqP`d;6P8x0dIfNa#7Sh1PW+>!G5dO760a3uJqRL z{zmy)o-uiiq0z9#-s8B2@rCV)(_}7K5JecMrS;po(9Xt!iiA9Y+Uj6bu#;nrSkabOy-|79I6<&l2r@KFonwVy)ntZQuiiFxzP2z*URw+hz1gCjPq7Z@L-{B%UJ$?%b+bhG0u z=8GHjFw`jx^^dv#(Gw@%U&hBrARm4A1vx&(C2uCu_!fm99sTRlhyAwPh}U)@Ua-h2 zT6OiiY(+YZccLaLQN5$4Yw>w`eFV33$$kWDA+7*%)yABh4`lWNw8~_uAZolmqwg`` zW-h{EXVCfSM0kwXM~)A~U_B(*4^?)%{k{B!y}fZX|M3^S%^fIdF`Co9X|$FSd8k{apz#}qv^ z*A=}cus{7_^7c=(pE+rWrF_^bf(Ksr#LE2FIrjV@*&nhia38rKN#?$4JRixBh#3W{ z+==vk(*K*2O3*(ptY0`nJ)z$G!ut-m)?XUA+uUryN2165FUw{#kCidLNAq1EBX!3r nD#}M?+^xO|WlLM&wuZkgf714Sbsnukl0@D6B=YUcj`zO-Rt3!_ literal 0 HcmV?d00001 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/recording/test.txt b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/recording/test.txt new file mode 100644 index 000000000..56529f294 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/userdata/recording/test.txt @@ -0,0 +1 @@ +recording test \ No newline at end of file diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/mem_check.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/mem_check.cpp index d0544c121..139ccbb34 100755 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/mem_check.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/mem_check.cpp @@ -34,7 +34,7 @@ #include "hals/gralloc_engines.h" -#define SUPPRESS_DUMP 1 +#define SUPPRESS_DUMP 0 namespace OHOS { using std::string; -- 2.17.1