Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -173,16 +173,6 @@ public void onMethodCall(MethodCall call, Result result) {
}
};

private void onAttachedToEngine(Context applicationContext, BinaryMessenger messenger) {
this.mContext = applicationContext;
this.mEventChannel = new EventChannel(messenger, AF_EVENTS_CHANNEL);
mMethodChannel = new MethodChannel(messenger, AppsFlyerConstants.AF_METHOD_CHANNEL);
mMethodChannel.setMethodCallHandler(this);
mCallbackChannel = new MethodChannel(messenger, AppsFlyerConstants.AF_CALLBACK_CHANNEL);
mCallbackChannel.setMethodCallHandler(callbacksHandler);
}


private void startListening(Object arguments, Result rawResult) {
// Get callback id
String callbackName = (String) arguments;
Expand Down Expand Up @@ -393,15 +383,17 @@ private void anonymizeUser(MethodCall call, Result result) {
}

private void startSDKwithHandler(MethodCall call, final Result result) {
Log.d(AF_PLUGIN_TAG, "startSDKwithHandler - " + this + " MethodChannel - " + mMethodChannel);
final MethodChannel _channel = mMethodChannel;
try {
final AppsFlyerLib appsFlyerLib = AppsFlyerLib.getInstance();

AppsFlyerLib.getInstance().stop(false, mContext);
appsFlyerLib.start(activity, null, new AppsFlyerRequestListener() {
@Override
public void onSuccess() {
uiThreadHandler.post(() -> {
if (mMethodChannel != null) {
mMethodChannel.invokeMethod("onSuccess", null);
if (_channel != null) {
_channel.invokeMethod("onSuccess", null);
} else {
Log.e(AF_PLUGIN_TAG, LogMessages.METHOD_CHANNEL_IS_NULL + " - SDK started successfully but callback `onSuccess` failed");
}
Expand All @@ -411,11 +403,11 @@ public void onSuccess() {
@Override
public void onError(final int errorCode, final String errorMessage) {
uiThreadHandler.post(() -> {
if (mMethodChannel != null) {
if (_channel != null) {
HashMap<String, Object> errorDetails = new HashMap<>();
errorDetails.put("errorCode", errorCode);
errorDetails.put("errorMessage", errorMessage);
mMethodChannel.invokeMethod("onError", errorDetails);
_channel.invokeMethod("onError", errorDetails);
} else {
Log.e(AF_PLUGIN_TAG, LogMessages.METHOD_CHANNEL_IS_NULL + " - SDK failed to start: " + errorMessage);
}
Expand Down Expand Up @@ -739,11 +731,12 @@ public void onResponseError(final String error) {
}

private void runOnUIThread(final Object data, final String callbackName, final String status) {
final MethodChannel _channel = mCallbackChannel;
uiThreadHandler.post(
new Runnable() {
@Override
public void run() {
if (mCallbackChannel != null) {
if (_channel != null) {
Log.d(AF_PLUGIN_TAG, "Calling invokeMethod with: " + data);
JSONObject args = new JSONObject();
try {
Expand All @@ -766,7 +759,7 @@ public void run() {
} catch (JSONException e) {
e.printStackTrace();
}
mCallbackChannel.invokeMethod("callListener", args.toString());
_channel.invokeMethod("callListener", args.toString());
} else {
Log.e(AF_PLUGIN_TAG, "CallbackChannel is null, cannot invoke method: " + callbackName);
}
Expand Down Expand Up @@ -1225,12 +1218,22 @@ private void disableAppSetId(MethodCall call, Result result) {

@Override
public void onAttachedToEngine(FlutterPluginBinding binding) {
onAttachedToEngine(binding.getApplicationContext(), binding.getBinaryMessenger());
Log.d(AF_PLUGIN_TAG, "onAttachedToEngine - " + this);
this.mContext = binding.getApplicationContext();
BinaryMessenger messenger = binding.getBinaryMessenger();
this.mEventChannel = new EventChannel(messenger, AF_EVENTS_CHANNEL);
mMethodChannel = new MethodChannel(messenger, AppsFlyerConstants.AF_METHOD_CHANNEL);
mMethodChannel.setMethodCallHandler(this);
Log.d(AF_PLUGIN_TAG, "onAttachedToEngine - " + this + " MethodChannel - " + mMethodChannel);
mCallbackChannel = new MethodChannel(messenger, AppsFlyerConstants.AF_CALLBACK_CHANNEL);
mCallbackChannel.setMethodCallHandler(callbacksHandler);
Log.d(AF_PLUGIN_TAG, "onAttachedToEngine - " + this + " mCallbackChannel - " + mCallbackChannel);
AppsFlyerPurchaseConnector.INSTANCE.onAttachedToEngine(binding);
}

@Override
public void onDetachedFromEngine(FlutterPluginBinding binding) {
Log.d(AF_PLUGIN_TAG, "onDetachedFromEngine - " + this);
mMethodChannel.setMethodCallHandler(null);
mMethodChannel = null;
mEventChannel.setStreamHandler(null);
Expand All @@ -1242,25 +1245,29 @@ public void onDetachedFromEngine(FlutterPluginBinding binding) {

@Override
public void onAttachedToActivity(ActivityPluginBinding binding) {
Log.d(AF_PLUGIN_TAG, "onAttachedToActivity - " + this);
activity = binding.getActivity();
mApplication = binding.getActivity().getApplication();
binding.addOnNewIntentListener(onNewIntentListener);
}

@Override
public void onDetachedFromActivityForConfigChanges() {
Log.d(AF_PLUGIN_TAG, "onDetachedFromActivityForConfigChanges - " + this);
this.activity = null;
}

@Override
public void onReattachedToActivityForConfigChanges(ActivityPluginBinding binding) {
Log.d(AF_PLUGIN_TAG, "onReattachedToActivityForConfigChanges - " + this);
sendCachedCallbacksToDart();
binding.addOnNewIntentListener(onNewIntentListener);
activity = binding.getActivity();
}

@Override
public void onDetachedFromActivity() {
Log.d(AF_PLUGIN_TAG, "onDetachedFromActivity - " + this);
activity = null;
saveCallbacks = true;
AppsFlyerLib.getInstance().unregisterConversionListener();
Expand Down