JmeSystem.getStorageFolder() updates

Hi folks, just tried this on the latest nightly (2012-12-06), but it appears to be failing on android atm, is this expected? or am I doing something stupid?



Tested on: asus 300, android 4.1



code snippet:

[java]

public void save(List<ScoreData> sd, JmeSystem.StorageFolderType type) {

File dataStore = JmeSystem.getStorageFolder(type);

String path = dataStore.getAbsolutePath();

if (!dataStore.exists()){

Log.e(TAG,"Data store does not exist: " + path+" creating…");

if (dataStore.mkdirs()){

Log.i(TAG,"Data store created");

}

}



if (dataStore.exists()){

Log.i(TAG, "Data store does exist"+path);

File t = new File(path+File.separator+tableName+".scd");

if (t!=null){

Log.i(TAG, "HichScore File does exist, path="+path+File.separator+tableName+".scd isFile:" +t.isFile() +" writeable:"+t.canWrite());

}

t=null;

}

else{

Log.e(TAG,"Data store does not exist: " + path);

}



BufferedWriter writer = null;

try{

writer = new BufferedWriter(new FileWriter(path+File.separator+tableName+".scd"));

writer.write("");

for (ScoreData s:sd){

writer.append(s.toCSV());

writer.append("n");

}

}

catch(Exception e){

Log.e(TAG,"Failed to write highscore data! using storeType:["+type+"] path: [" +path+ "] Exception message:" + e.getMessage());



if (!type.equals(JmeSystem.StorageFolderType.External)){

Log.e(TAG,"Retrying using External Storage");

save(sd,JmeSystem.StorageFolderType.External);

}

else

Log.e(TAG,"Giving up, unable to store data at external location");

}

finally{

if (writer != null)

try{writer.close();}

catch(Exception e){

Log.e(TAG,"Failed to close highscore data! "+e.getMessage());

}

}

}

[/java]



Log Snippet:

I/JmeSystem( 7605): INFO JmeSystemDelegate 1:25:46 PM Storage Folder Path: /.jme3

I/System.out( 7605): ScoreManager–>Data store does not exist: /.jme3 creating…

I/System.out( 7605): ScoreManager–>Data store does not exist: /.jme3

I/System.out( 7605): ScoreManager–>Failed to write highscore data! using storeType:[Internal] path: [/.jme3] Exception message:/.jme3/test.scd: open failed: ENOENT (No such file or directory)

I/System.out( 7605): ScoreManager–>Retrying using External Storage

I/JmeSystem( 7605): INFO JmeSystemDelegate 1:25:46 PM Storage Folder Path: /.jme3

I/System.out( 7605): ScoreManager–>Data store does not exist: /.jme3 creating…

I/System.out( 7605): ScoreManager–>Data store does not exist: /.jme3

I/System.out( 7605): ScoreManager–>Failed to write highscore data! using storeType:[External] path: [/.jme3] Exception message:/.jme3/test.scd: open failed: ENOENT (No such file or directory)

I/System.out( 7605): ScoreManager–>Giving up, unable to store data at external location