{
OHOS::AbilityMsClient::GetInstance().ForceStop(elementName->bundleName);
targetSliceIdFromJS_ = targetSliceId;
+ if (type != TransitionType::TRANSITION_INVALID) {
osal_atomic_dec(&transitionCount_);
+ }
+ FreeElement(elementName);
return;
}
+ FreeElement(elementName);
#endif
/*
调用StartSlice函数以启动新的指定的Slice。
if (strcmp(topAbility->bundleName, bundleName) == 0) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s is active", bundleName);
+ FreeElement(topAbility);
return;
}
+ FreeElement(topAbility);
// If the alarm notification is being processed, we need to disable the alarm notification first.
if (OHOS::NotificationManager::GetInstance()->GetNotifyPriority() == PRIORITY_TWO &&
OHOS::NotificationManager::GetInstance()->HasNotifyShowing()) {
if (strcmp(topAbility->bundleName, bundleName) != 0) {
WEARABLE_LOGE(HILOG_MODULE_AAFWK, "%s is not top active", bundleName);
+ FreeElement(topAbility);
return;
}
-
+ FreeElement(topAbility);
int token = 0;
OHOS::AbilityMsClient::GetInstance().TerminateAbility(token);
}
ElementName *elementName = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
if (!(elementName != nullptr && strcmp(elementName->bundleName, "com.huawei.launcher") != 0)) {
WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS is not on top, ignore report");
+ FreeElement(elementName);
return;
}
-
+ FreeElement(elementName);
if (msgId == BT_DISCONNECTED_TO_MSGCENTER) {
BaidumapSendMsgToJS("0", MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_DISCONNECTED);
} else if (msgId == BT_CONNECTED_TO_MSGCENTER) {
ElementName *elementName = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "OHOSFWK ATCMD Stop %s\n", elementName->bundleName);
OHOS::AbilityMsClient::GetInstance().ForceStop(elementName->bundleName);
-
+ FreeElement(elementName);
return ERRCODE_SUCC;
}
InstallParam installParam = { .installLocation = 1, .keepData = false };
OHOS::BundleMsClient::GetInstance().Uninstall(bundleName, &installParam, ReceiveCallback);
-
+ FreeElement(topAbility);
return ERRCODE_SUCC;
}
#include "audio_manager.h"
#include "bundlems_slite_client.h"
#include "abilityms_slite_client.h"
-
+#include "js_ability.h"
#define DELETE_NOT_NULL(pointer) \
- if (pointer != nullptr) \
- { \
+ if (pointer != nullptr) { \
delete pointer; \
pointer = nullptr; \
}
int AudioPlayer::GetSrcInnerPrefix(char *src, char *dest)
{
- int ret;
- ElementName* topAbility = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
- if (topAbility != nullptr) {
+ int ret = -1;
+ const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName();
+ if (bundleName != nullptr) {
BundleInfo bundleInfo;
- ret = BundleMsClient::GetInstance().GetBundleInfo(topAbility->bundleName, 0, &bundleInfo);
+ ret = BundleMsClient::GetInstance().GetBundleInfo(bundleName, 0, &bundleInfo);
if (ret == 0) {
- (void)sprintf_s(dest, MAX_PATH_LEN - 1, "%s/assets/entry/%s", bundleInfo.codePath, src);
- return 0;
+ int size = sprintf_s(dest, MAX_PATH_LEN - 1, "%s/assets/entry/%s", bundleInfo.codePath, src);
+ ret = (size < 0) ? -1 : 0;
} else {
MEDIA_ERR_LOG("failed to get bundleInfo!");
}
} else {
- MEDIA_ERR_LOG("failed to get top ability!");
+ MEDIA_ERR_LOG("failed to get jsapp's bundleName!");
}
- return -1;
+ return ret;
}
void AudioPlayer::StopUpdateTimeThread()
ace_free(src_);
src_ = nullptr;
}
- if (srcInner_ != nullptr && isSysSrc_ == false) {
+ if (srcInner_ != nullptr) {
ace_free(srcInner_);
srcInner_ = nullptr;
}
*/
void ClearElement(ElementName *element);
+void FreeElement(ElementName *element);
/**
* @brief Sets the device ID used to query {@link AbilityInfo}.
*
--- /dev/null
+【补丁名称】patch_602_1009_to_1014\r
+【基础版本】b602 + 0521 + 0626 + 7020 + 0812 + 0911 + 1009\r
+【修复问题】\r
+PLT合入内容\r
+ 1、解决yaffs文件系統异常\r
+OHOS合入内容\r
+ 1、解决内存泄露\r
+【修改影响】NA\r
+\r
+【使用方法】\r
+ 1、合入0521补丁\r
+ 2、合入0626补丁\r
+ 3、合入0720补丁\r
+ 4、合入0812补丁\r
+ 5、合入0911补丁\r
+ 6、合入1009补丁\r
+ 6、合入1014补丁\r
+\r
+【自测情况】\r
+ 自验证范围:\r
+ 全功能冒烟\r
+ 自验证target:\r
+ Native-js、target3 rc版本\r
+【是否合入版本】根据测试结果确定\r