diff --git a/.idea/misc.xml b/.idea/misc.xml index 7158618b8..cca2cdae1 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/android-sdk/src/androidTest/java/com/optimizely/ab/android/sdk/OptimizelyManagerTest.java b/android-sdk/src/androidTest/java/com/optimizely/ab/android/sdk/OptimizelyManagerTest.java index 52b5092ba..5ad489982 100644 --- a/android-sdk/src/androidTest/java/com/optimizely/ab/android/sdk/OptimizelyManagerTest.java +++ b/android-sdk/src/androidTest/java/com/optimizely/ab/android/sdk/OptimizelyManagerTest.java @@ -130,7 +130,7 @@ public void injectOptimizely() { verify(userExperimentRecord).start(); verify(serviceScheduler).schedule(captor.capture(), eq(TimeUnit.HOURS.toMillis(1L))); verify(logger).info("Sending Optimizely instance to listener"); - verify(startListener).onStart(any(AndroidOptimizely.class)); + verify(startListener).onStart(any(OptimizelyClient.class)); } @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB) @@ -204,7 +204,7 @@ public void injectOptimizelyDoesNotDuplicateCallback() { verify(serviceScheduler).schedule(captor.capture(), eq(TimeUnit.HOURS.toMillis(1L))); verify(logger).info("Sending Optimizely instance to listener"); - verify(startListener).onStart(any(AndroidOptimizely.class)); + verify(startListener).onStart(any(OptimizelyClient.class)); optimizelyManager.injectOptimizely(context, userExperimentRecord, serviceScheduler, minDataFile); try { diff --git a/android-sdk/src/main/java/com/optimizely/ab/android/sdk/AndroidOptimizely.java b/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyClient.java similarity index 98% rename from android-sdk/src/main/java/com/optimizely/ab/android/sdk/AndroidOptimizely.java rename to android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyClient.java index 7de07018b..50d758ac5 100644 --- a/android-sdk/src/main/java/com/optimizely/ab/android/sdk/AndroidOptimizely.java +++ b/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyClient.java @@ -38,13 +38,13 @@ * Optimizely through this interface checking for null is not required. If Optimizely is null warnings * will be logged. */ -public class AndroidOptimizely { +public class OptimizelyClient { private final Logger logger; @Nullable private Optimizely optimizely; - AndroidOptimizely(@Nullable Optimizely optimizely, @NonNull Logger logger) { + OptimizelyClient(@Nullable Optimizely optimizely, @NonNull Logger logger) { this.optimizely = optimizely; this.logger = logger; } diff --git a/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyManager.java b/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyManager.java index 31baf16f0..43ac9dd81 100644 --- a/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyManager.java +++ b/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyManager.java @@ -56,8 +56,8 @@ * Handles loading the Optimizely data file */ public class OptimizelyManager { - @NonNull private AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, - LoggerFactory.getLogger(AndroidOptimizely.class)); + @NonNull private OptimizelyClient optimizelyClient = new OptimizelyClient(null, + LoggerFactory.getLogger(OptimizelyClient.class)); @NonNull private final String projectId; @NonNull private final Long eventHandlerDispatchInterval; @NonNull private final TimeUnit eventHandlerDispatchIntervalTimeUnit; @@ -117,14 +117,14 @@ void setOptimizelyStartListener(@Nullable OptimizelyStartListener optimizelyStar /** * Starts Optimizely asynchronously *

- * An {@link AndroidOptimizely} instance will be delivered to - * {@link OptimizelyStartListener#onStart(AndroidOptimizely)}. The callback will only be hit + * An {@link OptimizelyClient} instance will be delivered to + * {@link OptimizelyStartListener#onStart(OptimizelyClient)}. The callback will only be hit * once. If there is a cached datafile the returned instance will be built from it. The cached * datafile will be updated from network if it is different from the cache. If there is no * cached datafile the returned instance will always be built from the remote datafile. * * @param activity an Activity, used to automatically unbind {@link DataFileService} - * @param optimizelyStartListener callback that {@link AndroidOptimizely} instances are sent to. + * @param optimizelyStartListener callback that {@link OptimizelyClient} instances are sent to. */ @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public void start(@NonNull Activity activity, @NonNull OptimizelyStartListener optimizelyStartListener) { @@ -141,7 +141,7 @@ public void start(@NonNull Activity activity, @NonNull OptimizelyStartListener o * This method does the same thing except it can be used with a generic {@link Context}. * When using this method be sure to call {@link #stop(Context)} to unbind {@link DataFileService}. * @param context any type of context instance - * @param optimizelyStartListener callback that {@link AndroidOptimizely} instances are sent to. + * @param optimizelyStartListener callback that {@link OptimizelyClient} instances are sent to. */ public void start(@NonNull Context context, @NonNull OptimizelyStartListener optimizelyStartListener) { if (!isAndroidVersionSupported()) { @@ -183,23 +183,23 @@ public void stop(@NonNull Context context) { * Gets a cached Optimizely instance * * If {@link #start(Activity, OptimizelyStartListener)} or {@link #start(Context, OptimizelyStartListener)} - * has not been called yet the returned {@link AndroidOptimizely} instance will be a dummy instance + * has not been called yet the returned {@link OptimizelyClient} instance will be a dummy instance * that logs warnings in order to prevent {@link NullPointerException}. * - * If {@link #getOptimizely(Context, int)} was used the built {@link AndroidOptimizely} instance + * If {@link #getOptimizely(Context, int)} was used the built {@link OptimizelyClient} instance * will be updated. Using {@link #start(Activity, OptimizelyStartListener)} or {@link #start(Context, OptimizelyStartListener)} - * will update the cached instance with a new {@link AndroidOptimizely} built from a cached local + * will update the cached instance with a new {@link OptimizelyClient} built from a cached local * datafile on disk or a remote datafile on the CDN. - * @return the cached instance of {@link AndroidOptimizely} + * @return the cached instance of {@link OptimizelyClient} */ @NonNull - public AndroidOptimizely getOptimizely() { + public OptimizelyClient getOptimizely() { isAndroidVersionSupported(); - return androidOptimizely; + return optimizelyClient; } /** - * Create an instance of {@link AndroidOptimizely} from a compiled in datafile + * Create an instance of {@link OptimizelyClient} from a compiled in datafile * * After using this method successfully {@link #getOptimizely()} will contain a * cached instance built from the compiled in datafile. The datafile should be @@ -207,12 +207,12 @@ public AndroidOptimizely getOptimizely() { * * @param context any {@link Context} instance * @param dataFileRes the R id that the data file is located under. - * @return an {@link AndroidOptimizely} instance + * @return an {@link OptimizelyClient} instance */ @NonNull - public AndroidOptimizely getOptimizely(@NonNull Context context, @RawRes int dataFileRes) { + public OptimizelyClient getOptimizely(@NonNull Context context, @RawRes int dataFileRes) { if (!isAndroidVersionSupported()) { - return androidOptimizely; + return optimizelyClient; } AndroidUserExperimentRecord userExperimentRecord = @@ -223,14 +223,14 @@ public AndroidOptimizely getOptimizely(@NonNull Context context, @RawRes int dat // terribly expensive. Blocking the UI the thread prevents touch input... userExperimentRecord.start(); try { - androidOptimizely = buildOptimizely(context, loadRawResource(context, dataFileRes), userExperimentRecord); + optimizelyClient = buildOptimizely(context, loadRawResource(context, dataFileRes), userExperimentRecord); } catch (ConfigParseException e) { logger.error("Unable to parse compiled data file", e); } catch (IOException e) { logger.error("Unable to load compiled data file", e); } - return androidOptimizely; + return optimizelyClient; } private String loadRawResource(Context context, @RawRes int rawRes) throws IOException { @@ -266,12 +266,12 @@ protected void onPostExecute(UserExperimentRecord userExperimentRecord) { serviceScheduler.schedule(intent, dataFileDownloadIntervalTimeUnit.toMillis(dataFileDownloadInterval)); try { - OptimizelyManager.this.androidOptimizely = buildOptimizely(context, dataFile, userExperimentRecord); + OptimizelyManager.this.optimizelyClient = buildOptimizely(context, dataFile, userExperimentRecord); OptimizelyManager.this.userExperimentRecord = userExperimentRecord; logger.info("Sending Optimizely instance to listener"); if (optimizelyStartListener != null) { - optimizelyStartListener.onStart(androidOptimizely); + optimizelyStartListener.onStart(optimizelyClient); // Prevent the onOptimizelyStarted(AndroidOptimizely) callback from being hit twice // This could happen if the local data file is not null and is different // from the remote data file. Setting the listener to null handles this case. @@ -287,7 +287,7 @@ protected void onPostExecute(UserExperimentRecord userExperimentRecord) { initUserExperimentRecordTask.executeOnExecutor(executor); } - private AndroidOptimizely buildOptimizely(@NonNull Context context, @NonNull String dataFile, @NonNull UserExperimentRecord userExperimentRecord) throws ConfigParseException { + private OptimizelyClient buildOptimizely(@NonNull Context context, @NonNull String dataFile, @NonNull UserExperimentRecord userExperimentRecord) throws ConfigParseException { OptlyEventHandler eventHandler = OptlyEventHandler.getInstance(context); eventHandler.setDispatchInterval(eventHandlerDispatchInterval, eventHandlerDispatchIntervalTimeUnit); Optimizely optimizely = Optimizely.builder(dataFile, eventHandler) @@ -295,7 +295,7 @@ private AndroidOptimizely buildOptimizely(@NonNull Context context, @NonNull Str .withClientEngine(Event.ClientEngine.ANDROID_SDK) .withClientVersion(BuildConfig.CLIENT_VERSION) .build(); - return new AndroidOptimizely(optimizely, LoggerFactory.getLogger(AndroidOptimizely.class)); + return new OptimizelyClient(optimizely, LoggerFactory.getLogger(OptimizelyClient.class)); } @VisibleForTesting diff --git a/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyStartListener.java b/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyStartListener.java index a3bcb7aa2..2c3c9a3c1 100644 --- a/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyStartListener.java +++ b/android-sdk/src/main/java/com/optimizely/ab/android/sdk/OptimizelyStartListener.java @@ -20,14 +20,14 @@ import android.content.Context; /** - * Listens for new instances of {@link AndroidOptimizely} that are built after calling + * Listens for new instances of {@link OptimizelyClient} that are built after calling * {@link OptimizelyManager#start(Activity, OptimizelyStartListener)} or {@link OptimizelyManager#start(Context, OptimizelyStartListener)} */ public interface OptimizelyStartListener { /** - * Receives a started {@link AndroidOptimizely} instances + * Receives a started {@link OptimizelyClient} instances * - * @param optimizely an {@link AndroidOptimizely} that is started + * @param optimizely an {@link OptimizelyClient} that is started */ - void onStart(AndroidOptimizely optimizely); + void onStart(OptimizelyClient optimizely); } diff --git a/android-sdk/src/test/java/com/optimizely/ab/android/sdk/AndroidOptimizelyTest.java b/android-sdk/src/test/java/com/optimizely/ab/android/sdk/OptimizelyClientTest.java similarity index 62% rename from android-sdk/src/test/java/com/optimizely/ab/android/sdk/AndroidOptimizelyTest.java rename to android-sdk/src/test/java/com/optimizely/ab/android/sdk/OptimizelyClientTest.java index 5ba1fb79b..7a44846d3 100644 --- a/android-sdk/src/test/java/com/optimizely/ab/android/sdk/AndroidOptimizelyTest.java +++ b/android-sdk/src/test/java/com/optimizely/ab/android/sdk/OptimizelyClientTest.java @@ -29,41 +29,41 @@ import static org.mockito.Mockito.verify; /** - * Tests for {@link AndroidOptimizely} + * Tests for {@link OptimizelyClient} */ @RunWith(MockitoJUnitRunner.class) -public class AndroidOptimizelyTest { +public class OptimizelyClientTest { @Mock Logger logger; @Mock Optimizely optimizely; @Test public void testGoodActivation1() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(optimizely, logger); - androidOptimizely.activate("1", "1"); + OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely, logger); + optimizelyClient.activate("1", "1"); verify(optimizely).activate("1", "1"); } @Test public void testBadActivation1() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, logger); - androidOptimizely.activate("1", "1"); + OptimizelyClient optimizelyClient = new OptimizelyClient(null, logger); + optimizelyClient.activate("1", "1"); verify(logger).warn("Optimizely is not initialized, can't activate experiment {} " + "for user {}", "1", "1"); } @Test public void testGoodActivation2() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(optimizely, logger); + OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely, logger); final HashMap attributes = new HashMap<>(); - androidOptimizely.activate("1", "1", attributes); + optimizelyClient.activate("1", "1", attributes); verify(optimizely).activate("1", "1", attributes); } @Test public void testBadActivation2() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, logger); - androidOptimizely.activate("1", "1", new HashMap()); + OptimizelyClient optimizelyClient = new OptimizelyClient(null, logger); + optimizelyClient.activate("1", "1", new HashMap()); verify(logger).warn("Optimizely is not initialized, can't activate experiment {} " + "for user {} with attributes", "1", "1"); } @@ -71,95 +71,95 @@ public void testBadActivation2() { @Test public void testGoodTrack1() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(optimizely, logger); - androidOptimizely.track("event1", "1"); + OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely, logger); + optimizelyClient.track("event1", "1"); verify(optimizely).track("event1", "1"); } @Test public void testBadTrack1() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, logger); - androidOptimizely.track("event1", "1"); + OptimizelyClient optimizelyClient = new OptimizelyClient(null, logger); + optimizelyClient.track("event1", "1"); verify(logger).warn("Optimizely is not initialized, could not track event {} for user {}", "event1", "1"); } @Test public void testGoodTrack2() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(optimizely, logger); + OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely, logger); final HashMap attributes = new HashMap<>(); - androidOptimizely.track("event1", "1", attributes); + optimizelyClient.track("event1", "1", attributes); verify(optimizely).track("event1", "1", attributes); } @Test public void testBadTrack2() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, logger); + OptimizelyClient optimizelyClient = new OptimizelyClient(null, logger); final HashMap attributes = new HashMap<>(); - androidOptimizely.track("event1", "1", attributes); + optimizelyClient.track("event1", "1", attributes); verify(logger).warn("Optimizely is not initialized, could not track event {} for user {} " + "with attributes", "event1", "1"); } @Test public void testGoodTrack3() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(optimizely, logger); - androidOptimizely.track("event1", "1", 1L); + OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely, logger); + optimizelyClient.track("event1", "1", 1L); verify(optimizely).track("event1", "1", 1L); } @Test public void testBadTrack3() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, logger); - androidOptimizely.track("event1", "1", 1L); + OptimizelyClient optimizelyClient = new OptimizelyClient(null, logger); + optimizelyClient.track("event1", "1", 1L); verify(logger).warn("Optimizely is not initialized, could not track event {} for user {} " + "with value {}", "event1", "1", 1L); } @Test public void testGoodTrack4() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(optimizely, logger); + OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely, logger); final HashMap attributes = new HashMap<>(); - androidOptimizely.track("event1", "1", attributes, 1L); + optimizelyClient.track("event1", "1", attributes, 1L); verify(optimizely).track("event1", "1", attributes, 1L); } @Test public void testBadTrack4() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, logger); + OptimizelyClient optimizelyClient = new OptimizelyClient(null, logger); final HashMap attributes = new HashMap<>(); - androidOptimizely.track("event1", "1", attributes, 1L); + optimizelyClient.track("event1", "1", attributes, 1L); verify(logger).warn("Optimizely is not initialized, could not track event {} for user {} " + "with value {} and attributes", "event1", "1", 1L); } @Test public void testGoodGetVariation1() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(optimizely, logger); - androidOptimizely.getVariation("1", "1"); + OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely, logger); + optimizelyClient.getVariation("1", "1"); verify(optimizely).getVariation("1", "1"); } @Test public void testBadGetVariation1() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, logger); - androidOptimizely.getVariation("1", "1"); + OptimizelyClient optimizelyClient = new OptimizelyClient(null, logger); + optimizelyClient.getVariation("1", "1"); verify(logger).warn("Optimizely is not initialized, could not get variation for experiment {} " + "for user {}", "1", "1"); } @Test public void testGoodGetVariation3() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(optimizely, logger); + OptimizelyClient optimizelyClient = new OptimizelyClient(optimizely, logger); final HashMap attributes = new HashMap<>(); - androidOptimizely.getVariation("1", "1", attributes); + optimizelyClient.getVariation("1", "1", attributes); verify(optimizely).getVariation("1", "1", attributes); } @Test public void testBadGetVariation3() { - AndroidOptimizely androidOptimizely = new AndroidOptimizely(null, logger); + OptimizelyClient optimizelyClient = new OptimizelyClient(null, logger); final HashMap attributes = new HashMap<>(); - androidOptimizely.getVariation("1", "1", attributes); + optimizelyClient.getVariation("1", "1", attributes); verify(logger).warn("Optimizely is not initialized, could not get variation for experiment {} " + "for user {} with attributes", "1", "1"); } diff --git a/test-app/src/main/java/com/optimizely/ab/android/test_app/MainActivity.java b/test-app/src/main/java/com/optimizely/ab/android/test_app/MainActivity.java index d21b66004..252ff7e03 100644 --- a/test-app/src/main/java/com/optimizely/ab/android/test_app/MainActivity.java +++ b/test-app/src/main/java/com/optimizely/ab/android/test_app/MainActivity.java @@ -23,7 +23,7 @@ import android.widget.Button; import android.widget.TextView; -import com.optimizely.ab.android.sdk.AndroidOptimizely; +import com.optimizely.ab.android.sdk.OptimizelyClient; import com.optimizely.ab.android.sdk.OptimizelyManager; import com.optimizely.ab.android.sdk.OptimizelyStartListener; import com.optimizely.ab.android.shared.CountingIdlingResourceManager; @@ -47,7 +47,7 @@ protected void onCreate(Bundle savedInstanceState) { optimizelyManager = myApplication.getOptimizelyManager(); // Load Optimizely from a compiled in data file - final AndroidOptimizely optimizely = optimizelyManager.getOptimizely(this, R.raw.data_file); + final OptimizelyClient optimizely = optimizelyManager.getOptimizely(this, R.raw.data_file); CountingIdlingResourceManager.increment(); // For impression event Variation variation = optimizely.activate("experiment_0", myApplication.getAnonUserId(), myApplication.getAttributes()); if (variation != null) { @@ -81,7 +81,7 @@ protected void onStart() { CountingIdlingResourceManager.increment(); // For Optimizely starting optimizelyManager.start(this, new OptimizelyStartListener() { @Override - public void onStart(AndroidOptimizely optimizely) { + public void onStart(OptimizelyClient optimizely) { CountingIdlingResourceManager.decrement(); // For Optimizely starting TextView textView1 = (TextView) findViewById(R.id.text_view_1); textView1.setVisibility(View.VISIBLE); diff --git a/test-app/src/main/java/com/optimizely/ab/android/test_app/NotificationService.java b/test-app/src/main/java/com/optimizely/ab/android/test_app/NotificationService.java index e4a9b7b00..b0fcb2e45 100644 --- a/test-app/src/main/java/com/optimizely/ab/android/test_app/NotificationService.java +++ b/test-app/src/main/java/com/optimizely/ab/android/test_app/NotificationService.java @@ -23,7 +23,7 @@ import android.support.v4.app.NotificationCompat; import android.support.v4.app.TaskStackBuilder; -import com.optimizely.ab.android.sdk.AndroidOptimizely; +import com.optimizely.ab.android.sdk.OptimizelyClient; import com.optimizely.ab.android.sdk.OptimizelyManager; import com.optimizely.ab.android.shared.CountingIdlingResourceManager; @@ -40,7 +40,7 @@ protected void onHandleIntent(Intent intent) { // Get Optimizely from the Intent that started this Service final MyApplication myApplication = (MyApplication) getApplication(); final OptimizelyManager optimizelyManager = myApplication.getOptimizelyManager(); - AndroidOptimizely optimizely = optimizelyManager.getOptimizely(); + OptimizelyClient optimizely = optimizelyManager.getOptimizely(); CountingIdlingResourceManager.increment(); optimizely.track("experiment_2", myApplication.getAnonUserId()); } diff --git a/test-app/src/main/java/com/optimizely/ab/android/test_app/SecondaryActivity.java b/test-app/src/main/java/com/optimizely/ab/android/test_app/SecondaryActivity.java index f3a0fcee8..716270205 100644 --- a/test-app/src/main/java/com/optimizely/ab/android/test_app/SecondaryActivity.java +++ b/test-app/src/main/java/com/optimizely/ab/android/test_app/SecondaryActivity.java @@ -18,7 +18,7 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import com.optimizely.ab.android.sdk.AndroidOptimizely; +import com.optimizely.ab.android.sdk.OptimizelyClient; import com.optimizely.ab.android.sdk.OptimizelyManager; import com.optimizely.ab.android.shared.CountingIdlingResourceManager; @@ -32,7 +32,7 @@ protected void onCreate(Bundle savedInstanceState) { // Get Optimizely from the Intent that started this Activity final MyApplication myApplication = (MyApplication) getApplication(); final OptimizelyManager optimizelyManager = myApplication.getOptimizelyManager(); - AndroidOptimizely optimizely = optimizelyManager.getOptimizely(); + OptimizelyClient optimizely = optimizelyManager.getOptimizely(); CountingIdlingResourceManager.increment(); // For track event optimizely.track("experiment_1", myApplication.getAnonUserId()); } diff --git a/test-app/src/main/java/com/optimizely/ab/android/test_app/SecondaryFragment.java b/test-app/src/main/java/com/optimizely/ab/android/test_app/SecondaryFragment.java index 7efefb41f..edc7c1cdd 100644 --- a/test-app/src/main/java/com/optimizely/ab/android/test_app/SecondaryFragment.java +++ b/test-app/src/main/java/com/optimizely/ab/android/test_app/SecondaryFragment.java @@ -27,7 +27,7 @@ import android.widget.Button; import android.widget.TextView; -import com.optimizely.ab.android.sdk.AndroidOptimizely; +import com.optimizely.ab.android.sdk.OptimizelyClient; import com.optimizely.ab.android.sdk.OptimizelyManager; import com.optimizely.ab.android.shared.CountingIdlingResourceManager; import com.optimizely.ab.config.Variation; @@ -51,7 +51,7 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { final MyApplication myApplication = (MyApplication) getActivity().getApplication(); final OptimizelyManager optimizelyManager = myApplication.getOptimizelyManager(); - AndroidOptimizely optimizely = optimizelyManager.getOptimizely(); + OptimizelyClient optimizely = optimizelyManager.getOptimizely(); CountingIdlingResourceManager.increment(); Variation variation = optimizely.activate("experiment_2", myApplication.getAnonUserId()); if (variation != null) {