ANDROID: Clean up log code and use Backends::Log
This commit is contained in:
parent
b1eb46ed44
commit
767f70d595
8 changed files with 146 additions and 128 deletions
|
@ -36,13 +36,12 @@
|
||||||
// for the Android port
|
// for the Android port
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
|
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
|
||||||
|
|
||||||
#include "graphics/blit.h"
|
|
||||||
|
|
||||||
#include "backends/graphics/opengl/pipelines/pipeline.h"
|
|
||||||
|
|
||||||
#include "backends/graphics/android/android-graphics.h"
|
|
||||||
#include "backends/platform/android/android.h"
|
#include "backends/platform/android/android.h"
|
||||||
#include "backends/platform/android/jni-android.h"
|
#include "backends/platform/android/jni-android.h"
|
||||||
|
#include "backends/graphics/android/android-graphics.h"
|
||||||
|
#include "backends/graphics/opengl/pipelines/pipeline.h"
|
||||||
|
|
||||||
|
#include "graphics/blit.h"
|
||||||
|
|
||||||
static void loadBuiltinTexture(JNI::BitmapResources resource, OpenGL::Surface *surf) {
|
static void loadBuiltinTexture(JNI::BitmapResources resource, OpenGL::Surface *surf) {
|
||||||
const Graphics::Surface *src = JNI::getBitmapResource(resource);
|
const Graphics::Surface *src = JNI::getBitmapResource(resource);
|
||||||
|
|
|
@ -36,14 +36,15 @@
|
||||||
// for the Android port
|
// for the Android port
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
|
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
|
||||||
|
|
||||||
|
#include "backends/platform/android/android.h"
|
||||||
|
#include "backends/platform/android/jni-android.h"
|
||||||
|
|
||||||
#include "common/tokenizer.h"
|
#include "common/tokenizer.h"
|
||||||
#include "graphics/blit.h"
|
#include "graphics/blit.h"
|
||||||
#include "graphics/opengl/shader.h"
|
#include "graphics/opengl/shader.h"
|
||||||
#include "graphics/opengl/context.h"
|
#include "graphics/opengl/context.h"
|
||||||
|
|
||||||
#include "backends/graphics3d/android/android-graphics3d.h"
|
#include "backends/graphics3d/android/android-graphics3d.h"
|
||||||
#include "backends/platform/android/android.h"
|
|
||||||
#include "backends/platform/android/jni-android.h"
|
|
||||||
|
|
||||||
// These helper macros let us setup our context only when the game has different settings than us
|
// These helper macros let us setup our context only when the game has different settings than us
|
||||||
#define CONTEXT_SAVE_STATE(gl_param) GLboolean saved ## gl_param; GLCALL(saved ## gl_param = glIsEnabled(gl_param))
|
#define CONTEXT_SAVE_STATE(gl_param) GLboolean saved ## gl_param; GLCALL(saved ## gl_param = glIsEnabled(gl_param))
|
||||||
|
|
|
@ -36,6 +36,9 @@
|
||||||
// for the Android port
|
// for the Android port
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
|
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
|
||||||
|
|
||||||
|
#include "backends/platform/android/android.h"
|
||||||
|
#include "backends/platform/android/jni-android.h"
|
||||||
|
|
||||||
#include "base/main.h"
|
#include "base/main.h"
|
||||||
#include "graphics/surface.h"
|
#include "graphics/surface.h"
|
||||||
#include "graphics/opengl/shader.h"
|
#include "graphics/opengl/shader.h"
|
||||||
|
@ -45,8 +48,6 @@
|
||||||
#include "common/array.h"
|
#include "common/array.h"
|
||||||
#include "common/util.h"
|
#include "common/util.h"
|
||||||
|
|
||||||
#include "backends/platform/android/android.h"
|
|
||||||
#include "backends/platform/android/jni-android.h"
|
|
||||||
#include "backends/graphics3d/android/texture.h"
|
#include "backends/graphics3d/android/texture.h"
|
||||||
|
|
||||||
// Supported GL extensions
|
// Supported GL extensions
|
||||||
|
|
|
@ -43,10 +43,10 @@
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_FILE
|
#define FORBIDDEN_SYMBOL_EXCEPTION_FILE
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_fopen
|
#define FORBIDDEN_SYMBOL_EXCEPTION_fopen
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_fclose
|
#define FORBIDDEN_SYMBOL_EXCEPTION_fclose
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_fputs
|
//#define FORBIDDEN_SYMBOL_EXCEPTION_fputs
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_fwrite
|
//#define FORBIDDEN_SYMBOL_EXCEPTION_fwrite
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_ftell
|
#define FORBIDDEN_SYMBOL_EXCEPTION_ftell
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_fflush
|
//#define FORBIDDEN_SYMBOL_EXCEPTION_fflush
|
||||||
|
|
||||||
#include <EGL/egl.h>
|
#include <EGL/egl.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
@ -56,14 +56,14 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
|
|
||||||
#include "common/util.h"
|
#include "backends/platform/android/android.h"
|
||||||
#include "common/textconsole.h"
|
#include "backends/platform/android/jni-android.h"
|
||||||
#include "common/rect.h"
|
#include "backends/fs/android/android-fs.h"
|
||||||
#include "common/queue.h"
|
#include "backends/fs/android/android-fs-factory.h"
|
||||||
#include "common/mutex.h"
|
#include "backends/fs/posix/posix-iostream.h"
|
||||||
#include "common/events.h"
|
|
||||||
#include "common/config-manager.h"
|
#include "backends/graphics/android/android-graphics.h"
|
||||||
#include "graphics/cursorman.h"
|
#include "backends/graphics3d/android/android-graphics3d.h"
|
||||||
|
|
||||||
#include "backends/audiocd/default/default-audiocd.h"
|
#include "backends/audiocd/default/default-audiocd.h"
|
||||||
#include "backends/events/default/default-events.h"
|
#include "backends/events/default/default-events.h"
|
||||||
|
@ -75,12 +75,14 @@
|
||||||
#include "backends/keymapper/keymapper-defaults.h"
|
#include "backends/keymapper/keymapper-defaults.h"
|
||||||
#include "backends/keymapper/standard-actions.h"
|
#include "backends/keymapper/standard-actions.h"
|
||||||
|
|
||||||
#include "backends/graphics/android/android-graphics.h"
|
#include "common/util.h"
|
||||||
#include "backends/graphics3d/android/android-graphics3d.h"
|
#include "common/textconsole.h"
|
||||||
#include "backends/platform/android/jni-android.h"
|
#include "common/rect.h"
|
||||||
#include "backends/platform/android/android.h"
|
#include "common/queue.h"
|
||||||
#include "backends/fs/android/android-fs.h"
|
#include "common/mutex.h"
|
||||||
#include "backends/fs/android/android-fs-factory.h"
|
#include "common/events.h"
|
||||||
|
#include "common/config-manager.h"
|
||||||
|
#include "graphics/cursorman.h"
|
||||||
|
|
||||||
const char *android_log_tag = "ScummVM";
|
const char *android_log_tag = "ScummVM";
|
||||||
|
|
||||||
|
@ -190,23 +192,29 @@ OSystem_Android::OSystem_Android(int audio_sample_rate, int audio_buffer_size) :
|
||||||
_trackball_scale(2),
|
_trackball_scale(2),
|
||||||
_joystick_scale(10),
|
_joystick_scale(10),
|
||||||
_defaultConfigFileName(""),
|
_defaultConfigFileName(""),
|
||||||
_defaultLogFileName("") {
|
_defaultLogFileName(""),
|
||||||
// _scvmLogFilePtr(nullptr) {
|
_systemPropertiesSummaryStr(""),
|
||||||
|
_systemSDKdetectedStr(""),
|
||||||
|
_logger(nullptr) {
|
||||||
|
|
||||||
LOGI("Running on: [%s] [%s] [%s] [%s] [%s] SDK:%s ABI:%s",
|
_systemPropertiesSummaryStr = Common::String::format("Running on: [%s] [%s] [%s] [%s] [%s] SDK:%s ABI:%s\n",
|
||||||
getSystemProperty("ro.product.manufacturer").c_str(),
|
getSystemProperty("ro.product.manufacturer").c_str(),
|
||||||
getSystemProperty("ro.product.model").c_str(),
|
getSystemProperty("ro.product.model").c_str(),
|
||||||
getSystemProperty("ro.product.brand").c_str(),
|
getSystemProperty("ro.product.brand").c_str(),
|
||||||
getSystemProperty("ro.build.fingerprint").c_str(),
|
getSystemProperty("ro.build.fingerprint").c_str(),
|
||||||
getSystemProperty("ro.build.display.id").c_str(),
|
getSystemProperty("ro.build.display.id").c_str(),
|
||||||
getSystemProperty("ro.build.version.sdk").c_str(),
|
getSystemProperty("ro.build.version.sdk").c_str(),
|
||||||
getSystemProperty("ro.product.cpu.abi").c_str());
|
getSystemProperty("ro.product.cpu.abi").c_str()) ;
|
||||||
|
|
||||||
|
LOGI("%s", _systemPropertiesSummaryStr.c_str());
|
||||||
// JNI::getAndroidSDKVersionId() should be identical to the result from ("ro.build.version.sdk"),
|
// JNI::getAndroidSDKVersionId() should be identical to the result from ("ro.build.version.sdk"),
|
||||||
// though getting it via JNI is maybe the most reliable option (?)
|
// though getting it via JNI is maybe the most reliable option (?)
|
||||||
// Also __system_property_get which is used by getSystemProperty() is being deprecated in recent NDKs
|
// Also __system_property_get which is used by getSystemProperty() is being deprecated in recent NDKs
|
||||||
|
|
||||||
int sdkVersion = JNI::getAndroidSDKVersionId();
|
int sdkVersion = JNI::getAndroidSDKVersionId();
|
||||||
LOGI("SDK Version: %d", sdkVersion);
|
|
||||||
|
_systemSDKdetectedStr = Common::String::format("SDK Version: %d\n", sdkVersion) ;
|
||||||
|
LOGI("%s", _systemSDKdetectedStr.c_str());
|
||||||
|
|
||||||
AndroidFilesystemFactory &fsFactory = AndroidFilesystemFactory::instance();
|
AndroidFilesystemFactory &fsFactory = AndroidFilesystemFactory::instance();
|
||||||
if (sdkVersion >= 24) {
|
if (sdkVersion >= 24) {
|
||||||
|
@ -244,11 +252,8 @@ OSystem_Android::~OSystem_Android() {
|
||||||
// Uninitialize surface now to avoid it to be done later when touch controls are destroyed
|
// Uninitialize surface now to avoid it to be done later when touch controls are destroyed
|
||||||
dynamic_cast<AndroidCommonGraphics *>(_graphicsManager)->deinitSurface();
|
dynamic_cast<AndroidCommonGraphics *>(_graphicsManager)->deinitSurface();
|
||||||
|
|
||||||
// // close log file
|
delete _logger;
|
||||||
// if (_scvmLogFilePtr != nullptr) {
|
_logger = nullptr;
|
||||||
// fflush(_scvmLogFilePtr);
|
|
||||||
// fclose(_scvmLogFilePtr);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void *OSystem_Android::timerThreadFunc(void *arg) {
|
void *OSystem_Android::timerThreadFunc(void *arg) {
|
||||||
|
@ -422,18 +427,25 @@ void OSystem_Android::initBackend() {
|
||||||
|
|
||||||
_main_thread = pthread_self();
|
_main_thread = pthread_self();
|
||||||
|
|
||||||
// // Open log file
|
if (!_logger)
|
||||||
// if (!getDefaultLogFileName().empty()) {
|
_logger = new Backends::Log::Log(this);
|
||||||
// _scvmLogFilePtr = fopen(getDefaultLogFileName().c_str(), "a");
|
|
||||||
// if (_scvmLogFilePtr != nullptr) {
|
|
||||||
// LOGD("Opened log file for writing upon initializing backend");
|
|
||||||
// } else {
|
|
||||||
// LOGE("Error when opening log file for writing upon initializing backend");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// LOGE("Error: log file path not known yet, upon initializing backend");
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
if (_logger) {
|
||||||
|
Common::WriteStream *logFile = createLogFileForAppending();
|
||||||
|
if (logFile) {
|
||||||
|
_logger->open(logFile);
|
||||||
|
|
||||||
|
if (!_systemPropertiesSummaryStr.empty())
|
||||||
|
_logger->print(_systemPropertiesSummaryStr.c_str());
|
||||||
|
|
||||||
|
if (!_systemSDKdetectedStr.empty())
|
||||||
|
_logger->print(_systemSDKdetectedStr.c_str());
|
||||||
|
} else {
|
||||||
|
LOGE("Error when opening log file for writing upon initializing backend");
|
||||||
|
//_logger->close();
|
||||||
|
_logger = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Warning: ConfMan.registerDefault() can be used for a Session of ScummVM
|
// Warning: ConfMan.registerDefault() can be used for a Session of ScummVM
|
||||||
// but:
|
// but:
|
||||||
|
@ -575,6 +587,37 @@ Common::String OSystem_Android::getDefaultLogFileName() {
|
||||||
return _defaultLogFileName;
|
return _defaultLogFileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Common::WriteStream *OSystem_Android::createLogFileForAppending() {
|
||||||
|
if (getDefaultLogFileName().empty()) {
|
||||||
|
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, "Log file path is not known upon create attempt!");
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE *scvmLogFilePtr = fopen(getDefaultLogFileName().c_str(), "a");
|
||||||
|
if (scvmLogFilePtr != nullptr) {
|
||||||
|
long sz = ftell(scvmLogFilePtr);
|
||||||
|
if (sz > MAX_ANDROID_SCUMMVM_LOG_FILESIZE_IN_BYTES) {
|
||||||
|
fclose(scvmLogFilePtr);
|
||||||
|
__android_log_write(ANDROID_LOG_WARN, android_log_tag, "Default log file is bigger than 100KB. It will be overwritten!");
|
||||||
|
if (!getDefaultLogFileName().empty()) {
|
||||||
|
// Create the log file from scratch overwriting the previous one
|
||||||
|
scvmLogFilePtr = fopen(getDefaultLogFileName().c_str(), "w");
|
||||||
|
if (scvmLogFilePtr == nullptr) {
|
||||||
|
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, "Could not open default log file for rewrite!");
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, "Log file path is not known upon rewrite attempt!");
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, "Could not open default log file for writing/appending.");
|
||||||
|
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, getDefaultLogFileName().c_str());
|
||||||
|
}
|
||||||
|
return new PosixIoStream(scvmLogFilePtr);
|
||||||
|
}
|
||||||
|
|
||||||
bool OSystem_Android::hasFeature(Feature f) {
|
bool OSystem_Android::hasFeature(Feature f) {
|
||||||
if (f == kFeatureFullscreenMode)
|
if (f == kFeatureFullscreenMode)
|
||||||
return false;
|
return false;
|
||||||
|
@ -770,41 +813,10 @@ void OSystem_Android::logMessage(LogMessageType::Type type, const char *message)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!getDefaultLogFileName().empty()) {
|
// Then log into file (via the logger)
|
||||||
// open for append by default
|
if (_logger)
|
||||||
FILE *_scvmLogFilePtr = fopen(getDefaultLogFileName().c_str(), "a");
|
_logger->print(message);
|
||||||
|
|
||||||
// TODO Do we need to worry about threading/synchronization here?
|
|
||||||
if (_scvmLogFilePtr != nullptr) {
|
|
||||||
long sz = ftell(_scvmLogFilePtr);
|
|
||||||
if (sz > MAX_ANDROID_SCUMMVM_LOG_FILESIZE_IN_BYTES) {
|
|
||||||
fclose(_scvmLogFilePtr);
|
|
||||||
__android_log_write(ANDROID_LOG_WARN, android_log_tag, "Default log file is bigger than 100KB. It will be overwritten!");
|
|
||||||
if (!getDefaultLogFileName().empty()) {
|
|
||||||
// Create the log file from scratch overwriting the previous one
|
|
||||||
_scvmLogFilePtr = fopen(getDefaultLogFileName().c_str(), "w");
|
|
||||||
if (_scvmLogFilePtr == nullptr) {
|
|
||||||
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, "Could not open default log file for rewrite!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, "Log file path is not known!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fputs(message, _scvmLogFilePtr);
|
|
||||||
fwrite("\n", 1, 1, _scvmLogFilePtr);
|
|
||||||
// close log file
|
|
||||||
fflush(_scvmLogFilePtr);
|
|
||||||
fclose(_scvmLogFilePtr);
|
|
||||||
} else {
|
|
||||||
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, "Could not open default log file for writing/appending.");
|
|
||||||
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, getDefaultLogFileName().c_str());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
__android_log_write(ANDROID_LOG_ERROR, android_log_tag, "Error: log file path not known yet, upon initializing backend");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Common::String OSystem_Android::getSystemLanguage() const {
|
Common::String OSystem_Android::getSystemLanguage() const {
|
||||||
|
|
|
@ -18,13 +18,14 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
//#define FORBIDDEN_SYMBOL_EXCEPTION_FILE
|
|
||||||
|
|
||||||
#ifndef _ANDROID_H_
|
#ifndef _ANDROID_H_
|
||||||
#define _ANDROID_H_
|
#define _ANDROID_H_
|
||||||
|
|
||||||
#if defined(__ANDROID__)
|
#if defined(__ANDROID__)
|
||||||
|
|
||||||
|
#define FORBIDDEN_SYMBOL_EXCEPTION_FILE
|
||||||
|
|
||||||
#include "backends/platform/android/portdefs.h"
|
#include "backends/platform/android/portdefs.h"
|
||||||
#include "common/fs.h"
|
#include "common/fs.h"
|
||||||
#include "common/archive.h"
|
#include "common/archive.h"
|
||||||
|
@ -34,7 +35,8 @@
|
||||||
#include "backends/modular-backend.h"
|
#include "backends/modular-backend.h"
|
||||||
#include "backends/plugins/posix/posix-provider.h"
|
#include "backends/plugins/posix/posix-provider.h"
|
||||||
#include "backends/fs/posix/posix-fs-factory.h"
|
#include "backends/fs/posix/posix-fs-factory.h"
|
||||||
|
#include "backends/fs/posix/posix-fs-factory.h"
|
||||||
|
#include "backends/log/log.h"
|
||||||
#include "backends/platform/android/touchcontrols.h"
|
#include "backends/platform/android/touchcontrols.h"
|
||||||
|
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
@ -110,46 +112,15 @@ private:
|
||||||
|
|
||||||
bool _timer_thread_exit;
|
bool _timer_thread_exit;
|
||||||
pthread_t _timer_thread;
|
pthread_t _timer_thread;
|
||||||
static void *timerThreadFunc(void *arg);
|
|
||||||
|
|
||||||
bool _audio_thread_exit;
|
bool _audio_thread_exit;
|
||||||
pthread_t _audio_thread;
|
pthread_t _audio_thread;
|
||||||
static void *audioThreadFunc(void *arg);
|
|
||||||
|
|
||||||
bool _virtkeybd_on;
|
bool _virtkeybd_on;
|
||||||
|
|
||||||
Audio::MixerImpl *_mixer;
|
Audio::MixerImpl *_mixer;
|
||||||
timeval _startTime;
|
timeval _startTime;
|
||||||
|
|
||||||
Common::String getSystemProperty(const char *name) const;
|
|
||||||
|
|
||||||
public:
|
|
||||||
enum {
|
|
||||||
TOUCH_MODE_TOUCHPAD = 0,
|
|
||||||
TOUCH_MODE_MOUSE = 1,
|
|
||||||
TOUCH_MODE_GAMEPAD = 2,
|
|
||||||
TOUCH_MODE_MAX = 3
|
|
||||||
};
|
|
||||||
|
|
||||||
OSystem_Android(int audio_sample_rate, int audio_buffer_size);
|
|
||||||
virtual ~OSystem_Android();
|
|
||||||
|
|
||||||
void initBackend() override;
|
|
||||||
|
|
||||||
bool hasFeature(OSystem::Feature f) override;
|
|
||||||
void setFeatureState(OSystem::Feature f, bool enable) override;
|
|
||||||
bool getFeatureState(OSystem::Feature f) override;
|
|
||||||
|
|
||||||
public:
|
|
||||||
void pushEvent(int type, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6);
|
|
||||||
void pushEvent(const Common::Event &event);
|
|
||||||
void pushEvent(const Common::Event &event1, const Common::Event &event2);
|
|
||||||
|
|
||||||
TouchControls &getTouchControls() { return _touchControls; }
|
|
||||||
void applyTouchSettings(bool _3dMode, bool overlayShown);
|
|
||||||
void setupTouchMode(int oldValue, int newValue);
|
|
||||||
|
|
||||||
private:
|
|
||||||
Common::Queue<Common::Event> _event_queue;
|
Common::Queue<Common::Event> _event_queue;
|
||||||
Common::Event _queuedEvent;
|
Common::Event _queuedEvent;
|
||||||
uint32 _queuedEventTime;
|
uint32 _queuedEventTime;
|
||||||
|
@ -172,14 +143,47 @@ private:
|
||||||
|
|
||||||
Common::String _defaultConfigFileName;
|
Common::String _defaultConfigFileName;
|
||||||
Common::String _defaultLogFileName;
|
Common::String _defaultLogFileName;
|
||||||
|
Common::String _systemPropertiesSummaryStr;
|
||||||
|
Common::String _systemSDKdetectedStr;
|
||||||
|
|
||||||
// FILE *_scvmLogFilePtr;
|
Backends::Log::Log *_logger;
|
||||||
|
|
||||||
#if defined(USE_OPENGL) && defined(USE_GLAD)
|
#if defined(USE_OPENGL) && defined(USE_GLAD)
|
||||||
// Cached dlopen object
|
// Cached dlopen object
|
||||||
mutable void *_gles2DL;
|
mutable void *_gles2DL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static void *timerThreadFunc(void *arg);
|
||||||
|
static void *audioThreadFunc(void *arg);
|
||||||
|
Common::String getSystemProperty(const char *name) const;
|
||||||
|
|
||||||
|
Common::WriteStream *createLogFileForAppending();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
enum {
|
||||||
|
TOUCH_MODE_TOUCHPAD = 0,
|
||||||
|
TOUCH_MODE_MOUSE = 1,
|
||||||
|
TOUCH_MODE_GAMEPAD = 2,
|
||||||
|
TOUCH_MODE_MAX = 3
|
||||||
|
};
|
||||||
|
|
||||||
|
OSystem_Android(int audio_sample_rate, int audio_buffer_size);
|
||||||
|
virtual ~OSystem_Android();
|
||||||
|
|
||||||
|
void initBackend() override;
|
||||||
|
|
||||||
|
bool hasFeature(OSystem::Feature f) override;
|
||||||
|
void setFeatureState(OSystem::Feature f, bool enable) override;
|
||||||
|
bool getFeatureState(OSystem::Feature f) override;
|
||||||
|
|
||||||
|
void pushEvent(int type, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6);
|
||||||
|
void pushEvent(const Common::Event &event);
|
||||||
|
void pushEvent(const Common::Event &event1, const Common::Event &event2);
|
||||||
|
|
||||||
|
TouchControls &getTouchControls() { return _touchControls; }
|
||||||
|
void applyTouchSettings(bool _3dMode, bool overlayShown);
|
||||||
|
void setupTouchMode(int oldValue, int newValue);
|
||||||
|
|
||||||
bool pollEvent(Common::Event &event) override;
|
bool pollEvent(Common::Event &event) override;
|
||||||
Common::HardwareInputSet *getHardwareInputSet() override;
|
Common::HardwareInputSet *getHardwareInputSet() override;
|
||||||
Common::KeymapArray getGlobalKeymaps() override;
|
Common::KeymapArray getGlobalKeymaps() override;
|
||||||
|
@ -224,6 +228,7 @@ public:
|
||||||
#ifdef ANDROID_DEBUG_GL_CALLS
|
#ifdef ANDROID_DEBUG_GL_CALLS
|
||||||
bool isRunningInMainThread() { return pthread_self() == _main_thread; }
|
bool isRunningInMainThread() { return pthread_self() == _main_thread; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -40,8 +40,8 @@
|
||||||
|
|
||||||
#include <android/input.h>
|
#include <android/input.h>
|
||||||
|
|
||||||
#include "backends/graphics/android/android-graphics.h"
|
|
||||||
#include "backends/platform/android/android.h"
|
#include "backends/platform/android/android.h"
|
||||||
|
#include "backends/graphics/android/android-graphics.h"
|
||||||
#include "backends/platform/android/jni-android.h"
|
#include "backends/platform/android/jni-android.h"
|
||||||
|
|
||||||
// floating point. use sparingly
|
// floating point. use sparingly
|
||||||
|
|
|
@ -41,6 +41,10 @@
|
||||||
|
|
||||||
#include <android/bitmap.h>
|
#include <android/bitmap.h>
|
||||||
|
|
||||||
|
#include "backends/platform/android/android.h"
|
||||||
|
#include "backends/platform/android/jni-android.h"
|
||||||
|
#include "backends/platform/android/asset-archive.h"
|
||||||
|
|
||||||
#include "base/main.h"
|
#include "base/main.h"
|
||||||
#include "base/version.h"
|
#include "base/version.h"
|
||||||
#include "common/config-manager.h"
|
#include "common/config-manager.h"
|
||||||
|
@ -49,10 +53,6 @@
|
||||||
#include "engines/engine.h"
|
#include "engines/engine.h"
|
||||||
#include "graphics/surface.h"
|
#include "graphics/surface.h"
|
||||||
|
|
||||||
#include "backends/platform/android/android.h"
|
|
||||||
#include "backends/platform/android/asset-archive.h"
|
|
||||||
#include "backends/platform/android/jni-android.h"
|
|
||||||
|
|
||||||
__attribute__ ((visibility("default")))
|
__attribute__ ((visibility("default")))
|
||||||
jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
|
jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
|
||||||
return JNI::onLoad(vm);
|
return JNI::onLoad(vm);
|
||||||
|
|
|
@ -36,10 +36,10 @@
|
||||||
// for the Android port
|
// for the Android port
|
||||||
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
|
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
|
||||||
|
|
||||||
#include "backends/fs/android/android-fs-factory.h"
|
|
||||||
#include "backends/fs/android/android-saf-fs.h"
|
|
||||||
#include "backends/platform/android/android.h"
|
#include "backends/platform/android/android.h"
|
||||||
#include "backends/platform/android/jni-android.h"
|
#include "backends/platform/android/jni-android.h"
|
||||||
|
#include "backends/fs/android/android-fs-factory.h"
|
||||||
|
#include "backends/fs/android/android-saf-fs.h"
|
||||||
|
|
||||||
#include "gui/gui-manager.h"
|
#include "gui/gui-manager.h"
|
||||||
#include "gui/ThemeEval.h"
|
#include "gui/ThemeEval.h"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue