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