1 /*
2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "status_receiver_proxy.h"
17
18 #include "bundle_mgr_service.h"
19
20 namespace OHOS {
21 namespace AppExecFwk {
22 namespace {
23 // struct for transform internal error code/message to result which open to developer
24 struct ReceivedResult {
25 int32_t clientCode = -1;
26 const char* clientMessage;
27 };
28
29 const char* MSG_SUCCESS = "[SUCCESS]";
30 const char* MSG_ERR_INSTALL_INTERNAL_ERROR = "[ERR_INSTALL_INTERNAL_ERROR]";
31 const char* MSG_ERR_INSTALL_HOST_INSTALLER_FAILED = "[ERR_INSTALL_HOST_INSTALLER_FAILED]";
32 const char* MSG_ERR_INSTALL_PARSE_FAILED = "[ERR_INSTALL_PARSE_FAILED]";
33 const char* MSG_ERR_INSTALL_VERSION_DOWNGRADE = "[ERR_INSTALL_VERSION_DOWNGRADE]";
34 const char* MSG_ERR_INSTALL_VERIFICATION_FAILED = "[ERR_INSTALL_VERIFICATION_FAILED]";
35 const char* MSG_ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH =
36 "[MSG_ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH]";
37 const char* MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE =
38 "[MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE]";
39 const char* MSG_ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE = "[MSG_ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE]";
40 const char* MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL = "[MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL]";
41 const char* MSG_ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL = "[MSG_ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL]";
42 const char* MSG_ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED = "[MSG_ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED]";
43 const char* MSG_ERR_INSTALL_FAILED_BAD_DIGEST = "[MSG_ERR_INSTALL_FAILED_BAD_DIGEST]";
44 const char* MSG_ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE =
45 "[MSG_ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE]";
46 const char* MSG_ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE = "[MSG_ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE]";
47 const char* MSG_ERR_INSTALL_FAILED_BAD_PUBLICKEY = "[MSG_ERR_INSTALL_FAILED_BAD_PUBLICKEY]";
48 const char* MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE = "[MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE]";
49 const char* MSG_ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL = "[MSG_ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL]";
50 const char* MSG_ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE =
51 "[MSG_ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE]";
52 const char* MSG_ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL = "[MSG_ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL]";
53 const char* MSG_ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE = "[ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE]";
54 const char* MSG_ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE = "[MSG_ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE]";
55 const char* MSG_ERR_INSTALL_FAILED_MODULE_NAME_EMPTY = "[MSG_ERR_INSTALL_FAILED_MODULE_NAME_EMPTY]";
56 const char* MSG_ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE = "[MSG_ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE]";
57 const char* MSG_ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM = "[MSG_ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM]";
58 const char* MSG_ERR_INSTALL_PARAM_ERROR = "[MSG_ERR_INSTALL_PARAM_ERROR]";
59 const char* MSG_ERR_INSTALL_PERMISSION_DENIED = "[MSG_ERR_INSTALL_PERMISSION_DENIED]";
60 const char* MSG_ERR_INSTALL_ENTRY_ALREADY_EXIST = "[MSG_ERR_INSTALL_ENTRY_ALREADY_EXIST]";
61 const char* MSG_ERR_INSTALL_STATE_ERROR = "[MSG_ERR_INSTALL_STATE_ERROR]";
62 const char* MSG_ERR_INSTALL_FILE_PATH_INVALID = "[MSG_ERR_INSTALL_FILE_PATH_INVALID]";
63 const char* MSG_ERR_INSTALL_INVALID_BUNDLE_FILE = "[ERR_INSTALL_INVALID_BUNDLE_FILE]";
64 const char* MSG_ERR_INSTALL_INVALID_HAP_SIZE = "[ERR_INSTALL_INVALID_HAP_SIZE]";
65 const char* MSG_ERR_INSTALL_GENERATE_UID_ERROR = "[ERR_INSTALL_GENERATE_UID_ERROR]";
66 const char* MSG_ERR_INSTALL_INSTALLD_SERVICE_ERROR = "[ERR_INSTALL_INSTALLD_SERVICE_ERROR]";
67 const char* MSG_ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR = "[ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR]";
68 const char* MSG_ERR_INSTALL_ALREADY_EXIST = "[ERR_INSTALL_ALREADY_EXIST]";
69 const char* MSG_ERR_INSTALL_BUNDLENAME_NOT_SAME = "[ERR_INSTALL_BUNDLENAME_NOT_SAME]";
70 const char* MSG_ERR_INSTALL_VERSIONCODE_NOT_SAME = "[ERR_INSTALL_VERSIONCODE_NOT_SAME]";
71 const char* MSG_ERR_INSTALL_VERSIONNAME_NOT_SAME = "[ERR_INSTALL_VERSIONNAME_NOT_SAME]";
72 const char* MSG_ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME =
73 "[ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME]";
74 const char* MSG_ERR_INSTALL_VENDOR_NOT_SAME = "[ERR_INSTALL_VENDOR_NOT_SAME]";
75 const char* MSG_ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME = "[ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME]";
76 const char* MSG_ERR_INSTALL_RELEASETYPE_NOT_SAME = "[ERR_INSTALL_RELEASETYPE_NOT_SAME]";
77 const char* MSG_ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME = "[ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME]";
78 const char* MSG_ERR_INSTALL_VERSION_NOT_COMPATIBLE = "[ERR_INSTALL_VERSION_NOT_COMPATIBLE]";
79 const char* MSG_ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME = "[ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME]";
80 const char* MSG_ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME = "[ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME]";
81 const char* MSG_ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP = "[ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP]";
82 const char* MSG_ERR_INSTALL_DISK_MEM_INSUFFICIENT = "[MSG_ERR_INSTALL_DISK_MEM_INSUFFICIENT]";
83 const char* MSG_ERR_NATIVE_INSTALL_FAILED = "[MSG_ERR_NATIVE_INSTALL_FAILED]";
84 const char* MSG_ERR_NATIVE_UNINSTALL_FAILED = "[MSG_ERR_NATIVE_UNINSTALL_FAILED]";
85 const char* MSG_ERR_NATIVE_HNP_EXTRACT_FAILED = "[MSG_ERR_NATIVE_HNP_EXTRACT_FAILED]";
86 const char* MSG_ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED =
87 "[MSG_ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED]";
88 const char* MSG_ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED = "[MSG_ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED]";
89 const char* MSG_ERR_INSTALL_SINGLETON_NOT_SAME = "[MSG_ERR_INSTALL_SINGLETON_NOT_SAME]";
90 const char* MSG_ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON = "[MSG_ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON]";
91 const char* MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED = "[MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED]";
92 const char* MSG_ERR_INSTALL_APPTYPE_NOT_SAME = "[MSG_ERR_INSTALL_APPTYPE_NOT_SAME]";
93 const char* MSG_ERR_INSTALL_URI_DUPLICATE = "[MSG_ERR_INSTALL_URI_DUPLICATE]";
94 const char* MSG_ERR_INSTALL_TYPE_ERROR = "[ERR_INSTALL_TYPE_ERROR]";
95 const char* MSG_ERR_INSTALL_SDK_INCOMPATIBLE = "[ERR_INSTALL_SDK_INCOMPATIBLE]";
96 const char* MSG_ERR_INSTALL_SO_INCOMPATIBLE = "[ERR_INSTALL_SO_INCOMPATIBLE]";
97 const char* MSG_ERR_INSTALL_AN_INCOMPATIBLE = "[ERR_INSTALL_AN_INCOMPATIBLE]";
98 const char* MSG_ERR_INSTALL_PARSE_UNEXPECTED = "[ERR_INSTALL_PARSE_UNEXPECTED]";
99 const char* MSG_ERR_INSTALL_PARSE_MISSING_BUNDLE = "[ERR_INSTALL_PARSE_MISSING_BUNDLE]";
100 const char* MSG_ERR_INSTALL_PARSE_MISSING_ABILITY = "[ERR_INSTALL_PARSE_MISSING_ABILITY]";
101 const char* MSG_ERR_INSTALL_PARSE_NO_PROFILE = "[ERR_INSTALL_PARSE_NO_PROFILE]";
102 const char* MSG_ERR_INSTALL_PARSE_BAD_PROFILE = "[ERR_INSTALL_PARSE_BAD_PROFILE]";
103 const char* MSG_ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR = "[ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR]";
104 const char* MSG_ERR_INSTALL_PARSE_PROFILE_MISSING_PROP = "[ERR_INSTALL_PARSE_PROFILE_MISSING_PROP]";
105 const char* MSG_ERR_INSTALL_PARSE_PERMISSION_ERROR = "[ERR_INSTALL_PARSE_PERMISSION_ERROR]";
106 const char* MSG_ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR = "[ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR]";
107 const char* MSG_ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR = "[ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR]";
108 const char* MSG_ERR_INSTALL_PARSE_RPCID_FAILED = "[ERR_INSTALL_PARSE_RPCID_FAILED]";
109 const char* MSG_ERR_INSTALL_PARSE_NATIVE_SO_FAILED = "[ERR_INSTALL_PARSE_NATIVE_SO_FAILED]";
110 const char* MSG_ERR_INSTALL_PARSE_AN_FAILED = "[ERR_INSTALL_PARSE_AN_FAILED]";
111
112 const char* MSG_ERR_INSTALLD_CLEAN_DIR_FAILED = "[MSG_ERR_INSTALLD_CLEAN_DIR_FAILED]";
113 const char* MSG_ERR_INSTALLD_RNAME_DIR_FAILED = "[MSG_ERR_INSTALLD_RNAME_DIR_FAILED]";
114 const char* MSG_ERR_INSTALLD_EXTRACT_FILES_FAILED = "[MSG_ERR_INSTALLD_EXTRACT_FILES_FAILED]";
115 const char* MSG_ERR_INSTALLD_REMOVE_DIR_FAILED = "[ERR_INSTALLD_REMOVE_DIR_FAILED]";
116 const char* MSG_ERR_INSTALLD_CHOWN_FAILED = "[ERR_INSTALLD_CHOWN_FAILED,]";
117 const char* MSG_ERR_INSTALLD_CREATE_DIR_EXIST = "[ERR_INSTALLD_CREATE_DIR_EXIST]";
118 const char* MSG_ERR_INSTALLD_CREATE_DIR_FAILED = "[ERR_INSTALLD_CREATE_DIR_FAILED]";
119 const char* MSG_ERR_INSTALLD_GET_PROXY_ERROR = "[ERR_INSTALLD_GET_PROXY_ERROR]";
120 const char* MSG_ERR_INSTALLD_PARAM_ERROR = "[ERR_INSTALLD_PARAM_ERROR]";
121 const char* MSG_ERR_INSTALLD_PERMISSION_DENIED = "[ERR_INSTALLD_PERMISSION_DENIED]";
122 const char* MSG_ERR_INSTALLD_SET_SELINUX_LABEL_FAILED = "[ERR_INSTALLD_SET_SELINUX_LABEL_FAILED]";
123 const char* MSG_ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME = "[ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME]";
124 const char* MSG_ERR_INSTALL_INCONSISTENT_MODULE_NAME = "[MSG_ERR_INSTALL_INCONSISTENT_MODULE_NAME]";
125 const char* MSG_ERR_INSTALL_SINGLETON_INCOMPATIBLE = "[MSG_ERR_INSTALL_SINGLETON_INCOMPATIBLE]";
126 const char* MSG_ERR_INSTALL_DISALLOWED = "[MSG_ERR_INSTALL_DISALLOWED]";
127 const char* MSG_ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED = "[MSG_ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED]";
128 const char* MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED =
129 "[MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED]";
130 const char* MSG_ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST = "[MSG_ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST]";
131 const char* MSG_ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED = "[MSG_ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED]";
132 const char* MSG_ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME = "[MSG_ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME]";
133 const char* MSG_ERR_INSTALL_FILE_IS_SHARED_LIBRARY = "[MSG_ERR_INSTALL_FILE_IS_SHARED_LIBRARY]";
134 const char* MSG_ERR_INSTALL_INVALID_HAP_NAME = "[ERR_INSTALL_INVALID_HAP_NAME]";
135 const char* MSG_ERR_INSTALL_PROXY_DATA_URI_WRONG = "[ERR_INSTALL_PROXY_DATA_URI_WRONG]";
136 const char* MSG_ERR_INSTALL_PROXY_DATA_PERMISSION_WRONG = "[ERR_INSTALL_PROXY_DATA_PERMISSION_WRONG]";
137 const char* MSG_ERR_UNINSTALL_PARAM_ERROR = "[ERR_UNINSTALL_PARAM_ERROR]";
138 const char* MSG_ERR_UNINSTALL_PERMISSION_DENIED = "[MSG_ERR_UNINSTALL_PERMISSION_DENIED]";
139 const char* MSG_ERR_UNINSTALL_DISPOSED_RULE_DENIED = "[MSG_ERR_UNINSTALL_DISPOSED_RULE_DENIED]";
140 const char* MSG_ERR_UNINSTALL_INVALID_NAME = "[ERR_UNINSTALL_INVALID_NAME]";
141 const char* MSG_ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR = "[ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR,]";
142 const char* MSG_ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE = "[ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE]";
143 const char* MSG_ERR_UNINSTALL_MISSING_INSTALLED_MODULE = "[ERR_UNINSTALL_MISSING_INSTALLED_MODULE]";
144 const char* MSG_ERR_UNINSTALL_KILLING_APP_ERROR = "[ERR_UNINSTALL_KILLING_APP_ERROR]";
145 const char* MSG_ERR_UNINSTALL_SYSTEM_APP_ERROR = "[MSG_ERR_UNINSTALL_SYSTEM_APP_ERROR]";
146 const char* MSG_ERR_UNINSTALL_DISALLOWED = "[MSG_ERR_UNINSTALL_DISALLOWED]";
147 const char* MSG_ERR_UNINSTALL_SHARE_APP_LIBRARY_NOT_EXIST = "[ERR_UNINSTALL_SHARE_APP_LIBRARY_NOT_EXIST]";
148 const char* MSG_ERR_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED = "[ERR_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED]";
149 const char* MSG_ERR_UNINSTALL_BUNDLE_IS_SHAED_LIBRARY = "[ERR_UNINSTALL_BUNDLE_IS_SHARED_LIBRARY]";
150 const char* MSG_ERR_UNKNOWN = "[ERR_UNKNOWN]";
151 const char* MSG_ERR_INSTALL_ISOLATION_MODE_FAILED = "[MSG_INSTALL_ISOLATION_MODE_CONFLICTED]";
152
153 const char* MSG_ERR_RECOVER_GET_BUNDLEPATH_ERROR = "[ERR_RECOVER_GET_BUNDLEPATH_ERROR]";
154 const char* MSG_ERR_RECOVER_INVALID_BUNDLE_NAME = "[ERR_RECOVER_INVALID_BUNDLE_NAME]";
155 const char* MSG_ERR_RECOVER_NOT_ALLOWED = "[ERR_RECOVER_NOT_ALLOWED]";
156 const char* MSG_ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE =
157 "[ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE]";
158 const char* MSG_ERR_FAILED_SERVICE_DIED = "[ERR_FAILED_SERVICE_DIED]";
159 const char* MSG_ERR_FAILED_GET_INSTALLER_PROXY = "[MSG_ERR_FAILED_GET_INSTALLER_PROXY]";
160 const char* MSG_ERR_OPERATION_TIME_OUT = "[MSG_ERR_OPERATION_TIME_OUT]";
161 const char* MSG_ERR_USER_NOT_EXIST = "[ERR_USER_NOT_EXIST]";
162 const char* MSG_ERR_USER_CREATE_FAILED = "[ERR_USER_CREATE_FAILED]";
163 const char* MSG_ERR_USER_REMOVE_FAILED = "[ERR_USER_REMOVE_FAILED]";
164 const char* MSG_ERR_USER_NOT_INSTALL_HAP = "[ERR_USER_NOT_INSTALL_HAP]";
165 const char* MSG_ERR_ASAN_ENABLED_NOT_SAME = "[ERR_INSTALL_ASAN_ENABLED_NOT_SAME]";
166 const char* MSG_ERR_ASAN_ENABLED_NOT_SUPPORT = "[ERR_ASAN_ENABLED_NOT_SUPPORT]";
167 const char* MSG_ERR_INSTALL_BUNDLE_TYPE_NOT_SAME = "[ERR_INSTALL_BUNDLE_TYPE_NOT_SAME]";
168
169 // overlay installation
170 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR = "[ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR]";
171 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME =
172 "[ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME]";
173 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME =
174 "[ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME]";
175 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE = "[ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE]";
176 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE =
177 "[ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE]";
178 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED =
179 "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED]";
180 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED =
181 "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED]";
182 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME =
183 "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME]";
184 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY =
185 "[ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY]";
186 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME =
187 "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME]";
188 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY =
189 "[ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY]";
190 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE =
191 "[ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE]";
192 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION =
193 "[ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION]";
194 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME =
195 "[ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME]";
196 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY =
197 "[ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY]";
198 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE =
199 "[ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE]";
200 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE =
201 "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE]";
202 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE =
203 "[ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE]";
204 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME =
205 "[ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME]";
206 const char* MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR =
207 "[ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR]";
208 const char* MSG_ERR_APPEXECFWK_INSTALL_DEBUG_NOT_SAME = "[MSG_ERR_APPEXECFWK_INSTALL_DEBUG_NOT_SAME]";
209 const char* MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED = "[MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED]";
210 const char* MSG_ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID = "[MSG_ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID]";
211 const char* MSG_ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED = "[MSG_ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED]";
212 const char* MSG_ERR_INSTALL_SELF_UPDATE_NOT_MDM = "[MSG_ERR_INSTALL_SELF_UPDATE_NOT_MDM]";
213 const char* MSG_ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME = "[MSG_ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME]";
214 const char* MSG_ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED = "[MSG_ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED]";
215 const char* MSG_ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED
216 = "[MSG_ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED]";
217 const char* MSG_ERR_INSTALLD_COPY_FILE_FAILED = "[MSG_ERR_INSTALLD_COPY_FILE_FAILED]";
218 const char* MSG_ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME = "[MSG_ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME]";
219 const char* MSG_ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED = "[MSG_ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED]";
220 const char* MSG_ERR_INSTALL_PGO_FILE_IS_INVALID = "[MSG_ERR_INSTALL_PGO_FILE_IS_INVALID]";
221 const char* MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED = "[MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED]";
222 const char* MSG_ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED =
223 "[MSG_ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED]";
224 const char* MSG_ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED =
225 "[MSG_ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED]";
226 const char* MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED =
227 "[MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED]";
228 const char* MSG_ERR_UNINSTALL_CONTROLLED = "[MSG_ERR_UNINSTALL_CONTROLLED]";
229 const char* MSG_ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED = "[MSG_ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED]";
230 const char* MSG_ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL =
231 "[MSG_ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL]";
232 const char* MSG_ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL =
233 "[MSG_ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL]";
234 const char* MSG_ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED =
235 "[MSG_ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED]";
236 const char* MSG_ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE =
237 "[MSG_ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE]";
238 const char* MSG_ERR_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL =
239 "[MSG_ERR_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL ]";
240 const char* MSG_ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL =
241 "[MSG_ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL]";
242 const char* MSG_ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER =
243 "[MSG_ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER]";
244 const char* MSG_ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED =
245 "[MSG_ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED]";
246
247 const std::unordered_map<int32_t, struct ReceivedResult> MAP_RECEIVED_RESULTS {
248 {ERR_OK, {IStatusReceiver::SUCCESS, MSG_SUCCESS}},
249 {ERR_APPEXECFWK_INSTALL_INTERNAL_ERROR,
250 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
251 {ERR_APPEXECFWK_NULL_PTR,
252 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
253 {ERR_APPEXECFWK_UPDATE_BUNDLE_INSTALL_STATUS_ERROR,
254 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
255 {ERR_APPEXECFWK_RMV_HSP_BY_VERSION_ERROR,
256 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
257 {ERR_APPEXECFWK_GET_INSTALL_TEMP_BUNDLE_ERROR,
258 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
259 {ERR_APPEXECFWK_VERIFY_PKG_INSTALL_ERROR,
260 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
261 {ERR_APPEXECFWK_INIT_INSTALL_TEMP_BUNDLE_ERROR,
262 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
263 {ERR_APPEXECFWK_SAVE_FIRST_INSTALL_BUNDLE_ERROR,
264 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
265 {ERR_APPEXECFWK_RMV_MODULE_ERROR,
266 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
267 {ERR_APPEXECFWK_ADD_MODULE_ERROR,
268 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
269 {ERR_APPEXECFWK_UPDATE_BUNDLE_ERROR,
270 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
271 {ERR_APPEXECFWK_FETCH_BUNDLE_ERROR,
272 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
273 {ERR_APPEXECFWK_HAP_VERIFY_RES_EMPTY,
274 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
275 {ERR_APPEXECFWK_RMV_USERINFO_ERROR,
276 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
277 {ERR_APPEXECFWK_GET_USERINFO_ERROR,
278 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
279 {ERR_APPEXECFWK_ADD_BUNDLE_ERROR,
280 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
281 {ERR_APPEXECFWK_UNINSTALL_ALL_SANDBOX_BUNDLE_ERROR,
282 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
283 {ERR_APPEXECFWK_HAP_ENCRYPTION_CHECK_ERROR,
284 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
285 {ERR_APPEXECFWK_SET_INSTALL_TEMP_BUNDLE_ERROR,
286 {IStatusReceiver::ERR_INSTALL_INTERNAL_ERROR, MSG_ERR_INSTALL_INTERNAL_ERROR}},
287 {ERR_APPEXECFWK_INSTALL_HOST_INSTALLER_FAILED,
288 {IStatusReceiver::ERR_INSTALL_HOST_INSTALLER_FAILED, MSG_ERR_INSTALL_HOST_INSTALLER_FAILED}},
289 {ERR_APPEXECFWK_INSTALL_PARSE_FAILED, {IStatusReceiver::ERR_INSTALL_PARSE_FAILED, MSG_ERR_INSTALL_PARSE_FAILED}},
290 {ERR_APPEXECFWK_INSTALL_VERSION_DOWNGRADE,
291 {IStatusReceiver::ERR_INSTALL_VERSION_DOWNGRADE, MSG_ERR_INSTALL_VERSION_DOWNGRADE}},
292 {ERR_APPEXECFWK_INSTALL_VERIFICATION_FAILED,
293 {IStatusReceiver::ERR_INSTALL_VERIFICATION_FAILED, MSG_ERR_INSTALL_VERIFICATION_FAILED}},
294 {ERR_APPEXECFWK_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH,
295 {IStatusReceiver::ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH,
296 MSG_ERR_INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH}},
297 {ERR_APPEXECFWK_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE,
298 {IStatusReceiver::ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE,
299 MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE}},
300 {ERR_APPEXECFWK_INSTALL_FAILED_NO_BUNDLE_SIGNATURE,
301 {IStatusReceiver::ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE, MSG_ERR_INSTALL_FAILED_NO_BUNDLE_SIGNATURE}},
302 {ERR_APPEXECFWK_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL,
303 {IStatusReceiver::ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL, MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL}},
304 {ERR_APPEXECFWK_INSTALL_FAILED_PROFILE_PARSE_FAIL,
305 {IStatusReceiver::ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL, MSG_ERR_INSTALL_FAILED_PROFILE_PARSE_FAIL}},
306 {ERR_APPEXECFWK_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED,
307 {IStatusReceiver::ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED, MSG_ERR_INSTALL_FAILED_APP_SOURCE_NOT_TRUESTED}},
308 {ERR_APPEXECFWK_INSTALL_FAILED_BAD_DIGEST,
309 {IStatusReceiver::ERR_INSTALL_FAILED_BAD_DIGEST, MSG_ERR_INSTALL_FAILED_BAD_DIGEST}},
310 {ERR_APPEXECFWK_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE,
311 {IStatusReceiver::ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE,
312 MSG_ERR_INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE}},
313 {ERR_APPEXECFWK_INSTALL_FAILED_FILE_SIZE_TOO_LARGE,
314 {IStatusReceiver::ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE, MSG_ERR_INSTALL_FAILED_FILE_SIZE_TOO_LARGE}},
315 {ERR_APPEXECFWK_INSTALL_FAILED_BAD_PUBLICKEY,
316 {IStatusReceiver::ERR_INSTALL_FAILED_BAD_PUBLICKEY, MSG_ERR_INSTALL_FAILED_BAD_PUBLICKEY}},
317 {ERR_APPEXECFWK_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE,
318 {IStatusReceiver::ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE, MSG_ERR_INSTALL_FAILED_BAD_BUNDLE_SIGNATURE}},
319 {ERR_APPEXECFWK_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL,
320 {IStatusReceiver::ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL, MSG_ERR_INSTALL_FAILED_NO_PROFILE_BLOCK_FAIL}},
321 {ERR_APPEXECFWK_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE,
322 {IStatusReceiver::ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE,
323 MSG_ERR_INSTALL_FAILED_BUNDLE_SIGNATURE_VERIFICATION_FAILURE}},
324 {ERR_APPEXECFWK_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL,
325 {IStatusReceiver::ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL, MSG_ERR_INSTALL_FAILED_VERIFY_SOURCE_INIT_FAIL}},
326 {ERR_APPEXECFWK_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE,
327 {IStatusReceiver::ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE, MSG_ERR_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE}},
328 {ERR_APPEXECFWK_INSTALL_FAILED_INCONSISTENT_SIGNATURE,
329 {IStatusReceiver::ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE, MSG_ERR_INSTALL_FAILED_INCONSISTENT_SIGNATURE}},
330 {ERR_APPEXECFWK_INSTALL_FAILED_MODULE_NAME_EMPTY,
331 {IStatusReceiver::ERR_INSTALL_FAILED_MODULE_NAME_EMPTY, MSG_ERR_INSTALL_FAILED_MODULE_NAME_EMPTY}},
332 {ERR_APPEXECFWK_INSTALL_FAILED_MODULE_NAME_DUPLICATE,
333 {IStatusReceiver::ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE, MSG_ERR_INSTALL_FAILED_MODULE_NAME_DUPLICATE}},
334 {ERR_APPEXECFWK_INSTALL_FAILED_CHECK_HAP_HASH_PARAM,
335 {IStatusReceiver::ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM, MSG_ERR_INSTALL_FAILED_CHECK_HAP_HASH_PARAM}},
336 {ERR_APPEXECFWK_INSTALL_PARAM_ERROR,
337 {IStatusReceiver::ERR_INSTALL_PARAM_ERROR, MSG_ERR_INSTALL_PARAM_ERROR}},
338 {ERR_APPEXECFWK_INSTALL_PERMISSION_DENIED,
339 {IStatusReceiver::ERR_INSTALL_PERMISSION_DENIED, MSG_ERR_INSTALL_PERMISSION_DENIED}},
340 {ERR_APPEXECFWK_INSTALL_ENTRY_ALREADY_EXIST,
341 {IStatusReceiver::ERR_INSTALL_ENTRY_ALREADY_EXIST, MSG_ERR_INSTALL_ENTRY_ALREADY_EXIST}},
342 {ERR_APPEXECFWK_INSTALL_STATE_ERROR,
343 {IStatusReceiver::ERR_INSTALL_STATE_ERROR, MSG_ERR_INSTALL_STATE_ERROR}},
344 {ERR_APPEXECFWK_INSTALL_FILE_PATH_INVALID,
345 {IStatusReceiver::ERR_INSTALL_FILE_PATH_INVALID, MSG_ERR_INSTALL_FILE_PATH_INVALID}},
346 {ERR_APPEXECFWK_INSTALL_INVALID_HAP_NAME,
347 {IStatusReceiver::ERR_INSTALL_INVALID_HAP_NAME, MSG_ERR_INSTALL_INVALID_HAP_NAME}},
348 {ERR_APPEXECFWK_INSTALL_INVALID_BUNDLE_FILE,
349 {IStatusReceiver::ERR_INSTALL_INVALID_BUNDLE_FILE, MSG_ERR_INSTALL_INVALID_BUNDLE_FILE}},
350 {ERR_APPEXECFWK_INSTALL_INVALID_HAP_SIZE,
351 {IStatusReceiver::ERR_INSTALL_INVALID_HAP_SIZE, MSG_ERR_INSTALL_INVALID_HAP_SIZE}},
352 {ERR_APPEXECFWK_INSTALL_GENERATE_UID_ERROR,
353 {IStatusReceiver::ERR_INSTALL_GENERATE_UID_ERROR, MSG_ERR_INSTALL_GENERATE_UID_ERROR}},
354 {ERR_APPEXECFWK_INSTALL_INSTALLD_SERVICE_ERROR,
355 {IStatusReceiver::ERR_INSTALL_INSTALLD_SERVICE_ERROR, MSG_ERR_INSTALL_INSTALLD_SERVICE_ERROR}},
356 {ERR_APPEXECFWK_INSTALL_BUNDLE_MGR_SERVICE_ERROR,
357 {IStatusReceiver::ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR, MSG_ERR_INSTALL_BUNDLE_MGR_SERVICE_ERROR}},
358 {ERR_APPEXECFWK_INSTALL_ALREADY_EXIST,
359 {IStatusReceiver::ERR_INSTALL_ALREADY_EXIST, MSG_ERR_INSTALL_ALREADY_EXIST}},
360 {ERR_APPEXECFWK_INSTALL_BUNDLENAME_NOT_SAME,
361 {IStatusReceiver::ERR_INSTALL_BUNDLENAME_NOT_SAME, MSG_ERR_INSTALL_BUNDLENAME_NOT_SAME}},
362 {ERR_APPEXECFWK_INSTALL_VERSIONCODE_NOT_SAME,
363 {IStatusReceiver::ERR_INSTALL_VERSIONCODE_NOT_SAME, MSG_ERR_INSTALL_VERSIONCODE_NOT_SAME}},
364 {ERR_APPEXECFWK_INSTALL_VERSIONNAME_NOT_SAME,
365 {IStatusReceiver::ERR_INSTALL_VERSIONNAME_NOT_SAME, MSG_ERR_INSTALL_VERSIONNAME_NOT_SAME}},
366 {ERR_APPEXECFWK_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME,
367 {IStatusReceiver::ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME,
368 MSG_ERR_INSTALL_MINCOMPATIBLE_VERSIONCODE_NOT_SAME}},
369 {ERR_APPEXECFWK_INSTALL_VENDOR_NOT_SAME,
370 {IStatusReceiver::ERR_INSTALL_VENDOR_NOT_SAME, MSG_ERR_INSTALL_VENDOR_NOT_SAME}},
371 {ERR_APPEXECFWK_INSTALL_RELEASETYPE_TARGET_NOT_SAME,
372 {IStatusReceiver::ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME, MSG_ERR_INSTALL_RELEASETYPE_TARGET_NOT_SAME}},
373 {ERR_APPEXECFWK_INSTALL_RELEASETYPE_NOT_SAME,
374 {IStatusReceiver::ERR_INSTALL_RELEASETYPE_NOT_SAME, MSG_ERR_INSTALL_RELEASETYPE_NOT_SAME}},
375 {ERR_APPEXECFWK_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME,
376 {IStatusReceiver::ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME,
377 MSG_ERR_INSTALL_RELEASETYPE_COMPATIBLE_NOT_SAME}},
378 {ERR_APPEXECFWK_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME,
379 {IStatusReceiver::ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME,
380 MSG_ERR_INSTALL_APP_DISTRIBUTION_TYPE_NOT_SAME}},
381 {ERR_APPEXECFWK_INSTALL_APP_PROVISION_TYPE_NOT_SAME,
382 {IStatusReceiver::ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME,
383 MSG_ERR_INSTALL_APP_PROVISION_TYPE_NOT_SAME}},
384 {ERR_APPEXECFWK_INSTALL_VERSION_NOT_COMPATIBLE,
385 {IStatusReceiver::ERR_INSTALL_VERSION_NOT_COMPATIBLE, MSG_ERR_INSTALL_VERSION_NOT_COMPATIBLE}},
386 {ERR_APPEXECFWK_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP,
387 {IStatusReceiver::ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP, MSG_ERR_INSTALL_INVALID_NUMBER_OF_ENTRY_HAP}},
388 {ERR_APPEXECFWK_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED,
389 {IStatusReceiver::ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED,
390 MSG_ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED}},
391 {ERR_APPEXECFWK_INSTALL_UPDATE_HAP_TOKEN_FAILED,
392 {IStatusReceiver::ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED, MSG_ERR_INSTALL_UPDATE_HAP_TOKEN_FAILED}},
393 {ERR_APPEXECFWK_INSTALL_SINGLETON_NOT_SAME,
394 {IStatusReceiver::ERR_INSTALL_SINGLETON_NOT_SAME, MSG_ERR_INSTALL_SINGLETON_NOT_SAME}},
395 {ERR_APPEXECFWK_INSTALL_ZERO_USER_WITH_NO_SINGLETON,
396 {IStatusReceiver::ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON, MSG_ERR_INSTALL_ZERO_USER_WITH_NO_SINGLETON}},
397 {ERR_APPEXECFWK_INSTALL_CHECK_SYSCAP_FAILED,
398 {IStatusReceiver::ERR_INSTALL_CHECK_SYSCAP_FAILED, MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED}},
399 {ERR_APPEXECFWK_INSTALL_APPTYPE_NOT_SAME,
400 {IStatusReceiver::ERR_INSTALL_APPTYPE_NOT_SAME, MSG_ERR_INSTALL_APPTYPE_NOT_SAME}},
401 {ERR_APPEXECFWK_INSTALL_URI_DUPLICATE,
402 {IStatusReceiver::ERR_INSTALL_URI_DUPLICATE, MSG_ERR_INSTALL_URI_DUPLICATE}},
403 {ERR_APPEXECFWK_INSTALL_TYPE_ERROR, {IStatusReceiver::ERR_INSTALL_TYPE_ERROR, MSG_ERR_INSTALL_TYPE_ERROR}},
404 {ERR_APPEXECFWK_INSTALL_SDK_INCOMPATIBLE,
405 {IStatusReceiver::ERR_INSTALL_SDK_INCOMPATIBLE, MSG_ERR_INSTALL_SDK_INCOMPATIBLE}},
406 {ERR_APPEXECFWK_INSTALL_SO_INCOMPATIBLE,
407 {IStatusReceiver::ERR_INSTALL_SO_INCOMPATIBLE, MSG_ERR_INSTALL_SO_INCOMPATIBLE}},
408 {ERR_APPEXECFWK_INSTALL_AN_INCOMPATIBLE,
409 {IStatusReceiver::ERR_INSTALL_AN_INCOMPATIBLE, MSG_ERR_INSTALL_AN_INCOMPATIBLE}},
410 {ERR_APPEXECFWK_INSTALL_DISK_MEM_INSUFFICIENT,
411 {IStatusReceiver::ERR_INSTALL_DISK_MEM_INSUFFICIENT, MSG_ERR_INSTALL_DISK_MEM_INSUFFICIENT}},
412 {ERR_APPEXECFWK_NATIVE_INSTALL_FAILED,
413 {IStatusReceiver::ERR_INSTALL_NATIVE_FAILED, MSG_ERR_NATIVE_INSTALL_FAILED}},
414 {ERR_APPEXECFWK_NATIVE_UNINSTALL_FAILED,
415 {IStatusReceiver::ERR_UNINSTALL_NATIVE_FAILED, MSG_ERR_NATIVE_UNINSTALL_FAILED}},
416 {ERR_APPEXECFWK_NATIVE_HNP_EXTRACT_FAILED,
417 {IStatusReceiver::ERR_NATIVE_HNP_EXTRACT_FAILED, MSG_ERR_NATIVE_HNP_EXTRACT_FAILED}},
418 {ERR_APPEXECFWK_PARSE_UNEXPECTED,
419 {IStatusReceiver::ERR_INSTALL_PARSE_UNEXPECTED, MSG_ERR_INSTALL_PARSE_UNEXPECTED}},
420 {ERR_APPEXECFWK_PARSE_MISSING_BUNDLE,
421 {IStatusReceiver::ERR_INSTALL_PARSE_MISSING_BUNDLE, MSG_ERR_INSTALL_PARSE_MISSING_BUNDLE}},
422 {ERR_APPEXECFWK_PARSE_MISSING_ABILITY,
423 {IStatusReceiver::ERR_INSTALL_PARSE_MISSING_ABILITY, MSG_ERR_INSTALL_PARSE_MISSING_ABILITY}},
424 {ERR_APPEXECFWK_PARSE_NO_PROFILE,
425 {IStatusReceiver::ERR_INSTALL_PARSE_NO_PROFILE, MSG_ERR_INSTALL_PARSE_NO_PROFILE}},
426 {ERR_APPEXECFWK_PARSE_BAD_PROFILE,
427 {IStatusReceiver::ERR_INSTALL_PARSE_BAD_PROFILE, MSG_ERR_INSTALL_PARSE_BAD_PROFILE}},
428 {ERR_APPEXECFWK_PARSE_PROFILE_PROP_TYPE_ERROR,
429 {IStatusReceiver::ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR, MSG_ERR_INSTALL_PARSE_PROFILE_PROP_TYPE_ERROR}},
430 {ERR_APPEXECFWK_PARSE_PROFILE_MISSING_PROP,
431 {IStatusReceiver::ERR_INSTALL_PARSE_PROFILE_MISSING_PROP, MSG_ERR_INSTALL_PARSE_PROFILE_MISSING_PROP}},
432 {ERR_APPEXECFWK_PARSE_PERMISSION_ERROR,
433 {IStatusReceiver::ERR_INSTALL_PARSE_PERMISSION_ERROR, MSG_ERR_INSTALL_PARSE_PERMISSION_ERROR}},
434 {ERR_APPEXECFWK_PARSE_PROFILE_PROP_CHECK_ERROR,
435 {IStatusReceiver::ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR, MSG_ERR_INSTALL_PARSE_PROFILE_PROP_CHECK_ERROR}},
436 {ERR_APPEXECFWK_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR,
437 {IStatusReceiver::ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR,
438 MSG_ERR_INSTALL_PARSE_PROFILE_PROP_SIZE_CHECK_ERROR}},
439 {ERR_APPEXECFWK_PARSE_RPCID_FAILED,
440 {IStatusReceiver::ERR_INSTALL_PARSE_RPCID_FAILED, MSG_ERR_INSTALL_PARSE_RPCID_FAILED}},
441 {ERR_APPEXECFWK_PARSE_NATIVE_SO_FAILED,
442 {IStatusReceiver::ERR_INSTALL_PARSE_NATIVE_SO_FAILED, MSG_ERR_INSTALL_PARSE_NATIVE_SO_FAILED}},
443 {ERR_APPEXECFWK_PARSE_AN_FAILED,
444 {IStatusReceiver::ERR_INSTALL_PARSE_AN_FAILED, MSG_ERR_INSTALL_PARSE_AN_FAILED}},
445 {ERR_APPEXECFWK_INSTALL_ASAN_ENABLED_NOT_SAME,
446 {IStatusReceiver::ERR_INSTALL_ASAN_ENABLED_NOT_SAME, MSG_ERR_ASAN_ENABLED_NOT_SAME}},
447 {ERR_APPEXECFWK_INSTALL_ASAN_NOT_SUPPORT,
448 {IStatusReceiver::ERR_INSTALL_ASAN_ENABLED_NOT_SUPPORT, MSG_ERR_ASAN_ENABLED_NOT_SUPPORT}},
449 {ERR_APPEXECFWK_BUNDLE_TYPE_NOT_SAME,
450 {IStatusReceiver::ERR_INSTALL_BUNDLE_TYPE_NOT_SAME, MSG_ERR_INSTALL_BUNDLE_TYPE_NOT_SAME}},
451
452 {ERR_APPEXECFWK_INSTALLD_CLEAN_DIR_FAILED,
453 {IStatusReceiver::ERR_INSTALLD_CLEAN_DIR_FAILED, MSG_ERR_INSTALLD_CLEAN_DIR_FAILED}},
454 {ERR_APPEXECFWK_INSTALLD_RNAME_DIR_FAILED,
455 {IStatusReceiver::ERR_INSTALLD_RNAME_DIR_FAILED, MSG_ERR_INSTALLD_RNAME_DIR_FAILED}},
456 {ERR_APPEXECFWK_INSTALLD_EXTRACT_FILES_FAILED,
457 {IStatusReceiver::ERR_INSTALLD_EXTRACT_FILES_FAILED, MSG_ERR_INSTALLD_EXTRACT_FILES_FAILED}},
458 {ERR_APPEXECFWK_INSTALLD_EXTRACT_FAILED,
459 {IStatusReceiver::ERR_INSTALL_DISK_MEM_INSUFFICIENT, MSG_ERR_INSTALL_DISK_MEM_INSUFFICIENT}},
460 {ERR_APPEXECFWK_INSTALLD_REMOVE_DIR_FAILED,
461 {IStatusReceiver::ERR_INSTALLD_REMOVE_DIR_FAILED, MSG_ERR_INSTALLD_REMOVE_DIR_FAILED}},
462 {ERR_APPEXECFWK_INSTALLD_CHOWN_FAILED, {IStatusReceiver::ERR_INSTALLD_CHOWN_FAILED, MSG_ERR_INSTALLD_CHOWN_FAILED}},
463 {ERR_APPEXECFWK_INSTALLD_CREATE_DIR_EXIST,
464 {IStatusReceiver::ERR_INSTALLD_CREATE_DIR_EXIST, MSG_ERR_INSTALLD_CREATE_DIR_EXIST}},
465 {ERR_APPEXECFWK_INSTALLD_CREATE_DIR_FAILED,
466 {IStatusReceiver::ERR_INSTALLD_CREATE_DIR_FAILED, MSG_ERR_INSTALLD_CREATE_DIR_FAILED}},
467 {ERR_APPEXECFWK_INSTALLD_GET_PROXY_ERROR,
468 {IStatusReceiver::ERR_INSTALLD_GET_PROXY_ERROR, MSG_ERR_INSTALLD_GET_PROXY_ERROR}},
469 {ERR_APPEXECFWK_INSTALLD_PARAM_ERROR, {IStatusReceiver::ERR_INSTALLD_PARAM_ERROR, MSG_ERR_INSTALLD_PARAM_ERROR}},
470 {ERR_APPEXECFWK_INSTALLD_PERMISSION_DENIED, {IStatusReceiver::ERR_INSTALLD_PERMISSION_DENIED,
471 MSG_ERR_INSTALLD_PERMISSION_DENIED}},
472 {ERR_APPEXECFWK_INSTALLD_SET_SELINUX_LABEL_FAILED, {IStatusReceiver::ERR_INSTALLD_SET_SELINUX_LABEL_FAILED,
473 MSG_ERR_INSTALLD_SET_SELINUX_LABEL_FAILED}},
474
475 {ERR_APPEXECFWK_UNINSTALL_MISSING_INSTALLED_MODULE,
476 {IStatusReceiver::ERR_UNINSTALL_MISSING_INSTALLED_MODULE, MSG_ERR_UNINSTALL_MISSING_INSTALLED_MODULE}},
477 {ERR_APPEXECFWK_UNINSTALL_PARAM_ERROR, {IStatusReceiver::ERR_UNINSTALL_PARAM_ERROR, MSG_ERR_UNINSTALL_PARAM_ERROR}},
478 {ERR_APPEXECFWK_UNINSTALL_PERMISSION_DENIED,
479 {IStatusReceiver::ERR_UNINSTALL_PERMISSION_DENIED, MSG_ERR_UNINSTALL_PERMISSION_DENIED}},
480 {ERR_APPEXECFWK_UNINSTALL_DISPOSED_RULE_FAILED,
481 {IStatusReceiver::ERR_UNINSTALL_DISPOSED_RULE_DENIED, MSG_ERR_UNINSTALL_DISPOSED_RULE_DENIED}},
482 {ERR_APPEXECFWK_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR,
483 {IStatusReceiver::ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR, MSG_ERR_UNINSTALL_BUNDLE_MGR_SERVICE_ERROR}},
484 {ERR_APPEXECFWK_UNINSTALL_MISSING_INSTALLED_BUNDLE,
485 {IStatusReceiver::ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE, MSG_ERR_UNINSTALL_MISSING_INSTALLED_BUNDLE}},
486 {ERR_APPEXECFWK_UNINSTALL_KILLING_APP_ERROR,
487 {IStatusReceiver::ERR_UNINSTALL_KILLING_APP_ERROR, MSG_ERR_UNINSTALL_KILLING_APP_ERROR}},
488 {ERR_APPEXECFWK_UNINSTALL_SYSTEM_APP_ERROR,
489 {IStatusReceiver::ERR_UNINSTALL_SYSTEM_APP_ERROR, MSG_ERR_UNINSTALL_SYSTEM_APP_ERROR}},
490 {ERR_APPEXECFWK_UNINSTALL_INVALID_NAME,
491 {IStatusReceiver::ERR_UNINSTALL_INVALID_NAME, MSG_ERR_UNINSTALL_INVALID_NAME}},
492 {ERR_APPEXECFWK_RECOVER_GET_BUNDLEPATH_ERROR,
493 {IStatusReceiver::ERR_RECOVER_GET_BUNDLEPATH_ERROR, MSG_ERR_RECOVER_GET_BUNDLEPATH_ERROR}},
494 {ERR_APPEXECFWK_RECOVER_INVALID_BUNDLE_NAME,
495 {IStatusReceiver::ERR_RECOVER_INVALID_BUNDLE_NAME, MSG_ERR_RECOVER_INVALID_BUNDLE_NAME}},
496 {ERR_APPEXECFWK_RECOVER_NOT_ALLOWED,
497 {IStatusReceiver::ERR_RECOVER_NOT_ALLOWED, MSG_ERR_RECOVER_NOT_ALLOWED}},
498 {ERR_APPEXECFWK_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE,
499 {IStatusReceiver::ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE,
500 MSG_ERR_UNINSTALL_AND_RECOVER_NOT_PREINSTALLED_BUNDLE}},
501 {ERR_APPEXECFWK_FAILED_SERVICE_DIED,
502 {IStatusReceiver::ERR_FAILED_SERVICE_DIED, MSG_ERR_FAILED_SERVICE_DIED}},
503 {ERR_APPEXECFWK_FAILED_GET_INSTALLER_PROXY,
504 {IStatusReceiver::ERR_FAILED_GET_INSTALLER_PROXY, MSG_ERR_FAILED_GET_INSTALLER_PROXY}},
505 {ERR_APPEXECFWK_OPERATION_TIME_OUT,
506 {IStatusReceiver::ERR_OPERATION_TIME_OUT, MSG_ERR_OPERATION_TIME_OUT}},
507 {ERR_APPEXECFWK_USER_NOT_EXIST,
508 {IStatusReceiver::ERR_USER_NOT_EXIST, MSG_ERR_USER_NOT_EXIST}},
509 {ERR_APPEXECFWK_USER_CREATE_FAILED,
510 {IStatusReceiver::ERR_USER_CREATE_FAILED, MSG_ERR_USER_CREATE_FAILED}},
511 {ERR_APPEXECFWK_USER_REMOVE_FAILED,
512 {IStatusReceiver::ERR_USER_REMOVE_FAILED, MSG_ERR_USER_REMOVE_FAILED}},
513 {ERR_APPEXECFWK_USER_NOT_INSTALL_HAP,
514 {IStatusReceiver::ERR_USER_NOT_INSTALL_HAP, MSG_ERR_USER_NOT_INSTALL_HAP}},
515 {ERR_APPEXECFWK_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME,
516 {IStatusReceiver::ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME, MSG_ERR_INSTALL_NOT_UNIQUE_DISTRO_MODULE_NAME}},
517 {ERR_APPEXECFWK_INSTALL_INCONSISTENT_MODULE_NAME,
518 {IStatusReceiver::ERR_INSTALL_INCONSISTENT_MODULE_NAME, MSG_ERR_INSTALL_INCONSISTENT_MODULE_NAME}},
519 {ERR_APPEXECFWK_INSTALL_SINGLETON_INCOMPATIBLE,
520 {IStatusReceiver::ERR_INSTALL_SINGLETON_INCOMPATIBLE, MSG_ERR_INSTALL_SINGLETON_INCOMPATIBLE}},
521 {ERR_BUNDLE_MANAGER_APP_CONTROL_DISALLOWED_INSTALL,
522 {IStatusReceiver::ERR_INSTALL_DISALLOWED, MSG_ERR_INSTALL_DISALLOWED}},
523 {ERR_BUNDLE_MANAGER_APP_CONTROL_DISALLOWED_UNINSTALL,
524 {IStatusReceiver::ERR_UNINSTALL_DISALLOWED, MSG_ERR_UNINSTALL_DISALLOWED}},
525 {ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_NOT_EXIST,
526 {IStatusReceiver::ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_NOT_EXIST,
527 MSG_ERR_UNINSTALL_SHARE_APP_LIBRARY_NOT_EXIST}},
528 {ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED,
529 {IStatusReceiver::ERR_APPEXECFWK_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED,
530 MSG_ERR_UNINSTALL_SHARE_APP_LIBRARY_IS_RELIED}},
531 {ERR_APPEXECFWK_UNINSTALL_BUNDLE_IS_SHARED_LIBRARY,
532 {IStatusReceiver::ERR_APPEXECFWK_UNINSTALL_BUNDLE_IS_SHARED_LIBRARY,
533 MSG_ERR_UNINSTALL_BUNDLE_IS_SHAED_LIBRARY}},
534 {ERR_APPEXECFWK_INSTALL_DEVICE_TYPE_NOT_SUPPORTED,
535 {IStatusReceiver::ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED, MSG_ERR_INSTALL_DEVICE_TYPE_NOT_SUPPORTED}},
536 {ERR_APPEXECFWK_INSTALL_SYSCAP_FAILED_AND_DEVICE_TYPE_ERROR,
537 {IStatusReceiver::ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED,
538 MSG_ERR_INSTALL_CHECK_SYSCAP_FAILED_AND_DEVICE_TYPE_NOT_SUPPORTED}},
539 {ERR_APPEXECFWK_INSTALL_DEPENDENT_MODULE_NOT_EXIST,
540 {IStatusReceiver::ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST, MSG_ERR_INSTALL_DEPENDENT_MODULE_NOT_EXIST}},
541 {ERR_APPEXECFWK_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED,
542 {IStatusReceiver::ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED, MSG_ERR_INSTALL_SHARE_APP_LIBRARY_NOT_ALLOWED}},
543 {ERR_APPEXECFWK_INSTALL_COMPATIBLE_POLICY_NOT_SAME,
544 {IStatusReceiver::ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME, MSG_ERR_INSTALL_COMPATIBLE_POLICY_NOT_SAME}},
545 {ERR_APPEXECFWK_INSTALL_FILE_IS_SHARED_LIBRARY,
546 {IStatusReceiver::ERR_INSTALL_FILE_IS_SHARED_LIBRARY, MSG_ERR_INSTALL_FILE_IS_SHARED_LIBRARY}},
547 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR,
548 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR,
549 MSG_ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_ERROR}},
550 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME,
551 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME,
552 MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_NAME}},
553 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME,
554 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME,
555 MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_MODULE_NAME}},
556 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE,
557 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE,
558 MSG_ERR_OVERLAY_INSTALLATION_FAILED_ERROR_HAP_TYPE}},
559 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE,
560 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE,
561 MSG_ERR_OVERLAY_INSTALLATION_FAILED_ERROR_BUNDLE_TYPE}},
562 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED,
563 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED,
564 MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_MISSED}},
565 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED,
566 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED,
567 MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_NAME_MISSED}},
568 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME,
569 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME,
570 MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_NAME_NOT_SAME}},
571 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY,
572 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY,
573 MSG_ERR_OVERLAY_INSTALLATION_FAILED_INTERNAL_EXTERNAL_OVERLAY_EXISTED_SIMULTANEOUSLY}},
574 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME,
575 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME,
576 MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_PRIORITY_NOT_SAME}},
577 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY,
578 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY,
579 MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_PRIORITY}},
580 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE,
581 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE,
582 MSG_ERR_OVERLAY_INSTALLATION_FAILED_INCONSISTENT_VERSION_CODE}},
583 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION,
584 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION,
585 MSG_ERR_OVERLAY_INSTALLATION_FAILED_SERVICE_EXCEPTION}},
586 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME,
587 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME,
588 MSG_ERR_OVERLAY_INSTALLATION_FAILED_BUNDLE_NAME_SAME_WITH_TARGET_BUNDLE_NAME}},
589 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY,
590 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY,
591 MSG_ERR_OVERLAY_INSTALLATION_FAILED_NO_SYSTEM_APPLICATION_FOR_EXTERNAL_OVERLAY}},
592 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE,
593 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE,
594 MSG_ERR_OVERLAY_INSTALLATION_FAILED_DIFFERENT_SIGNATURE_CERTIFICATE}},
595 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE,
596 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE,
597 MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_BUNDLE_IS_OVERLAY_BUNDLE}},
598 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE,
599 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE,
600 MSG_ERR_OVERLAY_INSTALLATION_FAILED_TARGET_MODULE_IS_OVERLAY_MODULE}},
601 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME,
602 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME,
603 MSG_ERR_OVERLAY_INSTALLATION_FAILED_OVERLAY_TYPE_NOT_SAME}},
604 {ERR_BUNDLEMANAGER_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR,
605 {IStatusReceiver::ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR,
606 MSG_ERR_OVERLAY_INSTALLATION_FAILED_INVALID_BUNDLE_DIR}},
607 {ERR_APPEXECFWK_INSTALL_CHECK_PROXY_DATA_URI_FAILED,
608 {IStatusReceiver::ERR_INSATLL_CHECK_PROXY_DATA_URI_FAILED,
609 MSG_ERR_INSTALL_PROXY_DATA_URI_WRONG}},
610 {ERR_APPEXECFWK_INSTALL_CHECK_PROXY_DATA_PERMISSION_FAILED,
611 {IStatusReceiver::ERR_INSATLL_CHECK_PROXY_DATA_PERMISSION_FAILED,
612 MSG_ERR_INSTALL_PROXY_DATA_PERMISSION_WRONG}},
613 {ERR_APPEXECFWK_INSTALL_DEBUG_NOT_SAME,
614 {IStatusReceiver::ERR_INSTALL_FAILED_DEBUG_NOT_SAME, MSG_ERR_APPEXECFWK_INSTALL_DEBUG_NOT_SAME}},
615 {ERR_APPEXECFWK_INSTALL_ISOLATION_MODE_FAILED,
616 {IStatusReceiver::ERR_INSTALL_ISOLATION_MODE_FAILED, MSG_ERR_INSTALL_ISOLATION_MODE_FAILED}},
617 {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_FAILED,
618 {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FAILED, MSG_ERR_INSTALL_CODE_SIGNATURE_FAILED}},
619 {ERR_BUNDLEMANAGER_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID,
620 {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID, MSG_ERR_INSTALL_CODE_SIGNATURE_FILE_IS_INVALID}},
621 {ERR_BUNDLE_MANAGER_UNINSTALL_FROM_BMS_EXTENSION_FAILED,
622 {IStatusReceiver::ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED, MSG_ERR_UNINSTALL_FROM_BMS_EXTENSION_FAILED}},
623 {ERR_APPEXECFWK_INSTALL_SELF_UPDATE_NOT_MDM,
624 {IStatusReceiver::ERR_INSTALL_SELF_UPDATE_NOT_MDM, MSG_ERR_INSTALL_SELF_UPDATE_NOT_MDM}},
625 {ERR_APPEXECFWK_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME,
626 {IStatusReceiver::ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME,
627 MSG_ERR_INSTALL_SELF_UPDATE_BUNDLENAME_NOT_SAME}},
628 {ERR_APPEXECFWK_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED,
629 {IStatusReceiver::ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED,
630 MSG_ERR_INSTALL_ENTERPRISE_BUNDLE_NOT_ALLOWED}},
631 {ERR_APPEXECFWK_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED,
632 {IStatusReceiver::ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED,
633 MSG_ERR_INSTALL_EXISTED_ENTERPRISE_BUNDLE_NOT_ALLOWED}},
634 {ERR_APPEXECFWK_INSTALLD_COPY_FILE_FAILED,
635 {IStatusReceiver::ERR_INSTALLD_COPY_FILE_FAILED, MSG_ERR_INSTALLD_COPY_FILE_FAILED}},
636 {ERR_APPEXECFWK_INSTALL_GWP_ASAN_ENABLED_NOT_SAME,
637 {IStatusReceiver::ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME, MSG_ERR_INSTALL_GWP_ASAN_ENABLED_NOT_SAME}},
638 {ERR_APPEXECFWK_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED,
639 {IStatusReceiver::ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED,
640 MSG_ERR_INSTALL_DEBUG_BUNDLE_NOT_ALLOWED}},
641 {ERR_APPEXECFWK_INSTALL_CHECK_ENCRYPTION_FAILED,
642 {IStatusReceiver::ERR_INSTALL_CHECK_ENCRYPTION_FAILED, MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED}},
643 {ERR_APPEXECFWK_INSTALL_ENCRYPTION_EXTRACTOR_INIT_FAILED,
644 {IStatusReceiver::ERR_INSTALL_CHECK_ENCRYPTION_FAILED, MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED}},
645 {ERR_APPEXECFWK_INSTALL_ENCRYPTION_OBTAIN_SO_FAILED,
646 {IStatusReceiver::ERR_INSTALL_CHECK_ENCRYPTION_FAILED, MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED}},
647 {ERR_APPEXECFWK_INSTALL_ENCRYPTION_DLL_ERROR,
648 {IStatusReceiver::ERR_INSTALL_CHECK_ENCRYPTION_FAILED, MSG_ERR_INSTALL_CHECK_ENCRYPTION_FAILED}},
649 {ERR_BUNDLE_MANAGER_CODE_SIGNATURE_DELIVERY_FILE_FAILED,
650 {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED,
651 MSG_ERR_INSTALL_CODE_SIGNATURE_DELIVERY_FILE_FAILED}},
652 {ERR_BUNDLE_MANAGER_CODE_SIGNATURE_REMOVE_FILE_FAILED,
653 {IStatusReceiver::ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED,
654 MSG_ERR_INSTALL_CODE_SIGNATURE_REMOVE_FILE_FAILED}},
655 {ERR_APPEXECFWK_INSTALL_FAILED_CONTROLLED,
656 {IStatusReceiver::ERR_INSTALL_CODE_APP_CONTROLLED_FAILED,
657 MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
658 {ERR_APPEXECFWK_INSTALL_APP_IN_BLOCKLIST,
659 {IStatusReceiver::ERR_INSTALL_CODE_APP_CONTROLLED_FAILED,
660 MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
661 {ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER,
662 {IStatusReceiver::ERR_APPEXECFWK_INSTALL_FORCE_UNINSTALLED_BUNDLE_NOT_ALLOW_RECOVER,
663 MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
664 {ERR_APPEXECFWK_INSTALL_PREINSTALL_BUNDLE_ONLY_ALLOW_FORCE_UNINSTALLED_BY_EDC,
665 {IStatusReceiver::ERR_APPEXECFWK_INSTALL_PREINSTALL_BUNDLE_ONLY_ALLOW_FORCE_UNINSTALLED_BY_EDC,
666 MSG_ERR_INSTALL_CODE_APP_CONTROLLED_FAILED}},
667 {ERR_APPEXECFWK_UNINSTALL_CONTROLLED,
668 {IStatusReceiver::ERR_UNINSTALL_CONTROLLED,
669 MSG_ERR_UNINSTALL_CONTROLLED}},
670 // debug encrypted bundle not allowed to install, errCode
671 {ERR_APPEXECFWK_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED,
672 {IStatusReceiver::ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED, MSG_ERR_INSTALL_DEBUG_ENCRYPTED_BUNDLE_FAILED}},
673 {ERR_APPEXECFWK_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL,
674 {IStatusReceiver::ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL,
675 MSG_ERR_INSTALL_RELEASE_BUNDLE_NOT_ALLOWED_FOR_SHELL}},
676 {ERR_APPEXECFWK_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL,
677 {IStatusReceiver::ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL,
678 MSG_ERR_INSTALL_ENCRYPTED_BUNDLE_NOT_ALLOWED_FOR_SHELL}},
679 {ERR_APPEXECFWK_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED,
680 {IStatusReceiver::ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED,
681 MSG_ERR_INSTALL_APPID_NOT_SAME_WITH_PREINSTALLED}},
682 {ERR_APPEXECFWK_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE,
683 {IStatusReceiver::ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE,
684 MSG_ERR_INSTALL_BUNDLE_NOT_ALLOWED_FOR_SHELL_IN_OOBE}},
685 {ERR_APPEXECFWK_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL,
686 {IStatusReceiver::ERR_APPEXECFWK_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL,
687 MSG_ERR_INSTALL_OS_INTEGRATION_BUNDLE_NOT_ALLOWED_FOR_SHELL}},
688 {ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL,
689 {IStatusReceiver::ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL_ISR,
690 MSG_ERR_APP_DISTRIBUTION_TYPE_NOT_ALLOW_INSTALL}},
691 {ERR_APPEXECFWK_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED,
692 {IStatusReceiver::ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED,
693 MSG_ERR_INSTALL_FAILED_AND_RESTORE_TO_PREINSTALLED}},
694 };
695 } // namespace
696
StatusReceiverProxy(const sptr<IRemoteObject> & object)697 StatusReceiverProxy::StatusReceiverProxy(const sptr<IRemoteObject> &object) : IRemoteProxy<IStatusReceiver>(object)
698 {
699 APP_LOGD("create status receiver proxy instance");
700 }
701
~StatusReceiverProxy()702 StatusReceiverProxy::~StatusReceiverProxy()
703 {
704 APP_LOGD("destroy status receiver proxy instance");
705 }
706
OnStatusNotify(const int32_t progress)707 void StatusReceiverProxy::OnStatusNotify(const int32_t progress)
708 {
709 APP_LOGI("service status %{public}d", progress);
710
711 MessageParcel data;
712 MessageParcel reply;
713 MessageOption option(MessageOption::TF_SYNC);
714 if (!data.WriteInterfaceToken(StatusReceiverProxy::GetDescriptor())) {
715 APP_LOGE("fail to OnStatusNotify due to write MessageParcel fail");
716 return;
717 }
718
719 if (!data.WriteInt32(progress)) {
720 APP_LOGE("fail to call OnStatusNotify, for write progress failed");
721 return;
722 }
723
724 sptr<IRemoteObject> remote = Remote();
725 if (remote == nullptr) {
726 APP_LOGE("fail to call OnStatusNotify, for Remote() is nullptr");
727 return;
728 }
729
730 int32_t ret =
731 remote->SendRequest(static_cast<int32_t>(StatusReceiverInterfaceCode::ON_STATUS_NOTIFY), data, reply, option);
732 if (ret != NO_ERROR) {
733 APP_LOGE("fail call OnStatusNotify, for transact failed, error code %{public}d", ret);
734 }
735 }
736
OnFinished(const int32_t resultCode,const std::string & resultMsg)737 void StatusReceiverProxy::OnFinished(const int32_t resultCode, const std::string &resultMsg)
738 {
739 APP_LOGI("service result %{public}d, %{public}s", resultCode, resultMsg.c_str());
740 // transform service error code to client error code.
741 TransformResult(resultCode);
742 if (!resultMsg.empty()) {
743 resultMsg_ = resultMsg;
744 }
745 CloseStreamInstaller(streamInstallerId_);
746 MessageParcel data;
747 MessageParcel reply;
748 MessageOption option(MessageOption::TF_SYNC);
749 if (!data.WriteInterfaceToken(StatusReceiverProxy::GetDescriptor())) {
750 APP_LOGE("fail to OnFinished due to write MessageParcel fail");
751 return;
752 }
753
754 if (!data.WriteInt32(resultCode_)) {
755 APP_LOGE("fail to call OnFinished, for write resultCode_ failed");
756 return;
757 }
758 if (!data.WriteString16(Str8ToStr16(resultMsg_))) {
759 APP_LOGE("fail to call OnFinished, for write resultMsg_ failed");
760 return;
761 }
762
763 sptr<IRemoteObject> remote = Remote();
764 if (remote == nullptr) {
765 APP_LOGE("fail to call OnFinished, for Remote() is nullptr");
766 return;
767 }
768
769 int32_t ret = remote->SendRequest(
770 static_cast<int32_t>(StatusReceiverInterfaceCode::ON_FINISHED), data, reply, option);
771 if (ret != NO_ERROR) {
772 APP_LOGE("fail call OnFinished, for transact failed, error code %{public}d", ret);
773 }
774 }
775
TransformResult(const int32_t resultCode)776 void StatusReceiverProxy::TransformResult(const int32_t resultCode)
777 {
778 auto result = MAP_RECEIVED_RESULTS.find(resultCode);
779 if (result != MAP_RECEIVED_RESULTS.end()) {
780 resultCode_ = result->second.clientCode;
781 resultMsg_ = result->second.clientMessage;
782 } else {
783 resultCode_ = ERR_UNKNOWN;
784 resultMsg_ = MSG_ERR_UNKNOWN;
785 }
786 APP_LOGD("result transformed is %{public}d, %{public}s", resultCode_, resultMsg_.c_str());
787 }
788
CloseStreamInstaller(uint32_t installerId)789 void StatusReceiverProxy::CloseStreamInstaller(uint32_t installerId)
790 {
791 if (installerId <= 0) {
792 APP_LOGE("invalid installer id: %{public}u", installerId);
793 return;
794 }
795 sptr<IBundleInstaller> bundleInstaller = DelayedSingleton<BundleMgrService>::GetInstance()->GetBundleInstaller();
796 if (bundleInstaller == nullptr) {
797 APP_LOGE("bundle install is nullptr");
798 return;
799 }
800 bundleInstaller->DestoryBundleStreamInstaller(installerId);
801 streamInstallerId_ = 0;
802 }
803
SetStreamInstallId(uint32_t installerId)804 void StatusReceiverProxy::SetStreamInstallId(uint32_t installerId)
805 {
806 streamInstallerId_ = installerId;
807 }
808 } // namespace AppExecFwk
809 } // namespace OHOS
810