Skip to content

Commit

Permalink
Merge pull request #12 from adjust/v300
Browse files Browse the repository at this point in the history
Version 3.0.0
  • Loading branch information
uerceg authored Nov 21, 2024
2 parents eedf6cb + d0a4aec commit 1db7dc2
Show file tree
Hide file tree
Showing 17 changed files with 114 additions and 837 deletions.
14 changes: 7 additions & 7 deletions AdjustAdobeExtension/adobeextension/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ apply plugin: 'signing'

android {
namespace 'com.adjust.adobeextension'
compileSdk 34
compileSdk 35

defaultConfig {
minSdkVersion 19
targetSdkVersion 34
minSdkVersion 21
targetSdkVersion 35

consumerProguardFiles "consumer-rules.pro"
}
Expand All @@ -22,15 +22,15 @@ android {
}

dependencies {
implementation 'androidx.test.ext:junit:1.1.5'
implementation 'com.adjust.sdk:adjust-android:4.38.1'
implementation 'com.adobe.marketing.mobile:core:2.6.1'
implementation 'androidx.test.ext:junit:1.2.1'
implementation 'com.adjust.sdk:adjust-android:5.0.1'
implementation 'com.adobe.marketing.mobile:core:3.2.0'
}

// init
def libGroupId = 'com.adjust.adobeextension'
def libArtifactId = 'adobeextension'
def libVersion = '2.0.0'
def libVersion = '3.0.0'
def libName = 'Adjust Extension for Adobe Experience SDK'
def libDesc = 'This is the Android Adobe Mobile Extension of Adjust.'
def libUrl = 'https://github.com/adjust/android_adobe_extension'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<application>
<provider
android:name="com.adjust.adobeextension.ActivityLifecycleProvider"
android:authorities="${applicationId}.adjust-sdk-adobe-extension-lifecycle-provider"
android:exported="false" />
</application>


Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

import static com.adjust.adobeextension.AdjustAdobeExtensionConstants.LOG_EXTENSION;

import android.content.Context;
import android.net.Uri;

import com.adjust.sdk.Adjust;
import com.adobe.marketing.mobile.services.Log;

/**
Expand Down Expand Up @@ -59,19 +55,7 @@ public static void setConfiguration(final AdjustAdobeExtensionConfig config) {
Log.debug(LOG_EXTENSION, LOG_SOURCE, "Adjust Adobe Extension initialized");
}

/**
* Method used to process deep link.
*
* @param url Deep link URL to process
* @param context Application context
*/
public static void openUrl(Uri url, Context context) {
// Pass deep link to Adjust in order to potentially reattribute user.
Log.debug(LOG_EXTENSION, LOG_SOURCE, "openUrl: " + url);
Adjust.appWillOpenUrl(url, context);
}

/**
/**
* Method used to get Adjust Adobe Extension Config.
* @return AdjustAdobeExtensionConfig config to initialize Adjust Sdk
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.adjust.sdk.AdjustConfig;
import com.adjust.sdk.OnAttributionChangedListener;
import com.adjust.sdk.OnDeeplinkResponseListener;
import com.adjust.sdk.OnDeferredDeeplinkResponseListener;

/**
* Class for Adjust Adobe Extension Config.
Expand All @@ -25,6 +25,16 @@ public class AdjustAdobeExtensionConfig {
*/
private final String environment;

/**
* An external identifier for a device or user.
*/
private String externalDeviceId;

/**
* A default tracker for preinstall attribution.
*/
private String defaultTracker;

/**
* Callback to listen for attribution change.
*/
Expand All @@ -33,7 +43,7 @@ public class AdjustAdobeExtensionConfig {
/**
* Callback to listen for deeplink response.
*/
private OnDeeplinkResponseListener onDeeplinkResponseListener;
private OnDeferredDeeplinkResponseListener onDeferredDeeplinkResponseListener;

/**
* Primary constructor.
Expand All @@ -42,6 +52,20 @@ public AdjustAdobeExtensionConfig(final String environment) {
this.environment = environment;
}

/**
* Method to set an external identifier for a device or user.
*/
public void setExternalDeviceId(String externalDeviceId) {
this.externalDeviceId = externalDeviceId;
}

/**
* Method to set a default tracker for preinstall attribution.
*/
public void setDefaultTracker(String defaultTracker) {
this.defaultTracker = defaultTracker;
}

/**
* Method to set callback for attribution change.
*/
Expand All @@ -54,10 +78,10 @@ public void setOnAttributionChangedListener(
/**
* Method to set callback for deeplink response.
*/
public void setOnDeeplinkResponseListener(
final OnDeeplinkResponseListener onDeeplinkResponseListener)
public void setOnDeferredDeeplinkResponseListener(
final OnDeferredDeeplinkResponseListener onDeferredDeeplinkResponseListener)
{
this.onDeeplinkResponseListener = onDeeplinkResponseListener;
this.onDeferredDeeplinkResponseListener = onDeferredDeeplinkResponseListener;
}

/**
Expand All @@ -67,6 +91,20 @@ public String getEnvironment() {
return environment;
}

/**
* Method to get the external identifier set for a device or user.
*/
public String getExternalDeviceId() {
return externalDeviceId;
}

/**
* Method to get the default tracker set for preinstall attribution.
*/
public String getDefaultTracker() {
return defaultTracker;
}

/**
* Method to get attribution change callback listener
*/
Expand All @@ -77,7 +115,7 @@ public OnAttributionChangedListener getOnAttributionChangedListener() {
/**
* Method to get deeplink response callback listener
*/
public OnDeeplinkResponseListener getOnDeeplinkResponseListener() {
return onDeeplinkResponseListener;
public OnDeferredDeeplinkResponseListener getOnDeferredDeeplinkResponseListener() {
return onDeferredDeeplinkResponseListener;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
class AdjustAdobeExtensionConstants {
static final String LOG_EXTENSION = "AdjustAdobeExtension";
static final String EXTENSION_NAME = "com.adjust.adobeextension";
static final String EXTENSION_VERSION = "adobe_ext2.0.0";
static final String EXTENSION_VERSION = "adobe_ext3.0.0";

static final String ADOBE_MODULE_CONFIGURATION = "com.adobe.module.configuration";
static final String ADOBE_SHARED_STATE_OWNER = "stateowner";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
import static com.adjust.adobeextension.AdjustAdobeExtensionConstants.ADJUST_KEY_PUSH_TOKEN_PARAM;
import static com.adjust.adobeextension.AdjustAdobeExtensionConstants.LOG_EXTENSION;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;

import com.adjust.sdk.Util;
import com.adobe.marketing.mobile.services.Log;

import com.adjust.sdk.Adjust;
Expand Down Expand Up @@ -42,11 +42,6 @@ class AdjustSdkApiHandler {
*/
private static boolean sdkInitialised = false;

/**
* Toggle flag to indicate whether Android Activity has been resumed or paused
*/
private static boolean activityResumed = false;

/**
* Application instance
*/
Expand Down Expand Up @@ -95,12 +90,7 @@ protected void initSdk(final String appToken, final boolean shouldTrackAttributi
AdjustConfig adjustConfig = getAdjustConfig(application.getApplicationContext(),
appToken, shouldTrackAttribution, adjustAdobeExtensionConfig);
adjustConfig.setSdkPrefix(AdjustAdobeExtensionConstants.EXTENSION_VERSION);
Adjust.onCreate(adjustConfig);

// there might be a moment when activity is already resumed before Sdk initialization
if (activityResumed) {
Adjust.onResume();
}
Adjust.initSdk(adjustConfig);

sdkInitialised = true;
}
Expand Down Expand Up @@ -194,39 +184,7 @@ protected boolean isSdkInitialised() {
* @return String Adjust sdk version
*/
protected String getVersion() {
return Adjust.getSdkVersion();
}

/**
* This registers AdjustLifecycleCallbacks to activity lifecycle callbacks
* It allows tracking of activity lifecycle states
*/
protected boolean registerActivityLifecycleCallbacks(final Context context) {
if (application != null) {
Log.debug(LOG_EXTENSION, LOG_SOURCE,"Cannot register activity lifecycle callbacks more than once");
return false;
}

if (context == null) {
Log.debug(LOG_EXTENSION, LOG_SOURCE,"Cannot register activity lifecycle callbacks without context");
return false;
}

final Context applicationContext = context.getApplicationContext();

if (!(applicationContext instanceof Application)) {
Log.debug(LOG_EXTENSION, LOG_SOURCE,"Cannot register activity lifecycle callbacks "
+ "without application context as Application");
return false;
}

Log.debug(LOG_EXTENSION, LOG_SOURCE,"Registering activity lifecycle callbacks");


application = (Application) applicationContext;
application.registerActivityLifecycleCallbacks(new AdjustLifecycleCallbacks());

return true;
return Util.getSdkVersion();
}

/**
Expand Down Expand Up @@ -258,6 +216,10 @@ private AdjustConfig getAdjustConfig(
break;
}

adjustConfig.setExternalDeviceId(adjustAdobeExtensionConfig.getExternalDeviceId());

adjustConfig.setDefaultTracker(adjustAdobeExtensionConfig.getDefaultTracker());

adjustConfig.setOnAttributionChangedListener(new OnAttributionChangedListener() {
@Override
public
Expand Down Expand Up @@ -291,48 +253,9 @@ void onAttributionChanged(final AdjustAttribution attribution) {
}
});

adjustConfig.setOnDeeplinkResponseListener(
adjustAdobeExtensionConfig.getOnDeeplinkResponseListener());
adjustConfig.setOnDeferredDeeplinkResponseListener(
adjustAdobeExtensionConfig.getOnDeferredDeeplinkResponseListener());

return adjustConfig;
}

private static final class AdjustLifecycleCallbacks
implements Application.ActivityLifecycleCallbacks
{
@Override
public void onActivityResumed(final Activity activity) {
activityResumed = true;

// there might be a moment when Sdk is not initialized while Activity resumed
if (sdkInitialised) {
Adjust.onResume();
}
}

@Override
public void onActivityPaused(final Activity activity) {
activityResumed = false;

// there might be a moment when Sdk is not initialized while Activity paused
if (sdkInitialised) {
Adjust.onPause();
}
}

@Override
public void onActivityStopped(final Activity activity) {}

@Override
public void onActivitySaveInstanceState(final Activity activity, final Bundle outState) {}

@Override
public void onActivityDestroyed(final Activity activity) {}

@Override
public void onActivityCreated(final Activity activity, final Bundle savedInstanceState) {}

@Override
public void onActivityStarted(final Activity activity) {}
}
}
2 changes: 1 addition & 1 deletion AdjustAdobeExtension/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.1.4'
classpath 'com.android.tools.build:gradle:8.7.1'
}
}

Expand Down
Loading

0 comments on commit 1db7dc2

Please sign in to comment.