From 69f5f15c3a8667fe5ac68e5d939d29ce1710da1a Mon Sep 17 00:00:00 2001 From: Gergely Hegedus Date: Wed, 13 Jul 2022 20:18:45 +0300 Subject: [PATCH] Issue#100 Update to API based logic --- gradlescripts/deploy.aar.gradle | 1 - gradlescripts/pull-screenshots.gradle | 2 +- .../screenshot/basicScreenCaptureProcessor.kt | 28 ++++++++----------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/gradlescripts/deploy.aar.gradle b/gradlescripts/deploy.aar.gradle index fcc77df..fb32765 100644 --- a/gradlescripts/deploy.aar.gradle +++ b/gradlescripts/deploy.aar.gradle @@ -23,7 +23,6 @@ afterEvaluate { from components.release groupId "$testUtilGroupId" - println("$testUtilArtifactId") version "$testUtilVersion" artifactId "$testUtilArtifactId" artifact sourcesJar diff --git a/gradlescripts/pull-screenshots.gradle b/gradlescripts/pull-screenshots.gradle index 29e7860..ae0b2f5 100644 --- a/gradlescripts/pull-screenshots.gradle +++ b/gradlescripts/pull-screenshots.gradle @@ -20,7 +20,7 @@ def findAdbFromLocal = { def sdkDir = properties.getProperty('sdk.dir') return "$sdkDir/platform-tools/adb" } else { - System.err.println("WARNING: SDK dir not found by local properties, returning static: $System.env.HOME/Library/Android/sdk/platform-tools/adb") + println("WARNING: SDK dir not found by local properties, returning static: $System.env.HOME/Library/Android/sdk/platform-tools/adb") return "$System.env.HOME/Library/Android/sdk/platform-tools/adb" } } diff --git a/test-util-android/src/main/java/org/fnives/test/showcase/android/testutil/screenshot/basicScreenCaptureProcessor.kt b/test-util-android/src/main/java/org/fnives/test/showcase/android/testutil/screenshot/basicScreenCaptureProcessor.kt index eed57f0..c829768 100644 --- a/test-util-android/src/main/java/org/fnives/test/showcase/android/testutil/screenshot/basicScreenCaptureProcessor.kt +++ b/test-util-android/src/main/java/org/fnives/test/showcase/android/testutil/screenshot/basicScreenCaptureProcessor.kt @@ -1,5 +1,6 @@ package org.fnives.test.showcase.android.testutil.screenshot +import android.os.Build import android.os.Environment import android.util.Log import androidx.test.platform.app.InstrumentationRegistry @@ -20,21 +21,16 @@ fun basicScreenCaptureProcessor(subDir: String = "test-screenshots"): ScreenCapt * see example issue: https://github.com/android/android-test/issues/818 */ @Suppress("DEPRECATION") -fun getTestPicturesDir(): File? { - val packageName = InstrumentationRegistry.getInstrumentation().targetContext.packageName - val environmentFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) - val externalFolder = File(environmentFolder, packageName) - if (externalFolder.canWrite()) { - Log.d(ScreenshotRule.TAG, "external folder") - return externalFolder - } - - val internalFolder = InstrumentationRegistry.getInstrumentation().targetContext.getExternalFilesDir(Environment.DIRECTORY_PICTURES) - if (internalFolder?.canWrite() == true) { +fun getTestPicturesDir(): File? = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S || Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) { Log.d(ScreenshotRule.TAG, "internal folder") - return internalFolder - } - Log.d(ScreenshotRule.TAG, "cant find directory the screenshots could be saved into") - return null -} + InstrumentationRegistry.getInstrumentation().targetContext.getExternalFilesDir(Environment.DIRECTORY_PICTURES) + } else { + val packageName = InstrumentationRegistry.getInstrumentation().targetContext.packageName + val environmentFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + val externalFolder = File(environmentFolder, packageName) + Log.d(ScreenshotRule.TAG, "external folder") + + externalFolder + }