diff --git a/src/com/ichi2/anki/AnkiDroid.java b/src/com/ichi2/anki/AnkiDroid.java index 6e85629c5c..2cedf476eb 100644 --- a/src/com/ichi2/anki/AnkiDroid.java +++ b/src/com/ichi2/anki/AnkiDroid.java @@ -114,8 +114,6 @@ public class AnkiDroid extends Activity public static final int EDIT_CURRENT_CARD = 2; - - /** * Variables to hold the state */ @@ -247,9 +245,6 @@ public class AnkiDroid extends Activity } }; - - - View.OnClickListener mButtonReviewEarlyHandler = new View.OnClickListener() { public void onClick(View view) @@ -330,11 +325,11 @@ public class AnkiDroid extends Activity // These people will understand how it works and will get to // love it! // TODO Where should we put this sample deck? - String SAMPLE_DECK_FILENAME = "/sdcard/country-capitals.anki"; + String SAMPLE_DECK_FILENAME = AnkiDroidApp.getStorageDirectory() + "/country-capitals.anki"; if (!new File(/* * deckFilename triggers NPE bug in * java.io.File.java - */"/sdcard", "country-capitals.anki").exists()) + */AnkiDroidApp.getStorageDirectory(), "country-capitals.anki").exists()) { try { diff --git a/src/com/ichi2/anki/AnkiDroidApp.java b/src/com/ichi2/anki/AnkiDroidApp.java index 03245afbea..d15f240a60 100644 --- a/src/com/ichi2/anki/AnkiDroidApp.java +++ b/src/com/ichi2/anki/AnkiDroidApp.java @@ -21,6 +21,7 @@ import android.app.Application; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; +import android.os.Environment; import com.tomgibara.android.veecheck.Veecheck; import com.tomgibara.android.veecheck.util.PrefSettings; @@ -36,6 +37,11 @@ public class AnkiDroidApp extends Application { */ private static AnkiDroidApp instance; + /** + * Base path to the available external storage + */ + private String storageDirectory; + /** * Currently loaded Anki deck. */ @@ -60,6 +66,9 @@ public class AnkiDroidApp extends Application { editor.putLong(PrefSettings.KEY_CHECK_INTERVAL, 60 * 1000L); editor.putString(PrefSettings.KEY_CHECK_URI, "http://ankidroid.googlecode.com/files/test_notifications.xml");*/ editor.putString(PrefSettings.KEY_CHECK_URI, "http://ankidroid.googlecode.com/files/last_release.xml"); + // Put the base path to the external storage on preferences + storageDirectory = Environment.getExternalStorageDirectory().getAbsolutePath(); + editor.putString("deckPath", storageDirectory); editor.commit(); } @@ -75,6 +84,11 @@ public class AnkiDroidApp extends Application { return instance; } + public static String getStorageDirectory() + { + return instance.storageDirectory; + } + public static Deck deck() { return instance.loadedDeck; diff --git a/src/com/ichi2/anki/DeckPicker.java b/src/com/ichi2/anki/DeckPicker.java index 35f7bd2533..c334ea0492 100644 --- a/src/com/ichi2/anki/DeckPicker.java +++ b/src/com/ichi2/anki/DeckPicker.java @@ -103,7 +103,7 @@ public class DeckPicker extends Activity implements Runnable mSelf = this; SharedPreferences preferences = PrefSettings.getSharedPrefs(getBaseContext()); - String deckPath = preferences.getString("deckPath", "/sdcard"); + String deckPath = preferences.getString("deckPath", AnkiDroidApp.getStorageDirectory()); setContentView(R.layout.main); mDeckList = new ArrayList>(); @@ -406,12 +406,12 @@ public class DeckPicker extends Activity implements Runnable if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED)) { Log.i(TAG, "DeckPicker - mUnmountReceiver, Action = Media Unmounted"); SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); - String deckPath = preferences.getString("deckPath", "/sdcard"); + String deckPath = preferences.getString("deckPath", AnkiDroidApp.getStorageDirectory()); populateDeckList(deckPath); } else if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) { Log.i(TAG, "DeckPicker - mUnmountReceiver, Action = Media Mounted"); SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); - String deckPath = preferences.getString("deckPath", "/sdcard"); + String deckPath = preferences.getString("deckPath", AnkiDroidApp.getStorageDirectory()); mDeckIsSelected = false; setTitle(R.string.deckpicker_title); populateDeckList(deckPath); diff --git a/src/com/ichi2/utils/DiffEngine.java b/src/com/ichi2/utils/DiffEngine.java index 1d825a88f1..dc27be90d3 100644 --- a/src/com/ichi2/utils/DiffEngine.java +++ b/src/com/ichi2/utils/DiffEngine.java @@ -29,6 +29,7 @@ import java.util.Set; import java.util.Stack; import java.util.regex.Pattern; + /** * Functions for diff, match and patch. * Computes the difference between two texts to create a patch.