xref: /aosp_15_r20/external/deqp/framework/platform/android/tcuAndroidNativeActivity.cpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
1 /*-------------------------------------------------------------------------
2  * drawElements Quality Program Tester Core
3  * ----------------------------------------
4  *
5  * Copyright 2014 The Android Open Source Project
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  *//*!
20  * \file
21  * \brief Android Native Activity.
22  *//*--------------------------------------------------------------------*/
23 
24 #include "tcuAndroidNativeActivity.hpp"
25 #include "deMemory.h"
26 
27 DE_BEGIN_EXTERN_C
28 
onStartCallback(ANativeActivity * activity)29 static void onStartCallback(ANativeActivity *activity)
30 {
31     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onStart();
32 }
33 
onResumeCallback(ANativeActivity * activity)34 static void onResumeCallback(ANativeActivity *activity)
35 {
36     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onResume();
37 }
38 
onSaveInstanceStateCallback(ANativeActivity * activity,size_t * outSize)39 static void *onSaveInstanceStateCallback(ANativeActivity *activity, size_t *outSize)
40 {
41     return static_cast<tcu::Android::NativeActivity *>(activity->instance)->onSaveInstanceState(outSize);
42 }
43 
onPauseCallback(ANativeActivity * activity)44 static void onPauseCallback(ANativeActivity *activity)
45 {
46     return static_cast<tcu::Android::NativeActivity *>(activity->instance)->onPause();
47 }
48 
onStopCallback(ANativeActivity * activity)49 static void onStopCallback(ANativeActivity *activity)
50 {
51     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onStop();
52 }
53 
onDestroyCallback(ANativeActivity * activity)54 static void onDestroyCallback(ANativeActivity *activity)
55 {
56     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onDestroy();
57 }
58 
onWindowFocusChangedCallback(ANativeActivity * activity,int hasFocus)59 static void onWindowFocusChangedCallback(ANativeActivity *activity, int hasFocus)
60 {
61     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onWindowFocusChanged(hasFocus);
62 }
63 
onNativeWindowCreatedCallback(ANativeActivity * activity,ANativeWindow * window)64 static void onNativeWindowCreatedCallback(ANativeActivity *activity, ANativeWindow *window)
65 {
66     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onNativeWindowCreated(window);
67 }
68 
onNativeWindowResizedCallback(ANativeActivity * activity,ANativeWindow * window)69 static void onNativeWindowResizedCallback(ANativeActivity *activity, ANativeWindow *window)
70 {
71     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onNativeWindowResized(window);
72 }
73 
onNativeWindowRedrawNeededCallback(ANativeActivity * activity,ANativeWindow * window)74 static void onNativeWindowRedrawNeededCallback(ANativeActivity *activity, ANativeWindow *window)
75 {
76     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onNativeWindowRedrawNeeded(window);
77 }
78 
onNativeWindowDestroyedCallback(ANativeActivity * activity,ANativeWindow * window)79 static void onNativeWindowDestroyedCallback(ANativeActivity *activity, ANativeWindow *window)
80 {
81     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onNativeWindowDestroyed(window);
82 }
83 
onInputQueueCreatedCallback(ANativeActivity * activity,AInputQueue * queue)84 static void onInputQueueCreatedCallback(ANativeActivity *activity, AInputQueue *queue)
85 {
86     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onInputQueueCreated(queue);
87 }
88 
onInputQueueDestroyedCallback(ANativeActivity * activity,AInputQueue * queue)89 static void onInputQueueDestroyedCallback(ANativeActivity *activity, AInputQueue *queue)
90 {
91     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onInputQueueDestroyed(queue);
92 }
93 
onContentRectChangedCallback(ANativeActivity * activity,const ARect * rect)94 static void onContentRectChangedCallback(ANativeActivity *activity, const ARect *rect)
95 {
96     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onContentRectChanged(rect);
97 }
98 
onConfigurationChangedCallback(ANativeActivity * activity)99 static void onConfigurationChangedCallback(ANativeActivity *activity)
100 {
101     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onConfigurationChanged();
102 }
103 
onLowMemoryCallback(ANativeActivity * activity)104 static void onLowMemoryCallback(ANativeActivity *activity)
105 {
106     static_cast<tcu::Android::NativeActivity *>(activity->instance)->onLowMemory();
107 }
108 
109 DE_END_EXTERN_C
110 
111 namespace tcu
112 {
113 namespace Android
114 {
115 
NativeActivity(ANativeActivity * activity)116 NativeActivity::NativeActivity(ANativeActivity *activity) : m_activity(activity)
117 {
118     activity->instance                              = (void *)this;
119     activity->callbacks->onStart                    = onStartCallback;
120     activity->callbacks->onResume                   = onResumeCallback;
121     activity->callbacks->onSaveInstanceState        = onSaveInstanceStateCallback;
122     activity->callbacks->onPause                    = onPauseCallback;
123     activity->callbacks->onStop                     = onStopCallback;
124     activity->callbacks->onDestroy                  = onDestroyCallback;
125     activity->callbacks->onWindowFocusChanged       = onWindowFocusChangedCallback;
126     activity->callbacks->onNativeWindowCreated      = onNativeWindowCreatedCallback;
127     activity->callbacks->onNativeWindowResized      = onNativeWindowResizedCallback;
128     activity->callbacks->onNativeWindowRedrawNeeded = onNativeWindowRedrawNeededCallback;
129     activity->callbacks->onNativeWindowDestroyed    = onNativeWindowDestroyedCallback;
130     activity->callbacks->onInputQueueCreated        = onInputQueueCreatedCallback;
131     activity->callbacks->onInputQueueDestroyed      = onInputQueueDestroyedCallback;
132     activity->callbacks->onContentRectChanged       = onContentRectChangedCallback;
133     activity->callbacks->onConfigurationChanged     = onConfigurationChangedCallback;
134     activity->callbacks->onLowMemory                = onLowMemoryCallback;
135 }
136 
~NativeActivity(void)137 NativeActivity::~NativeActivity(void)
138 {
139 }
140 
onStart(void)141 void NativeActivity::onStart(void)
142 {
143 }
144 
onResume(void)145 void NativeActivity::onResume(void)
146 {
147 }
148 
onSaveInstanceState(size_t * outSize)149 void *NativeActivity::onSaveInstanceState(size_t *outSize)
150 {
151     *outSize = 0;
152     return DE_NULL;
153 }
154 
onPause(void)155 void NativeActivity::onPause(void)
156 {
157 }
158 
onStop(void)159 void NativeActivity::onStop(void)
160 {
161 }
162 
onDestroy(void)163 void NativeActivity::onDestroy(void)
164 {
165 }
166 
onWindowFocusChanged(int hasFocus)167 void NativeActivity::onWindowFocusChanged(int hasFocus)
168 {
169     DE_UNREF(hasFocus);
170 }
171 
onNativeWindowCreated(ANativeWindow * window)172 void NativeActivity::onNativeWindowCreated(ANativeWindow *window)
173 {
174     DE_UNREF(window);
175 }
176 
onNativeWindowResized(ANativeWindow * window)177 void NativeActivity::onNativeWindowResized(ANativeWindow *window)
178 {
179     DE_UNREF(window);
180 }
181 
onNativeWindowRedrawNeeded(ANativeWindow * window)182 void NativeActivity::onNativeWindowRedrawNeeded(ANativeWindow *window)
183 {
184     DE_UNREF(window);
185 }
186 
onNativeWindowDestroyed(ANativeWindow * window)187 void NativeActivity::onNativeWindowDestroyed(ANativeWindow *window)
188 {
189     DE_UNREF(window);
190 }
191 
onInputQueueCreated(AInputQueue * queue)192 void NativeActivity::onInputQueueCreated(AInputQueue *queue)
193 {
194     DE_UNREF(queue);
195 }
196 
onInputQueueDestroyed(AInputQueue * queue)197 void NativeActivity::onInputQueueDestroyed(AInputQueue *queue)
198 {
199     DE_UNREF(queue);
200 }
201 
onContentRectChanged(const ARect * rect)202 void NativeActivity::onContentRectChanged(const ARect *rect)
203 {
204     DE_UNREF(rect);
205 }
206 
onConfigurationChanged(void)207 void NativeActivity::onConfigurationChanged(void)
208 {
209 }
210 
onLowMemory(void)211 void NativeActivity::onLowMemory(void)
212 {
213 }
214 
finish(void)215 void NativeActivity::finish(void)
216 {
217     ANativeActivity_finish(m_activity);
218 }
219 
220 } // namespace Android
221 } // namespace tcu
222