From 5b0e742fe64a8f91f602399307146a57634af983 Mon Sep 17 00:00:00 2001 From: Austin Vandergon Date: Wed, 18 Jul 2018 17:04:32 -0700 Subject: [PATCH] Call module init helpers on debug builds Reviewed By: SeyelentEco Differential Revision: D8879847 fbshipit-source-id: 812ff0098fc8e3c85ab0a33df5e4ade919209583 --- .../plugins/inspector/InspectorSonarPlugin.java | 15 +++++++++++---- .../sonar/android/AndroidSonarClient.java | 3 ++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/android/plugins/inspector/InspectorSonarPlugin.java b/android/plugins/inspector/InspectorSonarPlugin.java index a7f676e95..fc3e61a56 100644 --- a/android/plugins/inspector/InspectorSonarPlugin.java +++ b/android/plugins/inspector/InspectorSonarPlugin.java @@ -48,8 +48,14 @@ public class InspectorSonarPlugin implements SonarPlugin { SonarReceiver receiver(ObjectTracker tracker, SonarConnection connection); } + private static Application getAppContextFromContext(Context context) { + Context nonNullContext = + context.getApplicationContext() == null ? context : context.getApplicationContext(); + return (Application) context; + } + public InspectorSonarPlugin(Context context, DescriptorMapping descriptorMapping) { - this(context, descriptorMapping, new NullScriptingEnvironment()); + this(getAppContextFromContext(context), descriptorMapping, new NullScriptingEnvironment()); } public InspectorSonarPlugin( @@ -57,7 +63,7 @@ public class InspectorSonarPlugin implements SonarPlugin { DescriptorMapping descriptorMapping, ScriptingEnvironment scriptingEnvironment) { this( - new ApplicationWrapper((Application) context.getApplicationContext()), + new ApplicationWrapper(getAppContextFromContext(context)), descriptorMapping, scriptingEnvironment, null); @@ -68,7 +74,7 @@ public class InspectorSonarPlugin implements SonarPlugin { DescriptorMapping descriptorMapping, @Nullable List extensions) { this( - new ApplicationWrapper((Application) context.getApplicationContext()), + new ApplicationWrapper(getAppContextFromContext(context)), descriptorMapping, new NullScriptingEnvironment(), extensions); @@ -79,8 +85,9 @@ public class InspectorSonarPlugin implements SonarPlugin { DescriptorMapping descriptorMapping, ScriptingEnvironment scriptingEnvironment, @Nullable List extensions) { + this( - new ApplicationWrapper((Application) context.getApplicationContext()), + new ApplicationWrapper(getAppContextFromContext(context)), descriptorMapping, scriptingEnvironment, extensions); diff --git a/android/src/main/java/com/facebook/sonar/android/AndroidSonarClient.java b/android/src/main/java/com/facebook/sonar/android/AndroidSonarClient.java index a648188b4..913f0ccc1 100644 --- a/android/src/main/java/com/facebook/sonar/android/AndroidSonarClient.java +++ b/android/src/main/java/com/facebook/sonar/android/AndroidSonarClient.java @@ -25,7 +25,8 @@ public final class AndroidSonarClient { sConnectionThread = new SonarThread("SonarConnectionThread"); sConnectionThread.start(); - final Context app = context.getApplicationContext(); + final Context app = + context.getApplicationContext() == null ? context : context.getApplicationContext(); SonarClientImpl.init( sSonarThread.getEventBase(), sConnectionThread.getEventBase(),