uitest获取window信息接口追加

Signed-off-by: Mupceet <laiguizhong@huawei.com>
This commit is contained in:
Mupceet 2022-06-01 21:13:20 +08:00
parent 75948b34fa
commit d821167344
18 changed files with 165 additions and 76 deletions

View File

@ -71,6 +71,7 @@ ohos_unittest("accessible_ability_test") {
"//base/accessibility/services/aams/src/accessibility_dumper.cpp",
"//base/accessibility/services/aams/src/accessible_ability_manager_service.cpp",
"//base/accessibility/services/aams/src/accessible_ability_manager_service_event_handler.cpp",
"//base/accessibility/services/aams/src/json_utils.cpp",
"//base/accessibility/services/aams/test/mock/src/mock_accessibility_account_data.cpp",
"//base/accessibility/services/aams/test/mock/src/mock_accessibility_common_event.cpp",
"//base/accessibility/services/aams/test/mock/src/mock_accessibility_event_transmission.cpp",

View File

@ -30,16 +30,16 @@ void AccessibilityWindowInfo::SetWindowTitle(const std::string &title)
HILOG_DEBUG("windowTitle_[%{public}s]", windowTitle_.c_str());
}
WindowType AccessibilityWindowInfo::GetWindowType() const
AccessibilityWindowType AccessibilityWindowInfo::GetAccessibilityWindowType() const
{
HILOG_DEBUG("windowType_[%{public}d]", windowType_);
return windowType_;
HILOG_DEBUG("accessibilityWindowType_[%{public}d]", accessibilityWindowType_);
return accessibilityWindowType_;
}
void AccessibilityWindowInfo::SetWindowType(const WindowType type)
void AccessibilityWindowInfo::SetAccessibilityWindowType(const AccessibilityWindowType type)
{
windowType_ = type;
HILOG_DEBUG("windowType_[%{public}d]", windowType_);
accessibilityWindowType_ = type;
HILOG_DEBUG("accessibilityWindowType_[%{public}d]", accessibilityWindowType_);
}
int32_t AccessibilityWindowInfo::GetWindowLayer() const
@ -192,5 +192,41 @@ uint64_t AccessibilityWindowInfo::GetDisplayId() const
HILOG_DEBUG("displayId[%{public}ju]", displayId_);
return displayId_;
}
uint32_t AccessibilityWindowInfo::GetWindowType() const
{
HILOG_DEBUG("windowType_[%{public}d]", windowType_);
return windowType_;
}
void AccessibilityWindowInfo::SetWindowType(const uint32_t type)
{
windowType_ = type;
HILOG_DEBUG("windowType_[%{public}d]", windowType_);
}
uint32_t AccessibilityWindowInfo::GetWindowMode() const
{
HILOG_DEBUG("windowMode_[%{public}d]", windowMode_);
return windowMode_;
}
void AccessibilityWindowInfo::SetWindowMode(const uint32_t mode)
{
windowMode_ = mode;
HILOG_DEBUG("windowMode_[%{public}d]", windowMode_);
}
bool AccessibilityWindowInfo::IsDecorEnable() const
{
HILOG_DEBUG("isDecorEnable_[%{public}d]", isDecorEnable_);
return isDecorEnable_;
}
void AccessibilityWindowInfo::SetDecorEnable(const bool isDecorEnable)
{
isDecorEnable_ = isDecorEnable;
HILOG_DEBUG("isDecorEnable_[%{public}d]", isDecorEnable_);
}
} // namespace Accessibility
} // namespace OHOS

View File

