diff --git a/frameworks/js/napi/BUILD.gn b/frameworks/js/napi/BUILD.gn index ca5ddeb1a132448b13ad9ff7701d03d8304e39c9..2fd852f4c0e09cc775cf828a43559e31fcd649c1 100644 --- a/frameworks/js/napi/BUILD.gn +++ b/frameworks/js/napi/BUILD.gn @@ -941,7 +941,6 @@ ohos_shared_library("live_form_extension") { external_deps = [ "ability_base:want", - "ability_runtime:ability_connect_callback_stub", "ability_runtime:ability_context_native", "ability_runtime:abilitykit_native", "ability_runtime:abilitykit_utils", @@ -950,7 +949,6 @@ ohos_shared_library("live_form_extension") { "ability_runtime:napi_common", "ability_runtime:runtime", "ability_runtime:ui_extension", - "access_token:libtokenid_sdk", "c_utils:utils", "eventhandler:libeventhandler", "hilog:libhilog", diff --git a/frameworks/js/napi/live_form_extension_context/js_live_form_extension_context.cpp b/frameworks/js/napi/live_form_extension_context/js_live_form_extension_context.cpp index 4068e16392d36085034aed75e4173720becf41c3..1bde84ba6ee47a912a66ed296b1890446358bb36 100644 --- a/frameworks/js/napi/live_form_extension_context/js_live_form_extension_context.cpp +++ b/frameworks/js/napi/live_form_extension_context/js_live_form_extension_context.cpp @@ -14,8 +14,7 @@ */ #include "js_live_form_extension_context.h" -#include "js_caller_complex.h" -#include "js_extension_context.h" +#include "js_ui_extension_context.h" #include "js_error_utils.h" #include "js_runtime.h" #include "js_runtime_utils.h" @@ -26,151 +25,12 @@ #include "form_constants.h" #include "form_errors.h" #include "form_mgr_errors.h" -#include "ipc_skeleton.h" -#include "tokenid_kit.h" namespace OHOS { namespace AbilityRuntime { using namespace OHOS::AppExecFwk; namespace { -constexpr int32_t INDEX_ZERO = 0; -constexpr int32_t INDEX_ONE = 1; -constexpr size_t ARGC_ONE = 1; constexpr size_t ARGC_TWO = 2; -constexpr int32_t CALLER_TIME_OUT = 10; // 10s -constexpr int32_t ERR_FAILED = -1; - -std::map, key_compare> g_connects; -std::mutex g_connectsMutex_; -int64_t g_serialNumber = 0; - -void GetConnectionInfo(AAFwk::Want &want, sptr &connection, int64_t connectId) -{ - HILOG_DEBUG("connection:%{public}d", static_cast(connectId)); - std::lock_guard lock(g_connectsMutex_); - auto item = std::find_if(g_connects.begin(), g_connects.end(), [connectId](const auto &obj) { - return connectId == obj.first.id; - }); - if (item != g_connects.end()) { - want = item->first.want; - connection = item->second; - } - return; -} - -void RemoveConnection(int64_t connectId) -{ - std::lock_guard lock(g_connectsMutex_); - auto item = std::find_if(g_connects.begin(), g_connects.end(), [connectId](const auto &obj) { - return connectId == obj.first.id; - }); - if (item != g_connects.end()) { - HILOG_DEBUG("ability exist"); - if (item->second) { - item->second->RemoveConnectionObject(); - } - g_connects.erase(item); - } else { - HILOG_DEBUG("ability not exist"); - } -} - -class StartAbilityByCallParameters { -public: - int err = ERR_OK; - sptr remoteCallee = nullptr; - std::shared_ptr callerCallBack = nullptr; - std::mutex mutexlock; - std::condition_variable condition; -}; - -void GenerateCallerCallBack(std::shared_ptr calls, - std::shared_ptr callerCallBack) -{ - if (calls == nullptr) { - HILOG_ERROR("null calls"); - return; - } - if (callerCallBack == nullptr) { - HILOG_ERROR("null callerCallBack"); - return; - } - auto callBackDone = [calldata = calls] (const sptr &obj) { - HILOG_DEBUG("callBackDone called start"); - std::unique_lock lock(calldata->mutexlock); - calldata->remoteCallee = obj; - calldata->condition.notify_all(); - }; - - auto releaseListen = [](const std::string &str) { - HILOG_DEBUG("releaseListen is called %{public}s", str.c_str()); - }; - - callerCallBack->SetCallBack(callBackDone); - callerCallBack->SetOnRelease(releaseListen); -} - -void StartAbilityByCallExecuteDone(std::shared_ptr calldata) -{ - if (calldata == nullptr) { - HILOG_ERROR("null calldata"); - return; - } - std::unique_lock lock(calldata->mutexlock); - if (calldata->remoteCallee != nullptr) { - HILOG_ERROR("not null callExecute callee"); - return; - } - - if (calldata->condition.wait_for(lock, std::chrono::seconds(CALLER_TIME_OUT)) == std::cv_status::timeout) { - HILOG_DEBUG("callExecute waiting callee timeout"); - calldata->err = ERR_FAILED; - } - HILOG_DEBUG("end"); -} - -void StartAbilityByCallComplete(napi_env env, NapiAsyncTask &task, - std::weak_ptr liveFormExtensionContext, - std::shared_ptr calldata, std::shared_ptr callerCallBack) -{ - HILOG_DEBUG("call"); - if (calldata == nullptr) { - HILOG_ERROR("null calldata"); - return; - } - if (calldata->err != ERR_OK) { - HILOG_ERROR("calldata err: %{public}d", calldata->err); - task.Reject(env, CreateJsError(env, static_cast(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR), - FormErrors::GetInstance().GetErrorMsgByExternalErrorCode(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR))); - auto context = liveFormExtensionContext.lock(); - if (context == nullptr || callerCallBack == nullptr) { - HILOG_ERROR("null context or callBack"); - return; - } - context->ClearFailedCallConnection(callerCallBack); - return; - } - auto context = liveFormExtensionContext.lock(); - if (context == nullptr || callerCallBack == nullptr || calldata->remoteCallee == nullptr) { - HILOG_ERROR("null callComplete params error %{public}s", - context == nullptr ? "context" : (calldata->remoteCallee == nullptr ? "remoteCallee" : "callerCallBack")); - task.Reject(env, CreateJsError(env, static_cast(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR), - FormErrors::GetInstance().GetErrorMsgByExternalErrorCode(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR))); - HILOG_DEBUG("callComplete end"); - return; - } - auto releaseCallAbilityFunc = [liveFormExtensionContext] ( - const std::shared_ptr &callback) -> ErrCode { - auto contextForRelease = liveFormExtensionContext.lock(); - if (contextForRelease == nullptr) { - HILOG_ERROR("null releaseCallAbilityFunction"); - return ERR_FAILED; - } - return contextForRelease->ReleaseCall(callback); - }; - task.Resolve(env, CreateJsCallerComplex(env, releaseCallAbilityFunc, calldata->remoteCallee, callerCallBack)); - HILOG_DEBUG("end"); -} } // namespace void JsLiveFormExtensionContext::Finalizer(napi_env env, void *data, void *hint) @@ -188,7 +48,7 @@ napi_value JsLiveFormExtensionContext::CreateJsLiveFormExtensionContext( abilityInfo = context->GetAbilityInfo(); } - napi_value objValue = CreateJsExtensionContext(env, context, abilityInfo); + napi_value objValue = JsUIExtensionContext::CreateJsUIExtensionContext(env, context); std::unique_ptr jsContext = std::make_unique(context); napi_status status = napi_wrap(env, objValue, jsContext.release(), Finalizer, nullptr, nullptr); if (status != napi_ok) { @@ -198,9 +58,6 @@ napi_value JsLiveFormExtensionContext::CreateJsLiveFormExtensionContext( const char *moduleName = "JsLiveFormExtensionContext"; BindNativeFunction(env, objValue, "setWindowBackgroundColor", moduleName, SetWindowBackgroundColor); BindNativeFunction(env, objValue, "startAbilityByLiveForm", moduleName, StartAbilityByLiveForm); - BindNativeFunction(env, objValue, "connectServiceExtensionAbility", moduleName, ConnectAbility); - BindNativeFunction(env, objValue, "disconnectServiceExtensionAbility", moduleName, DisconnectAbility); - BindNativeFunction(env, objValue, "startAbilityByCall", moduleName, StartAbilityByCall); return objValue; } @@ -217,24 +74,6 @@ napi_value JsLiveFormExtensionContext::StartAbilityByLiveForm(napi_env env, napi GET_NAPI_INFO_AND_CALL(env, info, JsLiveFormExtensionContext, OnStartAbilityByLiveForm); } -napi_value JsLiveFormExtensionContext::ConnectAbility(napi_env env, napi_callback_info info) -{ - HILOG_DEBUG("called"); - GET_NAPI_INFO_AND_CALL(env, info, JsLiveFormExtensionContext, OnConnectAbility); -} - -napi_value JsLiveFormExtensionContext::DisconnectAbility(napi_env env, napi_callback_info info) -{ - HILOG_DEBUG("called"); - GET_NAPI_INFO_AND_CALL(env, info, JsLiveFormExtensionContext, OnDisconnectAbility); -} - -napi_value JsLiveFormExtensionContext::StartAbilityByCall(napi_env env, napi_callback_info info) -{ - HILOG_DEBUG("called"); - GET_NAPI_INFO_AND_CALL(env, info, JsLiveFormExtensionContext, OnStartAbilityByCall); -} - napi_value JsLiveFormExtensionContext::OnSetWindowBackgroundColor(napi_env env, NapiCallbackInfo &info) { HILOG_DEBUG("called"); @@ -323,192 +162,5 @@ napi_value JsLiveFormExtensionContext::OnStartAbilityByLiveForm(napi_env env, Na return result; } - -napi_value JsLiveFormExtensionContext::OnConnectAbility(napi_env env, NapiCallbackInfo &info) -{ - HILOG_DEBUG("called"); - if (!CheckCallerIsSystemApp()) { - HILOG_ERROR("not system app"); - ThrowError(env, AbilityErrorCode::ERROR_CODE_NOT_SYSTEM_APP); - return CreateJsUndefined(env); - } - // Check params count - if (info.argc != ARGC_TWO) { - HILOG_ERROR("invalid argc"); - ThrowError(env, ERR_FORM_EXTERNAL_LIVE_OP_UNSUPPORTED); - return CreateJsUndefined(env); - } - // Unwrap want and connection - AAFwk::Want want; - sptr connection(new JSUIExtensionConnection(env)); - if (!AppExecFwk::UnwrapWant(env, info.argv[INDEX_ZERO], want) || - !CheckConnectionParam(env, info.argv[INDEX_ONE], connection, want)) { - ThrowError(env, ERR_FORM_EXTERNAL_LIVE_OP_UNSUPPORTED); - return CreateJsUndefined(env); - } - int64_t connectId = connection->GetConnectionId(); - NapiAsyncTask::CompleteCallback complete = - [weak = context_, want, connection, connectId](napi_env env, NapiAsyncTask &task, int32_t status) { - auto context = weak.lock(); - if (!context) { - HILOG_ERROR("null context"); - connection->CallJsFailed(ERR_FAILED); - task.Resolve(env, CreateJsUndefined(env)); - RemoveConnection(connectId); - return; - } - HILOG_DEBUG("ConnectAbility connection:%{public}d", static_cast(connectId)); - auto innerErrorCode = context->ConnectAbility(want, connection); - if (innerErrorCode != ERR_OK) { - connection->CallJsFailed(ERR_FAILED); - RemoveConnection(connectId); - } - task.Resolve(env, CreateJsUndefined(env)); - }; - napi_value result = nullptr; - NapiAsyncTask::ScheduleHighQos("JSUIExtensionContext::OnConnectAbility", - env, CreateAsyncTaskWithLastParam(env, nullptr, nullptr, std::move(complete), &result)); - return CreateJsValue(env, connectId); -} - -napi_value JsLiveFormExtensionContext::OnDisconnectAbility(napi_env env, NapiCallbackInfo &info) -{ - HILOG_DEBUG("called"); - if (!CheckCallerIsSystemApp()) { - HILOG_ERROR("not system app"); - ThrowError(env, AbilityErrorCode::ERROR_CODE_NOT_SYSTEM_APP); - return CreateJsUndefined(env); - } - if (info.argc != ARGC_ONE) { - HILOG_ERROR("invalid argc"); - ThrowError(env, ERR_FORM_EXTERNAL_LIVE_OP_UNSUPPORTED); - return CreateJsUndefined(env); - } - int64_t connectId = -1; - if (!AppExecFwk::UnwrapInt64FromJS2(env, info.argv[INDEX_ZERO], connectId)) { - ThrowError(env, ERR_FORM_EXTERNAL_LIVE_OP_UNSUPPORTED); - return CreateJsUndefined(env); - } - AAFwk::Want want; - sptr connection = nullptr; - GetConnectionInfo(want, connection, connectId); - // begin disconnect - NapiAsyncTask::CompleteCallback complete = - [weak = context_, want, connection](napi_env env, NapiAsyncTask &task, int32_t status) { - auto context = weak.lock(); - if (!context) { - HILOG_ERROR("null context"); - task.Reject(env, CreateJsError(env, static_cast(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR), - FormErrors::GetInstance().GetErrorMsgByExternalErrorCode(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR))); - return; - } - if (connection == nullptr) { - HILOG_ERROR("null connection"); - task.Reject(env, CreateJsError(env, static_cast(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR), - FormErrors::GetInstance().GetErrorMsgByExternalErrorCode(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR))); - return; - } - auto innerErrorCode = context->DisconnectAbility(want, connection); - if (innerErrorCode != ERR_OK) { - task.Reject(env, CreateJsError(env, static_cast(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR), - FormErrors::GetInstance().GetErrorMsgByExternalErrorCode(ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR))); - } else { - task.Resolve(env, CreateJsUndefined(env)); - } - }; - napi_value result = nullptr; - NapiAsyncTask::Schedule("JSLiveFormExtensionContext::OnDisconnectAbility", - env, CreateAsyncTaskWithLastParam(env, nullptr, nullptr, std::move(complete), &result)); - return result; -} - -napi_value JsLiveFormExtensionContext::OnStartAbilityByCall(napi_env env, NapiCallbackInfo &info) -{ - HILOG_INFO("called"); - if (!CheckCallerIsSystemApp()) { - HILOG_ERROR("not system app"); - ThrowError(env, AbilityErrorCode::ERROR_CODE_NOT_SYSTEM_APP); - return CreateJsUndefined(env); - } - // 1. Check params - if (info.argc != ARGC_ONE) { - HILOG_ERROR("invalid argc"); - ThrowError(env, ERR_FORM_EXTERNAL_LIVE_OP_UNSUPPORTED); - return CreateJsUndefined(env); - } - AAFwk::Want want; - if (!AppExecFwk::UnwrapWant(env, info.argv[INDEX_ZERO], want)) { - ThrowError(env, ERR_FORM_EXTERNAL_LIVE_OP_UNSUPPORTED); - return CreateJsUndefined(env); - } - - // 2. create CallBack function - std::shared_ptr calls = std::make_shared(); - auto callExecute = [calldata = calls] () { StartAbilityByCallExecuteDone(calldata); }; - auto callerCallBack = std::make_shared(); - GenerateCallerCallBack(calls, callerCallBack); - auto callComplete = [weak = context_, calldata = calls, callerCallBack] ( - napi_env env, NapiAsyncTask &task, int32_t status) { - StartAbilityByCallComplete(env, task, weak, calldata, callerCallBack); - }; - - // 3. StartAbilityByCall - napi_value retsult = nullptr; - auto context = context_.lock(); - if (context == nullptr) { - HILOG_ERROR("null context"); - ThrowError(env, ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR); - return CreateJsUndefined(env); - } - - auto ret = context->StartAbilityByCall(want, callerCallBack); - if (ret != ERR_OK) { - HILOG_ERROR("startAbility failed %{public}d", static_cast(ret)); - ThrowError(env, ERR_FORM_EXTERNAL_FUNCTIONAL_ERROR); - return CreateJsUndefined(env); - } - - if (calls->remoteCallee == nullptr) { - HILOG_ERROR("null remoteCallee"); - NapiAsyncTask::ScheduleHighQos("JsLiveFormExtensionContext::OnStartAbilityByCall", env, - CreateAsyncTaskWithLastParam(env, nullptr, std::move(callExecute), std::move(callComplete), &retsult)); - } else { - HILOG_DEBUG("promise return result execute"); - NapiAsyncTask::ScheduleHighQos("JsLiveFormExtensionContext::OnStartAbilityByCall", env, - CreateAsyncTaskWithLastParam(env, nullptr, nullptr, std::move(callComplete), &retsult)); - } - - HILOG_DEBUG("end"); - return retsult; -} - -bool JsLiveFormExtensionContext::CheckConnectionParam(napi_env env, napi_value value, - sptr &connection, AAFwk::Want &want) -{ - if (!CheckTypeForNapiValue(env, value, napi_object)) { - HILOG_ERROR("get connection object failed"); - return false; - } - connection->SetJsConnectionObject(value); - UIExtensionConnectionKey key; - key.id = g_serialNumber; - key.want = want; - connection->SetConnectionId(key.id); - std::lock_guard lock(g_connectsMutex_); - g_connects.emplace(key, connection); - if (g_serialNumber < INT32_MAX) { - g_serialNumber++; - } else { - g_serialNumber = 0; - } - HILOG_DEBUG("not find connection"); - return true; -} - -bool JsLiveFormExtensionContext::CheckCallerIsSystemApp() -{ - auto selfToken = IPCSkeleton::GetSelfTokenID(); - return Security::AccessToken::TokenIdKit::IsSystemAppByFullTokenID(selfToken); -} } // namespace AbilityRuntime } // namespace OHOS \ No newline at end of file diff --git a/frameworks/js/napi/live_form_extension_context/js_live_form_extension_context.h b/frameworks/js/napi/live_form_extension_context/js_live_form_extension_context.h index 4f19f5ea3aefa0ffe573e0d3488d6286bc114fbd..b56c6f86db8fd4c2d24b1a032dee8a8ba7d8e855 100644 --- a/frameworks/js/napi/live_form_extension_context/js_live_form_extension_context.h +++ b/frameworks/js/napi/live_form_extension_context/js_live_form_extension_context.h @@ -18,7 +18,6 @@ #include "native_engine/native_engine.h" #include "live_form_extension_context.h" -#include "js_ui_extension_context.h" namespace OHOS { namespace AbilityRuntime { @@ -40,28 +39,11 @@ public: static napi_value StartAbilityByLiveForm(napi_env env, napi_callback_info info); - static napi_value ConnectAbility(napi_env env, napi_callback_info info); - - static napi_value DisconnectAbility(napi_env env, napi_callback_info info); - - static napi_value StartAbilityByCall(napi_env env, napi_callback_info info); - private: napi_value OnSetWindowBackgroundColor(napi_env env, NapiCallbackInfo &info); napi_value OnStartAbilityByLiveForm(napi_env env, NapiCallbackInfo &info); - napi_value OnConnectAbility(napi_env env, NapiCallbackInfo &info); - - napi_value OnDisconnectAbility(napi_env env, NapiCallbackInfo &info); - - napi_value OnStartAbilityByCall(napi_env env, NapiCallbackInfo &info); - - bool CheckConnectionParam(napi_env env, napi_value value, - sptr &connection, AAFwk::Want &want); - - bool CheckCallerIsSystemApp(); - private: std::weak_ptr context_; }; diff --git a/frameworks/js/napi/live_form_extension_context/live_form_extension_context.cpp b/frameworks/js/napi/live_form_extension_context/live_form_extension_context.cpp index e818438759952ea92d90511f157693df2bb88378..49cf068b907c9e29b41486c154b4e2283ea4d4cb 100644 --- a/frameworks/js/napi/live_form_extension_context/live_form_extension_context.cpp +++ b/frameworks/js/napi/live_form_extension_context/live_form_extension_context.cpp @@ -14,7 +14,6 @@ */ #include "live_form_extension_context.h" -#include "connection_manager.h" #include "fms_log_wrapper.h" #include "form_errors.h" #include "form_constants.h" @@ -26,7 +25,6 @@ using namespace OHOS::AppExecFwk; const size_t LiveFormExtensionContext::CONTEXT_TYPE_ID(std::hash{}("LiveFormExtensionContext")); const std::string REQUEST_METHOD = "startAbilityByLiveForm"; const std::string TRANSPARENT_COLOR = "#00FFFFFF"; -constexpr int32_t DEFAULT_ACCOUNT_ID = -1; bool LiveFormExtensionContext::SetWindowBackgroundColor() { @@ -68,35 +66,5 @@ ErrCode LiveFormExtensionContext::StartAbilityByFms(const AAFwk::Want &want, con HILOG_INFO("StartAbilityByFms success"); return ERR_OK; } - -ErrCode LiveFormExtensionContext::StartAbilityByCall(const AAFwk::Want &want, - const std::shared_ptr &callback) -{ - HILOG_DEBUG("call"); - if (localCallContainer_ == nullptr) { - localCallContainer_ = std::make_shared(); - } - return localCallContainer_->StartAbilityByCallInner(want, callback, token_, DEFAULT_ACCOUNT_ID); -} - -ErrCode LiveFormExtensionContext::ReleaseCall(const std::shared_ptr &callback) -{ - HILOG_DEBUG("call"); - if (localCallContainer_ == nullptr) { - HILOG_ERROR("null localCallContainer_"); - return ERR_INVALID_VALUE; - } - return localCallContainer_->ReleaseCall(callback); -} - -void LiveFormExtensionContext::ClearFailedCallConnection(const std::shared_ptr &callback) -{ - HILOG_DEBUG("call"); - if (localCallContainer_ == nullptr) { - HILOG_ERROR("null localCallContainer_"); - return; - } - localCallContainer_->ClearFailedCallConnection(callback); -} } // namespace AbilityRuntime } // namespace OHOS \ No newline at end of file diff --git a/frameworks/js/napi/live_form_extension_context/live_form_extension_context.h b/frameworks/js/napi/live_form_extension_context/live_form_extension_context.h index 23ea0b1512d19a86e2830c66fb76eae7d40b3626..f327e4fce718e9cca488d1008586dc158155ad57 100644 --- a/frameworks/js/napi/live_form_extension_context/live_form_extension_context.h +++ b/frameworks/js/napi/live_form_extension_context/live_form_extension_context.h @@ -18,9 +18,6 @@ #include "ui_extension_context.h" -#include "caller_callback.h" -#include "local_call_container.h" - namespace OHOS { namespace AbilityRuntime { class LiveFormExtensionContext : public UIExtensionContext { @@ -34,20 +31,6 @@ public: bool SetWindowBackgroundColor(); ErrCode StartAbilityByFms(const AAFwk::Want &want, const std::string &formId); - - ErrCode StartAbilityByCall(const AAFwk::Want &want, const std::shared_ptr &callback); - - ErrCode ReleaseCall(const std::shared_ptr &callback); - - void ClearFailedCallConnection(const std::shared_ptr &callback); - - std::shared_ptr GetLocalCallContainer() - { - return localCallContainer_; - } - -private: - std::shared_ptr localCallContainer_ = nullptr; }; } // namespace AbilityRuntime } // namespace OHOS diff --git a/frameworks/js/napi/live_form_extension_context/live_form_extension_context.js b/frameworks/js/napi/live_form_extension_context/live_form_extension_context.js index d756582da55c6d87a374b06058c730be326186a0..8e24d0624dada34d8a6e76663494d1d9e6c5da25 100644 --- a/frameworks/js/napi/live_form_extension_context/live_form_extension_context.js +++ b/frameworks/js/napi/live_form_extension_context/live_form_extension_context.js @@ -12,14 +12,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -let Caller = requireNapi('application.Caller'); -let ExtensionContext = requireNapi('application.ExtensionContext'); + let hilog = requireNapi('hilog'); +let UIExtensionContext = requireNapi('application.UIExtensionContext'); const domainID = 0xD001301; const TAG = 'FormManagerService'; -export class LiveFormExtensionContext extends ExtensionContext { +export class LiveFormExtensionContext extends UIExtensionContext { formId = ''; constructor(obj) { super(obj); @@ -34,31 +34,4 @@ export class LiveFormExtensionContext extends ExtensionContext { hilog.sLogI(domainID, TAG, `startAbilityByLiveForm: ${JSON.stringify(want)}`); return this.__context_impl__.startAbilityByLiveForm(want, this.formId); } - - connectServiceExtensionAbility(want, options) { - hilog.sLogI(domainID, TAG, `connectServiceExtensionAbility: ${JSON.stringify(want)}`); - return this.__context_impl__.connectServiceExtensionAbility(want, options); - } - - disconnectServiceExtensionAbility(connection) { - hilog.sLogI(domainID, TAG, `disconnectServiceExtensionAbility: ${connection}`); - return this.__context_impl__.disconnectServiceExtensionAbility(connection); - } - - startAbilityByCall(want) { - hilog.sLogI(domainID, TAG, `startAbilityByCall: ${JSON.stringify(want)}`); - return new Promise(async (resolve, reject) => { - let callee = null; - try { - callee = await this.__context_impl__.startAbilityByCall(want); - } catch (error) { - hilog.sLogI(domainID, TAG, 'LiveFormExtensionContext::startAbilityByCall Obtain remoteObject failed'); - reject(error); - return; - } - - resolve(new Caller(callee)); - hilog.sLogI(domainID, TAG, 'LiveFormExtensionContext::startAbilityByCall success'); - }); - } } \ No newline at end of file