Skip to content

Commit

Permalink
fixed file access on Android Q
Browse files Browse the repository at this point in the history
  • Loading branch information
svenmeier committed Sep 23, 2020
1 parent 824f571 commit 08ab97e
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 8 deletions.
4 changes: 3 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/LightTheme"
tools:replace="allowBackup">
tools:replace="allowBackup"
android:requestLegacyExternalStorage="true"
>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
Expand Down
10 changes: 10 additions & 0 deletions app/src/main/java/svenmeier/coxswain/Coxswain.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@
import android.app.NotificationManager;
import android.content.Context;
import android.os.Build;
import android.os.Environment;

import androidx.annotation.RequiresApi;
import androidx.preference.PreferenceManager;

import java.io.File;

/**
*/
public class Coxswain extends Application {
Expand Down Expand Up @@ -39,6 +42,13 @@ public static void initNotification(Context context, Notification.Builder builde
}
}

public static File getExternalFilesDir(Context context) {
// for API 29 only possible with android:requestLegacyExternalStorage="true"
//
// in future we have to use context.getExternalFilesDir(null);
return Environment.getExternalStoragePublicDirectory(Coxswain.TAG);
}

@Override
public void onCreate() {
super.onCreate();
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/svenmeier/coxswain/GymLocator.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ private File internal() {
}

private File external() {
return new File(Environment.getExternalStoragePublicDirectory(Coxswain.TAG), NAME);
return new File(Coxswain.getExternalFilesDir(context), NAME);
}

private SQLiteDatabase open(File file) {
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/svenmeier/coxswain/garmin/TcxExport.java
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public String getFileName() {
}

private File write(Match<Snapshot> snapshots) throws IOException {
File dir = Environment.getExternalStoragePublicDirectory(Coxswain.TAG);
File dir = Coxswain.getExternalFilesDir(context);
dir.mkdirs();
dir.setReadable(true, false);

Expand All @@ -152,7 +152,7 @@ private ICourse getCourse(Workout workout) {
if (Preference.getBoolean(context, R.string.preference_export_track).get()) {
InputStream input;
try {
input = new FileInputStream(new File(Environment.getExternalStoragePublicDirectory(Coxswain.TAG), "course.tcx"));
input = new FileInputStream(new File(Coxswain.getExternalFilesDir(context), "course.tcx"));
} catch (Exception ex) {
input = context.getResources().openRawResource(R.raw.course);
}
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/svenmeier/coxswain/io/ProgramExport.java
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ public String getFileName() {
}

private File write() throws IOException {
File dir = Environment.getExternalStoragePublicDirectory(Coxswain.TAG);
File dir = Coxswain.getExternalFilesDir(context);
dir.mkdirs();
dir.setReadable(true, false);

Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/svenmeier/coxswain/rower/FileTrace.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class FileTrace implements ITrace {
private final BufferedWriter writer;

public FileTrace(Context context) throws IOException {
File dir = Environment.getExternalStoragePublicDirectory(Coxswain.TAG);
File dir = Coxswain.getExternalFilesDir(context);
dir.mkdirs();
dir.setReadable(true, false);

Expand Down
3 changes: 3 additions & 0 deletions changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
7.4
- fixed file access on Android Q

7.3
- notify on low battery of bluetooth devices
- sort programs by name
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
# org.gradle.parallel=true

# ./gradlew githubRelease
coxswain-versionCode=73
coxswain-versionName=7.3
coxswain-versionCode=74
coxswain-versionName=7.4

coxswain-private=/home/sven/Documents/coxswain/coxswain-private.gradle

Expand Down

0 comments on commit 08ab97e

Please sign in to comment.