@ -231,7 +231,7 @@ enum GestureType : uint32_t {
GESTURE_GESTURE_ALL = 0xFFFFFFFF
};
enum WindowType : int32_t {
enum AccessibilityWindowType : int32_t {
TYPE_WINDOW_INVALID = 0,
TYPE_ACCESSIBILITY_OVERLAY = 0x00000001,
TYPE_APPLICATION = 0x00000002,

View File

@ -53,20 +53,20 @@ public:
/**
* @brief Get the window type.
* @param -
* @return The window type. Refer to [WindowType].
* @return The accessibility window type. Refer to [AccessibilityWindowType].
* @since 3
* @sysCap Accessibility
*/
WindowType GetWindowType() const;
AccessibilityWindowType GetAccessibilityWindowType() const;
/**
* @brief Set the window type.
* @param type The window type. Refer to [WindowType].
* @param type The accessibility window type. Refer to [AccessibilityWindowType].
* @return -
* @since 3
* @sysCap Accessibility
*/
void SetWindowType(const WindowType type);
void SetAccessibilityWindowType(const AccessibilityWindowType type);
/**
* @brief Get The window layer
@ -281,9 +281,23 @@ public:
*/
uint64_t GetDisplayId() const;
uint32_t GetWindowType() const;
void SetWindowType(const uint32_t type);
uint32_t GetWindowMode() const;
void SetWindowMode(const uint32_t mode);
bool IsDecorEnable() const;
void SetDecorEnable(const bool isDecorEnable);
protected:
uint64_t displayId_ = 0;
WindowType windowType_ = TYPE_WINDOW_INVALID;
uint32_t windowMode_ = 0;
uint32_t windowType_ = 0;
AccessibilityWindowType accessibilityWindowType_ = TYPE_WINDOW_INVALID;
int32_t windowLayer_ = INVALID_WINDOW_ID;
int32_t windowId_ = INVALID_WINDOW_ID;
int32_t parentId_ = INVALID_WINDOW_ID;
@ -294,6 +308,7 @@ protected:
int32_t channelId_ = INVALID_WINDOW_ID;
bool active_ = false;
bool focused_ = false;
bool isDecorEnable_ = false;
bool accessibilityFocused_ = false;
Rect boundsInScreen_ {};
};

View File

@ -123,14 +123,14 @@ void ConvertRectToJS(napi_env env, napi_value result, const Accessibility::Rect&
NAPI_CALL_RETURN_VOID(env, napi_set_named_property(env, result, "rightBottomY", nRightBottomY));
}
static std::string ConvertWindowTypeToString(WindowType type)
std::string ConvertWindowTypeToString(AccessibilityWindowType type)
{
static const std::map<WindowType, const std::string> windowTypeTable = {
{WindowType::TYPE_ACCESSIBILITY_OVERLAY, "accessibilityOverlay"},
{WindowType::TYPE_APPLICATION, "application"},
{WindowType::TYPE_INPUT_METHOD, "inputMethod"},
{WindowType::TYPE_SPLIT_SCREEN_DIVIDER, "screenDivider"},
{WindowType::TYPE_SYSTEM, "system"}};
static const std::map<AccessibilityWindowType, const std::string> windowTypeTable = {
{AccessibilityWindowType::TYPE_ACCESSIBILITY_OVERLAY, "accessibilityOverlay"},
{AccessibilityWindowType::TYPE_APPLICATION, "application"},
{AccessibilityWindowType::TYPE_INPUT_METHOD, "inputMethod"},
{AccessibilityWindowType::TYPE_SPLIT_SCREEN_DIVIDER, "screenDivider"},
{AccessibilityWindowType::TYPE_SYSTEM, "system"}};
if (windowTypeTable.find(type) == windowTypeTable.end()) {
return "";
@ -316,7 +316,7 @@ void ConvertAccessibilityWindowInfoToJS(
NAPI_CALL_RETURN_VOID(env, napi_set_named_property(env, result, "title", nTitle));
napi_value nWindowType;
std::string strWindowType = ConvertWindowTypeToString(accessibilityWindowInfo.GetWindowType());
std::string strWindowType = ConvertWindowTypeToString(accessibilityWindowInfo.GetAccessibilityWindowType());
NAPI_CALL_RETURN_VOID(env, napi_create_string_utf8(env, strWindowType.c_str(), NAPI_AUTO_LENGTH, &nWindowType));
NAPI_CALL_RETURN_VOID(env, napi_set_named_property(env, result, "type", nWindowType));

View File

@ -458,7 +458,7 @@ private:
bool isGesturesSimulation_ = false;
bool isCaptionState_ = false;
AccessibilityConfig::CaptionProperty captionProperty_;
std::map<std::string, sptr<AccessibleAbilityConnection>> connectedA11yAbilities_; // key: The URI of ElementName.
std::map<std::string, sptr<AccessibleAbilityConnection>> connectedA11yAbilities_; // key: bundleName/abilityName
std::vector<sptr<IAccessibleAbilityManagerStateObserver>> stateCallbacks_;
std::vector<sptr<IAccessibilityEnableAbilityListsObserver>> enableAbilityListsObservers_;
std::map<int32_t, sptr<AccessibilityWindowConnection>> asacConnections_; // key: windowId

View File

@ -18,6 +18,7 @@
#include <vector>
#include "accessibility_ability_info.h"
#include "element_name.h"
#include "extension_ability_info.h"
#include "nlohmann/json.hpp"
@ -45,6 +46,12 @@ public:
static void ParseAbilityTypesFromVec(const std::vector<std::string>& abilities, uint32_t& abilityTypes);
static void ParseCapabilitiesFromVec(const std::vector<std::string>& capabilities, uint32_t& capabilitiesValue);
};
class Utils {
public:
static std::string GetUri(const OHOS::AppExecFwk::ElementName &elementName);
static std::string GetUri(const std::string &bundleName, const std::string &abilityName);
};
} // namespace Accessibility
} // namespace OHOS
#endif // JSON_UTILS_H

View File

@ -86,9 +86,10 @@ void AccessibilityAccountData::OnAccountSwitched()
void AccessibilityAccountData::AddConnectedAbility(sptr<AccessibleAbilityConnection>& connection)
{
HILOG_DEBUG("URI is %{public}s", connection->GetElementName().GetURI().c_str());
if (!connectedA11yAbilities_.count(connection->GetElementName().GetURI())) {
connectedA11yAbilities_.insert(make_pair(connection->GetElementName().GetURI(), connection));
std::string uri = Utils::GetUri(connection->GetElementName());
HILOG_DEBUG("URI is %{public}s", uri.c_str());
if (!connectedA11yAbilities_.count(uri)) {
connectedA11yAbilities_.insert(make_pair(uri, connection));
}
HILOG_DEBUG("Add ConnectedAbility: %{public}zu", connectedA11yAbilities_.size());
@ -96,9 +97,9 @@ void AccessibilityAccountData::AddConnectedAbility(sptr<AccessibleAbilityConnect
void AccessibilityAccountData::RemoveConnectedAbility(sptr<AccessibleAbilityConnection>& connection)
{
HILOG_DEBUG("URI is %{public}s", connection->GetElementName().GetURI().c_str());
std::map<std::string, sptr<AccessibleAbilityConnection>>::iterator it =
connectedA11yAbilities_.find(connection->GetElementName().GetURI());
std::string uri = Utils::GetUri(connection->GetElementName());
HILOG_DEBUG("URI is %{public}s", uri.c_str());
std::map<std::string, sptr<AccessibleAbilityConnection>>::iterator it = connectedA11yAbilities_.find(uri);
if (it != connectedA11yAbilities_.end()) {
connectedA11yAbilities_.erase(it);
}

View File

@ -154,9 +154,9 @@ int32_t AccessibilityWindowManager::ConvertToRealWindowId(int32_t windowId, int3
return windowId;
}
WindowType ConvertWindowType(Rosen::WindowType type)
AccessibilityWindowType ConvertWindowType(Rosen::WindowType type)
{
WindowType winType = TYPE_WINDOW_INVALID;
AccessibilityWindowType winType = TYPE_WINDOW_INVALID;
if (type < Rosen::WindowType::SYSTEM_WINDOW_BASE) {
winType = TYPE_APPLICATION;
@ -172,7 +172,9 @@ AccessibilityWindowInfo AccessibilityWindowManager::CreateAccessibilityWindowInf
{
AccessibilityWindowInfo info;
info.SetWindowId(windowInfo->wid_);
info.SetWindowType(ConvertWindowType(windowInfo->type_));
info.SetWindowType(static_cast<uint32_t>(windowInfo->type_));
info.SetWindowMode(static_cast<uint32_t>(windowInfo->mode_));
info.SetAccessibilityWindowType(ConvertWindowType(windowInfo->type_));
info.SetFocused(windowInfo->focused_);
Rect bound;
bound.SetLeftTopScreenPostion(windowInfo->windowRect_.posX_, windowInfo->windowRect_.posY_);
@ -181,10 +183,12 @@ AccessibilityWindowInfo AccessibilityWindowManager::CreateAccessibilityWindowInf
windowInfo->windowRect_.posY_ + static_cast<int32_t>(windowInfo->windowRect_.height_));
info.SetRectInScreen(bound);
info.SetDisplayId(windowInfo->displayId_);
info.SetDecorEnable(windowInfo->isDecorEnable_);
HILOG_DEBUG("Create WindowInfo Id(%{public}d) type(%{public}d) posX(%{public}d) posY(%{public}d)"
"witdth(%{public}d) height(%{public}d) display id(%{public}ju)",
"width(%{public}d) height(%{public}d) display id(%{public}ju) isDecorEnable(%{public}d)",
windowInfo->wid_, windowInfo->type_, windowInfo->windowRect_.posX_, windowInfo->windowRect_.posY_,
windowInfo->windowRect_.width_, windowInfo->windowRect_.height_, windowInfo->displayId_);
windowInfo->windowRect_.width_, windowInfo->windowRect_.height_,
windowInfo->displayId_, windowInfo->isDecorEnable_);
return info;
}

View File

@ -17,6 +17,7 @@
#include "ability_manager_client.h"
#include "accessible_ability_manager_service.h"
#include "hilog_wrapper.h"
#include "json_utils.h"
namespace OHOS {
namespace Accessibility {
@ -68,8 +69,9 @@ void AccessibleAbilityConnection::InnerOnAbilityConnectDone(const AppExecFwk::El
elementName_ = element;
if (resultCode != NO_ERROR) {
accountData_->RemoveEnabledAbility(elementName_.GetBundleName() + "/" + elementName_.GetAbilityName());
accountData_->RemoveConnectingA11yAbility(elementName_.GetBundleName() + "/" + elementName_.GetAbilityName());
accountData_->RemoveEnabledAbility(Utils::GetUri(elementName_.GetBundleName(), elementName_.GetAbilityName()));
accountData_->RemoveConnectingA11yAbility(
Utils::GetUri(elementName_.GetBundleName(), elementName_.GetAbilityName()));
Singleton<AccessibleAbilityManagerService>::GetInstance().UpdateAbilities();
return;
}
@ -101,7 +103,8 @@ void AccessibleAbilityConnection::InnerOnAbilityConnectDone(const AppExecFwk::El
sptr<AccessibleAbilityConnection> pointer = this;
accountData_->AddConnectedAbility(pointer);
accountData_->RemoveConnectingA11yAbility(elementName_.GetBundleName() + "/" + elementName_.GetAbilityName());
accountData_->RemoveConnectingA11yAbility(
Utils::GetUri(elementName_.GetBundleName(), elementName_.GetAbilityName()));
Singleton<AccessibleAbilityManagerService>::GetInstance().UpdateAccessibilityManagerService();
channel_ = new(std::nothrow) AccessibleAbilityChannel(*pointer);
@ -313,7 +316,7 @@ void AccessibleAbilityConnection::Connect(const AppExecFwk::ElementName &element
HILOG_ERROR("ConnectAbility failed!");
return;
}
accountData_->AddConnectingA11yAbility(bundleName + "/" + abilitName);
accountData_->AddConnectingA11yAbility(Utils::GetUri(bundleName, abilitName));
}
int32_t AccessibleAbilityConnection::GetChannelId()
@ -332,18 +335,18 @@ void AccessibleAbilityConnection::AccessibleAbilityConnectionDeathRecipient::OnR
return;
}
sptr<AccessibleAbilityConnection> connection =
recipientAccountData_->GetAccessibleAbilityConnection(recipientElementName_.GetURI());
std::string uri = Utils::GetUri(recipientElementName_);
sptr<AccessibleAbilityConnection> connection = recipientAccountData_->GetAccessibleAbilityConnection(uri);
if (!connection) {
HILOG_ERROR("There is no connection for %{public}s.", recipientElementName_.GetURI().c_str());
HILOG_ERROR("There is no connection for %{public}s.", uri.c_str());
return;
}
recipientAccountData_->RemoveConnectedAbility(connection);
recipientAccountData_->RemoveEnabledAbility(recipientElementName_.GetBundleName() + "/" +
recipientElementName_.GetAbilityName());
recipientAccountData_->RemoveEnabledAbility(
Utils::GetUri(recipientElementName_.GetBundleName(), recipientElementName_.GetAbilityName()));
std::string uiTestUri = "/ohos.uitest/uitestability";
if (recipientElementName_.GetURI() == uiTestUri) {
std::string uiTestUri = Utils::GetUri("ohos.uitest", "uitestability");
if (uri == uiTestUri) {
recipientAccountData_->RemoveInstalledAbility("ohos.uitest");
}

View File

@ -799,7 +799,7 @@ RetError AccessibleAbilityManagerService::EnableUITestAbility(const sptr<IRemote
syncPromise.set_value(RET_ERR_NULLPTR);
return;
}
std::string uiTestUri = "/" + UI_TEST_BUNDLE_NAME + "/" + UI_TEST_ABILITY_NAME;
std::string uiTestUri = Utils::GetUri(UI_TEST_BUNDLE_NAME, UI_TEST_ABILITY_NAME);
sptr<AccessibleAbilityConnection> connection = accountData->GetAccessibleAbilityConnection(uiTestUri);
if (connection) {
HILOG_ERROR("connection is existed!!");
@ -833,7 +833,7 @@ bool AccessibleAbilityManagerService::DisableUITestAbility()
syncPromise.set_value(false);
return;
}
std::string uiTestUri = "/" + UI_TEST_BUNDLE_NAME + "/" + UI_TEST_ABILITY_NAME;
std::string uiTestUri = Utils::GetUri(UI_TEST_BUNDLE_NAME, UI_TEST_ABILITY_NAME);
sptr<AccessibleAbilityConnection> connection = accountData->GetAccessibleAbilityConnection(uiTestUri);
if (!connection) {
HILOG_ERROR("connection is not existed!!");
@ -1326,19 +1326,18 @@ void AccessibleAbilityManagerService::UpdateAbilities()
auto connectingAbilities = accountData->GetConnectingA11yAbilities();
vector<string>::iterator iter = std::find(connectingAbilities.begin(),
connectingAbilities.end(), bundleName + "/" + abilityName);
connectingAbilities.end(), Utils::GetUri(bundleName, abilityName));
if (iter != connectingAbilities.end()) {
HILOG_DEBUG("The ability(bundleName[%{public}s] abilityName[%{public}s]) is connecting.",
bundleName.c_str(), abilityName.c_str());
continue;
}
AppExecFwk::ElementName connectionElement(deviceId, bundleName, abilityName);
sptr<AccessibleAbilityConnection> connection =
accountData->GetAccessibleAbilityConnection(connectionElement.GetURI());
accountData->GetAccessibleAbilityConnection(Utils::GetUri(bundleName, abilityName));
auto enabledAbilities = accountData->GetEnabledAbilities();
iter = std::find(enabledAbilities.begin(), enabledAbilities.end(), bundleName + "/" + abilityName);
iter = std::find(enabledAbilities.begin(), enabledAbilities.end(), Utils::GetUri(bundleName, abilityName));
if (iter != enabledAbilities.end()) {
if (!connection) {
AppExecFwk::ElementName element(deviceId, bundleName, abilityName);

View File

@ -328,5 +328,18 @@ void PraseVecUtils::ParseCapabilitiesFromVec(const vector<string>& capabilities,
}
}
}
std::string Utils::GetUri(const OHOS::AppExecFwk::ElementName &elementName)
{
HILOG_DEBUG("bundle name(%{public}s) ability name(%{public}s)",
elementName.GetBundleName().c_str(), elementName.GetAbilityName().c_str());
return elementName.GetBundleName() + "/" + elementName.GetAbilityName();
}
std::string Utils::GetUri(const std::string &bundleName, const std::string &abilityName)
{
HILOG_DEBUG("bundle name(%{public}s) ability name(%{public}s)", bundleName.c_str(), abilityName.c_str());
return bundleName + "/" + abilityName;
}
} // namespace Accessibility
} // namespace OHOS

View File

@ -16,6 +16,7 @@
#include "accessibility_account_data.h"
#include "accessible_ability_manager_service.h"
#include "hilog_wrapper.h"
#include "json_utils.h"
namespace OHOS {
namespace Accessibility {
@ -69,10 +70,12 @@ void AccessibilityAccountData::OnAccountSwitched()
// add connect ability.
void AccessibilityAccountData::AddConnectedAbility(sptr<AccessibleAbilityConnection>& connection)
{
HILOG_DEBUG("URI is %{public}s", connection->GetElementName().GetURI().c_str());
if (!connectedA11yAbilities_.count(connection->GetElementName().GetURI())) {
connectedA11yAbilities_.insert(std::make_pair(connection->GetElementName().GetURI(), connection));
std::string uri = Utils::GetUri(connection->GetElementName());
HILOG_DEBUG("URI is %{public}s", uri.c_str());
if (!connectedA11yAbilities_.count(uri)) {
connectedA11yAbilities_.insert(make_pair(uri, connection));
}
HILOG_DEBUG("Add ConnectedAbility: %{public}zu", connectedA11yAbilities_.size());
}

View File

@ -63,10 +63,10 @@ int32_t AccessibilityWindowManager::ConvertToRealWindowId(int32_t windowId, int3
return 0;
}
WindowType ConvertWindowType(Rosen::WindowType type)
AccessibilityWindowType ConvertWindowType(Rosen::WindowType type)
{
(void)type;
WindowType winType = TYPE_WINDOW_INVALID;
AccessibilityWindowType winType = TYPE_WINDOW_INVALID;
if (type < Rosen::WindowType::SYSTEM_WINDOW_BASE) {
winType = TYPE_APPLICATION;
@ -83,7 +83,7 @@ AccessibilityWindowInfo AccessibilityWindowManager::CreateAccessibilityWindowInf
(void)windowInfo;
AccessibilityWindowInfo info;
info.SetWindowId(0);
info.SetWindowType(ConvertWindowType(Rosen::WindowType::SYSTEM_WINDOW_BASE));
info.SetAccessibilityWindowType(ConvertWindowType(Rosen::WindowType::SYSTEM_WINDOW_BASE));
info.SetFocused(true);
Rect bound(TOP_X, TOP_Y, BOTTOM_X, BOTTOM_Y);
info.SetRectInScreen(bound);

View File

@ -20,6 +20,7 @@
#include "accessibility_event_info.h"
#include "accessibility_window_manager.h"
#include "accessible_ability_manager_service.h"
#include "json_utils.h"
#include "hilog_wrapper.h"
#include "iservice_registry.h"
#include "system_ability_definition.h"
@ -346,9 +347,8 @@ void AccessibleAbilityManagerService::UpdateAbilities()
continue;
}
AppExecFwk::ElementName connectionElement("", bundleName, "");
sptr<AccessibleAbilityConnection> connection =
accountData->GetAccessibleAbilityConnection(connectionElement.GetURI());
accountData->GetAccessibleAbilityConnection(Utils::GetUri(bundleName, abilityName));
auto enabledAbilities = accountData->GetEnabledAbilities();
iter = std::find(enabledAbilities.begin(), enabledAbilities.end(), bundleName);

View File

@ -19,6 +19,7 @@
#include "accessibility_constants.h"
#include "accessibility_element_operator_proxy.h"
#include "accessibility_element_operator_stub.h"
#include "json_utils.h"
#include "mock_accessibility_element_operator_proxy.h"
#include "mock_accessibility_element_operator_stub.h"
#include "mock_accessible_ability_client_stub_impl.h"
@ -105,7 +106,7 @@ HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAcce
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
/* add connected ability */
accountData->AddConnectedAbility(connection);
const std::string elementName = connection->GetElementName().GetURI();
const std::string elementName = Utils::GetUri(connection->GetElementName());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementName));
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
@ -208,7 +209,7 @@ HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddConn
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
/* add connected ability */
accountData->AddConnectedAbility(connection);
const std::string elementName = connection->GetElementName().GetURI();
const std::string elementName = Utils::GetUri(connection->GetElementName());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementName));
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
@ -234,7 +235,7 @@ HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveC
/* add */
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
const std::string elementName = connection->GetElementName().GetURI();
const std::string elementName = Utils::GetUri(connection->GetElementName());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementName));
/* remove */
accountData->RemoveConnectedAbility(connection);
@ -261,7 +262,7 @@ HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_Ability
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
/* add */
accountData->AddConnectedAbility(connection);
const std::string elementNameURI = connection->GetElementName().GetURI();
const std::string elementNameURI = Utils::GetUri(connection->GetElementName());
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementNameURI));
@ -432,7 +433,7 @@ HWTEST_F(
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
const std::string elementName = connection->GetElementName().GetURI();
const std::string elementName = Utils::GetUri(connection->GetElementName());
/* get */
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementName));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection001 end";

View File

@ -148,7 +148,7 @@ HWTEST_F(AccessibilityWindowManagerTest, AccessibilityWindowManager_Unittest_Cre
AccessibilityWindowManager& windowInfoManager = Singleton<AccessibilityWindowManager>::GetInstance();
AccessibilityWindowInfo info = windowInfoManager.CreateAccessibilityWindowInfo(winInfo->currentWindowInfo_);
EXPECT_EQ(TYPE_APPLICATION, info.GetWindowType());
EXPECT_EQ(TYPE_APPLICATION, info.GetAccessibilityWindowType());
GTEST_LOG_(INFO) << "AccessibilityWindowManager_Unittest_CreateAccessibilityWindowInfo001 end";
}
@ -176,7 +176,7 @@ HWTEST_F(AccessibilityWindowManagerTest, AccessibilityWindowManager_Unittest_Cre
AccessibilityWindowManager& windowInfoManager = Singleton<AccessibilityWindowManager>::GetInstance();
AccessibilityWindowInfo info = windowInfoManager.CreateAccessibilityWindowInfo(winInfo->currentWindowInfo_);
EXPECT_EQ(TYPE_SYSTEM, info.GetWindowType());
EXPECT_EQ(TYPE_SYSTEM, info.GetAccessibilityWindowType());
GTEST_LOG_(INFO) << "AccessibilityWindowManager_Unittest_CreateAccessibilityWindowInfo002 end";
}
@ -205,7 +205,7 @@ HWTEST_F(AccessibilityWindowManagerTest, AccessibilityWindowManager_Unittest_Cre
AccessibilityWindowManager& windowInfoManager = Singleton<AccessibilityWindowManager>::GetInstance();
AccessibilityWindowInfo info = windowInfoManager.CreateAccessibilityWindowInfo(winInfo->currentWindowInfo_);
EXPECT_EQ(TYPE_WINDOW_INVALID, info.GetWindowType());
EXPECT_EQ(TYPE_WINDOW_INVALID, info.GetAccessibilityWindowType());
GTEST_LOG_(INFO) << "AccessibilityWindowManager_Unittest_CreateAccessibilityWindowInfo003 end";
}
@ -725,7 +725,7 @@ HWTEST_F(
AccessibilityWindowManager& mgr = Singleton<AccessibilityWindowManager>::GetInstance();
AccessibilityWindowInfo info = mgr.CreateAccessibilityWindowInfo(winInfo->currentWindowInfo_);
info.SetWindowType(WindowType::TYPE_APPLICATION);
info.SetAccessibilityWindowType(AccessibilityWindowType::TYPE_APPLICATION);
EXPECT_EQ(0, (int)mgr.a11yWindows_.size());
mgr.a11yWindows_.insert(std::make_pair(windowId, info));
EXPECT_EQ(1, (int)mgr.a11yWindows_.size());
@ -736,8 +736,8 @@ HWTEST_F(
/* GetAccessibilityWindows */
std::vector<AccessibilityWindowInfo> windows = mgr.GetAccessibilityWindows();
EXPECT_EQ(1, (int)windows.size());
static Accessibility::WindowType type = windows.begin()->GetWindowType();
EXPECT_EQ(WindowType::TYPE_APPLICATION, type);
static Accessibility::AccessibilityWindowType type = windows.begin()->GetAccessibilityWindowType();
EXPECT_EQ(AccessibilityWindowType::TYPE_APPLICATION, type);
mgr.a11yWindows_.clear();
GTEST_LOG_(INFO) << "AccessibilityWindowManager_Unittest_GetAccessibilityWindows001 end";
@ -768,7 +768,7 @@ HWTEST_F(AccessibilityWindowManagerTest, AccessibilityWindowManager_Unittest_Get
AccessibilityWindowManager& mgr = Singleton<AccessibilityWindowManager>::GetInstance();
AccessibilityWindowInfo info = mgr.CreateAccessibilityWindowInfo(winInfo->currentWindowInfo_);
info.SetWindowType(WindowType::TYPE_APPLICATION);
info.SetAccessibilityWindowType(AccessibilityWindowType::TYPE_APPLICATION);
EXPECT_EQ(0, (int)mgr.a11yWindows_.size());
mgr.a11yWindows_.insert(std::make_pair(windowId, info));
EXPECT_EQ(1, (int)mgr.a11yWindows_.size());
@ -806,7 +806,7 @@ HWTEST_F(AccessibilityWindowManagerTest, AccessibilityWindowManager_Unittest_Get
AccessibilityWindowManager& mgr = Singleton<AccessibilityWindowManager>::GetInstance();
AccessibilityWindowInfo info = mgr.CreateAccessibilityWindowInfo(winInfo->currentWindowInfo_);
info.SetWindowType(WindowType::TYPE_APPLICATION);
info.SetAccessibilityWindowType(AccessibilityWindowType::TYPE_APPLICATION);
EXPECT_EQ(0, (int)mgr.a11yWindows_.size());
mgr.a11yWindows_.insert(std::make_pair(windowId, info));
EXPECT_EQ(1, (int)mgr.a11yWindows_.size());
@ -844,7 +844,7 @@ HWTEST_F(AccessibilityWindowManagerTest, AccessibilityWindowManager_Unittest_IsV
AccessibilityWindowManager& mgr = Singleton<AccessibilityWindowManager>::GetInstance();
AccessibilityWindowInfo info = mgr.CreateAccessibilityWindowInfo(winInfo->currentWindowInfo_);
info.SetWindowType(WindowType::TYPE_APPLICATION);
info.SetAccessibilityWindowType(AccessibilityWindowType::TYPE_APPLICATION);
EXPECT_EQ(0, (int)mgr.a11yWindows_.size());
mgr.a11yWindows_.insert(std::make_pair(windowId, info));
EXPECT_EQ(1, (int)mgr.a11yWindows_.size());
@ -882,7 +882,7 @@ HWTEST_F(AccessibilityWindowManagerTest, AccessibilityWindowManager_Unittest_IsV
AccessibilityWindowManager& mgr = Singleton<AccessibilityWindowManager>::GetInstance();
AccessibilityWindowInfo info = mgr.CreateAccessibilityWindowInfo(winInfo->currentWindowInfo_);
info.SetWindowType(WindowType::TYPE_APPLICATION);
info.SetAccessibilityWindowType(AccessibilityWindowType::TYPE_APPLICATION);
EXPECT_EQ(0, (int)mgr.a11yWindows_.size());
mgr.a11yWindows_.insert(std::make_pair(windowId, info));
EXPECT_EQ(1, (int)mgr.a11yWindows_.size());

View File

@ -29,9 +29,11 @@ AccessibilityWindowInfoParcel::AccessibilityWindowInfoParcel(const Accessibility
bool AccessibilityWindowInfoParcel::ReadFromParcel(Parcel &parcel)
{
int32_t windowType = TYPE_WINDOW_INVALID;
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, windowType);
windowType_ = static_cast<WindowType>(windowType);
int32_t accessibilityWindowType = TYPE_WINDOW_INVALID;
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, accessibilityWindowType);
accessibilityWindowType_ = static_cast<AccessibilityWindowType>(accessibilityWindowType);
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Uint32, parcel, windowType_);
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Uint32, parcel, windowMode_);
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, windowLayer_);
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, windowId_);
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, parentId_);
@ -43,6 +45,7 @@ bool AccessibilityWindowInfoParcel::ReadFromParcel(Parcel &parcel)
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, active_);
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, focused_);
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, accessibilityFocused_);
READ_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, isDecorEnable_);
sptr<RectParcel> boundsInScreen = parcel.ReadStrongParcelable<RectParcel>();
if (!boundsInScreen) {
HILOG_ERROR("ReadStrongParcelable boundsInScreen failed.");
@ -55,7 +58,9 @@ bool AccessibilityWindowInfoParcel::ReadFromParcel(Parcel &parcel)
bool AccessibilityWindowInfoParcel::Marshalling(Parcel &parcel) const
{
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, static_cast<int32_t>(windowType_));
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, static_cast<int32_t>(accessibilityWindowType_));
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Uint32, parcel, windowType_);
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Uint32, parcel, windowMode_);
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, windowLayer_);
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, windowId_);
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, parentId_);
@ -67,6 +72,7 @@ bool AccessibilityWindowInfoParcel::Marshalling(Parcel &parcel) const
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, active_);
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, focused_);
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, accessibilityFocused_);
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, isDecorEnable_);
RectParcel rectParcel(boundsInScreen_);
WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Parcelable, parcel, &rectParcel);