Skip to content

Commit 5468e2e

Browse files
authored
feat: getOptimizelyConfig support added (#309)
1 parent 36b669d commit 5468e2e

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

android-sdk/src/androidTest/java/com/optimizely/ab/android/sdk/OptimizelyClientTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import com.optimizely.ab.notification.NotificationManager;
3737
import com.optimizely.ab.notification.TrackNotification;
3838
import com.optimizely.ab.notification.TrackNotificationListener;
39+
import com.optimizely.ab.optimizelyconfig.OptimizelyConfig;
3940

4041
import org.junit.Assert;
4142
import org.junit.Test;
@@ -1763,6 +1764,27 @@ public void testBadGetFeatureVariableString() {
17631764
);
17641765
}
17651766

1767+
@Test
1768+
public void testGetOptimizelyConfig() {
1769+
assumeTrue(datafileVersion == Integer.parseInt(ProjectConfig.Version.V4.toString()));
1770+
OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely,
1771+
logger);
1772+
OptimizelyConfig optimizelyConfig = optimizelyClient.getOptimizelyConfig();
1773+
assertNotNull(optimizelyConfig.getExperimentsMap());
1774+
assertNotNull(optimizelyConfig.getFeaturesMap());
1775+
assertNotNull(optimizelyConfig.getRevision());
1776+
}
1777+
1778+
@Test
1779+
public void testGetOptimizelyConfigReturnNullWhenConfigIsNull() {
1780+
assumeTrue(datafileVersion == Integer.parseInt(ProjectConfig.Version.V4.toString()));
1781+
OptimizelyClient optimizelyClient = new OptimizelyClient(null,
1782+
logger);
1783+
OptimizelyConfig optimizelyConfig = optimizelyClient.getOptimizelyConfig();
1784+
assertNull(optimizelyConfig);
1785+
}
1786+
1787+
17661788
@Test
17671789
public void testAddDecisionNotificationHandler() {
17681790
assumeTrue(datafileVersion == Integer.parseInt(ProjectConfig.Version.V4.toString()));

android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyClient.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import com.optimizely.ab.notification.NotificationCenter;
3030
import com.optimizely.ab.notification.NotificationHandler;
3131
import com.optimizely.ab.notification.TrackNotification;
32+
import com.optimizely.ab.optimizelyconfig.OptimizelyConfig;
3233

3334
import org.slf4j.Logger;
3435

@@ -670,6 +671,20 @@ String getFeatureVariableString(@NonNull String featureKey,
670671
}
671672
}
672673

674+
/**
675+
* Get {@link OptimizelyConfig} containing experiments and features map
676+
*
677+
* @return {@link OptimizelyConfig}
678+
*/
679+
public OptimizelyConfig getOptimizelyConfig() {
680+
if (isValid()) {
681+
return optimizely.getOptimizelyConfig();
682+
} else {
683+
logger.error("Optimizely instance is not valid, failing getOptimizelyConfig call.");
684+
return null;
685+
}
686+
}
687+
673688
//======== Notification APIs ========//
674689

675690
/**

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ ext {
5353
build_tools_version = "28.0.3"
5454
min_sdk_version = 14
5555
target_sdk_version = 28
56-
java_core_ver = "3.3.2"
56+
java_core_ver = "3.4.1"
5757
android_logger_ver = "1.3.6"
5858
jacksonversion= "2.9.9.1"
5959
support_annotations_ver = "24.2.1"

0 commit comments

Comments
 (0)