1 /* 2 * Copyright (C) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "amsstabilitya1.h" 17 #include <unistd.h> 18 #include "accessibility_element_info.h" 19 20 using namespace OHOS::Accessibility; 21 22 namespace OHOS { 23 namespace AppExecFwk { OnAbilityConnected()24void AccessibleAbilityListenerTest::OnAbilityConnected() 25 { 26 HILOG_INFO("AamsStAbilityA1: Accessible application is connected."); 27 aamsStAbilityA1_->GetWindows(); 28 } 29 OnAccessibilityEvent(const AccessibilityEventInfo & eventInfo)30void AccessibleAbilityListenerTest::OnAccessibilityEvent(const AccessibilityEventInfo& eventInfo) 31 { 32 HILOG_INFO("AamsStAbilityA1: An Accessibility event is received and eventType is %{public}d", 33 eventInfo.GetEventType()); 34 } 35 OnGesture(uint32_t gestureId)36void AccessibleAbilityListenerTest::OnGesture(uint32_t gestureId) 37 { 38 HILOG_INFO("AamsStAbilityA1: A gesture is received and gestureId is %{public}u.", gestureId); 39 } 40 OnInterrupt()41void AccessibleAbilityListenerTest::OnInterrupt() 42 { 43 HILOG_INFO("AamsStAbilityA1: Accessible application is on interrupt."); 44 } 45 OnKeyPressEvent(const MMI::KeyEvent & keyEvent)46bool AccessibleAbilityListenerTest::OnKeyPressEvent(const MMI::KeyEvent& keyEvent) 47 { 48 HILOG_INFO("AamsStAbilityA1: A key press event is received"); 49 return true; 50 } 51 OnStart(const Want & want)52void AamsStAbilityA1::OnStart(const Want &want) 53 { 54 GetWantInfo(want); 55 HILOG_INFO("AamsStAbilityA1:: start"); 56 Ability::OnStart(want); 57 58 RegisterListenerToAA(); 59 ConnectToAAMS(); 60 } 61 OnNewWant(const Want & want)62void AamsStAbilityA1::OnNewWant(const Want &want) 63 { 64 GetWantInfo(want); 65 66 HILOG_INFO("AamsStAbilityA1::OnNewWant"); 67 Ability::OnNewWant(want); 68 } 69 OnForeground(const Want & want)70void AamsStAbilityA1::OnForeground(const Want &want) 71 { 72 GetWantInfo(want); 73 74 HILOG_INFO("AamsStAbilityA1::OnForeground"); 75 Ability::OnForeground(want); 76 } 77 OnStop()78void AamsStAbilityA1::OnStop() 79 { 80 HILOG_INFO("AamsStAbilityA1::onStop"); 81 Ability::OnStop(); 82 } 83 OnActive()84void AamsStAbilityA1::OnActive() 85 { 86 HILOG_INFO("AamsStAbilityA1::OnActive"); 87 Ability::OnActive(); 88 if (std::string::npos != shouldReturn.find(GetAbilityName())) { 89 TerminateAbility(); 90 } 91 Clear(); 92 } 93 OnInactive()94void AamsStAbilityA1::OnInactive() 95 { 96 HILOG_INFO("AamsStAbilityA1::OnInactive"); 97 Ability::OnInactive(); 98 } 99 OnBackground()100void AamsStAbilityA1::OnBackground() 101 { 102 HILOG_INFO("AamsStAbilityA1::OnBackground"); 103 Ability::OnBackground(); 104 } 105 Clear()106void AamsStAbilityA1::Clear() 107 { 108 shouldReturn = ""; 109 targetBundle = ""; 110 targetAbility = ""; 111 } 112 GetWantInfo(const Want & want)113void AamsStAbilityA1::GetWantInfo(const Want &want) 114 { 115 Want mWant(want); 116 shouldReturn = mWant.GetStringParam("shouldReturn"); 117 targetBundle = mWant.GetStringParam("targetBundle"); 118 targetAbility = mWant.GetStringParam("targetAbility"); 119 } 120 RegisterListenerToAA()121void AamsStAbilityA1::RegisterListenerToAA() 122 { 123 HILOG_INFO("AamsStAbilityA1:: start"); 124 listener_ = std::make_shared<AccessibleAbilityListenerTest>(); 125 if (!listener_) { 126 HILOG_ERROR("listener_ is nullptr."); 127 return; 128 } 129 Accessibility::AccessibleAbility::GetInstance().RegisterListener(listener_); 130 } 131 ConnectToAAMS()132void AamsStAbilityA1::ConnectToAAMS() 133 { 134 HILOG_INFO("AamsStAbilityA1:: start"); 135 Accessibility::AccessibleAbility::GetInstance().ConnectToAAMS(); 136 } 137 DisableAbility()138void AamsStAbilityA1::DisableAbility() 139 { 140 HILOG_INFO("AamsStAbilityA1:: start"); 141 } 142 GetFocusElementInfo()143void AamsStAbilityA1::GetFocusElementInfo() 144 { 145 HILOG_INFO("AamsStAbilityA1:: start"); 146 } 147 GestureSimulate()148void AamsStAbilityA1::GestureSimulate() 149 { 150 HILOG_INFO("AamsStAbilityA1:: start"); 151 } 152 GetDisplayResizeController()153void AamsStAbilityA1::GetDisplayResizeController() 154 { 155 HILOG_INFO("AamsStAbilityA1:: start"); 156 } 157 GetRootElementInfo()158void AamsStAbilityA1::GetRootElementInfo() 159 { 160 HILOG_INFO("AamsStAbilityA1:: start"); 161 std::optional<AccessibilityElementInfo> elementInfo; 162 Accessibility::AccessibleAbility::GetInstance().GetRootElementInfo(elementInfo); 163 164 if (elementInfo.has_value()) { 165 HILOG_INFO("elementInfo has value."); 166 } else { 167 HILOG_INFO("elementInfo has no value."); 168 } 169 } 170 GetWindows()171void AamsStAbilityA1::GetWindows() 172 { 173 HILOG_INFO("AamsStAbilityA1:: start"); 174 175 std::vector<AccessibilityWindowInfo> accessibilityWindow = 176 Accessibility::AccessibleAbility::GetInstance().GetWindows(); 177 178 HILOG_INFO("accessibilityWindow.size() is %{public}d.", accessibilityWindow.size()); 179 } 180 PerformCommonAction()181void AamsStAbilityA1::PerformCommonAction() 182 { 183 HILOG_INFO("AamsStAbilityA1:: start"); 184 } 185 GetFingerprintController()186void AamsStAbilityA1::GetFingerprintController() 187 { 188 HILOG_INFO("AamsStAbilityA1:: start"); 189 } 190 191 REGISTER_AA(AamsStAbilityA1) 192 } // namespace AppExecFwk 193 } // namespace OHOS