From cf9381fdec4507b5f6c338cd5507dbe913e4cc3d Mon Sep 17 00:00:00 2001 From: Guillermo Narvaja Date: Wed, 6 Nov 2019 16:20:51 -0300 Subject: [PATCH] Support for referrer blabla. --- plugin.xml | 18 +++++++++++++++ .../cordova/ul/referrer/Receiver.java | 20 +++++++++++++++++ .../cordova/ul/referrer/Referrer.java | 19 ++++++++++++++++ www/referrer.js | 22 +++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 src/android/com/nordnetab/cordova/ul/referrer/Receiver.java create mode 100644 src/android/com/nordnetab/cordova/ul/referrer/Referrer.java create mode 100644 www/referrer.js diff --git a/plugin.xml b/plugin.xml index bc1a241c..b5e41878 100644 --- a/plugin.xml +++ b/plugin.xml @@ -22,6 +22,9 @@ + + + @@ -84,6 +87,17 @@ + + + + + + + + + + + @@ -102,5 +116,9 @@ + + + + diff --git a/src/android/com/nordnetab/cordova/ul/referrer/Receiver.java b/src/android/com/nordnetab/cordova/ul/referrer/Receiver.java new file mode 100644 index 00000000..93abf20f --- /dev/null +++ b/src/android/com/nordnetab/cordova/ul/referrer/Receiver.java @@ -0,0 +1,20 @@ +package com.nordnetab.cordova.ul.referrer; + +import android.os.Bundle; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.nordnetab.cordova.ul.referrer.Referrer; + +public class Receiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + String rawReferrerString = intent.getStringExtra("referrer"); + + if (rawReferrerString != null) { + Referrer.data = rawReferrerString; + } else { + Referrer.data = ""; + } + } +} diff --git a/src/android/com/nordnetab/cordova/ul/referrer/Referrer.java b/src/android/com/nordnetab/cordova/ul/referrer/Referrer.java new file mode 100644 index 00000000..57b2f8fc --- /dev/null +++ b/src/android/com/nordnetab/cordova/ul/referrer/Referrer.java @@ -0,0 +1,19 @@ +package com.nordnetab.cordova.ul.referrer; + +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CallbackContext; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class Referrer extends CordovaPlugin { + public static String data = ""; + + @Override + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + callbackContext.success(Referrer.data); + + return true; + } +} diff --git a/www/referrer.js b/www/referrer.js new file mode 100644 index 00000000..d542ccaf --- /dev/null +++ b/www/referrer.js @@ -0,0 +1,22 @@ +var exec = require('cordova/exec'); + +function getReferrer(success, error) { + if (!success) { + return new Promise(function (resolve, reject) { + getReferrer(resolve, reject); + }); + } + + exec(function (result) { + if (result) { + success(result); + } else { + setTimeout(function () { + getReferrer(success, error) + }, 500); + } + }, error, 'referrer'); +} + +exports.getReferrer = getReferrer; +exports.get = getReferrer; \ No newline at end of file