From 75690ca3e896158e7d75ccf26af42a5e86900d75 Mon Sep 17 00:00:00 2001 From: Eggsy Date: Tue, 16 Jul 2024 16:13:50 +0800 Subject: [PATCH] Update Firework Android SDK to 6.13.0 --- compose/app/build.gradle.kts | 2 +- .../firework/example/compose/MainActivity.kt | 45 +++++++++++++++++++ compose/app/src/main/res/drawable/ic_pip.xml | 10 +++++ feed_integration/app/build.gradle.kts | 2 +- feed_resources/app/build.gradle.kts | 2 +- language/app/build.gradle.kts | 2 +- .../example/language/LocaleStorage.kt | 6 +++ .../firework/example/language/MainActivity.kt | 19 ++++++-- multi_host_livestream/app/build.gradle.kts | 2 +- picture_in_picture/app/build.gradle.kts | 2 +- share_link/app/build.gradle.kts | 2 +- shopping/app/build.gradle.kts | 2 +- single_host_livestream/app/build.gradle.kts | 2 +- story_block/app/build.gradle.kts | 2 +- view_options/app/build.gradle.kts | 2 +- .../example/viewoptions/MainActivity.kt | 37 +++++++++++++++ .../app/src/main/res/drawable/ic_pip.xml | 10 +++++ 17 files changed, 134 insertions(+), 15 deletions(-) create mode 100644 compose/app/src/main/res/drawable/ic_pip.xml create mode 100644 view_options/app/src/main/res/drawable/ic_pip.xml diff --git a/compose/app/build.gradle.kts b/compose/app/build.gradle.kts index f7aa095..d1fb38e 100644 --- a/compose/app/build.gradle.kts +++ b/compose/app/build.gradle.kts @@ -95,7 +95,7 @@ dependencies { debugImplementation("androidx.compose.ui:ui-test-manifest") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/compose/app/src/main/java/com/firework/example/compose/MainActivity.kt b/compose/app/src/main/java/com/firework/example/compose/MainActivity.kt index b2f367d..42f7911 100644 --- a/compose/app/src/main/java/com/firework/example/compose/MainActivity.kt +++ b/compose/app/src/main/java/com/firework/example/compose/MainActivity.kt @@ -10,16 +10,27 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.viewinterop.AndroidView import com.firework.common.PlayerMode +import com.firework.common.cta.CtaDelay +import com.firework.common.cta.CtaDelayUnit +import com.firework.common.cta.CtaStyle import com.firework.common.feed.FeedLayout import com.firework.common.feed.FeedResource import com.firework.common.feed.FeedTitlePosition +import com.firework.common.widget.ActionButton +import com.firework.common.widget.Shape +import com.firework.common.widget.WidgetImage import com.firework.videofeed.fwVideoFeedView import com.firework.videofeed.viewOptions +import com.firework.viewoptions.actionButtonOptions import com.firework.viewoptions.baseOptions +import com.firework.viewoptions.ctaOptions import com.firework.viewoptions.layoutOptions +import com.firework.viewoptions.pipButtonOptions import com.firework.viewoptions.playerOptions +import com.firework.viewoptions.playerUiOptions import com.firework.viewoptions.titleOptions class MainActivity : ComponentActivity() { @@ -44,6 +55,7 @@ private fun VideoFeed() { val feedTitleTextColor = MaterialTheme.colorScheme.onPrimary.hashCode() val feedTitleBackgroundColor = MaterialTheme.colorScheme.primary.hashCode() val backgroundColor = MaterialTheme.colorScheme.background.hashCode() + val secondaryColor = MaterialTheme.colorScheme.secondary.toArgb() AndroidView(factory = { context -> fwVideoFeedView(context) { @@ -69,10 +81,43 @@ private fun VideoFeed() { feedTitleTextSize(context.spToPx(14f)) feedTitleTextNumberOfLines(1) } + ctaOptions { + ctaDelay(CtaDelay(0.2f, CtaDelayUnit.PERCENTAGE)) + ctaStyle( + CtaStyle( + shape = Shape.SHAPE_OVAL, + backgroundColor = secondaryColor, + textColor = feedTitleTextColor, + fontSize = context.spToPx(18f).toFloat(), + ), + ) + } playerOptions { playerMode(PlayerMode.FIT_MODE) showShareButton(true) autoPlayOnComplete(true) + playerUiOptions { + pipButtonOptions { + icon(WidgetImage(R.drawable.ic_pip)) + } + } + actionButtonOptions { + actionButton( + ActionButton( + backgroundColor = secondaryColor, + dividingLineColor = backgroundColor, + shape = Shape.SHAPE_OVAL, + textColor = feedTitleTextColor, + ), + ) + cancelButton( + ActionButton( + backgroundColor = secondaryColor, + shape = Shape.SHAPE_OVAL, + textColor = feedTitleTextColor, + ), + ) + } } } } diff --git a/compose/app/src/main/res/drawable/ic_pip.xml b/compose/app/src/main/res/drawable/ic_pip.xml new file mode 100644 index 0000000..e1ee16d --- /dev/null +++ b/compose/app/src/main/res/drawable/ic_pip.xml @@ -0,0 +1,10 @@ + + + diff --git a/feed_integration/app/build.gradle.kts b/feed_integration/app/build.gradle.kts index 10ce834..b58b081 100644 --- a/feed_integration/app/build.gradle.kts +++ b/feed_integration/app/build.gradle.kts @@ -81,7 +81,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/feed_resources/app/build.gradle.kts b/feed_resources/app/build.gradle.kts index d8bda75..b50df85 100644 --- a/feed_resources/app/build.gradle.kts +++ b/feed_resources/app/build.gradle.kts @@ -82,7 +82,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/language/app/build.gradle.kts b/language/app/build.gradle.kts index f8b1856..9b6dba5 100644 --- a/language/app/build.gradle.kts +++ b/language/app/build.gradle.kts @@ -76,7 +76,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/language/app/src/main/java/com/firework/example/language/LocaleStorage.kt b/language/app/src/main/java/com/firework/example/language/LocaleStorage.kt index 8c69931..57fa7e3 100644 --- a/language/app/src/main/java/com/firework/example/language/LocaleStorage.kt +++ b/language/app/src/main/java/com/firework/example/language/LocaleStorage.kt @@ -10,6 +10,12 @@ class LocaleStorage(context: Context) { fun getLocale(): Locale { val defaultLocaleLanguage: String = Locale.getDefault().language.toString() val localeValue: String = sharedPreferences.getString(LOCALE_KEY, defaultLocaleLanguage) ?: defaultLocaleLanguage + if (localeValue.contains("_")) { + val locales = localeValue.split("_") + if (locales.size > 1) { + return Locale(locales[0], locales[1]) + } + } return Locale(localeValue) } diff --git a/language/app/src/main/java/com/firework/example/language/MainActivity.kt b/language/app/src/main/java/com/firework/example/language/MainActivity.kt index 0d1bfb7..86b7387 100644 --- a/language/app/src/main/java/com/firework/example/language/MainActivity.kt +++ b/language/app/src/main/java/com/firework/example/language/MainActivity.kt @@ -39,7 +39,9 @@ class MainActivity : AppCompatActivity() { val adapter: ArrayAdapter = ArrayAdapter(this, android.R.layout.simple_spinner_item, supportedLocaleItems) languageSpinner.adapter = adapter adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) - languageSpinner.setSelection(adapter.getPosition(supportedLocaleItems.firstOrNull { it.locale == localeStorage.getLocale() }), false) + languageSpinner.setSelection(adapter.getPosition(supportedLocaleItems.firstOrNull { + it.locale.toString().equals(localeStorage.getLocale().toString(), true) + }), false) languageSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { @@ -108,11 +110,20 @@ class MainActivity : AppCompatActivity() { listOf( LocaleItem("English", Locale("en")), LocaleItem("Arabic", Locale("ar")), - LocaleItem("Spanish", Locale("es")), - LocaleItem("Persian", Locale("fa")), + LocaleItem("Arabic (Saudi Arabia)", Locale("ar", "SA")), + LocaleItem("Arabic (United Arab Emirates)", Locale("ar", "AE")), + LocaleItem("German", Locale("de")), + LocaleItem("Italian", Locale("it")), LocaleItem("Japanese", Locale("ja")), LocaleItem("Polish", Locale("pl")), - LocaleItem("Portuguese", Locale("pt")), + LocaleItem("Portuguese (Brazil)", Locale("pt", "BR")), + LocaleItem("Russian", Locale("ru")), + LocaleItem("Spanish", Locale("es")), + LocaleItem("Spanish (Mexico)", Locale("es", "MX")), + LocaleItem("Spanish (Colombia)", Locale("es", "CO")), + LocaleItem("Vietnamese", Locale("vi")), + LocaleItem("Thailand", Locale("th")), + LocaleItem("Persian", Locale("fa")), ) } } diff --git a/multi_host_livestream/app/build.gradle.kts b/multi_host_livestream/app/build.gradle.kts index bba2c41..86ad396 100644 --- a/multi_host_livestream/app/build.gradle.kts +++ b/multi_host_livestream/app/build.gradle.kts @@ -72,7 +72,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/picture_in_picture/app/build.gradle.kts b/picture_in_picture/app/build.gradle.kts index 5a844b5..7966a7f 100644 --- a/picture_in_picture/app/build.gradle.kts +++ b/picture_in_picture/app/build.gradle.kts @@ -84,7 +84,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/share_link/app/build.gradle.kts b/share_link/app/build.gradle.kts index f753ed7..2b98866 100644 --- a/share_link/app/build.gradle.kts +++ b/share_link/app/build.gradle.kts @@ -81,7 +81,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/shopping/app/build.gradle.kts b/shopping/app/build.gradle.kts index 08629e0..7e5f5db 100644 --- a/shopping/app/build.gradle.kts +++ b/shopping/app/build.gradle.kts @@ -74,7 +74,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/single_host_livestream/app/build.gradle.kts b/single_host_livestream/app/build.gradle.kts index e42897c..3e311f2 100644 --- a/single_host_livestream/app/build.gradle.kts +++ b/single_host_livestream/app/build.gradle.kts @@ -76,7 +76,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/story_block/app/build.gradle.kts b/story_block/app/build.gradle.kts index 67799bc..3511e60 100644 --- a/story_block/app/build.gradle.kts +++ b/story_block/app/build.gradle.kts @@ -81,7 +81,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/view_options/app/build.gradle.kts b/view_options/app/build.gradle.kts index 6fb733e..d27bf94 100644 --- a/view_options/app/build.gradle.kts +++ b/view_options/app/build.gradle.kts @@ -70,7 +70,7 @@ dependencies { implementation("com.github.bumptech.glide:glide:4.16.0") // Firework SDK - val fireworkBomVersion = "2024.06.06" + val fireworkBomVersion = "2024.07.16" implementation(platform("com.firework:firework-bom:$fireworkBomVersion")) implementation("com.firework:sdk") implementation("com.firework.external.imageloading:glide") // Glide (optional image loader) diff --git a/view_options/app/src/main/java/com/firework/example/viewoptions/MainActivity.kt b/view_options/app/src/main/java/com/firework/example/viewoptions/MainActivity.kt index 12b7699..6e7b129 100644 --- a/view_options/app/src/main/java/com/firework/example/viewoptions/MainActivity.kt +++ b/view_options/app/src/main/java/com/firework/example/viewoptions/MainActivity.kt @@ -15,18 +15,25 @@ import com.firework.common.PlayerMode import com.firework.common.ad.AdBadgeTextType import com.firework.common.cta.CtaDelay import com.firework.common.cta.CtaDelayUnit +import com.firework.common.cta.CtaStyle import com.firework.common.feed.FeedLayout import com.firework.common.feed.FeedResource import com.firework.common.feed.FeedTitlePosition +import com.firework.common.widget.ActionButton +import com.firework.common.widget.Shape +import com.firework.common.widget.WidgetImage import com.firework.example.viewoptions.databinding.ActivityMainBinding import com.firework.videofeed.FwVideoFeedView import com.firework.viewoptions.ViewOptions +import com.firework.viewoptions.actionButtonOptions import com.firework.viewoptions.adBadgeOptions import com.firework.viewoptions.adOptions import com.firework.viewoptions.baseOptions import com.firework.viewoptions.ctaOptions import com.firework.viewoptions.layoutOptions +import com.firework.viewoptions.pipButtonOptions import com.firework.viewoptions.playerOptions +import com.firework.viewoptions.playerUiOptions import com.firework.viewoptions.titleOptions import com.firework.viewoptions.viewOptions @@ -90,6 +97,14 @@ class MainActivity : AppCompatActivity() { ctaOptions { ctaDelay(CtaDelay(0.2f, CtaDelayUnit.PERCENTAGE)) + ctaStyle( + CtaStyle( + shape = Shape.SHAPE_OVAL, + backgroundColor = getContextCompatColor(R.color.purple_200), + textColor = getContextCompatColor(R.color.cyan), + fontSize = spToPx(18f).toFloat(), + ), + ) } layoutOptions { @@ -113,6 +128,28 @@ class MainActivity : AppCompatActivity() { showMuteButton(true) showPlayPauseButtonInReplay(true) showShareButton(true) + playerUiOptions { + pipButtonOptions { + icon(WidgetImage(R.drawable.ic_pip)) + } + } + actionButtonOptions { + actionButton( + ActionButton( + backgroundColor = getContextCompatColor(R.color.purple_200), + dividingLineColor = getContextCompatColor(R.color.cyan), + shape = Shape.SHAPE_OVAL, + textColor = getContextCompatColor(R.color.black), + ), + ) + cancelButton( + ActionButton( + backgroundColor = getContextCompatColor(R.color.teal_200), + shape = Shape.SHAPE_OVAL, + textColor = getContextCompatColor(R.color.purple_200), + ), + ) + } } titleOptions { diff --git a/view_options/app/src/main/res/drawable/ic_pip.xml b/view_options/app/src/main/res/drawable/ic_pip.xml new file mode 100644 index 0000000..e1ee16d --- /dev/null +++ b/view_options/app/src/main/res/drawable/ic_pip.xml @@ -0,0 +1,10 @@ + + +