diff --git a/.github/workflows/flutter.yml b/.github/workflows/flutter.yml index 43419b3..4aa2445 100644 --- a/.github/workflows/flutter.yml +++ b/.github/workflows/flutter.yml @@ -43,8 +43,8 @@ jobs: with: # You should create a personal access token and store it in your repository token: ${{ secrets.CI_USER_TOKEN }} - repository: 'optimizely/travisci-tools' - path: 'home/runner/travisci-tools' + repository: 'optimizely/ci-helper-tools' + path: 'home/runner/ci-helper-tools' ref: 'master' - name: set SDK Branch if PR env: @@ -76,7 +76,7 @@ jobs: EVENT_MESSAGE: ${{ github.event.message }} HOME: 'home/runner' run: | - home/runner/travisci-tools/trigger-script-with-status-update.sh + home/runner/ci-helper-tools/trigger-script-with-status-update.sh integration_ios_tests: runs-on: ubuntu-latest @@ -85,8 +85,8 @@ jobs: with: # You should create a personal access token and store it in your repository token: ${{ secrets.CI_USER_TOKEN }} - repository: 'optimizely/travisci-tools' - path: 'home/runner/travisci-tools' + repository: 'optimizely/ci-helper-tools' + path: 'home/runner/ci-helper-tools' ref: 'master' - name: set SDK Branch if PR env: @@ -118,7 +118,7 @@ jobs: EVENT_MESSAGE: ${{ github.event.message }} HOME: 'home/runner' run: | - home/runner/travisci-tools/trigger-script-with-status-update.sh + home/runner/ci-helper-tools/trigger-script-with-status-update.sh build_test_android: runs-on: ubuntu-latest diff --git a/android/build.gradle b/android/build.gradle index b4d9ca6..69532a7 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -69,7 +69,7 @@ dependencies { implementation 'org.slf4j:slf4j-api:2.0.7' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0" - implementation "com.optimizely.ab:android-sdk:5.1.0" + implementation "com.optimizely.ab:android-sdk:5.1.1" implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.2' implementation ('com.google.guava:guava:19.0') { exclude group:'com.google.guava', module:'listenablefuture' diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift index 70693e4..b636303 100644 --- a/example/ios/Runner/AppDelegate.swift +++ b/example/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import UIKit import Flutter -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist index b4499c8..b1d7d7e 100644 --- a/example/ios/Runner/Info.plist +++ b/example/ios/Runner/Info.plist @@ -45,5 +45,7 @@ CADisableMinimumFrameDurationOnPhone + UIApplicationSupportsIndirectInputEvents + diff --git a/example/lib/sample_api.dart b/example/lib/sample_api.dart index 8ded613..1a9ae0f 100644 --- a/example/lib/sample_api.dart +++ b/example/lib/sample_api.dart @@ -78,7 +78,6 @@ class CmabSampleApi { print('\nMaking async decision for flag: $CMAB_FLAG_KEY'); var decision = await userContext.decideAsync( CMAB_FLAG_KEY, - {OptimizelyDecideOption.ignoreUserProfileService}, ); // Access decision results @@ -127,7 +126,6 @@ class CmabSampleApi { CMAB_FLAG_KEY, { OptimizelyDecideOption.ignoreCmabCache, - OptimizelyDecideOption.ignoreUserProfileService, }, ); print(' ✓ Fresh decision from CMAB service (cache bypassed)'); @@ -140,8 +138,7 @@ class CmabSampleApi { var decision2 = await userContext.decideAsync( CMAB_FLAG_KEY, { - OptimizelyDecideOption.resetCmabCache, - OptimizelyDecideOption.ignoreUserProfileService, + OptimizelyDecideOption.resetCmabCache }, ); print(' ✓ Entire CMAB cache cleared, new decision fetched'); @@ -154,8 +151,7 @@ class CmabSampleApi { var decision3 = await userContext.decideAsync( CMAB_FLAG_KEY, { - OptimizelyDecideOption.invalidateUserCmabCache, - OptimizelyDecideOption.ignoreUserProfileService, + OptimizelyDecideOption.invalidateUserCmabCache }, ); print(' ✓ User-specific cache cleared, new decision fetched'); @@ -164,8 +160,7 @@ class CmabSampleApi { // Regular cached decision (for comparison) print('\n4. Regular decision (uses cache if available):'); var decision4 = await userContext.decideAsync( - CMAB_FLAG_KEY, - {OptimizelyDecideOption.ignoreUserProfileService}, + CMAB_FLAG_KEY ); print(' ✓ Decision returned (may be from cache)'); print(' - Variation: ${decision4.decision?.variationKey}'); @@ -211,8 +206,7 @@ class CmabSampleApi { // Make decision with custom config var decision = await userContext.decideAsync( - CMAB_FLAG_KEY, - {OptimizelyDecideOption.ignoreUserProfileService}, + CMAB_FLAG_KEY ); print('\n✓ Decision made with custom cache settings:'); @@ -314,7 +308,6 @@ class CmabSampleApi { await user1Context.decideAsync( CMAB_FLAG_KEY, { - OptimizelyDecideOption.ignoreUserProfileService, OptimizelyDecideOption.includeReasons, }, ); @@ -322,7 +315,6 @@ class CmabSampleApi { await user2Context.decideAsync( CMAB_FLAG_KEY, { - OptimizelyDecideOption.ignoreUserProfileService, OptimizelyDecideOption.includeReasons, }, ); @@ -331,7 +323,6 @@ class CmabSampleApi { await user1Context.decideAsync( CMAB_FLAG_KEY, { - OptimizelyDecideOption.ignoreUserProfileService, OptimizelyDecideOption.includeReasons, OptimizelyDecideOption.invalidateUserCmabCache, }, @@ -341,7 +332,6 @@ class CmabSampleApi { await user2Context.decideAsync( CMAB_FLAG_KEY, { - OptimizelyDecideOption.ignoreUserProfileService, OptimizelyDecideOption.includeReasons, }, ); diff --git a/ios/optimizely_flutter_sdk.podspec b/ios/optimizely_flutter_sdk.podspec index cc0069d..4b87824 100644 --- a/ios/optimizely_flutter_sdk.podspec +++ b/ios/optimizely_flutter_sdk.podspec @@ -13,7 +13,7 @@ Pod::Spec.new do |s| s.source = { :path => '.' } s.source_files = 'Classes/**/*' s.dependency 'Flutter' - s.dependency 'OptimizelySwiftSDK', '5.2.0' + s.dependency 'OptimizelySwiftSDK', '5.2.1' s.platform = :ios, '10.0' # Flutter.framework does not contain a i386 slice. s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }