Skip to content

Commit b127a64

Browse files
committed
clean up
1 parent 0491b57 commit b127a64

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

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

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@ public OptimizelyUserContextAndroid(@NonNull Optimizely optimizely,
8484
super(optimizely, userId, attributes, forcedDecisionsMap, qualifiedSegments, shouldIdentifyUser);
8585
}
8686

87+
// ===========================================
88+
// [SYNCHRONOUS DECIDE METHODS]
89+
// - "decideSync" methods skip async decision like cmab for backward compatibility.
90+
// ===========================================
91+
8792
/**
8893
* Returns a decision result ({@link OptimizelyDecision}) for a given flag key and a user context, which contains all data required to deliver the flag.
8994
* <ul>
@@ -183,7 +188,7 @@ public Map<String, OptimizelyDecision> decideAll() {
183188
}
184189

185190
// ===========================================
186-
// Async Methods (Android-specific) with callbacks
191+
// [ASYNCHRONOUS DECIDE METHODS WITH CALLBACKS]
187192
// ===========================================
188193

189194
/**
@@ -253,7 +258,9 @@ public void decideAllAsync(@NonNull OptimizelyDecisionsCallback callback) {
253258
}
254259

255260
// ===========================================
256-
// Async Methods (Android-specific) with blocking calls to synchronous methods
261+
// [ASYNCHRONOUS DECIDE METHODS WITH BLOCKING CALLS]
262+
// - This will block the calling thread until a decision is returned.
263+
// - So this should be called in background thread only.
257264
// ===========================================
258265

259266
/**
@@ -267,7 +274,7 @@ public void decideAllAsync(@NonNull OptimizelyDecisionsCallback callback) {
267274
* @return A decision result.
268275
*/
269276
public OptimizelyDecision decideAsync(@NonNull String key,
270-
@NonNull List<OptimizelyDecideOption> options) {
277+
@NonNull List<OptimizelyDecideOption> options) {
271278
return coreDecide(key, options);
272279
}
273280

@@ -292,7 +299,7 @@ public OptimizelyDecision decideAsync(@NonNull String key) {
292299
* @return All decision results mapped by flag keys.
293300
*/
294301
public Map<String, OptimizelyDecision> decideForKeysAsync(@NonNull List<String> keys,
295-
@NonNull List<OptimizelyDecideOption> options) {
302+
@NonNull List<OptimizelyDecideOption> options) {
296303
return coreDecideForKeys(keys, options);
297304
}
298305

@@ -335,6 +342,10 @@ public Map<String, OptimizelyDecision> decideAllAsync() {
335342
* for parent functionality, circumventing Mockito's inability to intercept super calls.
336343
*/
337344

345+
// [SYNCHRONOUS DECIDE METHODS]
346+
// - java-sdk provides these "decideSync" methods only for android-sdk we are using them directly.
347+
// - "decideSync" methods skip async decision like cmab for backward compatibility.
348+
338349
OptimizelyDecision coreDecideSync(@NonNull String key, @NonNull List<OptimizelyDecideOption> options) {
339350
return super.decideSync(key, options);
340351
}
@@ -347,6 +358,9 @@ Map<String, OptimizelyDecision> coreDecideAllSync(@NonNull List<OptimizelyDecide
347358
return super.decideAllSync(options);
348359
}
349360

361+
// [ASYNCHRONOUS DECIDE METHODS WITH CALLBACKS]
362+
// - java-sdk also provides async decide methods with callbacks, we are just delegating to super class here.
363+
350364
void coreDecideAsync(@NonNull String key, @NonNull List<OptimizelyDecideOption> options, @NonNull OptimizelyDecisionCallback callback) {
351365
super.decideAsync(key, options, callback);
352366
}
@@ -359,6 +373,9 @@ void coreDecideAllAsync(@NonNull List<OptimizelyDecideOption> options, @NonNull
359373
super.decideAllAsync(options, callback);
360374
}
361375

376+
// [ASYNCHRONOUS DECIDE METHODS WITH BLOCKING CALLS]
377+
// - these APIs call java-sdk native "decide" methods directly, blocking the calling thread until a decision is returned
378+
362379
OptimizelyDecision coreDecide(@NonNull String key, @NonNull List<OptimizelyDecideOption> options) {
363380
return super.decide(key, options);
364381
}

0 commit comments

Comments
 (0)