5555
5656import static com .optimizely .optimizely_flutter_sdk .helper_classes .Constants .*;
5757import static com .optimizely .optimizely_flutter_sdk .helper_classes .Constants .RequestParameterKey .DISABLE_ODP ;
58+ import static com .optimizely .optimizely_flutter_sdk .helper_classes .Constants .RequestParameterKey .ENABLE_VUID ;
5859import static com .optimizely .optimizely_flutter_sdk .helper_classes .Constants .RequestParameterKey .SEGMENTS_CACHE_SIZE ;
5960import static com .optimizely .optimizely_flutter_sdk .helper_classes .Constants .RequestParameterKey .SEGMENTS_CACHE_TIMEOUT_IN_SECONDS ;
6061import static com .optimizely .optimizely_flutter_sdk .helper_classes .Constants .RequestParameterKey .TIMEOUT_FOR_ODP_EVENT_IN_SECONDS ;
@@ -144,6 +145,7 @@ protected void initializeOptimizely(@NonNull ArgumentsParser argumentsParser, @N
144145 int timeoutForSegmentFetchInSecs = 10 ;
145146 int timeoutForOdpEventInSecs = 10 ;
146147 boolean disableOdp = false ;
148+ boolean enableVuid = false ;
147149 Map <String , Object > sdkSettings = argumentsParser .getOptimizelySdkSettings ();
148150 if (sdkSettings != null ) {
149151 if (sdkSettings .containsKey (SEGMENTS_CACHE_SIZE )) {
@@ -161,6 +163,9 @@ protected void initializeOptimizely(@NonNull ArgumentsParser argumentsParser, @N
161163 if (sdkSettings .containsKey (DISABLE_ODP )) {
162164 disableOdp = (boolean ) sdkSettings .get (DISABLE_ODP );
163165 }
166+ if (sdkSettings .containsKey (ENABLE_VUID )) {
167+ enableVuid = (boolean ) sdkSettings .get (ENABLE_VUID );
168+ }
164169 }
165170 // Creating new instance
166171 OptimizelyManager .Builder optimizelyManagerBuilder = OptimizelyManager .builder ()
@@ -179,6 +184,9 @@ protected void initializeOptimizely(@NonNull ArgumentsParser argumentsParser, @N
179184 if (disableOdp ) {
180185 optimizelyManagerBuilder .withODPDisabled ();
181186 }
187+ if (enableVuid ) {
188+ optimizelyManagerBuilder .withVuidEnabled ();
189+ }
182190 OptimizelyManager optimizelyManager = optimizelyManagerBuilder .build (context );
183191
184192 optimizelyManager .initialize (context , null , (OptimizelyClient client ) -> {
@@ -471,7 +479,7 @@ protected void getVuid(ArgumentsParser argumentsParser, @NonNull Result result)
471479 if (!isOptimizelyClientValid (sdkKey , optimizelyClient , result )) {
472480 return ;
473481 }
474- result .success (createResponse (true , Collections .singletonMap (RequestParameterKey .VUID , optimizelyClient .getVuid ()), "" ));
482+ result .success (createResponse (optimizelyClient . getVuid () != null , Collections .singletonMap (RequestParameterKey .VUID , optimizelyClient .getVuid ()), "" ));
475483 }
476484
477485 /// Checks if the user is qualified for the given segment.
0 commit comments