13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#ifndef _TCUANDROIDUTIL_HPP 23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define _TCUANDROIDUTIL_HPP 33c827367444ee418f129b2c238299f49d3264554Jarkko Poyry/*------------------------------------------------------------------------- 43c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * drawElements Quality Program Tester Core 53c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * ---------------------------------------- 63c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Copyright 2014 The Android Open Source Project 83c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Licensed under the Apache License, Version 2.0 (the "License"); 103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * you may not use this file except in compliance with the License. 113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * You may obtain a copy of the License at 123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * http://www.apache.org/licenses/LICENSE-2.0 143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Unless required by applicable law or agreed to in writing, software 163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * distributed under the License is distributed on an "AS IS" BASIS, 173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * See the License for the specific language governing permissions and 193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * limitations under the License. 203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*! 223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \file 233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \brief Android utilities. 243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*--------------------------------------------------------------------*/ 253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "tcuDefs.hpp" 273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "tcuCommandLine.hpp" 283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include <string> 304ca810727d8a06a57daf1cc9d0712284a858a40aPyry Haulos#include <ostream> 313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include <android/native_activity.h> 333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 343c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace tcu 353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 363c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace Android 373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 393c827367444ee418f129b2c238299f49d3264554Jarkko Poyryenum ScreenOrientation 403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 412dac2cccd65e5f837c3433c73c54790e6d0903d3Pyry Haulos SCREEN_ORIENTATION_UNSPECIFIED = 0xffffffff, 423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry SCREEN_ORIENTATION_LANDSCAPE = 0x00000000, 433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry SCREEN_ORIENTATION_PORTRAIT = 0x00000001, 443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 0x00000008, 453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry SCREEN_ORIENTATION_REVERSE_PORTRAIT = 0x00000009 463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 483c827367444ee418f129b2c238299f49d3264554Jarkko Poyrystd::string getIntentStringExtra (ANativeActivity* activity, const char* name); 493c827367444ee418f129b2c238299f49d3264554Jarkko Poyryvoid setRequestedOrientation (ANativeActivity* activity, ScreenOrientation orientation); 503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 513c827367444ee418f129b2c238299f49d3264554Jarkko PoyryScreenOrientation mapScreenRotation (ScreenRotation rotation); 523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 534ca810727d8a06a57daf1cc9d0712284a858a40aPyry Haulosvoid describePlatform (ANativeActivity* activity, std::ostream& dst); 544ca810727d8a06a57daf1cc9d0712284a858a40aPyry Haulos 55d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulosbool hasSystemFeature (ANativeActivity* activity, const char* name); 56d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos 57d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos//! android.util.DisplayMetrics 58d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulosstruct DisplayMetrics 59d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos{ 60d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos float density; 61d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos float scaledDensity; 62d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos int densityDpi; 63d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos 64d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos int widthPixels; 65d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos int heightPixels; 66d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos 67d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos float xdpi; 68d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos float ydpi; 69d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos 70d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos DisplayMetrics (void) 71d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos : density (0.0f) 72d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos , scaledDensity (0.0f) 73d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos , densityDpi (0) 74d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos , widthPixels (0) 75d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos , heightPixels (0) 76d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos , xdpi (0.0f) 77d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos , ydpi (0.0f) 78d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos { 79d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos } 80d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos}; 81d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos 82d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry HaulosDisplayMetrics getDisplayMetrics (ANativeActivity* activity); 83d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos 84d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos//! Get minimum required system memory that must be available to kernel and 85d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos//! userspace according to Android CDD. 86d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulossize_t getCDDRequiredSystemMemory (ANativeActivity* activity); 87d6df5d1ee6495b60d5452ec035408fcd67c7d291Pyry Haulos 883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // Android 893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // tcu 903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#endif // _TCUANDROIDUTIL_HPP 92