Move Native Graphics initialization into ViewScreenshotTestRule.
Test: atest SystemUIGoogleRoboRNGTests Bug: 276453135 Change-Id: I7cdcd01c20b8d9c377404c57de6fc375bfeb0648
This commit is contained in:
@@ -62,6 +62,15 @@ open class ViewScreenshotTestRule(
|
||||
private val isRobolectric = if (Build.FINGERPRINT.contains("robolectric")) true else false
|
||||
|
||||
override fun apply(base: Statement, description: Description): Statement {
|
||||
if (isRobolectric) {
|
||||
// In robolectric mode, we enable NATIVE graphics and unpack font and icu files.
|
||||
// We need to use reflection, as this library is only needed and therefore
|
||||
// only available in deviceless mode.
|
||||
val nativeLoaderClassName = "org.robolectric.nativeruntime.DefaultNativeRuntimeLoader"
|
||||
val defaultNativeRuntimeLoader = Class.forName(nativeLoaderClassName)
|
||||
System.setProperty("robolectric.graphicsMode", "NATIVE")
|
||||
defaultNativeRuntimeLoader.getMethod("injectAndLoad").invoke(null)
|
||||
}
|
||||
val ruleToApply = if (isRobolectric) roboRule else delegateRule
|
||||
return ruleToApply.apply(base, description)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user