From 471edec0fde4d55aeeed9827a892ea2f0918ecef Mon Sep 17 00:00:00 2001 From: Vijay Sharma Date: Tue, 11 Apr 2017 10:43:26 -0400 Subject: [PATCH] Added stop method --- actionscript/src/com/testfairy/AirTestFairy.as | 4 ++++ android/src/com/testfairy/AirTestFairyContext.java | 12 ++++++++++++ ios/AirTestFairy/AirTestFairy/AirTestFairy.h | 1 + ios/AirTestFairy/AirTestFairy/AirTestFairy.m | 6 ++++++ 4 files changed, 23 insertions(+) diff --git a/actionscript/src/com/testfairy/AirTestFairy.as b/actionscript/src/com/testfairy/AirTestFairy.as index 351f7e5..28cbb82 100644 --- a/actionscript/src/com/testfairy/AirTestFairy.as +++ b/actionscript/src/com/testfairy/AirTestFairy.as @@ -96,6 +96,10 @@ package com.testfairy public static function setScreenName(aName:String):void { call("setScreenName", aName); } + + public static function stop():void { + call("stop"); + } private static const EXTENSION_ID : String = "com.testfairy"; diff --git a/android/src/com/testfairy/AirTestFairyContext.java b/android/src/com/testfairy/AirTestFairyContext.java index af9886b..bb823d0 100644 --- a/android/src/com/testfairy/AirTestFairyContext.java +++ b/android/src/com/testfairy/AirTestFairyContext.java @@ -34,6 +34,7 @@ public Map getFunctions() { functions.put("sendUserFeedback", new SendUserFeedback()); functions.put("checkpoint", new SetCheckpoint()); functions.put("setScreenName", new SetScreenName()); + functions.put("stop", new Stop()); return functions; } @@ -251,6 +252,17 @@ public FREObject call(FREContext freContext, FREObject[] freObjects) { } } + private static class Stop implements FREFunction { + @Override + public FREObject call(FREContext freContext, FREObject[] freObjects) { + try { + TestFairy.stop(); + } catch (Exception exception) { + Log.e("AirTestFairyContext", "Failed to stop session in TestFairy", exception); + } + return null; + } + } private static HashMap toHashMap(String input) { HashMap map = new HashMap(); diff --git a/ios/AirTestFairy/AirTestFairy/AirTestFairy.h b/ios/AirTestFairy/AirTestFairy/AirTestFairy.h index a7397e2..f6c9c0b 100644 --- a/ios/AirTestFairy/AirTestFairy/AirTestFairy.h +++ b/ios/AirTestFairy/AirTestFairy/AirTestFairy.h @@ -24,6 +24,7 @@ DEFINE_ANE_FUNCTION(AirTestFairySetServerEndpoint); DEFINE_ANE_FUNCTION(AirTestFairySendUserFeedback); DEFINE_ANE_FUNCTION(AirTestFairyCheckpoint); DEFINE_ANE_FUNCTION(AirTestFairySetScreenName); +DEFINE_ANE_FUNCTION(AirTestFairyStop); // ANE Setup void AirTestFairyContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet); diff --git a/ios/AirTestFairy/AirTestFairy/AirTestFairy.m b/ios/AirTestFairy/AirTestFairy/AirTestFairy.m index cbb655e..59b2551 100644 --- a/ios/AirTestFairy/AirTestFairy/AirTestFairy.m +++ b/ios/AirTestFairy/AirTestFairy/AirTestFairy.m @@ -128,6 +128,11 @@ return nil; } +DEFINE_ANE_FUNCTION(AirTestFairyStop) { + [TestFairy stop]; + return nil; +} + #pragma mark - ANE Setup void AirTestFairyContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet) @@ -150,6 +155,7 @@ void AirTestFairyContextInitializer(void* extData, const uint8_t* ctxType, FRECo @"sendUserFeedback": [NSValue valueWithPointer:&AirTestFairySendUserFeedback], @"checkpoint": [NSValue valueWithPointer:&AirTestFairyCheckpoint], @"setScreenName": [NSValue valueWithPointer:&AirTestFairySetScreenName], + @"stop": [NSValue valueWithPointer:&AirTestFairyStop], }; *numFunctionsToTest = (uint32_t)[functions count];