diff options
Diffstat (limited to 'src/us/minak/SettingsUtil.java')
-rw-r--r-- | src/us/minak/SettingsUtil.java | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/us/minak/SettingsUtil.java b/src/us/minak/SettingsUtil.java index c3c0603..c043e0b 100644 --- a/src/us/minak/SettingsUtil.java +++ b/src/us/minak/SettingsUtil.java @@ -1,20 +1,39 @@ package us.minak; -import android.content.ContextWrapper; +import android.content.Context; import android.gesture.GestureLibrary; import android.gesture.GestureLibraries; + import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; public class SettingsUtil { private static File sGestureFile = null; private static GestureLibrary sGestureLibrary = null; - public static File getGestureFile(ContextWrapper context) { + public static File getGestureFile(Context context) { if (sGestureFile == null) sGestureFile = new File(context.getExternalFilesDir(null), "gestures.ttf"); + // If the gestures file doesn't exist, copy the default gestures to it + if (!sGestureFile.exists()) { + try { + InputStream in = context.getResources().openRawResource(R.raw.gestures); + OutputStream out = new FileOutputStream(sGestureFile); + byte[] buf = new byte[1024]; + int len; + while ( (len = in.read(buf, 0, buf.length)) != -1) + out.write(buf, 0, len); + in.close(); + out.close(); + } catch (Exception e) { + // TODO: better error handling + } + } return sGestureFile; } - public static GestureLibrary getGestureLibrary(ContextWrapper context) { + public static GestureLibrary getGestureLibrary(Context context) { if (sGestureLibrary == null) sGestureLibrary = GestureLibraries.fromFile(getGestureFile(context)); return sGestureLibrary; |