com.adjust.sdk.AdjustInstance Maven / Gradle / Ivy
package com.adjust.sdk;
import android.net.Uri;
/**
* Created by pfms on 04/12/14.
*/
public class AdjustInstance {
private String referrer;
private long referrerClickTime;
private ActivityHandler activityHandler;
private static ILogger getLogger() {
return AdjustFactory.getLogger();
}
public void onCreate(AdjustConfig adjustConfig) {
if (activityHandler != null) {
getLogger().error("Adjust already initialized");
return;
}
adjustConfig.referrer = this.referrer;
adjustConfig.referrerClickTime = this.referrerClickTime;
activityHandler = ActivityHandler.getInstance(adjustConfig);
}
public void trackEvent(AdjustEvent event) {
if (!checkActivityHandler()) return;
activityHandler.trackEvent(event);
}
public void onResume() {
if (!checkActivityHandler()) return;
activityHandler.trackSubsessionStart();
}
public void onPause() {
if (!checkActivityHandler()) return;
activityHandler.trackSubsessionEnd();
}
public void setEnabled(boolean enabled) {
if (!checkActivityHandler()) return;
activityHandler.setEnabled(enabled);
}
public boolean isEnabled() {
if (!checkActivityHandler()) return false;
return activityHandler.isEnabled();
}
public void appWillOpenUrl(Uri url) {
if (!checkActivityHandler()) return;
long clickTime = System.currentTimeMillis();
activityHandler.readOpenUrl(url, clickTime);
}
public void sendReferrer(String referrer) {
long clickTime = System.currentTimeMillis();
// sendReferrer might be triggered before Adjust
if (activityHandler == null) {
// save it to inject in the config before launch
this.referrer = referrer;
this.referrerClickTime = clickTime;
} else {
activityHandler.sendReferrer(referrer, clickTime);
}
}
public void setOfflineMode(boolean enabled) {
if (!checkActivityHandler()) return;
activityHandler.setOfflineMode(enabled);
}
private boolean checkActivityHandler() {
if (activityHandler == null) {
getLogger().error("Adjust not initialized correctly");
return false;
} else {
return true;
}
}
}