From 0ae8c62ec2b7aececd3ee1f3509cde24be73ff91 Mon Sep 17 00:00:00 2001
From: eggsy chen <158010156+eggsy-firework@users.noreply.github.com>
Date: Tue, 16 Jul 2024 16:24:11 +0800
Subject: [PATCH] Update Firework Android SDK to 6.13.0 (#92)
**What**
- Update Firework Android SDK to 6.13.0
- Update some demo code
---
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 @@
+
+
+