diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..99e1c93c6 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,21 @@ +#https://github.com/marketplace/actions/android-emulator-runner +name: Test +on: [push, pull_request] +jobs: + test: + runs-on: macos-latest + strategy: + matrix: + api-level: [21, 29] + target: [default] + steps: + - name: checkout + uses: actions/checkout@v2 + + - name: run tests + uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: ${{ matrix.api-level }} + target: ${{ matrix.target }} + arch: x86_64 + script: ./gradlew connectedCheck diff --git a/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java index a5e4f1a5a..c7ffa3f25 100644 --- a/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java @@ -187,7 +187,7 @@ public class ContentProviderUtils { contentResolver.delete(TracksColumns.CONTENT_URI, null, null); File dir = FileUtils.getPhotoDir(context); - deleteDirectoryRecurse(context, dir); + deleteDirectoryRecurse(dir); } /** @@ -216,7 +216,7 @@ public class ContentProviderUtils { contentResolver.delete(WaypointsColumns.CONTENT_URI, WaypointsColumns.TRACKID + "=?", new String[]{Long.toString(trackId)}); - deleteDirectoryRecurse(context, FileUtils.getPhotoDir(context, trackId)); + deleteDirectoryRecurse(FileUtils.getPhotoDir(context, trackId)); } /** @@ -224,10 +224,10 @@ public class ContentProviderUtils { * * @param dir the directory */ - private void deleteDirectoryRecurse(Context context, File dir) { - if (dir.exists() && dir.isDirectory()) { + private void deleteDirectoryRecurse(File dir) { + if (dir != null && dir.exists() && dir.isDirectory()) { for (File child : dir.listFiles()) { - deleteDirectoryRecurse(context, child); + deleteDirectoryRecurse(child); } dir.delete(); }