diff options
Diffstat (limited to 'java/src/com/zerotier/one/AndroidFileProvider.java')
-rw-r--r-- | java/src/com/zerotier/one/AndroidFileProvider.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/java/src/com/zerotier/one/AndroidFileProvider.java b/java/src/com/zerotier/one/AndroidFileProvider.java new file mode 100644 index 00000000..0988f9df --- /dev/null +++ b/java/src/com/zerotier/one/AndroidFileProvider.java @@ -0,0 +1,43 @@ +package com.zerotier.one; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +import android.content.Context; +import android.util.Log; + +public class AndroidFileProvider implements DataStoreFileProvider { + private static final String TAG = "AndroidFileProvider"; + + Context _ctx; + + public AndroidFileProvider(Context ctx) { + this._ctx = ctx; + } + + @Override + public FileInputStream getInputFileStream(String name) + throws FileNotFoundException { + Log.d(TAG, "Returning FileInputStream for: " + name); + return _ctx.openFileInput(name); + } + + @Override + public FileOutputStream getOutputFileStream(String name) + throws FileNotFoundException { + Log.d(TAG, "Returning FileOutputStream for: " + name); + return _ctx.openFileOutput(name, Context.MODE_PRIVATE); + } + + @Override + public void deleteFile(String name) throws IOException { + boolean success = _ctx.deleteFile(name); + if(!success) + { + throw new IOException("Unable to delete file."); + } + } + +} |