diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/utils/TestStorageUtils.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/utils/TestStorageUtils.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/utils/TestStorageUtils.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/utils/TestStorageUtils.java new file mode 100644 index 0000000000..bd4686edc6 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/utils/TestStorageUtils.java @@ -0,0 +1,57 @@ +package com.mapbox.mapboxsdk.utils; + +import android.os.Environment; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStreamWriter; +import java.text.SimpleDateFormat; +import java.util.Date; + +import timber.log.Timber; + +public class TestStorageUtils { + + private static final String PERF_FOLDER = "performance"; + private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); + private static final String TXT_EXTENSION = ".txt"; + + public static String buildFileNameFrom(String testName) { + return testName + obtainCurrentTimeStamp() + TXT_EXTENSION; + } + + public static void storeResponse(String response, String dumpsysService, String fileName) { + if (isExternalStorageWritable()) { + File pathToExternalStorage = Environment.getExternalStorageDirectory(); + String storageAbsolutePath = pathToExternalStorage.getAbsolutePath(); + String pathname = String.format("%s/%s/%s", storageAbsolutePath, PERF_FOLDER, dumpsysService); + File appDirectory = new File(pathname); + appDirectory.mkdirs(); + File saveFilePath = new File(appDirectory, fileName); + write(response, saveFilePath); + } + } + + private static String obtainCurrentTimeStamp() { + Date now = new Date(); + return DATE_FORMAT.format(now); + } + + private static boolean isExternalStorageWritable() { + String state = Environment.getExternalStorageState(); + return Environment.MEDIA_MOUNTED.equals(state); + } + + private static void write(String response, File saveFilePath) { + try { + FileOutputStream fos = new FileOutputStream(saveFilePath); + OutputStreamWriter outDataWriter = new OutputStreamWriter(fos); + outDataWriter.write(response); + outDataWriter.close(); + fos.flush(); + fos.close(); + } catch (Exception exception) { + Timber.e(exception); + } + } +} |