diff options
Diffstat (limited to 'mobile/android/thirdparty/com/adjust/sdk/AdjustFactory.java')
-rw-r--r-- | mobile/android/thirdparty/com/adjust/sdk/AdjustFactory.java | 141 |
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; + } + +} |