<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hughes.android.dictionary"
android:installLocation="auto"
- android:versionCode="37"
- android:versionName="5.1.0" >
+ android:versionCode="38"
+ android:versionName="5.1.1" >
<uses-sdk
android:minSdkVersion="10"
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.net.Uri;
+import android.os.Build;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.v4.view.MenuItemCompat;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView.ScaleType;
+import android.widget.Toast;
import com.hughes.android.dictionary.DictionaryInfo.IndexInfo;
import com.hughes.android.dictionary.engine.Dictionary;
}
dictDir = new File(dir);
dictDir.mkdirs();
+ if (!dictDir.isDirectory() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+ getApplicationContext().getExternalFilesDirs(null);
+ }
+ if (!dictDir.isDirectory() || !dictDir.canWrite()) {
+ String dirs = " " + Environment.getExternalStoragePublicDirectory(null);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+ File[] files = getApplicationContext().getExternalFilesDirs(null);
+ for (File f : files) {
+ dirs += " " + f.getAbsolutePath();
+ }
+ } else {
+ dirs += " " + getApplicationContext().getExternalFilesDir(null).getAbsolutePath();
+ }
+ Toast.makeText(getApplicationContext(), "Chosen directory not writeable, try one of" + dirs, Toast.LENGTH_LONG).show();
+ }
return dictDir;
}