mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-24 22:21:36 -04:00
@@ -23,7 +23,7 @@
|
||||
#include "js_dialog_session.h"
|
||||
#include "js_runtime_utils.h"
|
||||
#include "native_engine/native_engine.h"
|
||||
#include "dialog_session_record.h"
|
||||
#include "dialog_session_manager.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace AppExecFwk {
|
||||
|
||||
@@ -76,7 +76,7 @@ ohos_shared_library("ability_manager") {
|
||||
"${ability_runtime_services_path}/abilitymgr/src/acquire_share_data_callback_stub.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/auto_startup_info.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/caller_info.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/dialog_session_info.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/dialog_session/dialog_session_info.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/exit_reason.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/extension_running_info.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/insight_intent_execute_callback_proxy.cpp",
|
||||
|
||||
@@ -1035,7 +1035,7 @@ public:
|
||||
std::shared_ptr<OHOS::Media::PixelMap> pixelMap);
|
||||
|
||||
ErrCode GetDialogSessionInfo(const std::string dialogSessionId, sptr<DialogSessionInfo> &info);
|
||||
ErrCode SendDialogResult(const Want &want, const std::string dialogSessionId, bool isAllow);
|
||||
ErrCode SendDialogResult(const Want &want, const std::string &dialogSessionId, bool isAllow);
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
@@ -203,8 +203,7 @@ public:
|
||||
const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = DEFAULT_INVAL_VALUE,
|
||||
bool isSendDialogResult = false)
|
||||
int requestCode = DEFAULT_INVAL_VALUE)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -942,7 +941,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual int SendDialogResult(const Want &want, const std::string dialogSessionId, bool isAllow)
|
||||
virtual int SendDialogResult(const Want &want, const std::string &dialogSessionId, bool isAllow)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ config("abilityms_config") {
|
||||
"include/",
|
||||
"include/rdb/",
|
||||
"include/screen_lock/",
|
||||
"include/dialog_session/",
|
||||
"${ability_runtime_innerkits_path}/ability_manager/include",
|
||||
"${ability_runtime_services_path}/appdfr/include",
|
||||
"${ability_runtime_innerkits_path}/app_manager/include",
|
||||
|
||||
@@ -35,7 +35,7 @@ abilityms_files = [
|
||||
"src/data_ability_caller_recipient.cpp",
|
||||
"src/data_ability_manager.cpp",
|
||||
"src/data_ability_record.cpp",
|
||||
"src/dialog_session_record.cpp",
|
||||
"src/dialog_session/dialog_session_manager.cpp",
|
||||
"src/lifecycle_deal.cpp",
|
||||
"src/ability_running_info.cpp",
|
||||
"src/ecological_rule/ability_ecological_rule_mgr_service_param.cpp",
|
||||
|
||||
@@ -145,8 +145,7 @@ public:
|
||||
const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = DEFAULT_INVAL_VALUE,
|
||||
bool isSendDialogResult = false) override;
|
||||
int requestCode = DEFAULT_INVAL_VALUE) override;
|
||||
|
||||
/**
|
||||
* Starts a new ability using the original caller information.
|
||||
@@ -732,7 +731,7 @@ public:
|
||||
|
||||
virtual int GetDialogSessionInfo(const std::string dialogSessionId, sptr<DialogSessionInfo> &info) override;
|
||||
|
||||
virtual int SendDialogResult(const Want &want, const std::string dialogSessionId, bool isAllow) override;
|
||||
virtual int SendDialogResult(const Want &want, const std::string &dialogSessionId, bool isAllow) override;
|
||||
|
||||
virtual int RegisterAbilityFirstFrameStateObserver(const sptr<IAbilityFirstFrameStateObserver> &observer,
|
||||
const std::string &targetBundleName) override;
|
||||
|
||||
@@ -66,7 +66,6 @@
|
||||
#include "uri.h"
|
||||
#include "user_controller.h"
|
||||
#ifdef SUPPORT_GRAPHICS
|
||||
#include "dialog_session_record.h"
|
||||
#include "implicit_start_processor.h"
|
||||
#include "system_dialog_scheduler.h"
|
||||
#endif
|
||||
@@ -254,8 +253,7 @@ public:
|
||||
const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = DEFAULT_INVAL_VALUE,
|
||||
bool isSendDialogResult = false) override;
|
||||
int requestCode = DEFAULT_INVAL_VALUE) override;
|
||||
|
||||
/**
|
||||
* Starts a new ability using the original caller information.
|
||||
@@ -948,7 +946,6 @@ public:
|
||||
int requestCode,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
bool isStartAsCaller = false,
|
||||
bool isSendDialogResult = false,
|
||||
uint32_t specifyTokenId = 0,
|
||||
bool isForegroundToRestartApp = false,
|
||||
bool isImplicit = false);
|
||||
@@ -959,7 +956,6 @@ public:
|
||||
int requestCode,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
bool isStartAsCaller = false,
|
||||
bool isSendDialogResult = false,
|
||||
uint32_t specifyTokenId = 0,
|
||||
bool isForegroundToRestartApp = false,
|
||||
bool isImplicit = false);
|
||||
@@ -1032,7 +1028,6 @@ public:
|
||||
sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = DEFAULT_INVAL_VALUE,
|
||||
bool isSendDialogResult = false,
|
||||
bool isImplicit = false);
|
||||
|
||||
int ImplicitStartAbilityAsCaller(
|
||||
@@ -1040,8 +1035,7 @@ public:
|
||||
const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = DEFAULT_INVAL_VALUE,
|
||||
bool isSendDialogResult = false);
|
||||
int requestCode = DEFAULT_INVAL_VALUE);
|
||||
|
||||
void OnAcceptWantResponse(const AAFwk::Want &want, const std::string &flag, int32_t requestId = 0);
|
||||
void OnStartSpecifiedAbilityTimeoutResponse(const AAFwk::Want &want, int32_t requestId = 0);
|
||||
@@ -1130,12 +1124,7 @@ public:
|
||||
virtual int GetDialogSessionInfo(const std::string dialogSessionId,
|
||||
sptr<DialogSessionInfo> &dialogSessionInfo) override;
|
||||
|
||||
bool GenerateDialogSessionRecord(AbilityRequest &abilityRequest, int32_t userId,
|
||||
std::string &dialogSessionId, std::vector<DialogAppInfo> &dialogAppInfos, bool isSelector);
|
||||
|
||||
int CreateModalDialog(const Want &replaceWant, sptr<IRemoteObject> callerToken, std::string dialogSessionId);
|
||||
|
||||
virtual int SendDialogResult(const Want &want, const std::string dialogSessionId, bool isAllowed) override;
|
||||
virtual int SendDialogResult(const Want &want, const std::string &dialogSessionId, bool isAllowed) override;
|
||||
|
||||
virtual int RegisterAbilityFirstFrameStateObserver(const sptr<IAbilityFirstFrameStateObserver> &observer,
|
||||
const std::string &bundleName) override;
|
||||
@@ -2330,7 +2319,6 @@ private:
|
||||
void InitPrepareTerminateConfig();
|
||||
std::shared_ptr<ImplicitStartProcessor> implicitStartProcessor_;
|
||||
sptr<IWindowManagerServiceHandler> wmsHandler_;
|
||||
std::shared_ptr<DialogSessionRecord> dialogSessionRecord_;
|
||||
bool isAnimationEnabled_ = true; //only use on mission list
|
||||
#endif
|
||||
std::shared_ptr<AbilityInterceptorExecuter> interceptorExecuter_;
|
||||
|
||||
+25
-9
@@ -13,8 +13,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef OHOS_ABILITY_RUNTIME_DIALOG_SESSION_RECORD_H
|
||||
#define OHOS_ABILITY_RUNTIME_DIALOG_SESSION_RECORD_H
|
||||
#ifndef OHOS_ABILITY_RUNTIME_DIALOG_SESSION_MANAGEER_H
|
||||
#define OHOS_ABILITY_RUNTIME_DIALOG_SESSION_MANAGEER_H
|
||||
#include <list>
|
||||
#include <unordered_map>
|
||||
#include <string>
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "cpp/mutex.h"
|
||||
#include "dialog_session_info.h"
|
||||
#include "json_serializer.h"
|
||||
#include "nocopyable.h"
|
||||
#include "parcel.h"
|
||||
#include "refbase.h"
|
||||
#include "system_dialog_scheduler.h"
|
||||
@@ -37,17 +38,29 @@ struct DialogCallerInfo {
|
||||
bool isSelector = false;
|
||||
};
|
||||
|
||||
class DialogSessionRecord {
|
||||
class DialogSessionManager {
|
||||
public:
|
||||
std::string GenerateDialogSessionId();
|
||||
|
||||
void SetDialogSessionInfo(const std::string dialogSessionId, sptr<DialogSessionInfo> &dilogSessionInfo,
|
||||
std::shared_ptr<DialogCallerInfo> &dialogCallerInfo);
|
||||
static DialogSessionManager &GetInstance();
|
||||
~DialogSessionManager() = default;
|
||||
|
||||
sptr<DialogSessionInfo> GetDialogSessionInfo(const std::string dialogSessionId) const;
|
||||
|
||||
std::shared_ptr<DialogCallerInfo> GetDialogCallerInfo(const std::string dialogSessionId) const;
|
||||
|
||||
int SendDialogResult(const Want &want, const std::string &dialogSessionId, bool isAllowed);
|
||||
|
||||
int CreateJumpModalDialog(AbilityRequest &abilityRequest, int32_t userId, const Want &replaceWant);
|
||||
|
||||
int CreateSelectorModalDialog(AbilityRequest &abilityRequest, const Want &want, int32_t userId,
|
||||
std::vector<DialogAppInfo> &dialogAppInfos);
|
||||
|
||||
private:
|
||||
DialogSessionManager() = default;
|
||||
std::string GenerateDialogSessionId();
|
||||
|
||||
void SetDialogSessionInfo(const std::string dialogSessionId, sptr<DialogSessionInfo> &dilogSessionInfo,
|
||||
std::shared_ptr<DialogCallerInfo> &dialogCallerInfo);
|
||||
|
||||
void ClearDialogContext(const std::string dialogSessionId);
|
||||
|
||||
void ClearAllDialogContexts();
|
||||
@@ -55,11 +68,14 @@ public:
|
||||
bool GenerateDialogSessionRecord(AbilityRequest &abilityRequest, int32_t userId,
|
||||
std::string &dialogSessionId, std::vector<DialogAppInfo> &dialogAppInfos, bool isSelector);
|
||||
|
||||
private:
|
||||
int CreateModalDialogCommon(const Want &replaceWant, sptr<IRemoteObject> callerToken, std::string dialogSessionId);
|
||||
|
||||
mutable ffrt::mutex dialogSessionRecordLock_;
|
||||
std::unordered_map<std::string, sptr<DialogSessionInfo>> dialogSessionInfoMap_;
|
||||
std::unordered_map<std::string, std::shared_ptr<DialogCallerInfo>> dialogCallerInfoMap_;
|
||||
|
||||
DISALLOW_COPY_AND_MOVE(DialogSessionManager);
|
||||
};
|
||||
} // namespace AAFwk
|
||||
} // namespace OHOS
|
||||
#endif // OHOS_ABILITY_RUNTIME_DIALOG_SESSION_RECORD_H
|
||||
#endif // OHOS_ABILITY_RUNTIME_DIALOG_SESSION_MANAGEER_H
|
||||
@@ -62,9 +62,6 @@ public:
|
||||
|
||||
void ResetCallingIdentityAsCaller(int32_t tokenId);
|
||||
|
||||
int NotifyCreateModalDialog(AbilityRequest &abilityRequest, const Want &want, int32_t userId,
|
||||
std::vector<DialogAppInfo> &dialogAppInfos);
|
||||
|
||||
void SetUriReservedFlag(const bool flag);
|
||||
|
||||
void SetUriReservedBundle(const std::string bundleName);
|
||||
|
||||
@@ -1338,7 +1338,7 @@ ErrCode AbilityManagerClient::GetDialogSessionInfo(const std::string dialogSessi
|
||||
return abms->GetDialogSessionInfo(dialogSessionId, info);
|
||||
}
|
||||
|
||||
ErrCode AbilityManagerClient::SendDialogResult(const Want &want, const std::string dialogSessionId, const bool isAllow)
|
||||
ErrCode AbilityManagerClient::SendDialogResult(const Want &want, const std::string &dialogSessionId, const bool isAllow)
|
||||
{
|
||||
auto abms = GetAbilityManager();
|
||||
CHECK_POINTER_RETURN_NOT_CONNECTED(abms);
|
||||
|
||||
@@ -367,7 +367,7 @@ int AbilityManagerProxy::StartAbility(const Want &want, const StartOptions &star
|
||||
}
|
||||
|
||||
int AbilityManagerProxy::StartAbilityAsCaller(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult)
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode)
|
||||
{
|
||||
MessageParcel data;
|
||||
MessageParcel reply;
|
||||
@@ -390,7 +390,6 @@ int AbilityManagerProxy::StartAbilityAsCaller(const Want &want, const sptr<IRemo
|
||||
}
|
||||
PROXY_WRITE_PARCEL_AND_RETURN_IF_FAIL(data, Int32, userId);
|
||||
PROXY_WRITE_PARCEL_AND_RETURN_IF_FAIL(data, Int32, requestCode);
|
||||
PROXY_WRITE_PARCEL_AND_RETURN_IF_FAIL(data, Bool, isSendDialogResult);
|
||||
int error = SendRequest(AbilityManagerInterfaceCode::START_ABILITY_AS_CALLER_BY_TOKEN, data, reply, option);
|
||||
if (error != NO_ERROR) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "Send request error: %{public}d", error);
|
||||
@@ -3083,7 +3082,7 @@ int AbilityManagerProxy::GetDialogSessionInfo(const std::string dialogSessionId,
|
||||
return reply.ReadInt32();
|
||||
}
|
||||
|
||||
int AbilityManagerProxy::SendDialogResult(const Want &want, const std::string dialogSessionId, const bool isAllow)
|
||||
int AbilityManagerProxy::SendDialogResult(const Want &want, const std::string &dialogSessionId, const bool isAllow)
|
||||
{
|
||||
MessageParcel data;
|
||||
MessageParcel reply;
|
||||
|
||||
@@ -82,7 +82,6 @@
|
||||
#include "mock_session_manager_service.h"
|
||||
#include "modal_system_ui_extension.h"
|
||||
#include "os_account_manager_wrapper.h"
|
||||
#include "modal_system_ui_extension.h"
|
||||
#include "parameters.h"
|
||||
#include "permission_constants.h"
|
||||
#include "process_options.h"
|
||||
@@ -115,7 +114,7 @@
|
||||
#include "utils/extension_permissions_util.h"
|
||||
#include "utils/window_options_utils.h"
|
||||
#ifdef SUPPORT_GRAPHICS
|
||||
#include "dialog_session_record.h"
|
||||
#include "dialog_session_manager.h"
|
||||
#include "application_anr_listener.h"
|
||||
#include "input_manager.h"
|
||||
#include "ability_first_frame_state_observer_manager.h"
|
||||
@@ -401,9 +400,6 @@ bool AbilityManagerService::Init()
|
||||
InitDefaultRecoveryList();
|
||||
|
||||
abilityAutoStartupService_ = std::make_shared<AbilityRuntime::AbilityAutoStartupService>();
|
||||
#ifdef SUPPORT_SCREEN
|
||||
dialogSessionRecord_ = std::make_shared<DialogSessionRecord>();
|
||||
#endif // SUPPORT_SCREEN
|
||||
InitPushTask();
|
||||
AbilityCacheManager::GetInstance().Init(AppUtils::GetInstance().GetLimitMaximumExtensionsPerDevice(),
|
||||
AppUtils::GetInstance().GetLimitMaximumExtensionsPerProc());
|
||||
@@ -760,20 +756,20 @@ int AbilityManagerService::StartAbilityByUIContentSession(const Want &want, cons
|
||||
}
|
||||
|
||||
int AbilityManagerService::StartAbilityAsCaller(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult)
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode)
|
||||
{
|
||||
return StartAbilityAsCallerDetails(want, callerToken, asCallerSourceToken, userId, requestCode, isSendDialogResult);
|
||||
return StartAbilityAsCallerDetails(want, callerToken, asCallerSourceToken, userId, requestCode);
|
||||
}
|
||||
|
||||
int AbilityManagerService::ImplicitStartAbilityAsCaller(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult)
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode)
|
||||
{
|
||||
return StartAbilityAsCallerDetails(want, callerToken, asCallerSourceToken, userId,
|
||||
requestCode, isSendDialogResult, true);
|
||||
requestCode, true);
|
||||
}
|
||||
|
||||
int AbilityManagerService::StartAbilityAsCallerDetails(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult, bool isImplicit)
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isImplicit)
|
||||
{
|
||||
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
|
||||
CHECK_CALLER_IS_SYSTEM_APP;
|
||||
@@ -800,7 +796,7 @@ int AbilityManagerService::StartAbilityAsCallerDetails(const Want &want, const s
|
||||
callerPkg.c_str(), targetPkg.c_str());
|
||||
AbilityUtil::AddAbilityJumpRuleToBms(callerPkg, targetPkg, GetUserId());
|
||||
}
|
||||
int32_t ret = StartAbilityWrap(newWant, callerToken, requestCode, userId, true, isSendDialogResult,
|
||||
int32_t ret = StartAbilityWrap(newWant, callerToken, requestCode, userId, true,
|
||||
0, false, isImplicit);
|
||||
if (ret != ERR_OK) {
|
||||
eventInfo.errCode = ret;
|
||||
@@ -875,7 +871,7 @@ bool AbilityManagerService::StartAbilityInChain(StartAbilityParams ¶ms, int
|
||||
}
|
||||
|
||||
int AbilityManagerService::StartAbilityWrap(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
int requestCode, int32_t userId, bool isStartAsCaller, bool isSendDialogResult, uint32_t specifyToken,
|
||||
int requestCode, int32_t userId, bool isStartAsCaller, uint32_t specifyToken,
|
||||
bool isForegroundToRestartApp, bool isImplicit)
|
||||
{
|
||||
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
|
||||
@@ -892,7 +888,7 @@ int AbilityManagerService::StartAbilityWrap(const Want &want, const sptr<IRemote
|
||||
}
|
||||
|
||||
return StartAbilityInner(want, callerToken,
|
||||
requestCode, userId, isStartAsCaller, isSendDialogResult, specifyToken, isForegroundToRestartApp, isImplicit);
|
||||
requestCode, userId, isStartAsCaller, specifyToken, isForegroundToRestartApp, isImplicit);
|
||||
}
|
||||
|
||||
void AbilityManagerService::SetReserveInfo(const std::string &linkString)
|
||||
@@ -1005,7 +1001,7 @@ int AbilityManagerService::CheckCallPermission(const Want& want, const AppExecFw
|
||||
}
|
||||
|
||||
int AbilityManagerService::StartAbilityInner(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
int requestCode, int32_t userId, bool isStartAsCaller, bool isSendDialogResult, uint32_t specifyTokenId,
|
||||
int requestCode, int32_t userId, bool isStartAsCaller, uint32_t specifyTokenId,
|
||||
bool isForegroundToRestartApp, bool isImplicit)
|
||||
{
|
||||
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
|
||||
@@ -1037,9 +1033,10 @@ int AbilityManagerService::StartAbilityInner(const Want &want, const sptr<IRemot
|
||||
|
||||
AbilityUtil::RemoveWindowModeKey(const_cast<Want &>(want));
|
||||
std::string dialogSessionId = want.GetStringParam("dialogSessionId");
|
||||
isSendDialogResult = false;
|
||||
bool isSendDialogResult = false;
|
||||
#ifdef SUPPORT_SCREEN
|
||||
if (!dialogSessionId.empty() && dialogSessionRecord_->GetDialogCallerInfo(dialogSessionId) != nullptr) {
|
||||
if (!dialogSessionId.empty() &&
|
||||
DialogSessionManager::GetInstance().GetDialogCallerInfo(dialogSessionId) != nullptr) {
|
||||
isSendDialogResult = true;
|
||||
}
|
||||
#endif // SUPPORT_SCREEN
|
||||
@@ -1179,19 +1176,12 @@ int AbilityManagerService::StartAbilityInner(const Want &want, const sptr<IRemot
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "DoProcess failed or replaceWant not exist");
|
||||
return result;
|
||||
}
|
||||
#ifdef SUPPORT_SCREEN
|
||||
if (result != ERR_OK && isReplaceWantExist && !isSendDialogResult &&
|
||||
callerBundleName != BUNDLE_NAME_DIALOG) {
|
||||
std::string dialogSessionId;
|
||||
#ifdef SUPPORT_SCREEN
|
||||
std::vector<DialogAppInfo> dialogAppInfos(1);
|
||||
if (GenerateDialogSessionRecord(abilityRequest, GetUserId(), dialogSessionId, dialogAppInfos, false)) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create dialog by ui extension");
|
||||
return CreateModalDialog(newWant, callerToken, dialogSessionId);
|
||||
}
|
||||
#endif // SUPPORT_SCREEN
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "create dialog by ui extension failed");
|
||||
return INNER_ERR;
|
||||
return DialogSessionManager::GetInstance().CreateJumpModalDialog(abilityRequest, GetUserId(), newWant);
|
||||
}
|
||||
#endif // SUPPORT_SCREEN
|
||||
|
||||
if (!AbilityUtil::IsSystemDialogAbility(abilityInfo.bundleName, abilityInfo.name)) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "PreLoadAppDataAbilities:%{public}s.", abilityInfo.bundleName.c_str());
|
||||
@@ -1791,18 +1781,11 @@ int AbilityManagerService::StartAbilityForOptionInner(const Want &want, const St
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "DoProcess failed or replaceWant not exist");
|
||||
return result;
|
||||
}
|
||||
if (result != ERR_OK && isReplaceWantExist) {
|
||||
std::string dialogSessionId;
|
||||
#ifdef SUPPORT_SCREEN
|
||||
std::vector<DialogAppInfo> dialogAppInfos(1);
|
||||
if (GenerateDialogSessionRecord(abilityRequest, GetUserId(), dialogSessionId, dialogAppInfos, false)) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create dialog by ui extension");
|
||||
return CreateModalDialog(newWant, callerToken, dialogSessionId);
|
||||
}
|
||||
#endif // SUPPORT_GRAPHICS
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "create dialog by ui extension failed");
|
||||
return INNER_ERR;
|
||||
if (result != ERR_OK && isReplaceWantExist) {
|
||||
return DialogSessionManager::GetInstance().CreateJumpModalDialog(abilityRequest, GetUserId(), newWant);
|
||||
}
|
||||
#endif // SUPPORT_GRAPHICS
|
||||
abilityRequest.want.RemoveParam(SPECIFY_TOKEN_ID);
|
||||
if (specifyTokenId > 0) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "Set specifyTokenId, the specifyTokenId is %{public}d.", specifyTokenId);
|
||||
@@ -10209,8 +10192,7 @@ int AbilityManagerService::GetDialogSessionInfo(const std::string dialogSessionI
|
||||
sptr<DialogSessionInfo> &dialogSessionInfo)
|
||||
{
|
||||
CHECK_CALLER_IS_SYSTEM_APP;
|
||||
CHECK_POINTER_AND_RETURN(dialogSessionRecord_, ERR_INVALID_VALUE);
|
||||
dialogSessionInfo = dialogSessionRecord_->GetDialogSessionInfo(dialogSessionId);
|
||||
dialogSessionInfo = DialogSessionManager::GetInstance().GetDialogSessionInfo(dialogSessionId);
|
||||
if (dialogSessionInfo) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "success");
|
||||
return ERR_OK;
|
||||
@@ -10219,83 +10201,10 @@ int AbilityManagerService::GetDialogSessionInfo(const std::string dialogSessionI
|
||||
return INNER_ERR;
|
||||
}
|
||||
|
||||
bool AbilityManagerService::GenerateDialogSessionRecord(AbilityRequest &abilityRequest, int32_t userId,
|
||||
std::string &dialogSessionId, std::vector<DialogAppInfo> &dialogAppInfos, bool isSelector)
|
||||
{
|
||||
CHECK_POINTER_AND_RETURN(dialogSessionRecord_, ERR_INVALID_VALUE);
|
||||
if (!isSelector && dialogAppInfos.size() == 1) {
|
||||
dialogAppInfos.front().bundleName = abilityRequest.abilityInfo.bundleName;
|
||||
dialogAppInfos.front().moduleName = abilityRequest.abilityInfo.moduleName;
|
||||
dialogAppInfos.front().abilityName = abilityRequest.abilityInfo.name;
|
||||
dialogAppInfos.front().abilityIconId = abilityRequest.abilityInfo.iconId;
|
||||
dialogAppInfos.front().abilityLabelId = abilityRequest.abilityInfo.labelId;
|
||||
dialogAppInfos.front().bundleIconId = abilityRequest.abilityInfo.applicationInfo.iconId;
|
||||
dialogAppInfos.front().bundleLabelId = abilityRequest.abilityInfo.applicationInfo.labelId;
|
||||
}
|
||||
return dialogSessionRecord_->GenerateDialogSessionRecord(abilityRequest, userId,
|
||||
dialogSessionId, dialogAppInfos, isSelector);
|
||||
}
|
||||
|
||||
int AbilityManagerService::CreateModalDialog(const Want &replaceWant, sptr<IRemoteObject> callerToken,
|
||||
std::string dialogSessionId)
|
||||
{
|
||||
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
|
||||
(const_cast<Want &>(replaceWant)).SetParam("dialogSessionId", dialogSessionId);
|
||||
auto connection = std::make_shared<OHOS::Rosen::ModalSystemUiExtension>();
|
||||
if (callerToken == nullptr) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create modal ui extension for system");
|
||||
(const_cast<Want &>(replaceWant)).SetParam(UIEXTENSION_MODAL_TYPE, 1);
|
||||
return connection->CreateModalUIExtension(replaceWant) ? ERR_OK : INNER_ERR;
|
||||
}
|
||||
auto callerRecord = Token::GetAbilityRecordByToken(callerToken);
|
||||
if (!callerRecord) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "callerRecord is nullptr.");
|
||||
return ERR_INVALID_VALUE;
|
||||
}
|
||||
|
||||
sptr<IRemoteObject> token;
|
||||
int ret = IN_PROCESS_CALL(GetTopAbility(token));
|
||||
if (ret != ERR_OK || token == nullptr) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create modal ui extension for system");
|
||||
(const_cast<Want &>(replaceWant)).SetParam(UIEXTENSION_MODAL_TYPE, 1);
|
||||
return connection->CreateModalUIExtension(replaceWant) ? ERR_OK : INNER_ERR;
|
||||
}
|
||||
|
||||
if (callerRecord->GetAbilityInfo().type == AppExecFwk::AbilityType::PAGE && token == callerToken) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create modal ui extension for application");
|
||||
return callerRecord->CreateModalUIExtension(replaceWant);
|
||||
}
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create modal ui extension for system");
|
||||
(const_cast<Want &>(replaceWant)).SetParam(UIEXTENSION_MODAL_TYPE, 1);
|
||||
return connection->CreateModalUIExtension(replaceWant) ? ERR_OK : INNER_ERR;
|
||||
}
|
||||
|
||||
int AbilityManagerService::SendDialogResult(const Want &want, const std::string dialogSessionId, bool isAllowed)
|
||||
int AbilityManagerService::SendDialogResult(const Want &want, const std::string &dialogSessionId, bool isAllowed)
|
||||
{
|
||||
CHECK_CALLER_IS_SYSTEM_APP;
|
||||
CHECK_POINTER_AND_RETURN(dialogSessionRecord_, ERR_INVALID_VALUE);
|
||||
if (!isAllowed) {
|
||||
TAG_LOGI(AAFwkTag::ABILITYMGR, "user refuse to jump");
|
||||
dialogSessionRecord_->ClearDialogContext(dialogSessionId);
|
||||
return ERR_OK;
|
||||
}
|
||||
std::shared_ptr<DialogCallerInfo> dialogCallerInfo = dialogSessionRecord_->GetDialogCallerInfo(dialogSessionId);
|
||||
if (dialogCallerInfo == nullptr) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "dialog caller info is nullptr");
|
||||
dialogSessionRecord_->ClearDialogContext(dialogSessionId);
|
||||
return ERR_INVALID_VALUE;
|
||||
}
|
||||
auto targetWant = dialogCallerInfo->targetWant;
|
||||
targetWant.SetElement(want.GetElement());
|
||||
targetWant.SetParam("isSelector", dialogCallerInfo->isSelector);
|
||||
targetWant.SetParam("dialogSessionId", dialogSessionId);
|
||||
sptr<IRemoteObject> callerToken = dialogCallerInfo->callerToken;
|
||||
int ret = StartAbilityAsCaller(targetWant, callerToken, nullptr, dialogCallerInfo->userId,
|
||||
dialogCallerInfo->requestCode, true);
|
||||
if (ret == ERR_OK) {
|
||||
dialogSessionRecord_->ClearDialogContext(dialogSessionId);
|
||||
}
|
||||
return ret;
|
||||
return DialogSessionManager::GetInstance().SendDialogResult(want, dialogSessionId, isAllowed);
|
||||
}
|
||||
#endif // SUPPORT_SCREEN
|
||||
void AbilityManagerService::RemoveLauncherDeathRecipient(int32_t userId)
|
||||
@@ -11233,19 +11142,12 @@ int AbilityManagerService::StartUIAbilityByPreInstallInner(sptr<SessionInfo> ses
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "DoProcess failed or replaceWant not exist");
|
||||
return result;
|
||||
}
|
||||
#ifdef SUPPORT_SCREEN
|
||||
if (result != ERR_OK && isReplaceWantExist &&
|
||||
callerBundleName != BUNDLE_NAME_DIALOG) {
|
||||
std::string dialogSessionId;
|
||||
#ifdef SUPPORT_SCREEN
|
||||
std::vector<DialogAppInfo> dialogAppInfos(1);
|
||||
if (GenerateDialogSessionRecord(abilityRequest, GetUserId(), dialogSessionId, dialogAppInfos, false)) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create dialog by ui extension");
|
||||
return CreateModalDialog(newWant, callerToken, dialogSessionId);
|
||||
}
|
||||
#endif // SUPPORT_SCREEN
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "create dialog by ui extension failed");
|
||||
return INNER_ERR;
|
||||
return DialogSessionManager::GetInstance().CreateJumpModalDialog(abilityRequest, GetUserId(), newWant);
|
||||
}
|
||||
#endif // SUPPORT_SCREEN
|
||||
|
||||
if (abilityInfo.type == AppExecFwk::AbilityType::SERVICE ||
|
||||
abilityInfo.type == AppExecFwk::AbilityType::EXTENSION) {
|
||||
|
||||
@@ -1449,9 +1449,7 @@ int AbilityManagerStub::StartAbilityAsCallerByTokenInner(MessageParcel &data, Me
|
||||
}
|
||||
int32_t userId = data.ReadInt32();
|
||||
int requestCode = data.ReadInt32();
|
||||
bool isSendDialogResult = data.ReadBool();
|
||||
int32_t result = StartAbilityAsCaller(*want, callerToken, asCallerSourceToken, userId, requestCode,
|
||||
isSendDialogResult);
|
||||
int32_t result = StartAbilityAsCaller(*want, callerToken, asCallerSourceToken, userId, requestCode);
|
||||
reply.WriteInt32(result);
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
+121
-8
@@ -13,17 +13,19 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "dialog_session_record.h"
|
||||
#include "dialog_session_manager.h"
|
||||
|
||||
#include <random>
|
||||
#include <string>
|
||||
#include <chrono>
|
||||
#include "ability_manager_service.h"
|
||||
#include "ability_record.h"
|
||||
#include "ability_util.h"
|
||||
#include "hilog_tag_wrapper.h"
|
||||
#include "hilog_wrapper.h"
|
||||
#include "hitrace_meter.h"
|
||||
#include "int_wrapper.h"
|
||||
#include "modal_system_ui_extension.h"
|
||||
#include "parameters.h"
|
||||
#include "string_wrapper.h"
|
||||
#include "want_params_wrapper.h"
|
||||
@@ -31,7 +33,17 @@
|
||||
namespace OHOS {
|
||||
namespace AAFwk {
|
||||
using OHOS::AppExecFwk::BundleInfo;
|
||||
std::string DialogSessionRecord::GenerateDialogSessionId()
|
||||
namespace {
|
||||
constexpr const char* UIEXTENSION_MODAL_TYPE = "ability.want.params.modalType";
|
||||
}
|
||||
|
||||
DialogSessionManager &DialogSessionManager::GetInstance()
|
||||
{
|
||||
static DialogSessionManager instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
std::string DialogSessionManager::GenerateDialogSessionId()
|
||||
{
|
||||
auto timestamp = std::chrono::system_clock::now().time_since_epoch();
|
||||
auto time = std::chrono::duration_cast<std::chrono::seconds>(timestamp).count();
|
||||
@@ -51,7 +63,7 @@ std::string DialogSessionRecord::GenerateDialogSessionId()
|
||||
return dialogSessionId;
|
||||
}
|
||||
|
||||
void DialogSessionRecord::SetDialogSessionInfo(const std::string dialogSessionId,
|
||||
void DialogSessionManager::SetDialogSessionInfo(const std::string dialogSessionId,
|
||||
sptr<DialogSessionInfo> &dilogSessionInfo, std::shared_ptr<DialogCallerInfo> &dialogCallerInfo)
|
||||
{
|
||||
std::lock_guard<ffrt::mutex> guard(dialogSessionRecordLock_);
|
||||
@@ -59,7 +71,7 @@ void DialogSessionRecord::SetDialogSessionInfo(const std::string dialogSessionId
|
||||
dialogCallerInfoMap_[dialogSessionId] = dialogCallerInfo;
|
||||
}
|
||||
|
||||
sptr<DialogSessionInfo> DialogSessionRecord::GetDialogSessionInfo(const std::string dialogSessionId) const
|
||||
sptr<DialogSessionInfo> DialogSessionManager::GetDialogSessionInfo(const std::string dialogSessionId) const
|
||||
{
|
||||
std::lock_guard<ffrt::mutex> guard(dialogSessionRecordLock_);
|
||||
auto it = dialogSessionInfoMap_.find(dialogSessionId);
|
||||
@@ -70,7 +82,7 @@ sptr<DialogSessionInfo> DialogSessionRecord::GetDialogSessionInfo(const std::str
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::shared_ptr<DialogCallerInfo> DialogSessionRecord::GetDialogCallerInfo(const std::string dialogSessionId) const
|
||||
std::shared_ptr<DialogCallerInfo> DialogSessionManager::GetDialogCallerInfo(const std::string dialogSessionId) const
|
||||
{
|
||||
std::lock_guard<ffrt::mutex> guard(dialogSessionRecordLock_);
|
||||
auto it = dialogCallerInfoMap_.find(dialogSessionId);
|
||||
@@ -81,7 +93,7 @@ std::shared_ptr<DialogCallerInfo> DialogSessionRecord::GetDialogCallerInfo(const
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void DialogSessionRecord::ClearDialogContext(const std::string dialogSessionId)
|
||||
void DialogSessionManager::ClearDialogContext(const std::string dialogSessionId)
|
||||
{
|
||||
std::lock_guard<ffrt::mutex> guard(dialogSessionRecordLock_);
|
||||
auto it = dialogSessionInfoMap_.find(dialogSessionId);
|
||||
@@ -95,14 +107,14 @@ void DialogSessionRecord::ClearDialogContext(const std::string dialogSessionId)
|
||||
return;
|
||||
}
|
||||
|
||||
void DialogSessionRecord::ClearAllDialogContexts()
|
||||
void DialogSessionManager::ClearAllDialogContexts()
|
||||
{
|
||||
std::lock_guard<ffrt::mutex> guard(dialogSessionRecordLock_);
|
||||
dialogSessionInfoMap_.clear();
|
||||
dialogCallerInfoMap_.clear();
|
||||
}
|
||||
|
||||
bool DialogSessionRecord::GenerateDialogSessionRecord(AbilityRequest &abilityRequest, int32_t userId,
|
||||
bool DialogSessionManager::GenerateDialogSessionRecord(AbilityRequest &abilityRequest, int32_t userId,
|
||||
std::string &dialogSessionId, std::vector<DialogAppInfo> &dialogAppInfos, bool isSelector)
|
||||
{
|
||||
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
|
||||
@@ -149,5 +161,106 @@ bool DialogSessionRecord::GenerateDialogSessionRecord(AbilityRequest &abilityReq
|
||||
SetDialogSessionInfo(dialogSessionId, dialogSessionInfo, dialogCallerInfo);
|
||||
return true;
|
||||
}
|
||||
|
||||
int DialogSessionManager::SendDialogResult(const Want &want, const std::string &dialogSessionId, bool isAllowed)
|
||||
{
|
||||
if (!isAllowed) {
|
||||
TAG_LOGI(AAFwkTag::ABILITYMGR, "user refuse to jump");
|
||||
ClearDialogContext(dialogSessionId);
|
||||
return ERR_OK;
|
||||
}
|
||||
std::shared_ptr<DialogCallerInfo> dialogCallerInfo = GetDialogCallerInfo(dialogSessionId);
|
||||
if (dialogCallerInfo == nullptr) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "dialog caller info is nullptr");
|
||||
ClearDialogContext(dialogSessionId);
|
||||
return ERR_INVALID_VALUE;
|
||||
}
|
||||
auto targetWant = dialogCallerInfo->targetWant;
|
||||
targetWant.SetElement(want.GetElement());
|
||||
targetWant.SetParam("isSelector", dialogCallerInfo->isSelector);
|
||||
targetWant.SetParam("dialogSessionId", dialogSessionId);
|
||||
sptr<IRemoteObject> callerToken = dialogCallerInfo->callerToken;
|
||||
auto abilityMgr = DelayedSingleton<AbilityManagerService>::GetInstance();
|
||||
if (!abilityMgr) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "abilityMgr is nullptr.");
|
||||
return INNER_ERR;
|
||||
}
|
||||
int ret = abilityMgr->StartAbilityAsCaller(targetWant, callerToken, callerToken, dialogCallerInfo->userId,
|
||||
dialogCallerInfo->requestCode);
|
||||
if (ret == ERR_OK) {
|
||||
ClearDialogContext(dialogSessionId);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int DialogSessionManager::CreateJumpModalDialog(AbilityRequest &abilityRequest, int32_t userId,
|
||||
const Want &replaceWant)
|
||||
{
|
||||
std::string dialogSessionId;
|
||||
std::vector<DialogAppInfo> dialogAppInfos(1);
|
||||
dialogAppInfos.front().bundleName = abilityRequest.abilityInfo.bundleName;
|
||||
dialogAppInfos.front().moduleName = abilityRequest.abilityInfo.moduleName;
|
||||
dialogAppInfos.front().abilityName = abilityRequest.abilityInfo.name;
|
||||
dialogAppInfos.front().abilityIconId = abilityRequest.abilityInfo.iconId;
|
||||
dialogAppInfos.front().abilityLabelId = abilityRequest.abilityInfo.labelId;
|
||||
dialogAppInfos.front().bundleIconId = abilityRequest.abilityInfo.applicationInfo.iconId;
|
||||
dialogAppInfos.front().bundleLabelId = abilityRequest.abilityInfo.applicationInfo.labelId;
|
||||
if (!GenerateDialogSessionRecord(abilityRequest, userId, dialogSessionId, dialogAppInfos, false)) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "generate dialog session record failed");
|
||||
return INNER_ERR;
|
||||
}
|
||||
return CreateModalDialogCommon(replaceWant, abilityRequest.callerToken, dialogSessionId);
|
||||
}
|
||||
|
||||
int DialogSessionManager::CreateSelectorModalDialog(AbilityRequest &abilityRequest, const Want &want, int32_t userId,
|
||||
std::vector<DialogAppInfo> &dialogAppInfos)
|
||||
{
|
||||
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
|
||||
std::string dialogSessionId;
|
||||
if (!GenerateDialogSessionRecord(abilityRequest, userId, dialogSessionId, dialogAppInfos, true)) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "generate dialog session record failed");
|
||||
return INNER_ERR;
|
||||
}
|
||||
return CreateModalDialogCommon(want, abilityRequest.callerToken, dialogSessionId);
|
||||
}
|
||||
|
||||
int DialogSessionManager::CreateModalDialogCommon(const Want &replaceWant, sptr<IRemoteObject> callerToken,
|
||||
std::string dialogSessionId)
|
||||
{
|
||||
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
|
||||
(const_cast<Want &>(replaceWant)).SetParam("dialogSessionId", dialogSessionId);
|
||||
auto connection = std::make_shared<OHOS::Rosen::ModalSystemUiExtension>();
|
||||
if (callerToken == nullptr) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create modal ui extension for system");
|
||||
(const_cast<Want &>(replaceWant)).SetParam(UIEXTENSION_MODAL_TYPE, 1);
|
||||
return connection->CreateModalUIExtension(replaceWant) ? ERR_OK : INNER_ERR;
|
||||
}
|
||||
auto callerRecord = Token::GetAbilityRecordByToken(callerToken);
|
||||
if (!callerRecord) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "callerRecord is nullptr.");
|
||||
return ERR_INVALID_VALUE;
|
||||
}
|
||||
|
||||
sptr<IRemoteObject> token;
|
||||
auto abilityMgr = DelayedSingleton<AbilityManagerService>::GetInstance();
|
||||
if (!abilityMgr) {
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "abilityMgr is nullptr.");
|
||||
return INNER_ERR;
|
||||
}
|
||||
int ret = IN_PROCESS_CALL(abilityMgr->GetTopAbility(token));
|
||||
if (ret != ERR_OK || token == nullptr) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create modal ui extension for system");
|
||||
(const_cast<Want &>(replaceWant)).SetParam(UIEXTENSION_MODAL_TYPE, 1);
|
||||
return connection->CreateModalUIExtension(replaceWant) ? ERR_OK : INNER_ERR;
|
||||
}
|
||||
|
||||
if (callerRecord->GetAbilityInfo().type == AppExecFwk::AbilityType::PAGE && token == callerToken) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create modal ui extension for application");
|
||||
return callerRecord->CreateModalUIExtension(replaceWant);
|
||||
}
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create modal ui extension for system");
|
||||
(const_cast<Want &>(replaceWant)).SetParam(UIEXTENSION_MODAL_TYPE, 1);
|
||||
return connection->CreateModalUIExtension(replaceWant) ? ERR_OK : INNER_ERR;
|
||||
}
|
||||
} // namespace AAFwk
|
||||
} // namespace OHOS
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "app_gallery_enable_util.h"
|
||||
#include "app_utils.h"
|
||||
#include "default_app_interface.h"
|
||||
#include "dialog_session_manager.h"
|
||||
#include "errors.h"
|
||||
#include "ecological_rule/ability_ecological_rule_mgr_service.h"
|
||||
#include "event_report.h"
|
||||
@@ -138,7 +139,7 @@ int ImplicitStartProcessor::ImplicitStartAbility(AbilityRequest &request, int32_
|
||||
}
|
||||
if (want.GetBoolParam("isCreateAppGallerySelector", false)) {
|
||||
want.RemoveParam("isCreateAppGallerySelector");
|
||||
NotifyCreateModalDialog(request, want, userId, dialogAppInfos);
|
||||
DialogSessionManager::GetInstance().CreateSelectorModalDialog(request, want, userId, dialogAppInfos);
|
||||
return ERR_IMPLICIT_START_ABILITY_FAIL;
|
||||
}
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "implicit query ability infos failed, show tips dialog.");
|
||||
@@ -155,7 +156,7 @@ int ImplicitStartProcessor::ImplicitStartAbility(AbilityRequest &request, int32_
|
||||
}
|
||||
if (want.GetBoolParam("isCreateAppGallerySelector", false)) {
|
||||
want.RemoveParam("isCreateAppGallerySelector");
|
||||
NotifyCreateModalDialog(request, want, userId, dialogAppInfos);
|
||||
DialogSessionManager::GetInstance().CreateSelectorModalDialog(request, want, userId, dialogAppInfos);
|
||||
return ERR_IMPLICIT_START_ABILITY_FAIL;
|
||||
}
|
||||
std::vector<DialogAppInfo> dialogAllAppInfos;
|
||||
@@ -208,7 +209,7 @@ int ImplicitStartProcessor::ImplicitStartAbility(AbilityRequest &request, int32_
|
||||
}
|
||||
if (want.GetBoolParam("isCreateAppGallerySelector", false)) {
|
||||
want.RemoveParam("isCreateAppGallerySelector");
|
||||
return NotifyCreateModalDialog(request, want, userId, dialogAppInfos);
|
||||
return DialogSessionManager::GetInstance().CreateSelectorModalDialog(request, want, userId, dialogAppInfos);
|
||||
}
|
||||
ret = abilityMgr->ImplicitStartAbilityAsCaller(request.want, request.callerToken, nullptr);
|
||||
// reset calling indentity
|
||||
@@ -227,7 +228,7 @@ int ImplicitStartProcessor::ImplicitStartAbility(AbilityRequest &request, int32_
|
||||
}
|
||||
if (want.GetBoolParam("isCreateAppGallerySelector", false)) {
|
||||
want.RemoveParam("isCreateAppGallerySelector");
|
||||
return NotifyCreateModalDialog(request, want, userId, dialogAppInfos);
|
||||
return DialogSessionManager::GetInstance().CreateSelectorModalDialog(request, want, userId, dialogAppInfos);
|
||||
}
|
||||
ret = abilityMgr->ImplicitStartAbilityAsCaller(request.want, request.callerToken, nullptr);
|
||||
// reset calling indentity
|
||||
@@ -235,20 +236,6 @@ int ImplicitStartProcessor::ImplicitStartAbility(AbilityRequest &request, int32_
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ImplicitStartProcessor::NotifyCreateModalDialog(AbilityRequest &abilityRequest, const Want &want, int32_t userId,
|
||||
std::vector<DialogAppInfo> &dialogAppInfos)
|
||||
{
|
||||
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
|
||||
auto abilityMgr = DelayedSingleton<AbilityManagerService>::GetInstance();
|
||||
std::string dialogSessionId;
|
||||
if (abilityMgr->GenerateDialogSessionRecord(abilityRequest, userId, dialogSessionId, dialogAppInfos, true)) {
|
||||
TAG_LOGD(AAFwkTag::ABILITYMGR, "create dialog by ui extension");
|
||||
return abilityMgr->CreateModalDialog(want, abilityRequest.callerToken, dialogSessionId);
|
||||
}
|
||||
TAG_LOGE(AAFwkTag::ABILITYMGR, "create dialog by ui extension failed");
|
||||
return INNER_ERR;
|
||||
}
|
||||
|
||||
std::string ImplicitStartProcessor::MatchTypeAndUri(const AAFwk::Want &want)
|
||||
{
|
||||
std::string type = want.GetType();
|
||||
@@ -568,7 +555,7 @@ int32_t ImplicitStartProcessor::ImplicitStartAbilityInner(const Want &targetWant
|
||||
break;
|
||||
default:
|
||||
result = abilityMgr->StartAbilityWrap(
|
||||
targetWant, request.callerToken, request.requestCode, userId, false, false, 0, false, true);
|
||||
targetWant, request.callerToken, request.requestCode, userId, false, 0, false, true);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -347,7 +347,7 @@ int32_t AppMgrService::ClearUpApplicationData(const std::string &bundleName, int
|
||||
AAFwk::PermissionConstants::PERMISSION_CLEAN_APPLICATION_DATA);
|
||||
if (!isCallingPerm) {
|
||||
TAG_LOGE(AAFwkTag::APPMGR, "Permission verification failed");
|
||||
return ERR_PERMISSION_DENIED;
|
||||
return AAFwk::CHECK_PERMISSION_FAILED;
|
||||
}
|
||||
}
|
||||
pid_t pid = IPCSkeleton::GetCallingPid();
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ int MockServiceAbilityManagerService::StartAbility(
|
||||
|
||||
int MockServiceAbilityManagerService::StartAbilityAsCaller(
|
||||
const Want& want, const sptr<IRemoteObject>& callerToken, sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId, int requestCode, bool isSendDialogResult)
|
||||
int32_t userId, int requestCode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
+1
-2
@@ -55,8 +55,7 @@ public:
|
||||
const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = DEFAULT_INVAL_VALUE,
|
||||
bool isSendDialogResult = false) override;
|
||||
int requestCode = DEFAULT_INVAL_VALUE) override;
|
||||
int StartAbilityAsCaller(
|
||||
const Want& want,
|
||||
const StartOptions& startOptions,
|
||||
|
||||
+2
-2
@@ -147,8 +147,8 @@ public:
|
||||
MOCK_METHOD4(StartAbilityByCall,
|
||||
int(const Want&, const sptr<IAbilityConnection>&, const sptr<IRemoteObject>&, int32_t));
|
||||
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const StartOptions &startOptions,
|
||||
const sptr<IRemoteObject>& callerToken, sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId, int requestCode));
|
||||
|
||||
+4
-4
@@ -32,8 +32,8 @@ public:
|
||||
int requestCode = DEFAULT_INVAL_VALUE) override;
|
||||
MOCK_METHOD4(StartAbility, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD5(StartAbility, int(const Want& want, const AbilityStartSetting& abilityStartSetting,
|
||||
const sptr<IRemoteObject>& callerToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
@@ -214,8 +214,8 @@ public:
|
||||
int StartAbility(const Want& want, int32_t userId = DEFAULT_INVAL_VALUE, int requestCode = -1) override;
|
||||
MOCK_METHOD4(StartAbility, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD5(StartAbility, int(const Want& want, const AbilityStartSetting& abilityStartSetting,
|
||||
const sptr<IRemoteObject>& callerToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
|
||||
@@ -31,8 +31,8 @@ public:
|
||||
const sptr<IRemoteObject>& callerToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
uint64_t intentId, int32_t userId));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const StartOptions &startOptions,
|
||||
const sptr<IRemoteObject> &callerToken, sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId, int requestCode));
|
||||
|
||||
@@ -74,7 +74,7 @@ int MockAbilityManagerService::StartAbility(const Want& want, const sptr<IRemote
|
||||
}
|
||||
|
||||
int MockAbilityManagerService::StartAbilityAsCaller(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult)
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -53,8 +53,7 @@ public:
|
||||
const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = -1,
|
||||
bool isSendDialogResult = false) override;
|
||||
int requestCode = -1) override;
|
||||
int StartAbilityAsCaller(
|
||||
const Want& want,
|
||||
const StartOptions& startOptions,
|
||||
|
||||
@@ -55,7 +55,7 @@ int MockServiceAbilityManagerService::StartAbility(
|
||||
|
||||
int MockServiceAbilityManagerService::StartAbilityAsCaller(
|
||||
const Want& want, const sptr<IRemoteObject>& callerToken, sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId, int requestCode, bool isSendDialogResult)
|
||||
int32_t userId, int requestCode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -57,8 +57,7 @@ public:
|
||||
const sptr<IRemoteObject>& callerToken,
|
||||
const sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = DEFAULT_INVAL_VALUE,
|
||||
bool isSendDialogResult = false) override;
|
||||
int requestCode = DEFAULT_INVAL_VALUE) override;
|
||||
int StartAbilityAsCaller(
|
||||
const Want& want,
|
||||
const StartOptions& startOptions,
|
||||
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
|
||||
virtual int StartAbilityAsCaller(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
const sptr<IRemoteObject>& asCallerSourceToken, int32_t userId = DEFAULT_INVAL_VALUE,
|
||||
int requestCode = -1, bool isSendDialogResult = false) override
|
||||
int requestCode = -1) override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -32,8 +32,8 @@ public:
|
||||
|
||||
MOCK_METHOD2(StartAbility, int(const Want& want, int requestCode));
|
||||
MOCK_METHOD3(StartAbility, int(const Want& want, const sptr<IRemoteObject>& callerToken, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const StartOptions &startOptions,
|
||||
const sptr<IRemoteObject> &callerToken, sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId, int requestCode));
|
||||
|
||||
@@ -27,8 +27,8 @@ public:
|
||||
MOCK_METHOD3(StartAbility, int(const Want& want, int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbility, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const StartOptions &startOptions,
|
||||
const sptr<IRemoteObject> &callerToken, sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId, int requestCode));
|
||||
|
||||
@@ -141,7 +141,7 @@ ohos_source_set("abilityms_test_source") {
|
||||
"${ability_runtime_services_path}/abilitymgr/src/data_ability_caller_recipient.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/data_ability_manager.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/data_ability_record.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/dialog_session_record.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/dialog_session/dialog_session_manager.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/dlp_state_item.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/ecological_rule/ability_ecological_rule_mgr_service.cpp",
|
||||
"${ability_runtime_services_path}/abilitymgr/src/ecological_rule/ability_ecological_rule_mgr_service_param.cpp",
|
||||
|
||||
@@ -300,8 +300,8 @@ public:
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
uint64_t intentId, int32_t userId));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD2(
|
||||
GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken));
|
||||
MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo));
|
||||
|
||||
@@ -312,8 +312,8 @@ public:
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
uint64_t intentId, int32_t userId));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD2(
|
||||
GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken));
|
||||
MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo));
|
||||
|
||||
+5
-10
@@ -1717,9 +1717,8 @@ HWTEST_F(AbilityManagerServiceThirdTest, ImplicitStartAbilityAsCaller_001, TestS
|
||||
sptr<IRemoteObject> asCallerSourceToken;
|
||||
int32_t userId = 0;
|
||||
int requestCode = 0;
|
||||
bool isSendDialogResult = true;
|
||||
auto result = abilityMs->ImplicitStartAbilityAsCaller(want, callerToken, asCallerSourceToken, userId,
|
||||
requestCode, isSendDialogResult);
|
||||
requestCode);
|
||||
EXPECT_EQ(result, ERR_INVALID_VALUE);
|
||||
}
|
||||
|
||||
@@ -1736,10 +1735,9 @@ HWTEST_F(AbilityManagerServiceThirdTest, StartAbilityAsCallerDetails_001, TestSi
|
||||
sptr<IRemoteObject> asCallerSourceToken;
|
||||
int32_t userId = 0;
|
||||
int requestCode = 0;
|
||||
bool isSendDialogResult = true;
|
||||
bool isImplicit = true;
|
||||
auto result = abilityMs->StartAbilityAsCallerDetails(want, callerToken, asCallerSourceToken, userId,
|
||||
requestCode, isSendDialogResult, isImplicit);
|
||||
requestCode, isImplicit);
|
||||
EXPECT_EQ(result, ERR_INVALID_VALUE);
|
||||
}
|
||||
|
||||
@@ -1757,10 +1755,9 @@ HWTEST_F(AbilityManagerServiceThirdTest, StartAbilityAsCallerDetails_002, TestSi
|
||||
sptr<IRemoteObject> asCallerSourceToken;
|
||||
int32_t userId = 0;
|
||||
int requestCode = 0;
|
||||
bool isSendDialogResult = true;
|
||||
bool isImplicit = true;
|
||||
auto result = abilityMs->StartAbilityAsCallerDetails(want, callerToken, asCallerSourceToken, userId,
|
||||
requestCode, isSendDialogResult, isImplicit);
|
||||
requestCode, isImplicit);
|
||||
EXPECT_EQ(result, ERR_INVALID_CONTINUATION_FLAG);
|
||||
}
|
||||
|
||||
@@ -1777,10 +1774,9 @@ HWTEST_F(AbilityManagerServiceThirdTest, StartAbilityAsCallerDetails_003, TestSi
|
||||
sptr<IRemoteObject> asCallerSourceToken = new AbilityManagerStubTestMock();
|
||||
int32_t userId = 0;
|
||||
int requestCode = 0;
|
||||
bool isSendDialogResult = true;
|
||||
bool isImplicit = true;
|
||||
auto result = abilityMs->StartAbilityAsCallerDetails(want, callerToken, asCallerSourceToken, userId,
|
||||
requestCode, isSendDialogResult, isImplicit);
|
||||
requestCode, isImplicit);
|
||||
EXPECT_EQ(result, ERR_INVALID_VALUE);
|
||||
}
|
||||
|
||||
@@ -1840,12 +1836,11 @@ HWTEST_F(AbilityManagerServiceThirdTest, StartAbilityWrap_001, TestSize.Level1)
|
||||
int requestCode = 0;
|
||||
int32_t userId = 0;
|
||||
bool isStartAsCaller = true;
|
||||
bool isSendDialogResult = true;
|
||||
uint32_t specifyToken = 0;
|
||||
bool isForegroundToRestartApp = true;
|
||||
bool isImplicit = true;
|
||||
auto result = abilityMs->StartAbilityWrap(want, callerToken, requestCode, userId, isStartAsCaller,
|
||||
isSendDialogResult, specifyToken, isForegroundToRestartApp, isImplicit);
|
||||
specifyToken, isForegroundToRestartApp, isImplicit);
|
||||
EXPECT_EQ(result, ERR_INVALID_VALUE);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,8 +40,8 @@ public:
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
uint64_t intentId, int32_t userId));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD2(
|
||||
GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken));
|
||||
MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo));
|
||||
|
||||
@@ -305,8 +305,8 @@ public:
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
uint64_t intentId, int32_t userId));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD2(
|
||||
GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken));
|
||||
MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo));
|
||||
|
||||
@@ -276,8 +276,8 @@ public:
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
uint64_t intentId, int32_t userId));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD2(
|
||||
GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken));
|
||||
MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo));
|
||||
|
||||
@@ -108,8 +108,8 @@ public:
|
||||
const sptr<IRemoteObject>& callerToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
uint64_t intentId, int32_t userId));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const StartOptions &startOptions,
|
||||
const sptr<IRemoteObject> &callerToken, sptr<IRemoteObject> asCallerSourceToken,
|
||||
int32_t userId, int requestCode));
|
||||
|
||||
@@ -31,8 +31,8 @@ public:
|
||||
|
||||
MOCK_METHOD4(StartAbility, int(const Want& want, const sptr<IRemoteObject>& callerToken,
|
||||
int32_t userId, int requestCode));
|
||||
MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode, bool isSendDialogResult));
|
||||
MOCK_METHOD5(StartAbilityAsCaller, int(const Want &want, const sptr<IRemoteObject> &callerToken,
|
||||
sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
|
||||
MOCK_METHOD3(TerminateAbility, int(const sptr<IRemoteObject>& token, int resultCode, const Want* resultWant));
|
||||
MOCK_METHOD3(TerminateUIExtensionAbility, int(const sptr<SessionInfo> &extensionSessionInfo, int resultCode,
|
||||
const Want* resultWant));
|
||||
|
||||
Reference in New Issue
Block a user