diff --git a/README-COMPOSE.md b/README-COMPOSE.md index bf7bbc0c..3c83a047 100644 --- a/README-COMPOSE.md +++ b/README-COMPOSE.md @@ -114,7 +114,8 @@ following table: | setShowSGI | Boolean | setShowSGI(true) | Determines whether the integration will fetch SGI and use SGI flow for users to add user generated items to their wardrobe. | No. By default, ShowSGI is set to false | | setAllowedLanguages | A list of `VirtusizeLanguage` | In Kotlin, setAllowedLanguages(mutableListOf(VirtusizeLanguage.EN, VirtusizeLanguage.JP))
In Java, setAllowedLanguages(Arrays.asList(VirtusizeLanguage.EN, VirtusizeLanguage.JP)) | The languages which the user can switch to using the Language Selector | No. By default, the integration allows all possible languages to be displayed, including English, Japanese and Korean. | | setDetailsPanelCards | A list of `VirtusizeInfoCategory` | In Kotlin, setDetailsPanelCards(mutableListOf(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT))
In Java, setDetailsPanelCards(Arrays.asList(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT)) | The info categories which will be display in the Product Details tab. Possible categories are: `VirtusizeInfoCategory.MODEL_INFO`, `VirtusizeInfoCategory.GENERAL_FIT`, `VirtusizeInfoCategory.BRAND_SIZING` and `VirtusizeInfoCategory.MATERIAL` | No. By default, the integration displays all the possible info categories in the Product Details tab. | -| setShowSNSButtons | Boolean | setShowSNSButtons(true) | Determines whether the integration will show the SNS buttons to the users | No. By default, the integration enables the SNS buttons | +| setShowSNSButtons | Boolean | setShowSNSButtons(true) | Determines whether the integration will show the SNS buttons to the users | No. By default, the integration enables the SNS buttons | +| setShowPrivacyPolicy | Boolean | setShowPrivacyPolicy(true) | Controls whether the privacy policy shows to users | No. By default, the privacy policy is shown | ```kotlin override fun onCreate() { @@ -138,6 +139,8 @@ override fun onCreate() { .setDetailsPanelCards(setOf(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT)) // By default, Virtusize enables the SNS buttons .setShowSNSButtons(true) + //By default, Virtusize shows Privacy Policy + .setShowPrivacyPolicy(true) .build() } ``` diff --git a/README-JP.md b/README-JP.md index 4c5c9976..de9af0f9 100644 --- a/README-JP.md +++ b/README-JP.md @@ -113,7 +113,8 @@ Proguardをお使いの場合、Proguardのルールファイルに下記のル | setShowSGI | Boolean | setShowSGI(true) | ユーザーが生成したアイテムをワードローブに追加するために、SGIを取得してSGIフローを使用するかどうかを決定します。 | 特になし。デフォルトではShowSGIはfalseに設定されています。 | | setAllowedLanguages | `VirtusizeLanguage`列挙のリスト | In Kotlin, setAllowedLanguages(mutableListOf(VirtusizeLanguage.EN, VirtusizeLanguage.JP))
In Java, setAllowedLanguages(Arrays.asList(VirtusizeLanguage.EN, VirtusizeLanguage.JP)) | ユーザーが言語選択ボタンより選択できる言語 | 特になし。デフォルトでは、英語、日本語、韓国語など、表示可能なすべての言語が表示されるようになっています。 | | setDetailsPanelCards | `VirtusizeInfoCategory`列挙のリスト | In Kotlin, setDetailsPanelCards(mutableListOf(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT))
In Java, setDetailsPanelCards(Arrays.asList(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT)) | 商品詳細タブに表示する情報のカテゴリ。表示可能カテゴリは以下:`VirtusizeInfoCategory.MODELINFO`, `VirtusizeInfoCategory.GENERALFIT`, `VirtusizeInfoCategory.BRANDSIZING` および `VirtusizeInfoCategory.MATERIAL` | 特になし。デフォルトでは、商品詳細タブに表示可能なすべての情報カテゴリが表示されます。 | -| setShowSNSButtons | Boolean | setShowSNSButtons(true) | Determines whether the integration will show the SNS buttons to the users | No. By default, the integration enables the SNS buttons | +| setShowSNSButtons | Boolean | setShowSNSButtons(true) | Determines whether the integration will show the SNS buttons to the users | No. By default, the integration enables the SNS buttons | +| setShowPrivacyPolicy | Boolean | setShowPrivacyPolicy(true) | Controls whether the privacy policy shows to users | No. By default, the privacy policy is shown | ```kotlin override fun onCreate() { @@ -137,6 +138,8 @@ override fun onCreate() { .setDetailsPanelCards(setOf(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT)) // デフォルトでは、SNS ボタンが表示されます .setShowSNSButtons(true) + //デフォルトでは、Virtusizeはプライバシーポリシーを表示します + .setShowPrivacyPolicy(true) .build() } ``` diff --git a/README.md b/README.md index a3c296a9..9739e9c7 100644 --- a/README.md +++ b/README.md @@ -112,17 +112,18 @@ following table: **VirtusizeBuilder** -| Method | Argument Type | Example | Description | Requirement | -|----------------------|-----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| -| setApiKey | String | setApiKey("api_key") | A unique API key is provided to each Virtusize client. | Yes | -| setUserId | String | setUserId("123") | Passed from the client if the user is logged into the client's app. | Yes, if the Order API is used. | -| setEnv | VirtusizeEnvironment | setEnv(VirtusizeEnvironment.STAGING) | The environment is the region you are running the integration from, either `VirtusizeEnvironment.STAGING`, `VirtusizeEnvironment.GLOBAL`, `VirtusizeEnvironment.JAPAN` or `VirtusizeEnvironment.KOREA`. | No. By default, the Virtusize environment will be set to `VirtusizeEnvironment.GLOBAL`. | -| setLanguage | VirtusizeLanguage | setLanguage(VirtusizeLanguage.EN) | Sets the initial language that the integration will load in. The possible values are `VirtusizeLanguage.EN`, `VirtusizeLanguage.JP` and `VirtusizeLanguage.KR` | No. By default, the initial language will be set based on the Virtusize environment. | -| setShowSGI | Boolean | setShowSGI(true) | Determines whether the integration will fetch SGI and use SGI flow for users to add user generated items to their wardrobe. | No. By default, ShowSGI is set to false | -| setAllowedLanguages | A list of `VirtusizeLanguage` | In Kotlin, setAllowedLanguages(mutableListOf(VirtusizeLanguage.EN, VirtusizeLanguage.JP))
In Java, setAllowedLanguages(Arrays.asList(VirtusizeLanguage.EN, VirtusizeLanguage.JP)) | The languages which the user can switch to using the Language Selector | No. By default, the integration allows all possible languages to be displayed, including English, Japanese and Korean. | -| setDetailsPanelCards | A list of `VirtusizeInfoCategory` | In Kotlin, setDetailsPanelCards(mutableListOf(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT))
In Java, setDetailsPanelCards(Arrays.asList(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT)) | The info categories which will be display in the Product Details tab. Possible categories are: `VirtusizeInfoCategory.MODEL_INFO`, `VirtusizeInfoCategory.GENERAL_FIT`, `VirtusizeInfoCategory.BRAND_SIZING` and `VirtusizeInfoCategory.MATERIAL` | No. By default, the integration displays all the possible info categories in the Product Details tab. | -| setShowSNSButtons | Boolean | setShowSNSButtons(true) | Determines whether the integration will show the SNS buttons to the users | No. By default, the integration enables the SNS buttons | -| setBranch | String | setBranch("branch-name") | Targets specific environment branch | No. By default, production environment is targeted. `staging` targets staging environment. `` targets a specific branch | +| Method | Argument Type | Example | Description | Requirement | +|----------------------|-----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------| +| setApiKey | String | setApiKey("api_key") | A unique API key is provided to each Virtusize client. | Yes | +| setUserId | String | setUserId("123") | Passed from the client if the user is logged into the client's app. | Yes, if the Order API is used. | +| setEnv | VirtusizeEnvironment | setEnv(VirtusizeEnvironment.STAGING) | The environment is the region you are running the integration from, either `VirtusizeEnvironment.STAGING`, `VirtusizeEnvironment.GLOBAL`, `VirtusizeEnvironment.JAPAN` or `VirtusizeEnvironment.KOREA`. | No. By default, the Virtusize environment will be set to `VirtusizeEnvironment.GLOBAL`. | +| setLanguage | VirtusizeLanguage | setLanguage(VirtusizeLanguage.EN) | Sets the initial language that the integration will load in. The possible values are `VirtusizeLanguage.EN`, `VirtusizeLanguage.JP` and `VirtusizeLanguage.KR` | No. By default, the initial language will be set based on the Virtusize environment. | +| setShowSGI | Boolean | setShowSGI(true) | Determines whether the integration will fetch SGI and use SGI flow for users to add user generated items to their wardrobe. | No. By default, ShowSGI is set to false | +| setAllowedLanguages | A list of `VirtusizeLanguage` | In Kotlin, setAllowedLanguages(mutableListOf(VirtusizeLanguage.EN, VirtusizeLanguage.JP))
In Java, setAllowedLanguages(Arrays.asList(VirtusizeLanguage.EN, VirtusizeLanguage.JP)) | The languages which the user can switch to using the Language Selector | No. By default, the integration allows all possible languages to be displayed, including English, Japanese and Korean. | +| setDetailsPanelCards | A list of `VirtusizeInfoCategory` | In Kotlin, setDetailsPanelCards(mutableListOf(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT))
In Java, setDetailsPanelCards(Arrays.asList(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT)) | The info categories which will be display in the Product Details tab. Possible categories are: `VirtusizeInfoCategory.MODEL_INFO`, `VirtusizeInfoCategory.GENERAL_FIT`, `VirtusizeInfoCategory.BRAND_SIZING` and `VirtusizeInfoCategory.MATERIAL` | No. By default, the integration displays all the possible info categories in the Product Details tab. | +| setShowSNSButtons | Boolean | setShowSNSButtons(true) | Determines whether the integration will show the SNS buttons to the users | No. By default, the integration enables the SNS buttons | +| setBranch | String | setBranch("branch-name") | Targets specific environment branch | No. By default, production environment is targeted. `staging` targets staging environment. `` targets a specific branch | +| setShowPrivacyPolicy | Boolean | setShowPrivacyPolicy(true) | Controls whether the privacy policy shows to users | No. By default, the privacy policy is shown | - Kotlin @@ -150,6 +151,8 @@ following table: .setShowSNSButtons(true) // Target the specific branch environment by its name .setBranch("branch-name") + //By default, Virtusize shows Privacy Policy + .setShowPrivacyPolicy(true) .build() } ``` @@ -182,7 +185,9 @@ following table: // By default, Virtusize enables the SNS buttons .setShowSNSButtons(true) // Target the specific environment branch by its name - .setBranch("branch-name") + .setBranch("branch-name") + //By default, Virtusize shows Privacy Policy + .setShowPrivacyPolicy(true) .build(); } ``` diff --git a/sampleAppKotlin/src/main/java/com/virtusize/sampleappkotlin/App.kt b/sampleAppKotlin/src/main/java/com/virtusize/sampleappkotlin/App.kt index f6dac1a8..5013aa30 100644 --- a/sampleAppKotlin/src/main/java/com/virtusize/sampleappkotlin/App.kt +++ b/sampleAppKotlin/src/main/java/com/virtusize/sampleappkotlin/App.kt @@ -30,6 +30,8 @@ class App : Application() { .setShowSNSButtons(true) // By default, branch is empty and `production` is used // .setBranch("branch-name") + // By default, Virtusize shows Privacy Policy + .setShowPrivacyPolicy(true) .build() } } diff --git a/sampleappcompose/src/main/java/com/virtusize/sampleapp/compose/VirtusizeSampleApplication.kt b/sampleappcompose/src/main/java/com/virtusize/sampleapp/compose/VirtusizeSampleApplication.kt index 55bab09a..de5a1e58 100644 --- a/sampleappcompose/src/main/java/com/virtusize/sampleapp/compose/VirtusizeSampleApplication.kt +++ b/sampleappcompose/src/main/java/com/virtusize/sampleapp/compose/VirtusizeSampleApplication.kt @@ -27,6 +27,8 @@ internal class VirtusizeSampleApplication : Application() { .setDetailsPanelCards(setOf(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT)) // By default, Virtusize enables the SNS buttons .setShowSNSButtons(true) + // By default, Virtusize shows Privacy Policy + .setShowPrivacyPolicy(true) .build() } } diff --git a/sampleappjava/src/main/java/com/virtusize/sampleappjava/App.java b/sampleappjava/src/main/java/com/virtusize/sampleappjava/App.java index 7eca7b38..36245dcf 100644 --- a/sampleappjava/src/main/java/com/virtusize/sampleappjava/App.java +++ b/sampleappjava/src/main/java/com/virtusize/sampleappjava/App.java @@ -37,6 +37,8 @@ public void onCreate() { .setDetailsPanelCards(Set.of(VirtusizeInfoCategory.BRAND_SIZING, VirtusizeInfoCategory.GENERAL_FIT)) // By default, Virtusize enables the SNS buttons .setShowSNSButtons(true) + // By default, Virtusize shows Privacy Policy + .setShowPrivacyPolicy(true) .build(); } } \ No newline at end of file diff --git a/virtusize/src/main/java/com/virtusize/android/VirtusizeBuilder.kt b/virtusize/src/main/java/com/virtusize/android/VirtusizeBuilder.kt index 5e6b9901..98222ad1 100644 --- a/virtusize/src/main/java/com/virtusize/android/VirtusizeBuilder.kt +++ b/virtusize/src/main/java/com/virtusize/android/VirtusizeBuilder.kt @@ -23,6 +23,7 @@ import com.virtusize.android.data.local.virtusizeRegion * @param detailsPanelCards the info categories that will display in the Product Details tab * @param showSNSButtons the Boolean value to determine whether the Virtusize web app will display the SNS buttons * @param branch the branch name of targeted Virtusize environment when specified + * @param showPrivacyPolicy the Boolean value to determine whether to show or hide the privacy policy */ class VirtusizeBuilder { private var userId: String? = null @@ -37,6 +38,7 @@ class VirtusizeBuilder { private var detailsPanelCards: Set = VirtusizeInfoCategory.entries.toMutableSet() private var showSNSButtons: Boolean = true private var branch: String? = null + private var showPrivacyPolicy: Boolean = true /** * This method is used to add the application context to the Virtusize builder @@ -148,6 +150,17 @@ class VirtusizeBuilder { return this } + /** + * Sets up whether the Virtusize will show the Privacy Policy + * By default value set to TRUE + * @param showPrivacyPolicy the Boolean value + * @return [VirtusizeBuilder] + */ + fun setShowPrivacyPolicy(showPrivacyPolicy: Boolean): VirtusizeBuilder { + this.showPrivacyPolicy = showPrivacyPolicy + return this + } + /** * Builds the Virtusize object from the passed data and returns the Virtusize object * @return Virtusize @@ -173,6 +186,7 @@ class VirtusizeBuilder { detailsPanelCards = detailsPanelCards, showSNSButtons = showSNSButtons, branch = branch, + showPrivacyPolicy = showPrivacyPolicy, ) return Virtusize.init(context = context!!, params = params) } diff --git a/virtusize/src/main/java/com/virtusize/android/data/local/VirtusizeParams.kt b/virtusize/src/main/java/com/virtusize/android/data/local/VirtusizeParams.kt index 02e64205..7e4a1591 100644 --- a/virtusize/src/main/java/com/virtusize/android/data/local/VirtusizeParams.kt +++ b/virtusize/src/main/java/com/virtusize/android/data/local/VirtusizeParams.kt @@ -16,6 +16,7 @@ import com.virtusize.android.SharedPreferencesHelper * @param detailsPanelCards the info categories that will be displayed in the Product Details tab * @param showSNSButtons the Boolean value to determine whether the Virtusize web app will display the SNS buttons * @param branch the branch name of targeted Virtusize testing environment when specified + * @param showPrivacyPolicy the Boolean value to determine whether to show or hide the privacy policy */ data class VirtusizeParams( internal val context: Context, @@ -29,6 +30,7 @@ data class VirtusizeParams( private val detailsPanelCards: Set, internal val showSNSButtons: Boolean, internal val branch: String?, + internal val showPrivacyPolicy: Boolean, ) { /** * Returns the virtusize parameter string to be passed to the JavaScript function vsParamsFromSDK diff --git a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterBuilder.kt b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterBuilder.kt index 750df146..ce570e84 100644 --- a/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterBuilder.kt +++ b/virtusize/src/main/java/com/virtusize/android/flutter/VirtusizeFlutterBuilder.kt @@ -23,6 +23,7 @@ import com.virtusize.android.data.local.virtusizeRegion * @param detailsPanelCards the info categories that will display in the Product Details tab * @param showSNSButtons the Boolean value to determine whether the Virtusize web app will display the SNS buttons * @param branch the branch name of targeted Virtusize environment when specified + * @param showPrivacyPolicy the Boolean value to determine whether to show or hide the privacy policy */ class VirtusizeFlutterBuilder { private var userId: String? = null @@ -38,6 +39,7 @@ class VirtusizeFlutterBuilder { private var showSNSButtons: Boolean = true private var branch: String? = null private var virtusizeFlutterPresenter: VirtusizeFlutterPresenter? = null + private var showPrivacyPolicy: Boolean = true /** * This method is used to add the application context to the Virtusize builder @@ -160,6 +162,17 @@ class VirtusizeFlutterBuilder { return this } + /** + * Sets up whether the Virtusize will show the Privacy Policy + * By default value set to TRUE + * @param showPrivacyPolicy the Boolean value + * @return [VirtusizeFlutterBuilder] + */ + fun setShowPrivacyPolicy(showPrivacyPolicy: Boolean): VirtusizeFlutterBuilder { + this.showPrivacyPolicy = showPrivacyPolicy + return this + } + /** * Builds the VirtusizeFlutter object from the passed data and returns the VirtusizeFlutter object * @return VirtusizeFlutter @@ -185,6 +198,7 @@ class VirtusizeFlutterBuilder { detailsPanelCards = detailsPanelCards, showSNSButtons = showSNSButtons, branch = branch, + showPrivacyPolicy = showPrivacyPolicy, ) return VirtusizeFlutter.init( context = context!!, diff --git a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt index 8e281e32..935b5161 100644 --- a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt +++ b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt @@ -216,6 +216,7 @@ class VirtusizeInPageStandard } }) } + binding.privacyPolicyText.visibility = showPrivacyPolicy() } /** @@ -272,7 +273,7 @@ class VirtusizeInPageStandard binding.inpageUserProductImageView.visibility = if (userBestFitProduct == null) View.GONE else View.VISIBLE binding.vsSignatureImageView.visibility = if (loading) View.INVISIBLE else View.VISIBLE - binding.privacyPolicyText.visibility = if (loading) View.INVISIBLE else View.VISIBLE + binding.privacyPolicyText.visibility = if (loading) View.INVISIBLE else showPrivacyPolicy() binding.inpageVSIconImageView.visibility = if (loading) View.VISIBLE else View.GONE binding.inpageLoadingText.visibility = if (loading) View.VISIBLE else View.GONE if (loading) { @@ -739,4 +740,6 @@ class VirtusizeInPageStandard layoutParams.setMargins(left, top, right, bottom) binding.inpageFooter.layoutParams = layoutParams } + + private fun showPrivacyPolicy() = if (virtusizeParams.showPrivacyPolicy) View.VISIBLE else View.GONE }