diff --git a/Android.mk b/Android.mk index 7541443c9..9d5b6e824 100755 --- a/Android.mk +++ b/Android.mk @@ -34,7 +34,7 @@ LOCAL_SRC_FILES := \ $(wildcard $(LOCAL_PATH)/src/loadso/dlopen/*.c) \ $(wildcard $(LOCAL_PATH)/src/power/*.c) \ $(wildcard $(LOCAL_PATH)/src/power/android/*.c) \ - $(wildcard $(LOCAL_PATH)/src/filesystem/dummy/*.c) \ + $(wildcard $(LOCAL_PATH)/src/filesystem/android/*.c) \ $(wildcard $(LOCAL_PATH)/src/render/*.c) \ $(wildcard $(LOCAL_PATH)/src/render/*/*.c) \ $(wildcard $(LOCAL_PATH)/src/stdlib/*.c) \ diff --git a/include/SDL_config_android.h b/include/SDL_config_android.h index 7310601fb..569ff1d5e 100644 --- a/include/SDL_config_android.h +++ b/include/SDL_config_android.h @@ -141,7 +141,7 @@ /* Enable system power support */ #define SDL_POWER_ANDROID 1 -/* !!! FIXME: what does Android do for filesystem stuff? */ -#define SDL_FILESYSTEM_DUMMY 1 +/* Enable the filesystem driver */ +#define SDL_FILESYSTEM_ANDROID 1 #endif /* _SDL_config_android_h */ diff --git a/src/filesystem/android/SDL_sysfilesystem.c b/src/filesystem/android/SDL_sysfilesystem.c new file mode 100644 index 000000000..b3937449a --- /dev/null +++ b/src/filesystem/android/SDL_sysfilesystem.c @@ -0,0 +1,62 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2014 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ +#include "../../SDL_internal.h" + +#ifdef SDL_FILESYSTEM_ANDROID + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/* System dependent filesystem routines */ + +#include +#include + +#include "SDL_error.h" +#include "SDL_filesystem.h" +#include "SDL_system.h" + + +char * +SDL_GetBasePath(void) +{ + /* The current working directory is / on Android */ + return NULL; +} + +char * +SDL_GetPrefPath(const char *org, const char *app) +{ + const char *path = SDL_AndroidGetInternalStoragePath(); + if (path) { + size_t pathlen = SDL_strlen(path)+2; + char *fullpath = (char *)SDL_malloc(pathlen); + if (!fullpath) { + SDL_OutOfMemory(); + return NULL; + } + SDL_snprintf(fullpath, pathlen, "%s/", path); + return fullpath; + } + return NULL; +} + +#endif /* SDL_FILESYSTEM_ANDROID */ + +/* vi: set ts=4 sw=4 expandtab: */