diff --git a/CHANGELOG.md b/CHANGELOG.md index efde29b5..0e994be3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +### 2.12.5 +- Feature: Update Flutter SDK implementation to be compatible with latest changes + ### 2.12.4 - Feature: Add event listener to handle language change on web in Virtusize widgets diff --git a/README-COMPOSE.md b/README-COMPOSE.md index af7309f5..59d4dfe9 100644 --- a/README-COMPOSE.md +++ b/README-COMPOSE.md @@ -74,7 +74,7 @@ In your app `build.gradle` file, add the following dependencies: ```groovy dependencies { - implementation 'com.virtusize.android:virtusize:2.12.4' + implementation 'com.virtusize.android:virtusize:2.12.5' } ``` @@ -82,7 +82,7 @@ In your app `build.gradle` file, add the following dependencies: ```kotlin dependencies { - implementation("com.virtusize.android:virtusize:2.12.4") + implementation("com.virtusize.android:virtusize:2.12.5") } ``` diff --git a/README-JP.md b/README-JP.md index 874c0157..485a0568 100644 --- a/README-JP.md +++ b/README-JP.md @@ -75,7 +75,7 @@ appの`build.gradle`ファイルに下記のdependencyを追加 ```groovy dependencies { - implementation 'com.virtusize.android:virtusize:2.12.4' + implementation 'com.virtusize.android:virtusize:2.12.5' } ``` @@ -83,7 +83,7 @@ appの`build.gradle`ファイルに下記のdependencyを追加 ```kotlin dependencies { - implementation("com.virtusize.android:virtusize:2.12.4") + implementation("com.virtusize.android:virtusize:2.12.5") } ``` diff --git a/README.md b/README.md index fb553923..bc188d07 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ In your app `build.gradle` file, add the following dependencies: ```groovy dependencies { - implementation 'com.virtusize.android:virtusize:2.12.4' + implementation 'com.virtusize.android:virtusize:2.12.5' } ``` @@ -90,7 +90,7 @@ In your app `build.gradle` file, add the following dependencies: ```kotlin dependencies { - implementation("com.virtusize.android:virtusize:2.12.4") + implementation("com.virtusize.android:virtusize:2.12.5") } ``` diff --git a/buildSrc/src/main/java/com/virtusize/android/constants/Constants.kt b/buildSrc/src/main/java/com/virtusize/android/constants/Constants.kt index d205d560..d2396dc4 100644 --- a/buildSrc/src/main/java/com/virtusize/android/constants/Constants.kt +++ b/buildSrc/src/main/java/com/virtusize/android/constants/Constants.kt @@ -6,6 +6,6 @@ object Constants { const val TARGET_SDK = 34 // Update versionName when publishing a new release - const val VERSION_NAME = "2.12.4" + const val VERSION_NAME = "2.12.5" const val GROUP_ID = "com.virtusize.android" } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 140fda0e..fb7e378f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -20,7 +20,7 @@ material = "1.12.0" nextPublish = "1.1.0" robolectric = "4.13" truth = "1.4.4" -virtusize = "2.12.4" +virtusize = "2.12.5" virtusizeAuth = "1.1.1" browser = "1.8.0" diff --git a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutter.kt b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutter.kt index f0187667..a1a8ca1d 100644 --- a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutter.kt +++ b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutter.kt @@ -146,4 +146,10 @@ interface VirtusizeFlutter { ) fun getPrivacyPolicyLink(context: Context): String + + /** + * Sets the display language for the Virtusize widgets + * @param language the [VirtusizeLanguage] to be set + */ + fun setVsWidgetLanguage(language: VirtusizeLanguage) } diff --git a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt index 991afd6f..721d0347 100644 --- a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt +++ b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterImpl.kt @@ -172,12 +172,20 @@ internal class VirtusizeFlutterImpl( virtusizeRepository.updateUserSession() } + is VirtusizeEvent.UserClickedLanguageSelector -> { + event.data?.optString("language")?.let { language -> + val virtusizeLanguage = VirtusizeLanguage.entries.firstOrNull { it.value == language } + if (virtusizeLanguage != null) { + setVsWidgetLanguage(virtusizeLanguage) + } + } + } + is VirtusizeEvent.UserCreatedSilhouette, is VirtusizeEvent.UserSawProduct, is VirtusizeEvent.UserSawWidgetButton, is VirtusizeEvent.UserClickedStart, is VirtusizeEvent.Undefined, - is VirtusizeEvent.UserClickedLanguageSelector, -> Unit } } @@ -368,6 +376,21 @@ internal class VirtusizeFlutterImpl( } } + /** + * @see VirtusizeFlutter.setVsWidgetLanguage + */ + override fun setVsWidgetLanguage(language: VirtusizeLanguage) { + virtusizeFlutterPresenter?.onLangugeClick(language) + scope.launch { + virtusizeRepository.setVsWidgetLanguage(language) + virtusizeRepository.fetchDataForInPageRecommendation( + shouldUpdateUserProducts = false, + shouldUpdateBodyProfile = true, + ) + virtusizeRepository.updateInPageRecommendation() + } + } + /** * @see VirtusizeFlutter.openVirtusizeWebView */ diff --git a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterPresenter.kt b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterPresenter.kt index 4aa83eda..b1a2b15e 100644 --- a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterPresenter.kt +++ b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterPresenter.kt @@ -1,6 +1,7 @@ package com.virtusize.android.flutter import com.virtusize.android.data.local.VirtusizeError +import com.virtusize.android.data.local.VirtusizeLanguage import com.virtusize.android.data.local.VirtusizeProduct import com.virtusize.android.data.remote.Product @@ -15,6 +16,8 @@ interface VirtusizeFlutterPresenter { recommendationText: String?, ) + fun onLangugeClick(language: VirtusizeLanguage) + fun hasInPageError( externalProductId: String?, error: VirtusizeError?,