summaryrefslogtreecommitdiffstats
path: root/mobile/android/thirdparty/com/adjust/sdk/AdjustFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/thirdparty/com/adjust/sdk/AdjustFactory.java')
-rw-r--r--mobile/android/thirdparty/com/adjust/sdk/AdjustFactory.java141
1 files changed, 141 insertions, 0 deletions
diff --git a/mobile/android/thirdparty/com/adjust/sdk/AdjustFactory.java b/mobile/android/thirdparty/com/adjust/sdk/AdjustFactory.java
new file mode 100644
index 000000000..802af6416
--- /dev/null
+++ b/mobile/android/thirdparty/com/adjust/sdk/AdjustFactory.java
@@ -0,0 +1,141 @@
+package com.adjust.sdk;
+
+import android.content.Context;
+
+import ch.boye.httpclientandroidlib.client.HttpClient;
+import ch.boye.httpclientandroidlib.impl.client.DefaultHttpClient;
+import ch.boye.httpclientandroidlib.params.HttpParams;
+
+public class AdjustFactory {
+ private static IPackageHandler packageHandler = null;
+ private static IRequestHandler requestHandler = null;
+ private static IAttributionHandler attributionHandler = null;
+ private static IActivityHandler activityHandler = null;
+ private static ILogger logger = null;
+ private static HttpClient httpClient = null;
+
+ private static long timerInterval = -1;
+ private static long timerStart = -1;
+ private static long sessionInterval = -1;
+ private static long subsessionInterval = -1;
+
+ public static IPackageHandler getPackageHandler(ActivityHandler activityHandler,
+ Context context,
+ boolean startPaused) {
+ if (packageHandler == null) {
+ return new PackageHandler(activityHandler, context, startPaused);
+ }
+ packageHandler.init(activityHandler, context, startPaused);
+ return packageHandler;
+ }
+
+ public static IRequestHandler getRequestHandler(IPackageHandler packageHandler) {
+ if (requestHandler == null) {
+ return new RequestHandler(packageHandler);
+ }
+ requestHandler.init(packageHandler);
+ return requestHandler;
+ }
+
+ public static ILogger getLogger() {
+ if (logger == null) {
+ // Logger needs to be "static" to retain the configuration throughout the app
+ logger = new Logger();
+ }
+ return logger;
+ }
+
+ public static HttpClient getHttpClient(HttpParams params) {
+ if (httpClient == null) {
+ return new DefaultHttpClient(params);
+ }
+ return httpClient;
+ }
+
+ public static long getTimerInterval() {
+ if (timerInterval == -1) {
+ return Constants.ONE_MINUTE;
+ }
+ return timerInterval;
+ }
+
+ public static long getTimerStart() {
+ if (timerStart == -1) {
+ return 0;
+ }
+ return timerStart;
+ }
+
+ public static long getSessionInterval() {
+ if (sessionInterval == -1) {
+ return Constants.THIRTY_MINUTES;
+ }
+ return sessionInterval;
+ }
+
+ public static long getSubsessionInterval() {
+ if (subsessionInterval == -1) {
+ return Constants.ONE_SECOND;
+ }
+ return subsessionInterval;
+ }
+
+ public static IActivityHandler getActivityHandler(AdjustConfig config) {
+ if (activityHandler == null) {
+ return ActivityHandler.getInstance(config);
+ }
+ activityHandler.init(config);
+ return activityHandler;
+ }
+
+ public static IAttributionHandler getAttributionHandler(IActivityHandler activityHandler,
+ ActivityPackage attributionPackage,
+ boolean startPaused) {
+ if (attributionHandler == null) {
+ return new AttributionHandler(activityHandler, attributionPackage, startPaused);
+ }
+ attributionHandler.init(activityHandler, attributionPackage, startPaused);
+ return attributionHandler;
+ }
+
+ public static void setPackageHandler(IPackageHandler packageHandler) {
+ AdjustFactory.packageHandler = packageHandler;
+ }
+
+ public static void setRequestHandler(IRequestHandler requestHandler) {
+ AdjustFactory.requestHandler = requestHandler;
+ }
+
+ public static void setLogger(ILogger logger) {
+ AdjustFactory.logger = logger;
+ }
+
+ public static void setHttpClient(HttpClient httpClient) {
+ AdjustFactory.httpClient = httpClient;
+ }
+
+ public static void setTimerInterval(long timerInterval) {
+ AdjustFactory.timerInterval = timerInterval;
+ }
+
+ public static void setTimerStart(long timerStart) {
+ AdjustFactory.timerStart = timerStart;
+ }
+
+ public static void setSessionInterval(long sessionInterval) {
+ AdjustFactory.sessionInterval = sessionInterval;
+ }
+
+ public static void setSubsessionInterval(long subsessionInterval) {
+ AdjustFactory.subsessionInterval = subsessionInterval;
+ }
+
+ public static void setActivityHandler(IActivityHandler activityHandler) {
+ AdjustFactory.activityHandler = activityHandler;
+ }
+
+ public static void setAttributionHandler(IAttributionHandler attributionHandler) {
+ AdjustFactory.attributionHandler = attributionHandler;
+ }
+
+}