From f2d20d29046802f5d9c94a8749bdc4590da75190 Mon Sep 17 00:00:00 2001 From: Peter Argany Date: Thu, 28 Feb 2019 12:42:13 -0800 Subject: [PATCH] Set Platform.isTesting true when running Server Snapshot Tests Summary: `Platform.isTesting` returns false when running SSTs. This diff changes that to true. See https://our.intern.facebook.com/intern/qa/9690/how-to-detect-when-running-as-sst for inspiration. I fixed this for iOS in D13981728. Reviewed By: cpojer Differential Revision: D14244606 fbshipit-source-id: ed95b772cc4206cf7c835aed7415aa5fc5fbdf7d --- .../react/modules/systeminfo/AndroidInfoModule.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java index 881939440..391dedccd 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java @@ -76,7 +76,8 @@ public class AndroidInfoModule extends ReactContextBaseJavaModule { if (ReactBuildConfig.DEBUG) { constants.put("ServerHost", AndroidInfoHelpers.getServerHost()); } - constants.put("isTesting", "true".equals(System.getProperty(IS_TESTING))); + constants.put("isTesting", "true".equals(System.getProperty(IS_TESTING)) + || isRunningScreenshotTest()); constants.put("reactNativeVersion", ReactNativeVersion.VERSION); constants.put("uiMode", uiMode()); return constants; @@ -86,4 +87,13 @@ public class AndroidInfoModule extends ReactContextBaseJavaModule { public String getAndroidID(){ return Secure.getString(getReactApplicationContext().getContentResolver(),Secure.ANDROID_ID); } + + private Boolean isRunningScreenshotTest() { + try { + Class.forName("android.support.test.rule.ActivityTestRule"); + return true; + } catch (ClassNotFoundException ignored) { + return false; + } + } }