1 package com.adjust.sdk; 2 3 import android.net.Uri; 4 5 /** 6 * Created by pfms on 04/12/14. 7 */ 8 public class AdjustInstance { 9 10 private String referrer; 11 private long referrerClickTime; 12 private ActivityHandler activityHandler; 13 getLogger()14 private static ILogger getLogger() { 15 return AdjustFactory.getLogger(); 16 } 17 onCreate(AdjustConfig adjustConfig)18 public void onCreate(AdjustConfig adjustConfig) { 19 if (activityHandler != null) { 20 getLogger().error("Adjust already initialized"); 21 return; 22 } 23 24 adjustConfig.referrer = this.referrer; 25 adjustConfig.referrerClickTime = this.referrerClickTime; 26 27 activityHandler = ActivityHandler.getInstance(adjustConfig); 28 } 29 trackEvent(AdjustEvent event)30 public void trackEvent(AdjustEvent event) { 31 if (!checkActivityHandler()) return; 32 activityHandler.trackEvent(event); 33 } 34 onResume()35 public void onResume() { 36 if (!checkActivityHandler()) return; 37 activityHandler.trackSubsessionStart(); 38 } 39 onPause()40 public void onPause() { 41 if (!checkActivityHandler()) return; 42 activityHandler.trackSubsessionEnd(); 43 } 44 setEnabled(boolean enabled)45 public void setEnabled(boolean enabled) { 46 if (!checkActivityHandler()) return; 47 activityHandler.setEnabled(enabled); 48 } 49 isEnabled()50 public boolean isEnabled() { 51 if (!checkActivityHandler()) return false; 52 return activityHandler.isEnabled(); 53 } 54 appWillOpenUrl(Uri url)55 public void appWillOpenUrl(Uri url) { 56 if (!checkActivityHandler()) return; 57 long clickTime = System.currentTimeMillis(); 58 activityHandler.readOpenUrl(url, clickTime); 59 } 60 sendReferrer(String referrer)61 public void sendReferrer(String referrer) { 62 long clickTime = System.currentTimeMillis(); 63 // sendReferrer might be triggered before Adjust 64 if (activityHandler == null) { 65 // save it to inject in the config before launch 66 this.referrer = referrer; 67 this.referrerClickTime = clickTime; 68 } else { 69 activityHandler.sendReferrer(referrer, clickTime); 70 } 71 } 72 setOfflineMode(boolean enabled)73 public void setOfflineMode(boolean enabled) { 74 if (!checkActivityHandler()) return; 75 activityHandler.setOfflineMode(enabled); 76 } 77 checkActivityHandler()78 private boolean checkActivityHandler() { 79 if (activityHandler == null) { 80 getLogger().error("Please initialize Adjust by calling 'onCreate' before"); 81 return false; 82 } else { 83 return true; 84 } 85 } 86 } 87