• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()24 void AccessibleAbilityListenerTest::OnAbilityConnected()
25 {
26     HILOG_INFO("AamsStAbilityA1: Accessible application is connected.");
27     aamsStAbilityA1_->GetWindows();
28 }
29 
OnAccessibilityEvent(const AccessibilityEventInfo & eventInfo)30 void 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)36 void AccessibleAbilityListenerTest::OnGesture(uint32_t gestureId)
37 {
38     HILOG_INFO("AamsStAbilityA1: A gesture is received and gestureId is %{public}u.", gestureId);
39 }
40 
OnInterrupt()41 void AccessibleAbilityListenerTest::OnInterrupt()
42 {
43     HILOG_INFO("AamsStAbilityA1: Accessible application is on interrupt.");
44 }
45 
OnKeyPressEvent(const MMI::KeyEvent & keyEvent)46 bool 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)52 void 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)62 void 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)70 void AamsStAbilityA1::OnForeground(const Want &want)
71 {
72     GetWantInfo(want);
73 
74     HILOG_INFO("AamsStAbilityA1::OnForeground");
75     Ability::OnForeground(want);
76 }
77 
OnStop()78 void AamsStAbilityA1::OnStop()
79 {
80     HILOG_INFO("AamsStAbilityA1::onStop");
81     Ability::OnStop();
82 }
83 
OnActive()84 void 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()94 void AamsStAbilityA1::OnInactive()
95 {
96     HILOG_INFO("AamsStAbilityA1::OnInactive");
97     Ability::OnInactive();
98 }
99 
OnBackground()100 void AamsStAbilityA1::OnBackground()
101 {
102     HILOG_INFO("AamsStAbilityA1::OnBackground");
103     Ability::OnBackground();
104 }
105 
Clear()106 void AamsStAbilityA1::Clear()
107 {
108     shouldReturn = "";
109     targetBundle = "";
110     targetAbility = "";
111 }
112 
GetWantInfo(const Want & want)113 void 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()121 void 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()132 void AamsStAbilityA1::ConnectToAAMS()
133 {
134     HILOG_INFO("AamsStAbilityA1:: start");
135     Accessibility::AccessibleAbility::GetInstance().ConnectToAAMS();
136 }
137 
DisableAbility()138 void AamsStAbilityA1::DisableAbility()
139 {
140     HILOG_INFO("AamsStAbilityA1:: start");
141 }
142 
GetFocusElementInfo()143 void AamsStAbilityA1::GetFocusElementInfo()
144 {
145     HILOG_INFO("AamsStAbilityA1:: start");
146 }
147 
GestureSimulate()148 void AamsStAbilityA1::GestureSimulate()
149 {
150     HILOG_INFO("AamsStAbilityA1:: start");
151 }
152 
GetDisplayResizeController()153 void AamsStAbilityA1::GetDisplayResizeController()
154 {
155     HILOG_INFO("AamsStAbilityA1:: start");
156 }
157 
GetRootElementInfo()158 void 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()171 void 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()181 void AamsStAbilityA1::PerformCommonAction()
182 {
183     HILOG_INFO("AamsStAbilityA1:: start");
184 }
185 
GetFingerprintController()186 void AamsStAbilityA1::GetFingerprintController()
187 {
188     HILOG_INFO("AamsStAbilityA1:: start");
189 }
190 
191 REGISTER_AA(AamsStAbilityA1)
192 } // namespace AppExecFwk
193 } // namespace OHOS