From c1a199cb4156e143dab72b5cf1a42efcc7c90ff9 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 13 Apr 2017 14:40:28 +0200 Subject: [PATCH] Fix liblinphone_tester --- liblinphone_tester/Makefile | 4 +++- liblinphone_tester/build.gradle | 37 +++++++++++---------------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/liblinphone_tester/Makefile b/liblinphone_tester/Makefile index 105d62c59..68cb33105 100644 --- a/liblinphone_tester/Makefile +++ b/liblinphone_tester/Makefile @@ -3,7 +3,9 @@ all: copy-files ../gradlew uninstallDebug run-all-tests: copy-files - ../gradlew :connectedAndroidTest -i + ../gradlew :installDebugAndroidTest && \ + ../gradlew :grantDebugPermissions -i && \ + ../gradlew :connectedAndroidTest -i \ copy-libs: mkdir -p assets && \ diff --git a/liblinphone_tester/build.gradle b/liblinphone_tester/build.gradle index b8737bdd6..51a34bea3 100644 --- a/liblinphone_tester/build.gradle +++ b/liblinphone_tester/build.gradle @@ -87,33 +87,20 @@ android { } // Grant permissions -task grantPermissionCamera(type: Exec, dependsOn: 'installDebugAndroidTest') { +android.applicationVariants.all { variant -> def applicationId = "${getPackageName()}.test" def adb = android.getAdbExe().toString() - outputs.dir '.' - commandLine "${adb} shell pm grant ${applicationId} android.permission.CAMERA" -} - -task grantPermissionStorage(type: Exec, dependsOn: 'installDebugAndroidTest') { - def applicationId = "${getPackageName()}.test" - def adb = android.getAdbExe().toString() - outputs.dir '.' - commandLine "${adb} shell pm grant ${applicationId} android.permission.WRITE_EXTERNAL_STORAGE" -} - -task grantPermissionAudio(type: Exec, dependsOn: 'installDebugAndroidTest') { - def applicationId = "${getPackageName()}.test" - def adb = android.getAdbExe().toString() - outputs.dir '.' - commandLine "${adb} shell pm grant ${applicationId} android.permission.RECORD_AUDIO" -} - -// When we launch test -tasks.whenTaskAdded { task -> - if (task.name.startsWith('connectedDebugAndroidTest')) { - task.dependsOn grantPermissionCamera - task.dependsOn grantPermissionAudio - task.dependsOn grantPermissionStorage + def variantName = variant.name.capitalize() + def grantPermissionTask = tasks.create("grant${variantName}Permissions") << { + "${adb} devices".execute().text.eachLine { + if(it.endsWith("device")){ + def device = it.split()[0] + println "Granting permissions on devices ${device}" + "${adb} shell pm grant ${applicationId} android.permission.RECORD_AUDIO".execute() + "${adb} shell pm grant ${applicationId} android.permission.WRITE_EXTERNAL_STORAGE".execute() + "${adb} shell pm grant ${applicationId} android.permission.CAMERA".execute() + } + } } }