# HG changeset patch # User Sam Lantinga # Date 1407803153 25200 # Node ID 18d34edc79ac464d9afa5ad49039dfb774db3b20 # Parent 3b9a57b45288d9c790929af04307bc61fbb1d55e Implemented SDL_GetPrefPath() on Android - it returns the path used by SDL_AndroidGetInternalStoragePath() diff -r 3b9a57b45288 -r 18d34edc79ac Android.mk --- a/Android.mk Mon Aug 11 17:24:54 2014 -0700 +++ b/Android.mk Mon Aug 11 17:25:53 2014 -0700 @@ -34,7 +34,7 @@ $(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 -r 3b9a57b45288 -r 18d34edc79ac include/SDL_config_android.h --- a/include/SDL_config_android.h Mon Aug 11 17:24:54 2014 -0700 +++ b/include/SDL_config_android.h Mon Aug 11 17:25:53 2014 -0700 @@ -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 -r 3b9a57b45288 -r 18d34edc79ac src/filesystem/android/SDL_sysfilesystem.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/filesystem/android/SDL_sysfilesystem.c Mon Aug 11 17:25:53 2014 -0700 @@ -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: */