From 8aaf5e5129bbc73d1f9c8a9f0e645acbd164679a Mon Sep 17 00:00:00 2001 From: cketti Date: Fri, 27 Mar 2026 13:43:17 +0100 Subject: [PATCH] Make `GrantPermissionOrSkipRule` work as intended on Android 7 --- .../at/bitfire/synctools/test/GrantPermissionOrSkipRule.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/src/main/kotlin/at/bitfire/synctools/test/GrantPermissionOrSkipRule.kt b/lib/src/main/kotlin/at/bitfire/synctools/test/GrantPermissionOrSkipRule.kt index 584acd7a..bdbbc9bb 100644 --- a/lib/src/main/kotlin/at/bitfire/synctools/test/GrantPermissionOrSkipRule.kt +++ b/lib/src/main/kotlin/at/bitfire/synctools/test/GrantPermissionOrSkipRule.kt @@ -7,6 +7,7 @@ package at.bitfire.synctools.test import androidx.test.rule.GrantPermissionRule +import junit.framework.AssertionFailedError import org.junit.Assume import org.junit.rules.TestRule import org.junit.runner.Description @@ -28,6 +29,12 @@ class GrantPermissionOrSkipRule(permissions: Set): TestRule { val innerStatement = grantRule.apply(base, description) try { innerStatement.evaluate() + } catch (e: AssertionFailedError) { + if (e.message == "Failed to grant permissions, see logcat for details") { + Assume.assumeNoException(e) + } else { + throw e + } } catch (e: SecurityException) { Assume.assumeNoException(e) }