summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt49
1 files changed, 49 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt
new file mode 100644
index 0000000000..73267037df
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt
@@ -0,0 +1,49 @@
+package com.mapbox.mapboxsdk.testapp.storage
+
+import android.app.Activity
+import android.support.annotation.WorkerThread
+import com.mapbox.mapboxsdk.storage.FileSource
+import junit.framework.Assert
+import java.io.File
+import java.util.concurrent.CountDownLatch
+
+class FileSourceTestUtils(private val activity: Activity) {
+ val originalPath = FileSource.getResourcesCachePath(activity)
+ val testPath = "$originalPath/test"
+
+ fun setup() {
+ val testFile = File(testPath)
+ testFile.mkdirs()
+ }
+
+ fun cleanup() {
+ val currentPath = FileSource.getResourcesCachePath(activity)
+ if (currentPath != originalPath) {
+ Thread().run { changePath(originalPath) }
+ }
+ val testFile = File(testPath)
+ if (testFile.exists()) {
+ testFile.deleteRecursively()
+ }
+ }
+
+ @WorkerThread
+ fun changePath(path: String) {
+ val latch = CountDownLatch(1)
+ activity.runOnUiThread {
+ FileSource.setResourcesCachePath(
+ activity,
+ path,
+ object : FileSource.ResourcesCachePathChangeCallback {
+ override fun onSuccess(path: String?) {
+ latch.countDown()
+ }
+
+ override fun onError(message: String?) {
+ Assert.fail("Resource path change failed - path: $path, message: $message")
+ }
+ })
+ }
+ latch.await()
+ }
+} \ No newline at end of file