From 3c5545bdb6b1189ba23e435ae18a720102c30021 Mon Sep 17 00:00:00 2001 From: "arthur.valin" <arthur.valin@etu.uca.fr> Date: Sat, 13 Jan 2024 12:28:20 +0100 Subject: [PATCH 1/3] Bet result page --- src/app/build.gradle.kts | 16 +- src/app/keys/keystore.jks | Bin 2487 -> 0 bytes src/app/keys/keystore.properties | 2 - src/app/keys/private_key.pepk | Bin 1776 -> 0 bytes src/app/proguard-rules.pro | 17 +- .../fr/iut/alldev/allin/test/mock/Bets.kt | 22 +- .../fr/iut/alldev/allin/vo/bet/BetVOTest.kt | 31 +- .../BetVOTestVisitor.kt | 15 +- .../allin/keystore/AllInKeystoreManager.kt | 5 +- .../keystore/impl/AllInKeystoreManagerImpl.kt | 11 +- .../java/fr/iut/alldev/allin/test/TestTags.kt | 3 +- .../java/fr/iut/alldev/allin/theme/Color.kt | 2 + .../java/fr/iut/alldev/allin/theme/Theme.kt | 45 +- .../java/fr/iut/alldev/allin/theme/Type.kt | 50 +- .../fr/iut/alldev/allin/ui/bet/BetScreen.kt | 4 +- .../allin/ui/bet/components/BetScreenCard.kt | 2 +- .../ui/bet/components/BetScreenPopularCard.kt | 6 +- .../allin/ui/betHistory/BetHistoryScreen.kt | 4 +- .../components/BetHistoryScreenCard.kt | 44 +- .../ui/betResult/BetResultBottomSheet.kt | 172 + .../components/BetResultBottomSheetBetCard.kt | 60 + .../BetResultBottomSheetBetCardStats.kt | 111 + ...ultBottomSheetBetContentCongratulations.kt | 71 + .../BetResultBottomSheetContentCoinAmount.kt | 79 + .../ui/betStatus/BetStatusBottomSheet.kt | 12 +- .../BetStatusParticipationBottomSheet.kt | 29 +- .../betStatus/components/BetStatusWinner.kt | 7 +- .../betStatus/components/YesNoDetailsLine.kt | 5 +- .../ui/betStatus/components/YesNoStarBar.kt | 2 +- .../BetStatusBottomSheetBetDisplayer.kt} | 106 +- .../alldev/allin/ui/core/AllInAlertDialog.kt | 2 +- .../alldev/allin/ui/core/AllInBottomSheet.kt | 2 + .../fr/iut/alldev/allin/ui/core/AllInChip.kt | 2 +- .../alldev/allin/ui/core/AllInCoinCount.kt | 14 +- .../alldev/allin/ui/core/AllInDatePicker.kt | 2 +- .../allin/ui/core/AllInDetailsDrawer.kt | 2 +- .../alldev/allin/ui/core/AllInErrorLine.kt | 2 +- .../allin/ui/core/AllInRetractableCard.kt | 2 +- .../allin/ui/core/AllInSectionButton.kt | 4 +- .../alldev/allin/ui/core/AllInTextField.kt | 4 +- .../iut/alldev/allin/ui/core/AllInTextIcon.kt | 55 +- .../alldev/allin/ui/core/AllInTimePicker.kt | 2 +- .../iut/alldev/allin/ui/core/AllInTooltip.kt | 4 +- .../java/fr/iut/alldev/allin/ui/core/Icon.kt | 38 + .../iut/alldev/allin/ui/core/bet/BetCard.kt | 76 + .../allin/ui/core/bet/BetDateTimeChip.kt | 2 +- .../allin/ui/core/bet/BetDateTimeRow.kt | 2 +- .../allin/ui/core/bet/BetTitleHeader.kt | 4 +- .../allin/ui/core/snackbar/AllInSnackBar.kt | 2 +- .../iut/alldev/allin/ui/login/LoginScreen.kt | 10 +- .../fr/iut/alldev/allin/ui/main/MainScreen.kt | 40 +- .../iut/alldev/allin/ui/main/MainViewModel.kt | 15 + .../allin/ui/navigation/drawer/AllInDrawer.kt | 2 +- .../drawer/components/DrawerCell.kt | 2 +- .../drawer/components/DrawerHeaderStat.kt | 2 +- .../allin/ui/preview/BetPreviewProvider.kt | 51 + .../iut/alldev/allin/ui/preview/BetStatus.kt | 14 - .../ui/preview/BetStatusPreviewProvider.kt | 8 + .../preview/BetWithStatusPreviewProvider.kt | 53 + .../allin/ui/register/RegisterScreen.kt | 10 +- .../alldev/allin/ui/welcome/WelcomeScreen.kt | 6 +- .../java/fr/iut/alldev/allin/vo/ViewObject.kt | 8 - .../java/fr/iut/alldev/allin/vo/Visitor.kt | 3 - .../iut/alldev/allin/vo/bet/BetDisplayer.kt | 27 + .../java/fr/iut/alldev/allin/vo/bet/BetVO.kt | 28 - .../allin/vo/bet/factory/BetVOFactory.kt | 30 - .../alldev/allin/vo/bet/visitor/BetVisitor.kt | 15 - .../src/main/res/drawable/allin_marquee.xml | 4307 +++++++++++++++++ .../main/res/font/plusjakartasans_bold.ttf | Bin 94784 -> 0 bytes .../res/font/plusjakartasans_extrabold.ttf | Bin 94788 -> 0 bytes .../res/font/plusjakartasans_extralight.ttf | Bin 94772 -> 0 bytes .../main/res/font/plusjakartasans_light.ttf | Bin 94796 -> 0 bytes .../main/res/font/plusjakartasans_medium.ttf | Bin 94816 -> 0 bytes .../main/res/font/plusjakartasans_regular.ttf | Bin 94764 -> 0 bytes .../res/font/plusjakartasans_semibold.ttf | Bin 94848 -> 0 bytes src/app/src/main/res/values-fr/strings.xml | 6 + src/app/src/main/res/values/font_certs.xml | 17 + src/app/src/main/res/values/strings.xml | 8 + .../fr/iut/alldev/allin/data/api/AllInApi.kt | 2 +- .../iut/alldev/allin/data/api/model/ApiBet.kt | 3 +- .../fr/iut/alldev/allin/data/model/bet/Bet.kt | 5 +- .../alldev/allin/data/model/bet/BetStatus.kt | 10 + .../data/repository/impl/BetRepositoryImpl.kt | 3 +- .../ReleaseModule.kt | 4 - .../ReleaseNetworkModule.kt | 2 +- src/gradle/libs.versions.toml | 9 +- src/keys/debug.keystore | Bin 0 -> 2779 bytes src/keys/keystore.properties | 4 + src/keys/release.keystore | Bin 0 -> 2775 bytes 89 files changed, 5430 insertions(+), 428 deletions(-) delete mode 100644 src/app/keys/keystore.jks delete mode 100644 src/app/keys/keystore.properties delete mode 100644 src/app/keys/private_key.pepk rename src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/{visitor => displayer}/BetVOTestVisitor.kt (53%) create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetCard.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetCardStats.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetContentCongratulations.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetContentCoinAmount.kt rename src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/{visitor/BetStatusBottomSheetDisplayBetVisitor.kt => vo/BetStatusBottomSheetBetDisplayer.kt} (72%) create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/core/Icon.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetCard.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt delete mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetStatus.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetStatusPreviewProvider.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt delete mode 100644 src/app/src/main/java/fr/iut/alldev/allin/vo/ViewObject.kt delete mode 100644 src/app/src/main/java/fr/iut/alldev/allin/vo/Visitor.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt delete mode 100644 src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetVO.kt delete mode 100644 src/app/src/main/java/fr/iut/alldev/allin/vo/bet/factory/BetVOFactory.kt delete mode 100644 src/app/src/main/java/fr/iut/alldev/allin/vo/bet/visitor/BetVisitor.kt create mode 100644 src/app/src/main/res/drawable/allin_marquee.xml delete mode 100644 src/app/src/main/res/font/plusjakartasans_bold.ttf delete mode 100644 src/app/src/main/res/font/plusjakartasans_extrabold.ttf delete mode 100644 src/app/src/main/res/font/plusjakartasans_extralight.ttf delete mode 100644 src/app/src/main/res/font/plusjakartasans_light.ttf delete mode 100644 src/app/src/main/res/font/plusjakartasans_medium.ttf delete mode 100644 src/app/src/main/res/font/plusjakartasans_regular.ttf delete mode 100644 src/app/src/main/res/font/plusjakartasans_semibold.ttf create mode 100644 src/app/src/main/res/values/font_certs.xml create mode 100644 src/keys/debug.keystore create mode 100644 src/keys/keystore.properties create mode 100644 src/keys/release.keystore diff --git a/src/app/build.gradle.kts b/src/app/build.gradle.kts index d9b3b9f..bd7d3fb 100644 --- a/src/app/build.gradle.kts +++ b/src/app/build.gradle.kts @@ -10,7 +10,7 @@ plugins { } // Keystore -val keystorePropertiesFile = rootProject.file("app/keys/keystore.properties") +val keystorePropertiesFile = rootProject.file("keys/keystore.properties") val keystoreProperties = Properties() keystoreProperties.load(FileInputStream(keystorePropertiesFile)) @@ -33,11 +33,16 @@ android { } } + signingConfigs { + named(BuildType.DEBUG.name) { + storeFile = file(keystoreProperties["debugStoreFile"].toString()) + } register(BuildType.RELEASE.name) { - storeFile = file(keystoreProperties["store"].toString()) - storePassword = keystoreProperties["password"].toString() - keyPassword = keystoreProperties["password"].toString() + storeFile = file(keystoreProperties["releaseStoreFile"].toString()) + storePassword = keystoreProperties["passwordRelease"].toString() + keyAlias = keystoreProperties["aliasRelease"].toString() + keyPassword = keystoreProperties["passwordRelease"].toString() } } @@ -102,5 +107,6 @@ dependencies { androidTestImplementation(libs.test.androidx.junit) androidTestImplementation(libs.hilt.androidTesting) kaptAndroidTest(libs.hilt.androidCompiler) - + androidTestImplementation(libs.ui.test.junit) + debugImplementation(libs.ui.test.manifest) } \ No newline at end of file diff --git a/src/app/keys/keystore.jks b/src/app/keys/keystore.jks deleted file mode 100644 index bb4e75c73afc503f20db770b3aa682160c033150..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2487 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 diff --git a/src/app/keys/keystore.properties b/src/app/keys/keystore.properties deleted file mode 100644 index fe9ab09..0000000 --- a/src/app/keys/keystore.properties +++ /dev/null @@ -1,2 +0,0 @@ -store=keys/keystore.jks -password=placeYourBets \ No newline at end of file diff --git a/src/app/keys/private_key.pepk b/src/app/keys/private_key.pepk deleted file mode 100644 index be8173be51d3184121224f5be2dff08f231e5142..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1776 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 S0jTHFdGaJ);2ze_y#1-L9D?2e diff --git a/src/app/proguard-rules.pro b/src/app/proguard-rules.pro index ff59496..719ab83 100644 --- a/src/app/proguard-rules.pro +++ b/src/app/proguard-rules.pro @@ -18,4 +18,19 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile + + +# Android.Security.Crypto +-dontwarn com.google.api.client.http.** +-dontwarn com.google.errorprone.** +-dontwarn org.joda.time.** + +-keep,allowoptimization class com.google.crypto.tink.** { *; } +-keep,allowoptimization class com.google.errorprone.** { *; } +-keep,allowoptimization class com.google.api.client.http.** { *; } + +-keep,allowobfuscation,allowshrinking interface retrofit2.Call +-keep,allowobfuscation,allowshrinking class retrofit2.Response + +-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation \ No newline at end of file diff --git a/src/app/src/androidTest/java/fr/iut/alldev/allin/test/mock/Bets.kt b/src/app/src/androidTest/java/fr/iut/alldev/allin/test/mock/Bets.kt index 4397df3..9be1682 100644 --- a/src/app/src/androidTest/java/fr/iut/alldev/allin/test/mock/Bets.kt +++ b/src/app/src/androidTest/java/fr/iut/alldev/allin/test/mock/Bets.kt @@ -1,6 +1,7 @@ package fr.iut.alldev.allin.test.mock import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.data.model.bet.CustomBet import fr.iut.alldev.allin.data.model.bet.MatchBet import fr.iut.alldev.allin.data.model.bet.YesNoBet import java.time.ZonedDateTime @@ -14,7 +15,8 @@ object Bets { endRegisterDate = ZonedDateTime.now(), endBetDate = ZonedDateTime.now(), isPublic = true, - betStatus = BetStatus.InProgress + betStatus = BetStatus.InProgress, + creator = "creator", ), MatchBet( theme = "Theme", @@ -24,7 +26,23 @@ object Bets { isPublic = true, betStatus = BetStatus.InProgress, nameTeam1 = "Team_1", - nameTeam2 = "Team_2" + nameTeam2 = "Team_2", + creator = "creator" + ), + CustomBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = BetStatus.InProgress, + creator = "creator", + possibleAnswers = setOf( + "Answer 1", + "Answer 2", + "Answer 3", + "Answer 4" + ) ), ) } diff --git a/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/BetVOTest.kt b/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/BetVOTest.kt index 0f9265a..088912f 100644 --- a/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/BetVOTest.kt +++ b/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/BetVOTest.kt @@ -9,8 +9,7 @@ import fr.iut.alldev.allin.test.TestTags import fr.iut.alldev.allin.test.mock.Bets import fr.iut.alldev.allin.ui.MainActivity import fr.iut.alldev.allin.theme.AllInTheme -import fr.iut.alldev.allin.vo.bet.factory.toBetVO -import fr.iut.alldev.allin.vo.bet.visitor.BetTestVisitor +import fr.iut.alldev.allin.vo.bet.displayer.BetTestDisplayer import org.junit.Before import org.junit.Rule import org.junit.Test @@ -30,37 +29,55 @@ class BetVOTest { } companion object { - val visitor = BetTestVisitor() + val displayer = BetTestDisplayer() } @Test - fun testVisitor_shouldDisplayYesNoBetUI(){ + fun testDisplayer_shouldDisplayYesNoBetUI(){ //Given //When composeTestRule.activity.setContent { AllInTheme{ - Bets.bets[0].toBetVO()?.Accept(v = visitor) + displayer.DisplayBet(Bets.bets[0]) } } //Expect composeTestRule.onNodeWithTag(TestTags.YES_NO_BET.tag).assertExists() composeTestRule.onNodeWithTag(TestTags.MATCH_BET.tag).assertDoesNotExist() + composeTestRule.onNodeWithTag(TestTags.CUSTOM_BET.tag).assertDoesNotExist() } @Test - fun testVisitor_shouldDisplayMatchUI(){ + fun testDisplayer_shouldDisplayMatchUI(){ //Given //When composeTestRule.activity.setContent { AllInTheme{ - Bets.bets[1].toBetVO()?.Accept(v = visitor) + displayer.DisplayBet(Bets.bets[1]) } } //Expect composeTestRule.onNodeWithTag(TestTags.MATCH_BET.tag).assertExists() composeTestRule.onNodeWithTag(TestTags.YES_NO_BET.tag).assertDoesNotExist() + composeTestRule.onNodeWithTag(TestTags.CUSTOM_BET.tag).assertDoesNotExist() + } + + @Test + fun testDisplayer_shouldDisplayCustomBetUI(){ + //Given + + //When + composeTestRule.activity.setContent { + AllInTheme{ + displayer.DisplayBet(Bets.bets[2]) + } + } + //Expect + composeTestRule.onNodeWithTag(TestTags.MATCH_BET.tag).assertDoesNotExist() + composeTestRule.onNodeWithTag(TestTags.YES_NO_BET.tag).assertDoesNotExist() + composeTestRule.onNodeWithTag(TestTags.CUSTOM_BET.tag).assertExists() } } \ No newline at end of file diff --git a/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/visitor/BetVOTestVisitor.kt b/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/displayer/BetVOTestVisitor.kt similarity index 53% rename from src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/visitor/BetVOTestVisitor.kt rename to src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/displayer/BetVOTestVisitor.kt index 20858d6..296593c 100644 --- a/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/visitor/BetVOTestVisitor.kt +++ b/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/displayer/BetVOTestVisitor.kt @@ -1,21 +1,28 @@ -package fr.iut.alldev.allin.vo.bet.visitor +package fr.iut.alldev.allin.vo.bet.displayer import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag +import fr.iut.alldev.allin.data.model.bet.CustomBet import fr.iut.alldev.allin.data.model.bet.MatchBet import fr.iut.alldev.allin.data.model.bet.YesNoBet import fr.iut.alldev.allin.test.TestTags +import fr.iut.alldev.allin.vo.bet.BetDisplayer -class BetTestVisitor : DisplayBetVisitor { +class BetTestDisplayer : BetDisplayer { @Composable - override fun VisitYesNoBet(b: YesNoBet) { + override fun DisplayYesNoBet(b: YesNoBet) { Text("This is a YesNo Bet", Modifier.testTag(TestTags.YES_NO_BET.tag)) } @Composable - override fun VisitMatchBet(b: MatchBet) { + override fun DisplayMatchBet(b: MatchBet) { Text("This is a Match Bet", Modifier.testTag(TestTags.MATCH_BET.tag)) } + + @Composable + override fun DisplayCustomBet(b: CustomBet) { + Text("This is a Custom Bet", Modifier.testTag(TestTags.CUSTOM_BET.tag)) + } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/keystore/AllInKeystoreManager.kt b/src/app/src/main/java/fr/iut/alldev/allin/keystore/AllInKeystoreManager.kt index 5d26ecf..79aab93 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/keystore/AllInKeystoreManager.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/keystore/AllInKeystoreManager.kt @@ -1,10 +1,9 @@ package fr.iut.alldev.allin.keystore -import androidx.security.crypto.MasterKeys +import androidx.security.crypto.MasterKey abstract class AllInKeystoreManager { - val masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC) - + protected abstract val masterKey: MasterKey abstract fun createKeystore() abstract fun putToken(token: String) abstract fun getToken(): String? diff --git a/src/app/src/main/java/fr/iut/alldev/allin/keystore/impl/AllInKeystoreManagerImpl.kt b/src/app/src/main/java/fr/iut/alldev/allin/keystore/impl/AllInKeystoreManagerImpl.kt index 899fd7e..a1baba5 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/keystore/impl/AllInKeystoreManagerImpl.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/keystore/impl/AllInKeystoreManagerImpl.kt @@ -3,10 +3,12 @@ package fr.iut.alldev.allin.keystore.impl import android.content.Context import android.content.SharedPreferences import androidx.security.crypto.EncryptedSharedPreferences +import androidx.security.crypto.MasterKey import dagger.hilt.android.qualifiers.ApplicationContext import fr.iut.alldev.allin.keystore.AllInKeystoreManager import javax.inject.Inject + private const val AUTH_TOKEN_KEY = "auth_token" private const val PREFS_FILE_NAME = "secured_shared_prefs" @@ -14,13 +16,18 @@ class AllInKeystoreManagerImpl @Inject constructor( @ApplicationContext private val context: Context, ) : AllInKeystoreManager() { + override val masterKey = MasterKey + .Builder(context, MasterKey.DEFAULT_MASTER_KEY_ALIAS) + .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) + .build() + private var sharedPreferences: SharedPreferences? = null override fun createKeystore() { if (sharedPreferences == null) { sharedPreferences = EncryptedSharedPreferences.create( - PREFS_FILE_NAME, - masterKeyAlias, context, + PREFS_FILE_NAME, + masterKey, EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/test/TestTags.kt b/src/app/src/main/java/fr/iut/alldev/allin/test/TestTags.kt index fe01326..4c4d2ac 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/test/TestTags.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/test/TestTags.kt @@ -2,5 +2,6 @@ package fr.iut.alldev.allin.test enum class TestTags(val tag: String) { YES_NO_BET("YES_NO"), - MATCH_BET("MATCH_BET") + MATCH_BET("MATCH_BET"), + CUSTOM_BET("CUSTOM_BET") } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/theme/Color.kt b/src/app/src/main/java/fr/iut/alldev/allin/theme/Color.kt index 2edb267..7fd16ff 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/theme/Color.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/theme/Color.kt @@ -36,6 +36,7 @@ data class AllInColors( val allInBetInProgressText: Color, val allInBetWaitingText: Color, val allInMainGradient: Brush, + val allInMainGradientReverse: Brush, val allInBar1stGradient: Brush, val allInBar2ndGradient: Brush, val allInTextGradient: Brush, @@ -73,6 +74,7 @@ internal val LocalColors = staticCompositionLocalOf { allInBetInProgressText = Color.Unspecified, allInBetWaitingText = Color.Unspecified, allInMainGradient = SolidColor(Color.Unspecified), + allInMainGradientReverse = SolidColor(Color.Unspecified), allInBar1stGradient = SolidColor(Color.Unspecified), allInBar2ndGradient = SolidColor(Color.Unspecified), allInTextGradient = SolidColor(Color.Unspecified), diff --git a/src/app/src/main/java/fr/iut/alldev/allin/theme/Theme.kt b/src/app/src/main/java/fr/iut/alldev/allin/theme/Theme.kt index db4e631..04e6e42 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/theme/Theme.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/theme/Theme.kt @@ -55,6 +55,13 @@ fun AllInTheme( start = Offset(0f, Float.POSITIVE_INFINITY), end = Offset(Float.POSITIVE_INFINITY, 0f) ), + allInMainGradientReverse = Brush.linearGradient( + 0.0f to Color(0xFF199fee), + 0.5f to Color(0xFFaa7ef3), + 1.0f to Color(0xFFf951a8), + start = Offset(0f, Float.POSITIVE_INFINITY), + end = Offset(Float.POSITIVE_INFINITY, 0f) + ), allInBar1stGradient = Brush.horizontalGradient( 0.0f to Color(0xFF2599F8), 1.0f to Color(0xFF846AC9) @@ -82,32 +89,32 @@ fun AllInTheme( val customTypography = AllInTypography( h1 = TextStyle( - fontFamily = PlusJakartaSans, - fontWeight = FontWeight.ExtraBold, + fontFamily = fontFamilyPlusJakartaSans, + fontWeight = FontWeight.ExtraBold ), h2 = TextStyle( - fontFamily = PlusJakartaSans, - fontWeight = FontWeight.Bold, + fontFamily = fontFamilyPlusJakartaSans, + fontWeight = FontWeight.Bold ), - h3 = TextStyle( - fontFamily = PlusJakartaSans, - fontWeight = FontWeight.SemiBold, + sm1 = TextStyle( + fontFamily = fontFamilyPlusJakartaSans, + fontWeight = FontWeight.SemiBold ), - m = TextStyle( - fontFamily = PlusJakartaSans, - fontWeight = FontWeight.Medium, + sm2 = TextStyle( + fontFamily = fontFamilyPlusJakartaSans, + fontWeight = FontWeight.Medium ), - r = TextStyle( - fontFamily = PlusJakartaSans, - fontWeight = FontWeight.Normal, + p1 = TextStyle( + fontFamily = fontFamilyPlusJakartaSans, + fontWeight = FontWeight.Normal ), - s = TextStyle( - fontFamily = PlusJakartaSans, - fontWeight = FontWeight.Light, + p2 = TextStyle( + fontFamily = fontFamilyPlusJakartaSans, + fontWeight = FontWeight.Light ), - xs = TextStyle( - fontFamily = PlusJakartaSans, - fontWeight = FontWeight.ExtraLight, + l1 = TextStyle( + fontFamily = fontFamilyPlusJakartaSans, + fontWeight = FontWeight.ExtraLight ) ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/theme/Type.kt b/src/app/src/main/java/fr/iut/alldev/allin/theme/Type.kt index 1bc5b6c..e8bc176 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/theme/Type.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/theme/Type.kt @@ -3,40 +3,50 @@ package fr.iut.alldev.allin.theme import androidx.compose.runtime.Immutable import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.googlefonts.Font +import androidx.compose.ui.text.googlefonts.GoogleFont import fr.iut.alldev.allin.R -val PlusJakartaSans = FontFamily( - Font(R.font.plusjakartasans_extralight, weight = FontWeight.ExtraLight), - Font(R.font.plusjakartasans_light, weight = FontWeight.Light), - Font(R.font.plusjakartasans_regular, weight = FontWeight.Normal), - Font(R.font.plusjakartasans_medium, weight = FontWeight.Medium), - Font(R.font.plusjakartasans_semibold, weight = FontWeight.SemiBold), - Font(R.font.plusjakartasans_bold, weight = FontWeight.Bold), - Font(R.font.plusjakartasans_extrabold, weight = FontWeight.ExtraBold) - ) +private val provider = GoogleFont.Provider( + providerAuthority = "com.google.android.gms.fonts", + providerPackage = "com.google.android.gms", + certificates = R.array.com_google_android_gms_fonts_certs +) + +private val fontNamePlusJakartaSans = GoogleFont(name = "Plus Jakarta Sans") + +val fontFamilyPlusJakartaSans = FontFamily( + Font(googleFont = fontNamePlusJakartaSans, fontProvider = provider, weight = FontWeight.ExtraLight), + Font(googleFont = fontNamePlusJakartaSans, fontProvider = provider, weight = FontWeight.Light), + Font(googleFont = fontNamePlusJakartaSans, fontProvider = provider, weight = FontWeight.Normal), + Font(googleFont = fontNamePlusJakartaSans, fontProvider = provider, weight = FontWeight.Medium), + Font(googleFont = fontNamePlusJakartaSans, fontProvider = provider, weight = FontWeight.SemiBold), + Font(googleFont = fontNamePlusJakartaSans, fontProvider = provider, weight = FontWeight.Bold), + Font(googleFont = fontNamePlusJakartaSans, fontProvider = provider, weight = FontWeight.ExtraBold), +) + @Immutable data class AllInTypography( val h1: TextStyle, val h2: TextStyle, - val h3: TextStyle, - val m: TextStyle, - val r: TextStyle, - val s: TextStyle, - val xs: TextStyle + val sm1: TextStyle, + val sm2: TextStyle, + val p1: TextStyle, + val p2: TextStyle, + val l1: TextStyle ) internal val LocalTypography = staticCompositionLocalOf { AllInTypography( h1 = TextStyle.Default, h2 = TextStyle.Default, - h3 = TextStyle.Default, - m = TextStyle.Default, - r = TextStyle.Default, - s = TextStyle.Default, - xs = TextStyle.Default + sm1 = TextStyle.Default, + sm2 = TextStyle.Default, + p1 = TextStyle.Default, + p2 = TextStyle.Default, + l1 = TextStyle.Default ) } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt index 2b2a8f0..cecb36f 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt @@ -118,8 +118,8 @@ fun BetScreen( creator = it.creator, category = it.theme, title = it.phrase, - date = it.endBetDate.formatToMediumDateNoYear(), - time = it.endBetDate.formatToTime(), + date = it.endRegisterDate.formatToMediumDateNoYear(), + time = it.endRegisterDate.formatToTime(), players = List(3) { null }, onClickParticipate = { selectBet(it, true) }, onClickCard = { selectBet(it, false) }, diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenCard.kt index 2375aef..4d0e899 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenCard.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenCard.kt @@ -79,7 +79,7 @@ fun BetScreenCard( players.size, players.size ), - style = AllInTheme.typography.m, + style = AllInTheme.typography.sm2, color = AllInTheme.themeColors.onBackground2 ) } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenPopularCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenPopularCard.kt index 7d36a48..7dbb6a9 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenPopularCard.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenPopularCard.kt @@ -100,13 +100,13 @@ fun BetScreenPopularCard( color = AllInTheme.colors.allInPink ), color = AllInTheme.colors.white, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, fontSize = 15.sp ) Text( text = " - ", color = AllInTheme.colors.white, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, fontSize = 15.sp ) val pointsText = if (points % 1 == 0f) { @@ -126,7 +126,7 @@ fun BetScreenPopularCard( color = AllInTheme.colors.allInPink ), color = AllInTheme.colors.white, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, fontSize = 15.sp ) } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betHistory/BetHistoryScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betHistory/BetHistoryScreen.kt index 82d73f5..60ee7ed 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betHistory/BetHistoryScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betHistory/BetHistoryScreen.kt @@ -54,8 +54,8 @@ fun BetHistoryScreen( title = it.phrase, creator = it.creator, category = it.theme, - date = it.endBetDate.formatToMediumDateNoYear(), - time = it.endBetDate.formatToTime(), + date = it.endRegisterDate.formatToMediumDateNoYear(), + time = it.endRegisterDate.formatToTime(), status = it.betStatus, nbCoins = 230 ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betHistory/components/BetHistoryScreenCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betHistory/components/BetHistoryScreenCard.kt index 4a8fa93..6375306 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betHistory/components/BetHistoryScreenCard.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betHistory/components/BetHistoryScreenCard.kt @@ -1,24 +1,13 @@ package fr.iut.alldev.allin.ui.betHistory.components import android.content.res.Configuration -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding -import androidx.compose.material3.HorizontalDivider import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.unit.dp import fr.iut.alldev.allin.data.model.bet.BetStatus -import fr.iut.alldev.allin.ext.getDateStartLabelId import fr.iut.alldev.allin.theme.AllInTheme -import fr.iut.alldev.allin.ui.core.AllInCard -import fr.iut.alldev.allin.ui.core.bet.BetDateTimeRow -import fr.iut.alldev.allin.ui.core.bet.BetTitleHeader +import fr.iut.alldev.allin.ui.core.bet.BetCard import fr.iut.alldev.allin.ui.preview.BetStatusPreviewProvider @Composable @@ -32,30 +21,15 @@ fun BetHistoryScreenCard( status: BetStatus, nbCoins: Int, ) { - AllInCard( - modifier = modifier.fillMaxWidth(), - radius = 16.dp + BetCard( + title = title, + creator = creator, + category = category, + date = date, + time = time, + status = status, + modifier = modifier ) { - Column( - Modifier.padding(horizontal = 19.dp, vertical = 11.dp) - ) { - BetTitleHeader( - title = title, - category = category, - creator = creator, - modifier = Modifier.fillMaxWidth() - ) - Spacer(modifier = Modifier.height(11.dp)) - BetDateTimeRow( - label = stringResource(id = status.getDateStartLabelId()), - date = date, - time = time - ) - } - HorizontalDivider( - thickness = 1.dp, - color = AllInTheme.themeColors.border - ) BetHistoryBetStatus( status = status, nbCoins = nbCoins diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt new file mode 100644 index 0000000..3eebfbe --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt @@ -0,0 +1,172 @@ +package fr.iut.alldev.allin.ui.betResult + +import androidx.compose.foundation.MarqueeSpacing +import androidx.compose.foundation.background +import androidx.compose.foundation.basicMarquee +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Close +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.SheetState +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.rotate +import androidx.compose.ui.draw.scale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import fr.iut.alldev.allin.R +import fr.iut.alldev.allin.data.ext.formatToMediumDateNoYear +import fr.iut.alldev.allin.data.ext.formatToTime +import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.data.model.bet.YesNoBet +import fr.iut.alldev.allin.theme.AllInTheme +import fr.iut.alldev.allin.ui.betResult.components.BetResultBottomSheetBetCard +import fr.iut.alldev.allin.ui.betResult.components.BetResultBottomSheetContentCoinAmount +import fr.iut.alldev.allin.ui.betResult.components.BetResultBottomSheetContentCongratulations +import fr.iut.alldev.allin.ui.core.AllInBottomSheet +import java.time.ZonedDateTime + +@Composable +fun BetResultBottomSheet( + state: SheetState, + sheetVisibility: Boolean, + username: String, + coinAmount: Int, + bet: Bet, + stake: Int, + winnings: Int, + odds: Float, + onDismiss: () -> Unit +) { + AllInBottomSheet( + sheetVisibility = sheetVisibility, + onDismiss = onDismiss, + state = state, + dragHandle = null + ) { + BetResultBottomSheetContent( + username = username, + coinAmount = coinAmount, + bet = bet, + stake = stake, + winnings = winnings, + odds = odds, + onClose = onDismiss + ) + } +} + +@Composable +fun BetResultBottomSheetContent( + username: String, + coinAmount: Int, + bet: Bet, + stake: Int, + winnings: Int, + odds: Float, + onClose: () -> Unit +) { + Box( + modifier = Modifier + .fillMaxSize() + .background(AllInTheme.colors.allInMainGradientReverse), + ) { + Icon( + painter = painterResource(id = R.drawable.allin_marquee), + contentDescription = null, + modifier = Modifier + .fillMaxSize() + .rotate(11f) + .scale(1.2f) + .offset(x = (-24).dp) + .basicMarquee(spacing = MarqueeSpacing(0.dp)), + tint = AllInTheme.colors.white.copy(alpha = .05f) + ) + Box( + modifier = Modifier + .fillMaxSize() + .padding(16.dp) + ) { + IconButton( + onClick = onClose, + modifier = Modifier + .size(24.dp) + .align(Alignment.TopStart) + ) { + Icon( + imageVector = Icons.Default.Close, + tint = AllInTheme.colors.white, + contentDescription = null, + modifier = Modifier.size(24.dp) + ) + } + + Icon( + painter = painterResource(R.drawable.allin), + contentDescription = null, + tint = AllInTheme.colors.white, + modifier = Modifier + .size(40.dp) + .align(Alignment.TopCenter) + ) + + Column( + modifier = Modifier.align(Alignment.Center), + verticalArrangement = Arrangement.spacedBy(48.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + + BetResultBottomSheetContentCongratulations(username = username) + BetResultBottomSheetContentCoinAmount(amount = coinAmount) + BetResultBottomSheetBetCard( + title = bet.phrase, + creator = bet.creator, + category = bet.theme, + date = bet.endBetDate.formatToMediumDateNoYear(), + time = bet.endBetDate.formatToTime(), + status = bet.betStatus, + stake = stake, + winnings = winnings, + odds = odds + + ) + } + } + } +} + +@Preview +@Preview(widthDp = 800, heightDp = 1280) +@Composable +private fun BetResultBottomSheetContentPreview() { + AllInTheme { + BetResultBottomSheetContent( + username = "Pseudo", + coinAmount = 3976, + bet = YesNoBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = BetStatus.InProgress, + creator = "creator", + ), + stake = 4175, + winnings = 2600, + odds = 6.7f + ) { + + } + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetCard.kt new file mode 100644 index 0000000..d0050dc --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetCard.kt @@ -0,0 +1,60 @@ +package fr.iut.alldev.allin.ui.betResult.components + +import android.content.res.Configuration +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import fr.iut.alldev.allin.data.model.bet.BetFinishedStatus +import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.theme.AllInTheme +import fr.iut.alldev.allin.ui.core.bet.BetCard + +@Composable +fun BetResultBottomSheetBetCard( + modifier: Modifier = Modifier, + title: String, + creator: String, + category: String, + date: String, + time: String, + status: BetStatus, + stake: Int, + winnings: Int, + odds: Float +) { + BetCard( + title = title, + creator = creator, + category = category, + date = date, + time = time, + status = status, + modifier = modifier + ) { + BetResultBottomSheetBetCardStats( + stake = stake, + winnings = winnings, + odds = odds + ) + } +} + + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun BetResultBottomSheetBetCardPreview() { + AllInTheme { + BetResultBottomSheetBetCard( + creator = "Creator", + category = "Category", + title = "Title", + date = "Date", + time = "Time", + status = BetStatus.Finished(BetFinishedStatus.WON), + stake = 2446, + winnings = 6930, + odds = 2.3f + ) + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetCardStats.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetCardStats.kt new file mode 100644 index 0000000..4a5aae6 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetCardStats.kt @@ -0,0 +1,111 @@ +package fr.iut.alldev.allin.ui.betResult.components + +import android.content.res.Configuration +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import fr.iut.alldev.allin.R +import fr.iut.alldev.allin.theme.AllInTheme +import fr.iut.alldev.allin.ui.core.AllInCard +import fr.iut.alldev.allin.ui.core.AllInCoinCount +import fr.iut.alldev.allin.ui.core.IconPosition + +@Composable +fun BetResultBottomSheetBetCardStats( + stake: Int, + winnings: Int, + odds: Float +) { + Column( + Modifier + .fillMaxWidth() + .background(AllInTheme.themeColors.background2) + .padding(horizontal = 19.dp, vertical = 11.dp), + verticalArrangement = Arrangement.spacedBy(12.dp) + ) { + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween + ) { + Text( + text = stringResource(id = R.string.bet_result_stake), + style = AllInTheme.typography.sm2, + color = AllInTheme.themeColors.onMainSurface + ) + + AllInCoinCount( + amount = stake, + color = AllInTheme.colors.allInPurple, + textStyle = AllInTheme.typography.sm1, + position = IconPosition.TRAILING + ) + } + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween + ) { + Text( + text = stringResource(id = R.string.bet_result_winnings), + style = AllInTheme.typography.sm2, + color = AllInTheme.colors.allInPurple + ) + AllInCoinCount( + amount = winnings, + textStyle = AllInTheme.typography.sm1, + brush = AllInTheme.colors.allInMainGradient, + position = IconPosition.TRAILING + ) + } + + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween + ) { + Text( + text = stringResource(id = R.string.bet_result_odds), + style = AllInTheme.typography.sm2, + color = AllInTheme.themeColors.onBackground2 + ) + AllInCard( + radius = 8.dp, + backgroundBrush = AllInTheme.colors.allInMainGradient + ) { + Box(Modifier.padding(vertical = 4.dp, horizontal = 8.dp)) { + Text( + text = "$odds", + style = AllInTheme.typography.sm1, + color = AllInTheme.colors.white + ) + } + } + } + } +} + + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun BetResultBottomSheetBetCardStatsPreview() { + AllInTheme { + BetResultBottomSheetBetCardStats( + stake = 2446, + winnings = 6930, + odds = 2.3f + ) + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetContentCongratulations.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetContentCongratulations.kt new file mode 100644 index 0000000..4af87f9 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetBetContentCongratulations.kt @@ -0,0 +1,71 @@ +package fr.iut.alldev.allin.ui.betResult.components + +import androidx.compose.animation.core.RepeatMode +import androidx.compose.animation.core.animateFloat +import androidx.compose.animation.core.infiniteRepeatable +import androidx.compose.animation.core.rememberInfiniteTransition +import androidx.compose.animation.core.tween +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.rotate +import androidx.compose.ui.draw.scale +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontStyle +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import fr.iut.alldev.allin.R +import fr.iut.alldev.allin.theme.AllInTheme + +@Composable +fun BetResultBottomSheetContentCongratulations( + modifier: Modifier = Modifier, + username: String +) { + val infiniteTransition = rememberInfiniteTransition(label = "") + + val rotation by infiniteTransition.animateFloat( + initialValue = -11f, + targetValue = -5f, + animationSpec = infiniteRepeatable( + animation = tween(900), + repeatMode = RepeatMode.Reverse + ), label = "" + ) + + val scale by infiniteTransition.animateFloat( + initialValue = 1f, + targetValue = .9f, + animationSpec = infiniteRepeatable( + animation = tween(900), + repeatMode = RepeatMode.Reverse + ), label = "" + ) + + Row( + modifier = modifier + .rotate(rotation) + .scale(scale), + verticalAlignment = Alignment.Top, + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Text( + text= stringResource(id = R.string.bet_result_congratulations), + style = AllInTheme.typography.h1, + fontSize = 25.sp, + fontStyle = FontStyle.Italic, + color = AllInTheme.colors.white + ) + Text( + text = "${username.uppercase()} !", + style = AllInTheme.typography.h1, + fontSize = 30.sp, + fontStyle = FontStyle.Italic, + color = AllInTheme.colors.white + ) + } +} diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetContentCoinAmount.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetContentCoinAmount.kt new file mode 100644 index 0000000..bb9ed23 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/components/BetResultBottomSheetContentCoinAmount.kt @@ -0,0 +1,79 @@ +package fr.iut.alldev.allin.ui.betResult.components + +import android.content.res.Configuration +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import fr.iut.alldev.allin.R +import fr.iut.alldev.allin.theme.AllInTheme +import fr.iut.alldev.allin.ui.core.AllInCoinCount +import fr.iut.alldev.allin.ui.core.IconPosition + +@Composable +fun BetResultBottomSheetContentCoinAmount( + modifier: Modifier = Modifier, + amount: Int +) { + Column( + verticalArrangement = Arrangement.spacedBy(14.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Text( + text = stringResource(id = R.string.bet_result_you_win), + style = AllInTheme.typography.sm2, + color = AllInTheme.colors.white, + fontSize = 20.sp + ) + + Box( + modifier + .border( + width = 2.dp, + shape = RoundedCornerShape(100.dp), + color = AllInTheme.colors.white + ) + .padding(vertical = 22.dp, horizontal = 33.dp) + + ) { + AllInCoinCount( + amount = amount, + textStyle = AllInTheme.typography.h1, + position = IconPosition.TRAILING, + color = AllInTheme.colors.white, + size = 60, + modifier = Modifier + .align(Alignment.Center) + .offset(y = (-6).dp) + ) + AllInCoinCount( + amount = amount, + textStyle = AllInTheme.typography.h1, + position = IconPosition.TRAILING, + color = AllInTheme.colors.white.copy(alpha = .32f), + size = 60, + modifier = Modifier.align(Alignment.Center) + ) + } + } +} + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun BetResultBottomSheetContentCoinAmountPreview() { + AllInTheme { + BetResultBottomSheetContentCoinAmount(amount = 1572) + } +} diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt index 2c37b47..491cb19 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt @@ -8,9 +8,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import fr.iut.alldev.allin.data.model.bet.Bet import fr.iut.alldev.allin.ui.betStatus.components.BetStatusBottomSheetBack -import fr.iut.alldev.allin.ui.betStatus.visitor.BetStatusBottomSheetDisplayBetVisitor import fr.iut.alldev.allin.ui.core.AllInBottomSheet -import fr.iut.alldev.allin.vo.bet.BetVO internal const val SHEET_HEIGHT = .85f @@ -22,9 +20,9 @@ fun BetStatusBottomSheet( state: SheetState, sheetVisibility: Boolean, sheetBackVisibility: Boolean, - bet: BetVO<Bet>?, + bet: Bet?, onDismiss: ()->Unit, - visitor: BetStatusBottomSheetDisplayBetVisitor + displayBet: @Composable (Bet) -> Unit ) { AnimatedVisibility( visible = sheetBackVisibility, @@ -37,7 +35,7 @@ fun BetStatusBottomSheet( ) { bet?.let { BetStatusBottomSheetBack( - status = it.bet.betStatus + status = it.betStatus ) } } @@ -51,7 +49,9 @@ fun BetStatusBottomSheet( Column( Modifier.fillMaxHeight(SHEET_HEIGHT) ) { - bet?.Accept(visitor) + bet?.let { + displayBet(it) + } } } } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt index 8c88061..4ab56ae 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt @@ -1,6 +1,5 @@ package fr.iut.alldev.allin.ui.betStatus.components -import android.content.res.Configuration import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.material3.* @@ -9,7 +8,6 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -31,6 +29,7 @@ fun BetStatusParticipationBottomSheet( onDismiss: () -> Unit, state: SheetState, onParticipate: () -> Unit, + content: @Composable () -> Unit ) { val scope = rememberCoroutineScope() AllInBottomSheet( @@ -61,7 +60,7 @@ fun BetStatusParticipationBottomSheet( Spacer(modifier = Modifier.height(30.dp)) Text( text = betPhrase, - style = AllInTheme.typography.s, + style = AllInTheme.typography.p2, color = AllInTheme.themeColors.onMainSurface, modifier = Modifier.padding(horizontal = 18.dp) ) @@ -81,7 +80,7 @@ fun BetStatusParticipationBottomSheet( ) { Text( text = stringResource(id = R.string.Possible_winnings), - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, color = AllInTheme.themeColors.onBackground ) AllInCoinCount( @@ -89,6 +88,9 @@ fun BetStatusParticipationBottomSheet( color = AllInTheme.themeColors.onBackground ) } + Box(modifier = Modifier.fillMaxSize()) { + content() + } AllInButton( color = AllInTheme.colors.allInPurple, text = stringResource(id = R.string.Participate), @@ -103,23 +105,4 @@ fun BetStatusParticipationBottomSheet( } } } -} - - -@OptIn(ExperimentalMaterial3Api::class) -@Preview -@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun BetStatusParticipationBottomSheetPreview() { - AllInTheme { - BetStatusParticipationBottomSheet( - sheetVisibility = true, - safeBottomPadding = 5.dp, - betPhrase = "Lorem Ipsum", - coinAmount = 125, - onDismiss = {}, - state = rememberModalBottomSheetState(), - onParticipate = {} - ) - } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusWinner.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusWinner.kt index 92da99d..e8292b7 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusWinner.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusWinner.kt @@ -15,6 +15,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import fr.iut.alldev.allin.theme.AllInTheme @@ -41,7 +42,7 @@ fun BetStatusWinner( ) { AllInTextIcon( text = answer, - icon = Icons.Filled.EmojiEvents, + icon = rememberVectorPainter(image = Icons.Filled.EmojiEvents), color = color, size = 50, iconSize = 60, @@ -57,13 +58,13 @@ fun BetStatusWinner( ) AllInTextIcon( text = username, - icon = Icons.Filled.People, + icon = rememberVectorPainter(image = Icons.Filled.People), color = color, position = IconPosition.LEADING ) AllInTextIcon( text = "x" + String.format("%.1f", multiplier), - icon = Icons.Filled.EmojiEvents, + icon = rememberVectorPainter(image = Icons.Filled.EmojiEvents), color = color, position = IconPosition.LEADING ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoDetailsLine.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoDetailsLine.kt index acf8245..784b368 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoDetailsLine.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoDetailsLine.kt @@ -8,6 +8,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.tooling.preview.Preview import fr.iut.alldev.allin.theme.AllInTheme import fr.iut.alldev.allin.ui.core.AllInTextIcon @@ -26,7 +27,7 @@ fun YesNoDetailsLine( AllInTextIcon( text = yesText, color = AllInTheme.colors.allInBlue, - icon = icon, + icon = rememberVectorPainter(image = icon), position = IconPosition.LEADING, size = 10, iconSize = 15 @@ -34,7 +35,7 @@ fun YesNoDetailsLine( AllInTextIcon( text = noText, color = AllInTheme.colors.allInBarPink, - icon = icon, + icon = rememberVectorPainter(image = icon), position = IconPosition.TRAILING, size = 10, iconSize = 15 diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoStarBar.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoStarBar.kt index 5366b1a..5abafbd 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoStarBar.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoStarBar.kt @@ -45,7 +45,7 @@ fun YesNoStatBar( ) { Text( text = yesPercentage.toPercentageString(), - style = AllInTheme.typography.h3, + style = AllInTheme.typography.sm1, color = AllInTheme.colors.allInBarPurple ) } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/visitor/BetStatusBottomSheetDisplayBetVisitor.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt similarity index 72% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/visitor/BetStatusBottomSheetDisplayBetVisitor.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt index 62c1fd0..00c80e4 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/visitor/BetStatusBottomSheetDisplayBetVisitor.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt @@ -1,4 +1,4 @@ -package fr.iut.alldev.allin.ui.betStatus.visitor +package fr.iut.alldev.allin.ui.betStatus.vo import android.content.res.Configuration import androidx.compose.foundation.background @@ -16,12 +16,14 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import fr.iut.alldev.allin.R import fr.iut.alldev.allin.data.ext.formatToMediumDateNoYear import fr.iut.alldev.allin.data.ext.formatToTime -import fr.iut.alldev.allin.data.model.bet.BetFinishedStatus +import fr.iut.alldev.allin.data.model.bet.Bet import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.data.model.bet.CustomBet import fr.iut.alldev.allin.data.model.bet.MatchBet import fr.iut.alldev.allin.data.model.bet.YesNoBet import fr.iut.alldev.allin.ext.getDateEndLabelId @@ -35,38 +37,32 @@ import fr.iut.alldev.allin.ui.core.AllInDetailsDrawer import fr.iut.alldev.allin.ui.core.RainbowButton import fr.iut.alldev.allin.ui.core.bet.BetDateTimeRow import fr.iut.alldev.allin.ui.core.bet.BetTitleHeader -import fr.iut.alldev.allin.vo.bet.factory.toBetVO -import fr.iut.alldev.allin.vo.bet.visitor.DisplayBetVisitor -import java.time.ZonedDateTime +import fr.iut.alldev.allin.ui.preview.BetWithStatusPreviewProvider +import fr.iut.alldev.allin.vo.bet.BetDisplayer -class BetStatusBottomSheetDisplayBetVisitor( +class BetStatusBottomSheetBetDisplayer( val userCoinAmount: MutableIntState, val onParticipate: (Int) -> Unit, -) : DisplayBetVisitor { - +) : BetDisplayer { val participateBottomSheetVisibility = mutableStateOf(false) val paddingValues = mutableStateOf(PaddingValues()) @OptIn(ExperimentalMaterial3Api::class) @Composable - override fun VisitYesNoBet(b: YesNoBet) { + override fun DisplayYesNoBet(b: YesNoBet) { val (participateSheetVisibility, setParticipateSheetVisibility) = remember { this.participateBottomSheetVisibility } - val safeBottomPadding = paddingValues.value.calculateBottomPadding() - Box( - Modifier - .padding(bottom = safeBottomPadding) - ) { + Box(Modifier.padding(bottom = safeBottomPadding)) { Column { Column(Modifier.padding(horizontal = 20.dp)) { BetTitleHeader( title = b.phrase, category = b.theme, - creator = "Lucas" /*TODO : Creator*/, + creator = b.creator, modifier = Modifier.fillMaxWidth() ) Spacer(modifier = Modifier.height(20.dp)) @@ -152,85 +148,37 @@ class BetStatusBottomSheetDisplayBetVisitor( betPhrase = b.phrase, coinAmount = userCoinAmount.intValue, onDismiss = { setParticipateSheetVisibility(false) }, - state = rememberModalBottomSheetState() + state = rememberModalBottomSheetState(), + onParticipate = { + onParticipate(100) + } ) { - onParticipate(100) + } } @Composable - override fun VisitMatchBet(b: MatchBet) { + override fun DisplayMatchBet(b: MatchBet) { Text("This is a MATCH BET") } -} - -@Preview -@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun YesNoBetPreview() { - AllInTheme { - val coins = remember { mutableIntStateOf(100) } - YesNoBet( - theme = "Theme", - phrase = "Phrase", - endRegisterDate = ZonedDateTime.now(), - endBetDate = ZonedDateTime.now(), - isPublic = true, - betStatus = BetStatus.InProgress, - creator = "creator" - ).toBetVO()?.Accept( - BetStatusBottomSheetDisplayBetVisitor( - userCoinAmount = coins, - onParticipate = {} - ) - ) - } -} -@Preview -@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun YesNoBetFinishedPreview() { - AllInTheme { - val coins = remember { mutableIntStateOf(100) } - YesNoBet( - theme = "Theme", - phrase = "Phrase", - endRegisterDate = ZonedDateTime.now(), - endBetDate = ZonedDateTime.now(), - isPublic = true, - betStatus = BetStatus.Finished(BetFinishedStatus.WON), - creator = "creator" - ).toBetVO()?.Accept( - BetStatusBottomSheetDisplayBetVisitor( - userCoinAmount = coins, - onParticipate = {} - ) - ) + @Composable + override fun DisplayCustomBet(b: CustomBet) { + Text("This is a CUSTOM BET") } } @Preview @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable -private fun MatchBetPreview() { +private fun BetStatusBottomSheetPreview( + @PreviewParameter(BetWithStatusPreviewProvider::class) bet: Bet +) { AllInTheme { val coins = remember { mutableIntStateOf(100) } - MatchBet( - theme = "Theme", - phrase = "Phrase", - endRegisterDate = ZonedDateTime.now(), - endBetDate = ZonedDateTime.now(), - isPublic = true, - betStatus = BetStatus.InProgress, - nameTeam1 = "Team 1", - nameTeam2 = "Team 2", - creator = "creator" - ).toBetVO()?.Accept( - BetStatusBottomSheetDisplayBetVisitor( - userCoinAmount = coins, - onParticipate = {} - ) - ) + BetStatusBottomSheetBetDisplayer( + userCoinAmount = coins, + onParticipate = {} + ).DisplayBet(bet) } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInAlertDialog.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInAlertDialog.kt index 8bae7c6..f2ffd39 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInAlertDialog.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInAlertDialog.kt @@ -32,7 +32,7 @@ fun AllInAlertDialog( text = { Text( text = text, - style = AllInTheme.typography.r + style = AllInTheme.typography.p1 ) }, confirmButton = { diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInBottomSheet.kt index 43f29ef..07954b7 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInBottomSheet.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInBottomSheet.kt @@ -18,6 +18,7 @@ fun AllInBottomSheet( state: SheetState, scrimColor: Color = BottomSheetDefaults.ScrimColor, containerColor: Color = AllInTheme.themeColors.background, + dragHandle: (@Composable ()->Unit)? = { BottomSheetDefaults.DragHandle() }, content: @Composable ColumnScope.()->Unit ) { val localDensity = LocalDensity.current @@ -38,6 +39,7 @@ fun AllInBottomSheet( bottom = 0, ) }, + dragHandle = dragHandle, content = content ) } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInChip.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInChip.kt index 63846f7..fb5dbdf 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInChip.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInChip.kt @@ -44,7 +44,7 @@ fun AllInChip( .padding(vertical = 8.dp, horizontal = 22.dp) .alpha(if (isSelected) 0f else 1f), textAlign = TextAlign.Center, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, color = AllInTheme.themeColors.onBackground2 ) if (isSelected) { diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInCoinCount.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInCoinCount.kt index 1613a6a..99c10a0 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInCoinCount.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInCoinCount.kt @@ -3,7 +3,9 @@ package fr.iut.alldev.allin.ui.core import android.content.res.Configuration import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.TextStyle import androidx.compose.ui.tooling.preview.Preview import fr.iut.alldev.allin.theme.AllInTheme @@ -11,14 +13,20 @@ import fr.iut.alldev.allin.theme.AllInTheme fun AllInCoinCount( modifier: Modifier = Modifier, amount: Int, - color: Color, - position: IconPosition = IconPosition.TRAILING, + color: Color? = null, + brush: Brush?= null, + size: Int = 15, + textStyle: TextStyle = AllInTheme.typography.h1, + position: IconPosition = IconPosition.TRAILING ) { AllInTextIcon( text = amount.toString(), icon = AllInTheme.icons.allCoins(), - color = color, + color = color ?: Color.Black, + brush = brush, position = position, + textStyle = textStyle, + size = size, modifier = modifier ) } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInDatePicker.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInDatePicker.kt index 9ac4a4e..6b5a41d 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInDatePicker.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInDatePicker.kt @@ -51,7 +51,7 @@ fun AllInDatePicker( Text( text = stringResource(id = R.string.Cancel), color = AllInTheme.themeColors.onBackground2, - style = AllInTheme.typography.h3 + style = AllInTheme.typography.sm1 ) } }, diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInDetailsDrawer.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInDetailsDrawer.kt index 4a38160..22def8f 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInDetailsDrawer.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInDetailsDrawer.kt @@ -58,7 +58,7 @@ fun AllInDetailsDrawer( ) { Text( text = text, - style = AllInTheme.typography.s, + style = AllInTheme.typography.p2, color = textColor, fontSize = 15.sp ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInErrorLine.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInErrorLine.kt index 4565cff..611c4b2 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInErrorLine.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInErrorLine.kt @@ -12,7 +12,7 @@ import fr.iut.alldev.allin.theme.AllInTheme fun AllInErrorLine(text: String) { Text( text = text, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, color = Color.Red, fontSize = 10.sp, overflow = TextOverflow.Ellipsis diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInRetractableCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInRetractableCard.kt index e023a85..8b552e6 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInRetractableCard.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInRetractableCard.kt @@ -64,7 +64,7 @@ fun AllInRetractableCard( fontStyle = AllInTheme.typography.h2.fontStyle ), color = AllInTheme.themeColors.onBackground2, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, fontSize = 16.sp, modifier = Modifier.weight(1f) ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSectionButton.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSectionButton.kt index 01113fc..8f8ef77 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSectionButton.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSectionButton.kt @@ -20,14 +20,14 @@ fun AllInSectionButton( onClick: (Int) -> Unit, ) { val style = if (isSelected) { - AllInTheme.typography.h3.copy( + AllInTheme.typography.sm1.copy( color = AllInTheme.themeColors.onMainSurface, fontSize = 15.sp, textAlign = TextAlign.Center, fontWeight = FontWeight.ExtraBold ) } else { - AllInTheme.typography.h3.copy( + AllInTheme.typography.sm1.copy( color = AllInTheme.themeColors.onBackground2, fontSize = 15.sp, textAlign = TextAlign.Center, diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextField.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextField.kt index a528297..9382045 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextField.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextField.kt @@ -90,7 +90,7 @@ fun AllInTextField( Text( text = placeholder, fontSize = placeholderFontSize, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, color = placeholderColor, maxLines = if (multiLine) 3 else 1, overflow = TextOverflow.Ellipsis @@ -105,7 +105,7 @@ fun AllInTextField( ) } }, - textStyle = AllInTheme.typography.r, + textStyle = AllInTheme.typography.p1, enabled = enabled, keyboardOptions = KeyboardOptions(keyboardType = keyboardType, imeAction = imeAction), keyboardActions = keyboardActions, diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextIcon.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextIcon.kt index b12004e..3827926 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextIcon.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextIcon.kt @@ -6,16 +6,17 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.size import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Fireplace -import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.painter.Painter -import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.platform.LocalLayoutDirection +import androidx.compose.ui.text.TextStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp @@ -34,6 +35,8 @@ fun AllInTextIcon( text: String, icon: Painter, color: Color, + brush: Brush? = null, + textStyle: TextStyle = AllInTheme.typography.h1, position: IconPosition = IconPosition.TRAILING, size: Int = 15, iconSize: Int = size, @@ -52,54 +55,15 @@ fun AllInTextIcon( Text( text = text, color = color, - style = AllInTheme.typography.h1, + style = brush?.let { textStyle.copy(brush = it) } ?: textStyle, fontSize = size.sp ) Icon( painter = icon, contentDescription = null, modifier = Modifier.size(iconSize.dp), - tint = color - ) - } - } - } -} - - -@Composable -fun AllInTextIcon( - modifier: Modifier = Modifier, - text: String, - icon: ImageVector, - color: Color, - position: IconPosition = IconPosition.TRAILING, - size: Int = 15, - iconSize: Int = size, -) { - val direction = - if (position == IconPosition.LEADING) LayoutDirection.Rtl - else LayoutDirection.Ltr - Box(modifier) { - CompositionLocalProvider( - LocalLayoutDirection provides direction - ) { - Row( - modifier = modifier, - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.spacedBy(7.dp) - ) { - Text( - text = text, - color = color, - style = AllInTheme.typography.h1, - fontSize = size.sp - ) - Icon( - imageVector = icon, - contentDescription = null, - modifier = Modifier.size(iconSize.dp), - tint = color + tint = color, + brush = brush ) } } @@ -112,7 +76,7 @@ private fun AllInTextIconPreview() { AllInTheme { AllInTextIcon( text = "value", - icon = Icons.Default.Fireplace, + icon = rememberVectorPainter(image = Icons.Default.Fireplace), color = AllInTheme.colors.allInBlue ) } @@ -126,6 +90,7 @@ private fun AllInTextIconReversePreview() { text = "value", icon = AllInTheme.icons.allCoins(), color = AllInTheme.colors.allInBlue, + brush = AllInTheme.colors.allInMainGradient, position = IconPosition.LEADING ) } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTimePicker.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTimePicker.kt index 5ddcdc5..b78e0d2 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTimePicker.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTimePicker.kt @@ -46,7 +46,7 @@ fun AllInTimePicker( Text( text = stringResource(id = R.string.Cancel), color = AllInTheme.themeColors.onBackground2, - style = AllInTheme.typography.h3 + style = AllInTheme.typography.sm1 ) } }, diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTooltip.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTooltip.kt index bf5123a..5254aa6 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTooltip.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTooltip.kt @@ -31,7 +31,7 @@ fun AllInTooltip( Text( text = text, color = AllInTheme.colors.allInLightGrey200, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, fontSize = 12.sp ) } @@ -121,7 +121,7 @@ private fun AllInTooltipPreview() { Text( text = "Généralement une question qui sera répondu par les utilisateurs.", color = AllInTheme.colors.allInLightGrey200, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, fontSize = 10.sp ) }) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/Icon.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/Icon.kt new file mode 100644 index 0000000..6ccb149 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/Icon.kt @@ -0,0 +1,38 @@ +package fr.iut.alldev.allin.ui.core + +import androidx.compose.material3.Icon +import androidx.compose.material3.LocalContentColor +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.drawWithCache +import androidx.compose.ui.graphics.BlendMode +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.CompositingStrategy +import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.graphics.painter.Painter + +@Composable +fun Icon( + painter: Painter, + contentDescription: String?, + modifier: Modifier = Modifier, + tint: Color = LocalContentColor.current, + brush: Brush? = null, +) { + Icon( + painter = painter, + contentDescription = contentDescription, + modifier = brush?.let { + modifier + .graphicsLayer { compositingStrategy = CompositingStrategy.Offscreen } + .drawWithCache { + onDrawWithContent { + drawContent() + drawRect(brush, blendMode = BlendMode.SrcAtop) + } + } + } ?: modifier, + tint = tint + ) +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetCard.kt new file mode 100644 index 0000000..a7e6613 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetCard.kt @@ -0,0 +1,76 @@ +package fr.iut.alldev.allin.ui.core.bet + +import android.content.res.Configuration +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.ext.getDateStartLabelId +import fr.iut.alldev.allin.theme.AllInTheme +import fr.iut.alldev.allin.ui.core.AllInCard + +@Composable +fun BetCard( + modifier: Modifier = Modifier, + title: String, + creator: String, + category: String, + date: String, + time: String, + status: BetStatus, + content: @Composable () -> Unit +) { + AllInCard( + modifier = modifier.fillMaxWidth(), + radius = 16.dp + ) { + Column( + Modifier.padding(horizontal = 19.dp, vertical = 11.dp) + ) { + BetTitleHeader( + title = title, + category = category, + creator = creator, + modifier = Modifier.fillMaxWidth() + ) + Spacer(modifier = Modifier.height(11.dp)) + BetDateTimeRow( + label = stringResource(id = status.getDateStartLabelId()), + date = date, + time = time + ) + } + HorizontalDivider( + thickness = 1.dp, + color = AllInTheme.themeColors.border + ) + content() + } +} + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun BetCardPreview() { + AllInTheme { + BetCard( + creator = "Creator", + category = "Category", + title = "Title", + date = "Date", + time = "Time", + status = BetStatus.Waiting + ){ + Text("Content") + } + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeChip.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeChip.kt index b6e9bea..256d170 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeChip.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeChip.kt @@ -29,7 +29,7 @@ fun BetDateTimeChip( Text( text = text, modifier = Modifier.padding(vertical = 8.dp, horizontal = 16.dp), - style = AllInTheme.typography.h3, + style = AllInTheme.typography.sm1, textAlign = TextAlign.Center, color = AllInTheme.colors.allInPurple ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeRow.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeRow.kt index e8d99d5..1dccea0 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeRow.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeRow.kt @@ -27,7 +27,7 @@ fun BetDateTimeRow( Text( text = label, fontSize = 15.sp, - style = AllInTheme.typography.m, + style = AllInTheme.typography.sm2, color = AllInTheme.themeColors.onBackground2 ) BetDateTimeChip(date) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetTitleHeader.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetTitleHeader.kt index a732e02..41a7743 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetTitleHeader.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetTitleHeader.kt @@ -38,7 +38,7 @@ fun BetTitleHeader( color = AllInTheme.themeColors.onMainSurface ), fontSize = 12.sp, - style = AllInTheme.typography.s, + style = AllInTheme.typography.p2, color = AllInTheme.themeColors.onBackground2 ) } @@ -47,7 +47,7 @@ fun BetTitleHeader( text = category, fontSize = 15.sp, color = AllInTheme.themeColors.onBackground2, - style = AllInTheme.typography.m + style = AllInTheme.typography.sm2 ) Text( text = title, diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/snackbar/AllInSnackBar.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/snackbar/AllInSnackBar.kt index d9b2129..5e69ace 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/snackbar/AllInSnackBar.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/snackbar/AllInSnackBar.kt @@ -105,7 +105,7 @@ fun AllInSnackbarContent( Text( text = text, color = contentColor, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, overflow = TextOverflow.Ellipsis, maxLines = 5, modifier = Modifier.weight(1f) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt index dea639f..1b9bd80 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt @@ -84,7 +84,7 @@ fun LoginScreen( modifier = Modifier.fillMaxWidth(), text = stringResource(id = R.string.Login_title), color = AllInTheme.themeColors.onMainSurface, - style = AllInTheme.typography.h3, + style = AllInTheme.typography.sm1, textAlign = TextAlign.Center, fontSize = 40.sp ) @@ -93,7 +93,7 @@ fun LoginScreen( modifier = Modifier.fillMaxWidth(), text = stringResource(id = R.string.Login_subtitle), color = AllInTheme.themeColors.onMainSurface, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, textAlign = TextAlign.Center, fontSize = 23.sp ) @@ -122,7 +122,7 @@ fun LoginScreen( } ClickableText( text = AnnotatedString(stringResource(id = R.string.forgot_password)), - style = AllInTheme.typography.m.copy( + style = AllInTheme.typography.sm2.copy( color = AllInTheme.themeColors.onMainSurface, fontSize = 15.sp, ), @@ -156,12 +156,12 @@ fun LoginScreen( text = stringResource(id = R.string.no_account), color = AllInTheme.themeColors.onMainSurface, fontSize = 15.sp, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, modifier = Modifier.padding(end = 5.dp) ) ClickableText( text = AnnotatedString(stringResource(id = R.string.Register)), - style = AllInTheme.typography.r.copy( + style = AllInTheme.typography.p1.copy( color = AllInTheme.colors.allInPurple, fontSize = 15.sp, fontWeight = FontWeight.Bold diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt index c55cad1..1ba9b8f 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt @@ -11,8 +11,9 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavHostController import androidx.navigation.compose.rememberNavController import fr.iut.alldev.allin.theme.AllInTheme +import fr.iut.alldev.allin.ui.betResult.BetResultBottomSheet import fr.iut.alldev.allin.ui.betStatus.BetStatusBottomSheet -import fr.iut.alldev.allin.ui.betStatus.visitor.BetStatusBottomSheetDisplayBetVisitor +import fr.iut.alldev.allin.ui.betStatus.vo.BetStatusBottomSheetBetDisplayer import fr.iut.alldev.allin.ui.core.AllInLoading import fr.iut.alldev.allin.ui.core.snackbar.AllInSnackbarVisualsImpl import fr.iut.alldev.allin.ui.main.components.AllInScaffold @@ -21,7 +22,6 @@ import fr.iut.alldev.allin.ui.navigation.Routes import fr.iut.alldev.allin.ui.navigation.TopLevelDestination import fr.iut.alldev.allin.ui.navigation.drawer.AllInDrawer import fr.iut.alldev.allin.ui.navigation.popUpTo -import fr.iut.alldev.allin.vo.bet.factory.toBetVO import kotlinx.coroutines.launch private val topLevelDestinations = listOf( @@ -68,10 +68,12 @@ fun MainScreen( var loading by remember { mainViewModel.loading } val currentUser = remember { mainViewModel.currentUserState } val (selectedBet, setSelectedBet) = remember { mainViewModel.selectedBet } + val (wonBet, setWonBet) = remember { mainViewModel.wonBet } val (statusVisibility, sheetBackVisibility, setStatusVisibility) = rememberBetStatusVisibilities() + val (displayResult, setDisplayResult ) = remember{ mutableStateOf(true) } - val betStatusDisplayVisitor = remember { - BetStatusBottomSheetDisplayBetVisitor( + val betStatusDisplayer = remember { + BetStatusBottomSheetBetDisplayer( userCoinAmount = currentUser.userCoins, onParticipate = { mainViewModel.participateToBet(it) @@ -100,7 +102,7 @@ fun MainScreen( } } - val bottomSheetState = rememberModalBottomSheetState( + val statusBottomSheetState = rememberModalBottomSheetState( skipPartiallyExpanded = true, confirmValueChange = { if (it == SheetValue.Hidden) { @@ -110,6 +112,10 @@ fun MainScreen( } ) + val resultBottomSheetState = rememberModalBottomSheetState( + skipPartiallyExpanded = true + ) + AllInDrawer( drawerState = drawerState, destinations = topLevelDestinations, @@ -133,7 +139,7 @@ fun MainScreen( snackbarHostState = snackbarHostState ) { LaunchedEffect(key1 = it) { - betStatusDisplayVisitor.paddingValues.value = it + betStatusDisplayer.paddingValues.value = it } Column( modifier = Modifier @@ -146,7 +152,7 @@ fun MainScreen( navController = navController, selectBet = { bet, participate -> setSelectedBet(bet) - betStatusDisplayVisitor.participateBottomSheetVisibility.value = participate + betStatusDisplayer.participateBottomSheetVisibility.value = participate setStatusVisibility(true) }, setLoading = { loading = it }, @@ -156,15 +162,29 @@ fun MainScreen( } } + wonBet?.let { + BetResultBottomSheet( + state = resultBottomSheetState, + sheetVisibility = displayResult, + onDismiss = { setDisplayResult(false) }, + bet = wonBet, + username = currentUser.user.username, + coinAmount = 1630, + stake = 1630, + winnings = 1630, + odds = 3.62f + ) + } + BetStatusBottomSheet( - state = bottomSheetState, + state = statusBottomSheetState, sheetVisibility = statusVisibility.value, sheetBackVisibility = sheetBackVisibility.value, onDismiss = { setStatusVisibility(false) }, - bet = selectedBet?.toBetVO(), - visitor = betStatusDisplayVisitor + bet = selectedBet, + displayBet = { betStatusDisplayer.DisplayBet(it) } ) AllInLoading(visible = loading) BackHandler( diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt index 33d7f3e..8287d8c 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt @@ -8,12 +8,16 @@ import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import fr.iut.alldev.allin.data.model.User import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.BetFinishedStatus +import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.data.model.bet.YesNoBet import fr.iut.alldev.allin.di.AllInCurrentUser import fr.iut.alldev.allin.keystore.AllInKeystoreManager import fr.iut.alldev.allin.ui.core.snackbar.SnackbarType import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import java.time.ZonedDateTime import javax.inject.Inject class UserState(val user: User) { @@ -30,6 +34,17 @@ class MainViewModel @Inject constructor( val currentUserState = UserState(currentUser) val selectedBet = mutableStateOf<Bet?>(null) + val wonBet = mutableStateOf<Bet?>( + YesNoBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = BetStatus.Finished(BetFinishedStatus.WON), + creator = "creator" + ) + ) val snackbarContent: MutableState<SnackbarContent?> by lazy { mutableStateOf(null) } fun putSnackbarContent(content: SnackbarContent) { diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/AllInDrawer.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/AllInDrawer.kt index a86410f..c9442ae 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/AllInDrawer.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/AllInDrawer.kt @@ -74,7 +74,7 @@ fun AllInDrawer( ) { Text( text = stringResource(id = R.string.Logout), - style = AllInTheme.typography.h3, + style = AllInTheme.typography.sm1, color = AllInTheme.colors.allInDarkGrey50, fontSize = 16.sp ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/components/DrawerCell.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/components/DrawerCell.kt index 2d40781..392d9ce 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/components/DrawerCell.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/components/DrawerCell.kt @@ -56,7 +56,7 @@ fun DrawerCell( ) Text( text = subtitle, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, fontSize = 9.sp, color = AllInTheme.colors.allInLightGrey300, ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/components/DrawerHeaderStat.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/components/DrawerHeaderStat.kt index 4d302c6..33a5bf3 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/components/DrawerHeaderStat.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/components/DrawerHeaderStat.kt @@ -23,7 +23,7 @@ fun DrawerHeaderStat( Text( text = label, color = AllInTheme.colors.allInLightGrey300, - style = AllInTheme.typography.r + style = AllInTheme.typography.p1 ) } } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt new file mode 100644 index 0000000..304f569 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt @@ -0,0 +1,51 @@ +package fr.iut.alldev.allin.ui.preview + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.BetFinishedStatus +import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.data.model.bet.CustomBet +import fr.iut.alldev.allin.data.model.bet.MatchBet +import fr.iut.alldev.allin.data.model.bet.YesNoBet +import java.time.ZonedDateTime + +class BetPreviewProvider: PreviewParameterProvider<Bet> { + override val values = sequenceOf( + YesNoBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = BetStatus.Finished(BetFinishedStatus.WON), + creator = "creator" + ), + MatchBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = BetStatus.Finished(BetFinishedStatus.WON), + creator = "creator", + nameTeam1 = "The Monarchs", + nameTeam2 = "Climate Change" + ), + CustomBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = BetStatus.Finished(BetFinishedStatus.WON), + creator = "creator", + possibleAnswers = setOf( + "Answer 1", + "Answer 2", + "Answer 3", + "Answer 4" + ) + + ), + ) +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetStatus.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetStatus.kt deleted file mode 100644 index f0de24e..0000000 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetStatus.kt +++ /dev/null @@ -1,14 +0,0 @@ -package fr.iut.alldev.allin.ui.preview - -import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import fr.iut.alldev.allin.data.model.bet.BetFinishedStatus -import fr.iut.alldev.allin.data.model.bet.BetStatus - -class BetStatusPreviewProvider: PreviewParameterProvider<BetStatus> { - override val values = sequenceOf( - BetStatus.InProgress, - BetStatus.Waiting, - BetStatus.Finished(BetFinishedStatus.WON), - BetStatus.Finished(BetFinishedStatus.LOST) - ) -} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetStatusPreviewProvider.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetStatusPreviewProvider.kt new file mode 100644 index 0000000..ccb3cd8 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetStatusPreviewProvider.kt @@ -0,0 +1,8 @@ +package fr.iut.alldev.allin.ui.preview + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import fr.iut.alldev.allin.data.model.bet.BetStatus + +class BetStatusPreviewProvider : PreviewParameterProvider<BetStatus> { + override val values = BetStatus.entries +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt new file mode 100644 index 0000000..becf11a --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt @@ -0,0 +1,53 @@ +package fr.iut.alldev.allin.ui.preview + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.data.model.bet.CustomBet +import fr.iut.alldev.allin.data.model.bet.MatchBet +import fr.iut.alldev.allin.data.model.bet.YesNoBet +import java.time.ZonedDateTime + + +class BetWithStatusPreviewProvider : PreviewParameterProvider<Bet> { + override val values = BetStatus.entries.flatMap { status -> + sequenceOf( + YesNoBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = status, + creator = "creator" + ), + MatchBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = status, + creator = "creator", + nameTeam1 = "The Monarchs", + nameTeam2 = "Climate Change" + ), + CustomBet( + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = status, + creator = "creator", + possibleAnswers = setOf( + "Answer 1", + "Answer 2", + "Answer 3", + "Answer 4" + ) + + ) + ) + } +} diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt index 35d3258..8a5f27b 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt @@ -89,7 +89,7 @@ fun RegisterScreen( modifier = Modifier.fillMaxWidth(), text = stringResource(id = R.string.Hello_x, username), color = AllInTheme.themeColors.onMainSurface, - style = AllInTheme.typography.h3, + style = AllInTheme.typography.sm1, textAlign = TextAlign.Center, fontSize = 40.sp, overflow = TextOverflow.Ellipsis, @@ -99,7 +99,7 @@ fun RegisterScreen( modifier = Modifier.fillMaxWidth(), text = stringResource(id = R.string.Register_title), color = AllInTheme.themeColors.onMainSurface, - style = AllInTheme.typography.h3, + style = AllInTheme.typography.sm1, textAlign = TextAlign.Center, fontSize = 40.sp ) @@ -108,7 +108,7 @@ fun RegisterScreen( modifier = Modifier.fillMaxWidth(), text = stringResource(id = R.string.Register_subtitle), color = AllInTheme.themeColors.onMainSurface, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, textAlign = TextAlign.Center, fontSize = 23.sp ) @@ -184,12 +184,12 @@ fun RegisterScreen( text = stringResource(id = R.string.already_have_account), color = AllInTheme.themeColors.onMainSurface, fontSize = 15.sp, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, modifier = Modifier.padding(end = 5.dp) ) ClickableText( text = AnnotatedString(stringResource(id = R.string.Login)), - style = AllInTheme.typography.r.copy( + style = AllInTheme.typography.p1.copy( color = AllInTheme.colors.allInPurple, fontSize = 15.sp, fontWeight = FontWeight.Bold diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/WelcomeScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/WelcomeScreen.kt index 99f3ae4..c805f3c 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/WelcomeScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/WelcomeScreen.kt @@ -88,7 +88,7 @@ fun WelcomeScreen( text = stringResource(id = R.string.welcome_subtitle), color = AllInTheme.themeColors.onBackground, fontSize = 15.sp, - style = AllInTheme.typography.r + style = AllInTheme.typography.p1 ) Spacer(modifier = Modifier.height(78.dp)) AllInButton( @@ -106,12 +106,12 @@ fun WelcomeScreen( text = stringResource(id = R.string.already_have_account), color = AllInTheme.themeColors.tint1, fontSize = 15.sp, - style = AllInTheme.typography.r, + style = AllInTheme.typography.p1, modifier = Modifier.padding(end = 5.dp) ) ClickableText( text = AnnotatedString(stringResource(id = R.string.Login)), - style = AllInTheme.typography.r.copy( + style = AllInTheme.typography.p1.copy( color = AllInTheme.themeColors.tint1, fontSize = 15.sp, fontWeight = FontWeight.Bold diff --git a/src/app/src/main/java/fr/iut/alldev/allin/vo/ViewObject.kt b/src/app/src/main/java/fr/iut/alldev/allin/vo/ViewObject.kt deleted file mode 100644 index ebd8358..0000000 --- a/src/app/src/main/java/fr/iut/alldev/allin/vo/ViewObject.kt +++ /dev/null @@ -1,8 +0,0 @@ -package fr.iut.alldev.allin.vo - -import androidx.compose.runtime.Composable - -interface ViewObject<V : Visitor>{ - @Composable - fun Accept(v: V) -} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/vo/Visitor.kt b/src/app/src/main/java/fr/iut/alldev/allin/vo/Visitor.kt deleted file mode 100644 index 00aa0a2..0000000 --- a/src/app/src/main/java/fr/iut/alldev/allin/vo/Visitor.kt +++ /dev/null @@ -1,3 +0,0 @@ -package fr.iut.alldev.allin.vo - -interface Visitor \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt new file mode 100644 index 0000000..deaf6f9 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt @@ -0,0 +1,27 @@ +package fr.iut.alldev.allin.vo.bet + +import androidx.compose.runtime.Composable +import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.CustomBet +import fr.iut.alldev.allin.data.model.bet.MatchBet +import fr.iut.alldev.allin.data.model.bet.YesNoBet + +interface BetDisplayer { + @Composable + fun DisplayBet(bet: Bet){ + when(bet){ + is CustomBet -> DisplayCustomBet(bet) + is MatchBet -> DisplayMatchBet(bet) + is YesNoBet -> DisplayYesNoBet(bet) + } + } + + @Composable + fun DisplayYesNoBet(b: YesNoBet) + + @Composable + fun DisplayMatchBet(b: MatchBet) + + @Composable + fun DisplayCustomBet(b: CustomBet) +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetVO.kt b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetVO.kt deleted file mode 100644 index 5df8223..0000000 --- a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetVO.kt +++ /dev/null @@ -1,28 +0,0 @@ -package fr.iut.alldev.allin.vo.bet - -import androidx.compose.runtime.Composable -import fr.iut.alldev.allin.data.model.bet.Bet -import fr.iut.alldev.allin.data.model.bet.MatchBet -import fr.iut.alldev.allin.data.model.bet.YesNoBet -import fr.iut.alldev.allin.vo.ViewObject -import fr.iut.alldev.allin.vo.bet.visitor.DisplayBetVisitor - -abstract class BetVO<T: Bet>(val bet: T) -: ViewObject<DisplayBetVisitor> { - @Composable - abstract override fun Accept(v: DisplayBetVisitor) -} - -class YesNoBetVO(bet: YesNoBet) : BetVO<YesNoBet>(bet){ - @Composable - override fun Accept(v: DisplayBetVisitor){ - v.VisitYesNoBet(b = bet) - } -} - -class MatchBetVO(bet: MatchBet) : BetVO<MatchBet>(bet){ - @Composable - override fun Accept(v: DisplayBetVisitor){ - v.VisitMatchBet(b = bet) - } -} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/factory/BetVOFactory.kt b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/factory/BetVOFactory.kt deleted file mode 100644 index 90cbf02..0000000 --- a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/factory/BetVOFactory.kt +++ /dev/null @@ -1,30 +0,0 @@ -package fr.iut.alldev.allin.vo.bet.factory - -import fr.iut.alldev.allin.data.model.bet.Bet -import fr.iut.alldev.allin.data.model.bet.MatchBet -import fr.iut.alldev.allin.data.model.bet.YesNoBet -import fr.iut.alldev.allin.vo.bet.BetVO -import fr.iut.alldev.allin.vo.bet.MatchBetVO -import fr.iut.alldev.allin.vo.bet.YesNoBetVO - -private val betTypeToVOMap = mapOf( - YesNoBet::class.java to YesNoBetVOFactory(), - MatchBet::class.java to MatchBetVOFactory() -) -abstract class BetVOFactory<out T : Bet> { - abstract fun create(bet: @UnsafeVariance T): BetVO<@UnsafeVariance T> -} - -class YesNoBetVOFactory : BetVOFactory<YesNoBet>() { - override fun create(bet: YesNoBet) = - YesNoBetVO(bet) -} - -class MatchBetVOFactory : BetVOFactory<MatchBet>() { - override fun create(bet: MatchBet) = - MatchBetVO(bet) -} - -fun Bet.toBetVO() = betTypeToVOMap[this.javaClass]?.create(this) - - diff --git a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/visitor/BetVisitor.kt b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/visitor/BetVisitor.kt deleted file mode 100644 index 7c8f584..0000000 --- a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/visitor/BetVisitor.kt +++ /dev/null @@ -1,15 +0,0 @@ -package fr.iut.alldev.allin.vo.bet.visitor - -import androidx.compose.runtime.Composable -import fr.iut.alldev.allin.data.model.bet.MatchBet -import fr.iut.alldev.allin.data.model.bet.YesNoBet -import fr.iut.alldev.allin.vo.Visitor - - -interface DisplayBetVisitor : Visitor { - @Composable - fun VisitYesNoBet(b: YesNoBet) - - @Composable - fun VisitMatchBet(b: MatchBet) -} \ No newline at end of file diff --git a/src/app/src/main/res/drawable/allin_marquee.xml b/src/app/src/main/res/drawable/allin_marquee.xml new file mode 100644 index 0000000..fbd7a45 --- /dev/null +++ b/src/app/src/main/res/drawable/allin_marquee.xml @@ -0,0 +1,4307 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:aapt="http://schemas.android.com/aapt" + android:width="1355dp" + android:height="1335dp" + android:viewportWidth="1355" + android:viewportHeight="1335"> + <path + android:pathData="M93.4,3.4L121.6,86.6C126.8,102 115.3,118 99,117.9C97.6,117.9 96.4,117 96,115.7L60.8,1L90.2,1.1C91.6,1.1 93,2 93.4,3.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M37,18.4L4.1,114.1C3.5,115.9 4.8,117.7 6.7,117.7C36.1,117.8 62.2,98.7 70.9,70.7L91.2,5.8C91.9,3.5 90.1,1.1 87.7,1.1L61.4,1C50.4,1 40.6,8 37,18.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M60.3,1.7C50,2.1 40.9,8.8 37.6,18.6L4.7,114.3C4.2,115.7 5.2,117.1 6.7,117.1C35.9,117.2 61.7,98.3 70.3,70.5L75.9,52.5L60.3,1.7ZM59.9,0.4C49.2,1 39.9,8 36.4,18.2L3.5,113.9C2.8,116.1 4.4,118.3 6.7,118.3C36.4,118.4 62.7,99.2 71.5,70.9L76.6,54.6L95.4,115.9C95.9,117.5 97.4,118.5 99,118.5C115.7,118.6 127.6,102.2 122.2,86.4L94,3.2C93.5,1.6 91.9,0.5 90.2,0.5L59.9,0.4L59.9,0.4ZM87.6,1.7L61.6,1.6L76.6,50.4L90.6,5.7C91.2,3.7 89.7,1.7 87.6,1.7ZM77.2,52.5L91.7,6C92.2,4.4 91.8,2.8 90.7,1.8C91.7,2 92.5,2.7 92.8,3.6L121,86.8C126.1,101.8 114.9,117.3 99,117.3C97.9,117.3 96.9,116.6 96.6,115.5L77.2,52.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M230.2,3.8L258.4,86.9C263.6,102.3 252.1,118.3 235.8,118.2C234.4,118.2 233.2,117.3 232.8,116L197.5,1.3L226.9,1.4C228.4,1.4 229.8,2.4 230.2,3.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M173.8,18.7L140.9,114.4C140.3,116.2 141.6,118 143.5,118C172.9,118.1 199,99 207.7,71L227.9,6.2C228.7,3.8 226.9,1.4 224.4,1.4L198.2,1.3C187.2,1.3 177.4,8.3 173.8,18.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M197.1,2C186.8,2.4 177.7,9.1 174.4,18.9L141.5,114.6C141,116 142,117.4 143.5,117.4C172.7,117.5 198.5,98.6 207.1,70.8L212.7,52.8L197.1,2ZM196.7,0.8C186,1.3 176.7,8.3 173.2,18.5L140.3,114.2C139.6,116.4 141.2,118.6 143.5,118.6C173.2,118.7 199.5,99.5 208.3,71.2L213.4,54.9L232.2,116.2C232.7,117.8 234.2,118.9 235.8,118.9C252.5,118.9 264.3,102.5 259,86.7L230.8,3.6C230.3,1.9 228.7,0.8 226.9,0.8L196.7,0.7L196.7,0.8ZM224.4,2L198.4,2L213.4,50.8L227.4,6C228,4 226.5,2 224.4,2ZM214,52.9L228.5,6.3C229,4.8 228.6,3.2 227.5,2.1C228.5,2.3 229.3,3 229.6,4L257.8,87.1C262.9,102.1 251.7,117.7 235.8,117.6C234.7,117.6 233.7,116.9 233.4,115.8L214,52.9Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M367,4.1L395.2,87.2C400.4,102.6 388.9,118.6 372.6,118.6C371.2,118.6 370,117.6 369.6,116.3L334.3,1.6L363.7,1.7C365.2,1.7 366.5,2.7 367,4.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M310.6,19L277.7,114.7C277.1,116.5 278.4,118.3 280.3,118.3C309.7,118.4 335.8,99.3 344.5,71.3L364.7,6.5C365.5,4.1 363.7,1.7 361.2,1.7L335,1.6C324,1.6 314.2,8.6 310.6,19Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M333.9,2.3C323.6,2.7 314.5,9.4 311.2,19.2L278.3,114.9C277.8,116.3 278.8,117.7 280.3,117.7C309.5,117.8 335.3,98.9 343.9,71.1L349.5,53.2L333.9,2.3ZM333.5,1.1C322.8,1.6 313.5,8.6 310,18.8L277.1,114.5C276.4,116.7 278,119 280.3,119C310,119 336.3,99.8 345.1,71.5L350.2,55.3L369,116.5C369.5,118.1 370.9,119.2 372.6,119.2C389.3,119.2 401.1,102.8 395.8,87L367.6,3.9C367,2.2 365.5,1.1 363.7,1.1L333.5,1L333.5,1.1ZM361.2,2.3L335.2,2.3L350.2,51.1L364.2,6.3C364.8,4.3 363.3,2.3 361.2,2.3ZM350.8,53.2L365.3,6.7C365.8,5.1 365.4,3.5 364.3,2.4C365.3,2.6 366.1,3.3 366.4,4.3L394.6,87.4C399.7,102.4 388.5,118 372.6,117.9C371.5,117.9 370.5,117.2 370.2,116.1L350.8,53.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M503.8,4.4L532,87.6C537.2,103 525.7,118.9 509.4,118.9C508,118.9 506.8,118 506.4,116.6L471.1,2L500.5,2C502,2 503.3,3 503.8,4.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M447.4,19.3L414.5,115C413.9,116.8 415.2,118.7 417.1,118.7C446.5,118.7 472.6,99.7 481.3,71.6L501.5,6.8C502.3,4.4 500.5,2 498,2L471.8,2C460.8,1.9 451,8.9 447.4,19.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M470.7,2.6C460.4,3 451.3,9.7 448,19.5L415.1,115.2C414.6,116.6 415.6,118 417.1,118C446.3,118.1 472,99.2 480.7,71.5L486.3,53.5L470.7,2.6ZM470.3,1.4C459.6,2 450.3,8.9 446.8,19.1L413.9,114.8C413.2,117 414.8,119.3 417.1,119.3C446.8,119.3 473.1,100.1 481.9,71.8L487,55.6L505.8,116.8C506.3,118.4 507.7,119.5 509.4,119.5C526.1,119.5 537.9,103.2 532.6,87.4L504.4,4.2C503.8,2.5 502.3,1.4 500.5,1.4L470.3,1.3L470.3,1.4ZM498,2.7L472,2.6L487,51.4L501,6.6C501.6,4.6 500.1,2.7 498,2.7ZM487.6,53.5L502.1,7C502.6,5.4 502.1,3.8 501.1,2.7C502.1,2.9 502.9,3.6 503.2,4.6L531.4,87.8C536.5,102.8 525.3,118.3 509.4,118.3C508.3,118.3 507.3,117.5 507,116.5L487.6,53.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M640.6,4.7L668.8,87.9C674,103.3 662.5,119.2 646.2,119.2C644.8,119.2 643.6,118.3 643.2,117L607.9,2.3L637.3,2.4C638.8,2.4 640.1,3.3 640.6,4.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M584.2,19.6L551.3,115.3C550.7,117.1 552,119 553.9,119C583.3,119 609.4,100 618.1,72L638.3,7.1C639.1,4.7 637.3,2.3 634.8,2.3L608.6,2.3C597.6,2.3 587.7,9.2 584.2,19.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M607.5,2.9C597.2,3.4 588.1,10 584.8,19.8L551.9,115.5C551.4,116.9 552.4,118.4 553.9,118.4C583,118.4 608.8,99.5 617.5,71.8L623.1,53.8L607.5,2.9ZM607.1,1.7C596.4,2.3 587.1,9.3 583.6,19.4L550.7,115.1C550,117.3 551.6,119.6 553.9,119.6C583.6,119.7 609.9,100.4 618.7,72.1L623.8,55.9L642.6,117.1C643.1,118.7 644.5,119.8 646.2,119.8C662.9,119.9 674.7,103.5 669.4,87.7L641.2,4.5C640.6,2.9 639.1,1.7 637.3,1.7L607.1,1.7L607.1,1.7ZM634.8,3L608.8,2.9L623.8,51.7L637.7,6.9C638.4,5 636.9,3 634.8,3ZM624.4,53.8L638.9,7.3C639.4,5.7 639,4.1 637.9,3C638.9,3.2 639.7,3.9 640,4.9L668.2,88.1C673.3,103.1 662.1,118.6 646.2,118.6C645.1,118.6 644.1,117.8 643.8,116.8L624.4,53.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M777.4,5L805.6,88.2C810.8,103.6 799.3,119.5 783,119.5C781.6,119.5 780.4,118.6 780,117.3L744.7,2.6L774.1,2.7C775.6,2.7 776.9,3.6 777.4,5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M721,20L688.1,115.7C687.5,117.4 688.8,119.3 690.7,119.3C720.1,119.4 746.2,100.3 754.9,72.3L775.1,7.4C775.9,5.1 774.1,2.7 771.6,2.7L745.4,2.6C734.4,2.6 724.5,9.6 721,20Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M744.3,3.2C734,3.7 724.9,10.4 721.5,20.2L688.7,115.9C688.2,117.2 689.2,118.7 690.7,118.7C719.8,118.7 745.6,99.9 754.3,72.1L759.9,54.1L744.3,3.2ZM743.9,2C733.2,2.6 723.9,9.6 720.4,19.8L687.5,115.5C686.8,117.6 688.4,119.9 690.7,119.9C720.4,120 746.7,100.7 755.5,72.5L760.6,56.2L779.4,117.5C779.9,119 781.3,120.1 783,120.1C799.7,120.2 811.5,103.8 806.2,88L778,4.8C777.4,3.2 775.9,2.1 774.1,2L743.9,2L743.9,2ZM771.6,3.3L745.6,3.2L760.6,52L774.5,7.2C775.2,5.3 773.7,3.3 771.6,3.3ZM761.2,54.1L775.7,7.6C776.2,6 775.7,4.4 774.7,3.4C775.7,3.6 776.5,4.3 776.8,5.2L805,88.4C810.1,103.4 798.9,118.9 783,118.9C781.9,118.9 780.9,118.2 780.6,117.1L761.2,54.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M914.2,5.3L942.4,88.5C947.6,103.9 936.1,119.9 919.8,119.8C918.4,119.8 917.2,118.9 916.8,117.6L881.5,2.9L910.9,3C912.4,3 913.7,3.9 914.2,5.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M857.8,20.3L824.9,116C824.3,117.8 825.6,119.6 827.5,119.6C856.9,119.7 882.9,100.6 891.7,72.6L911.9,7.7C912.7,5.4 910.9,3 908.4,3L882.2,2.9C871.2,2.9 861.3,9.9 857.8,20.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M881.1,3.6C870.8,4 861.7,10.7 858.3,20.5L825.5,116.2C825,117.6 826,119 827.5,119C856.6,119.1 882.4,100.2 891.1,72.4L896.7,54.4L881.1,3.6ZM880.7,2.3C870,2.9 860.7,9.9 857.2,20.1L824.3,115.8C823.5,118 825.2,120.2 827.5,120.2C857.2,120.3 883.5,101.1 892.3,72.8L897.3,56.5L916.2,117.8C916.7,119.4 918.1,120.4 919.8,120.4C936.5,120.5 948.3,104.1 943,88.3L914.8,5.1C914.2,3.5 912.7,2.4 910.9,2.4L880.7,2.3L880.7,2.3ZM908.4,3.6L882.4,3.5L897.4,52.3L911.3,7.6C911.9,5.6 910.5,3.6 908.4,3.6ZM898,54.4L912.5,7.9C913,6.3 912.5,4.7 911.5,3.7C912.5,3.9 913.3,4.6 913.6,5.5L941.8,88.7C946.9,103.7 935.7,119.2 919.8,119.2C918.7,119.2 917.7,118.5 917.3,117.4L898,54.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1051,5.7L1079.2,88.8C1084.4,104.2 1072.9,120.2 1056.6,120.1C1055.2,120.1 1054,119.2 1053.6,117.9L1018.3,3.2L1047.7,3.3C1049.2,3.3 1050.5,4.3 1051,5.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M994.6,20.6L961.7,116.3C961.1,118.1 962.4,119.9 964.3,119.9C993.7,120 1019.7,100.9 1028.5,72.9L1048.7,8.1C1049.4,5.7 1047.7,3.3 1045.2,3.3L1019,3.2C1007.9,3.2 998.1,10.2 994.6,20.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1017.9,3.9C1007.6,4.3 998.5,11 995.1,20.8L962.3,116.5C961.8,117.9 962.8,119.3 964.3,119.3C993.4,119.4 1019.2,100.5 1027.9,72.7L1033.5,54.8L1017.9,3.9ZM1017.5,2.7C1006.8,3.2 997.5,10.2 994,20.4L961.1,116.1C960.3,118.3 962,120.5 964.3,120.6C994,120.6 1020.3,101.4 1029.1,73.1L1034.1,56.8L1053,118.1C1053.5,119.7 1054.9,120.8 1056.6,120.8C1073.3,120.8 1085.1,104.4 1079.8,88.6L1051.6,5.5C1051,3.8 1049.5,2.7 1047.7,2.7L1017.5,2.6L1017.5,2.7ZM1045.2,3.9L1019.2,3.9L1034.2,52.7L1048.1,7.9C1048.7,5.9 1047.3,3.9 1045.2,3.9ZM1034.8,54.8L1049.3,8.2C1049.8,6.7 1049.3,5.1 1048.3,4C1049.3,4.2 1050.1,4.9 1050.4,5.9L1078.6,89C1083.7,104 1072.5,119.6 1056.6,119.5C1055.5,119.5 1054.5,118.8 1054.2,117.7L1034.8,54.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1187.8,6L1216,89.1C1221.2,104.5 1209.7,120.5 1193.4,120.5C1192,120.5 1190.8,119.6 1190.4,118.2L1155.1,3.6L1184.5,3.6C1186,3.6 1187.3,4.6 1187.8,6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1131.3,20.9L1098.5,116.6C1097.9,118.4 1099.2,120.2 1101.1,120.3C1130.5,120.3 1156.5,101.3 1165.3,73.2L1185.5,8.4C1186.3,6 1184.5,3.6 1182,3.6L1155.8,3.6C1144.7,3.5 1134.9,10.5 1131.3,20.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1154.7,4.2C1144.3,4.6 1135.3,11.3 1131.9,21.1L1099.1,116.8C1098.6,118.2 1099.6,119.6 1101.1,119.6C1130.2,119.7 1156,100.8 1164.7,73L1170.3,55.1L1154.7,4.2ZM1154.3,3C1143.6,3.5 1134.3,10.5 1130.8,20.7L1097.9,116.4C1097.1,118.6 1098.8,120.9 1101.1,120.9C1130.8,120.9 1157.1,101.7 1165.9,73.4L1170.9,57.2L1189.8,118.4C1190.3,120 1191.7,121.1 1193.4,121.1C1210.1,121.1 1221.9,104.8 1216.6,88.9L1188.4,5.8C1187.8,4.1 1186.3,3 1184.5,3L1154.3,2.9L1154.3,3ZM1182,4.2L1155.9,4.2L1170.9,53L1184.9,8.2C1185.5,6.2 1184.1,4.2 1182,4.2ZM1171.6,55.1L1186.1,8.6C1186.6,7 1186.1,5.4 1185.1,4.3C1186.1,4.5 1186.9,5.2 1187.2,6.2L1215.4,89.3C1220.5,104.3 1209.3,119.9 1193.4,119.8C1192.3,119.8 1191.3,119.1 1190.9,118L1171.6,55.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1324.6,6.3L1352.8,89.5C1358,104.9 1346.5,120.8 1330.2,120.8C1328.8,120.8 1327.6,119.9 1327.2,118.5L1291.9,3.9L1321.3,3.9C1322.8,3.9 1324.1,4.9 1324.6,6.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1268.2,21.2L1235.3,116.9C1234.7,118.7 1236,120.6 1237.9,120.6C1267.3,120.6 1293.3,101.6 1302.1,73.5L1322.3,8.7C1323.1,6.3 1321.3,3.9 1318.8,3.9L1292.6,3.9C1281.5,3.8 1271.7,10.8 1268.2,21.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1291.4,4.5C1281.2,4.9 1272.1,11.6 1268.7,21.4L1235.9,117.1C1235.4,118.5 1236.4,119.9 1237.9,120C1267,120 1292.8,101.1 1301.5,73.4L1307.1,55.4L1291.4,4.5ZM1291.1,3.3C1280.4,3.9 1271.1,10.8 1267.6,21L1234.7,116.7C1233.9,118.9 1235.6,121.2 1237.9,121.2C1267.6,121.3 1293.8,102 1302.7,73.7L1307.7,57.5L1326.6,118.7C1327.1,120.3 1328.5,121.4 1330.2,121.4C1346.9,121.4 1358.7,105.1 1353.3,89.3L1325.2,6.1C1324.6,4.4 1323.1,3.3 1321.3,3.3L1291.1,3.3L1291.1,3.3ZM1318.8,4.6L1292.7,4.5L1307.7,53.3L1321.7,8.5C1322.3,6.5 1320.9,4.6 1318.8,4.6ZM1308.4,55.4L1322.9,8.9C1323.4,7.3 1322.9,5.7 1321.9,4.6C1322.9,4.8 1323.7,5.5 1324,6.5L1352.2,89.7C1357.3,104.7 1346.1,120.2 1330.2,120.2C1329.1,120.2 1328.1,119.4 1327.8,118.4L1308.4,55.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M93.1,138.2L121.3,221.3C126.5,236.8 115,252.7 98.7,252.7C97.3,252.7 96.1,251.8 95.7,250.4L60.5,135.8L89.9,135.8C91.4,135.8 92.7,136.8 93.1,138.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M36.7,153.1L3.8,248.8C3.2,250.6 4.5,252.4 6.4,252.5C35.9,252.5 61.9,233.5 70.6,205.4L90.9,140.6C91.6,138.2 89.8,135.8 87.4,135.8L61.1,135.8C50.1,135.7 40.3,142.7 36.7,153.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M60,136.4C49.7,136.8 40.7,143.5 37.3,153.3L4.4,249C3.9,250.4 5,251.8 6.4,251.8C35.6,251.9 61.4,233 70,205.2L75.7,187.3L60,136.4ZM59.6,135.2C49,135.8 39.6,142.7 36.1,152.9L3.2,248.6C2.5,250.8 4.1,253.1 6.4,253.1C36.1,253.1 62.4,233.9 71.2,205.6L76.3,189.4L95.1,250.6C95.6,252.2 97.1,253.3 98.7,253.3C115.5,253.3 127.3,237 121.9,221.1L93.7,138C93.2,136.3 91.6,135.2 89.9,135.2L59.6,135.1L59.6,135.2ZM87.4,136.4L61.3,136.4L76.3,185.2L90.3,140.4C90.9,138.4 89.4,136.4 87.4,136.4ZM76.9,187.3L91.5,140.8C92,139.2 91.5,137.6 90.4,136.5C91.4,136.7 92.2,137.4 92.6,138.4L120.7,221.5C125.8,236.5 114.6,252.1 98.7,252.1C97.6,252 96.6,251.3 96.3,250.3L76.9,187.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M229.9,138.5L258.1,221.7C263.3,237.1 251.8,253 235.5,253C234.1,253 232.9,252.1 232.5,250.7L197.3,136.1L226.7,136.1C228.1,136.1 229.5,137.1 229.9,138.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M173.5,153.4L140.6,249.1C140,250.9 141.3,252.8 143.2,252.8C172.7,252.8 198.7,233.8 207.4,205.7L227.7,140.9C228.4,138.5 226.6,136.1 224.2,136.1L197.9,136.1C186.9,136.1 177.1,143 173.5,153.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M196.8,136.7C186.5,137.1 177.5,143.8 174.1,153.6L141.2,249.3C140.7,250.7 141.8,252.1 143.2,252.2C172.4,252.2 198.2,233.3 206.8,205.6L212.4,187.6L196.8,136.7ZM196.4,135.5C185.8,136.1 176.4,143 172.9,153.2L140,248.9C139.3,251.1 140.9,253.4 143.2,253.4C172.9,253.5 199.2,234.2 208,205.9L213.1,189.7L231.9,250.9C232.4,252.5 233.9,253.6 235.5,253.6C252.3,253.6 264.1,237.3 258.7,221.5L230.5,138.3C230,136.6 228.4,135.5 226.7,135.5L196.4,135.5L196.4,135.5ZM224.2,136.8L198.1,136.7L213.1,185.5L227.1,140.7C227.7,138.8 226.2,136.8 224.2,136.8ZM213.7,187.6L228.3,141.1C228.8,139.5 228.3,137.9 227.2,136.8C228.2,137 229,137.7 229.4,138.7L257.5,221.9C262.6,236.9 251.4,252.4 235.5,252.4C234.4,252.4 233.4,251.6 233.1,250.6L213.7,187.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M366.7,138.8L394.9,222C400.1,237.4 388.6,253.3 372.3,253.3C370.9,253.3 369.7,252.4 369.3,251.1L334.1,136.4L363.5,136.5C364.9,136.5 366.3,137.4 366.7,138.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M310.3,153.8L277.4,249.4C276.8,251.2 278.1,253.1 280,253.1C309.4,253.2 335.5,234.1 344.2,206.1L364.5,141.2C365.2,138.9 363.4,136.5 361,136.5L334.7,136.4C323.7,136.4 313.9,143.3 310.3,153.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M333.6,137C323.3,137.5 314.2,144.1 310.9,154L278,249.6C277.5,251 278.6,252.5 280,252.5C309.2,252.5 335,233.6 343.6,205.9L349.2,187.9L333.6,137ZM333.2,135.8C322.6,136.4 313.2,143.4 309.7,153.5L276.8,249.2C276.1,251.4 277.7,253.7 280,253.7C309.7,253.8 336,234.5 344.8,206.3L349.9,190L368.7,251.2C369.2,252.8 370.7,253.9 372.3,253.9C389,254 400.9,237.6 395.5,221.8L367.3,138.6C366.8,137 365.2,135.8 363.5,135.8L333.2,135.8L333.2,135.8ZM361,137.1L334.9,137L349.9,185.8L363.9,141C364.5,139.1 363,137.1 361,137.1ZM350.5,187.9L365,141.4C365.5,139.8 365.1,138.2 364,137.1C365,137.3 365.8,138 366.1,139L394.3,222.2C399.4,237.2 388.2,252.7 372.3,252.7C371.2,252.7 370.2,252 369.9,250.9L350.5,187.9Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M503.5,139.1L531.7,222.3C536.9,237.7 525.4,253.7 509.1,253.6C507.7,253.6 506.5,252.7 506.1,251.4L470.9,136.7L500.3,136.8C501.7,136.8 503.1,137.7 503.5,139.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M447.1,154.1L414.2,249.8C413.6,251.5 414.9,253.4 416.8,253.4C446.2,253.5 472.3,234.4 481,206.4L501.3,141.5C502,139.2 500.2,136.8 497.8,136.8L471.5,136.7C460.5,136.7 450.7,143.7 447.1,154.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M470.4,137.4C460.1,137.8 451,144.5 447.7,154.3L414.8,250C414.3,251.3 415.3,252.8 416.8,252.8C446,252.9 471.8,234 480.4,206.2L486,188.2L470.4,137.4ZM470,136.1C459.4,136.7 450,143.7 446.5,153.9L413.6,249.6C412.9,251.7 414.5,254 416.8,254C446.5,254.1 472.8,234.9 481.6,206.6L486.7,190.3L505.5,251.6C506,253.2 507.5,254.2 509.1,254.2C525.8,254.3 537.7,237.9 532.3,222.1L504.1,138.9C503.5,137.3 502,136.2 500.3,136.2L470,136.1L470,136.1ZM497.8,137.4L471.7,137.3L486.7,186.1L500.7,141.3C501.3,139.4 499.8,137.4 497.8,137.4ZM487.3,188.2L501.9,141.7C502.3,140.1 501.9,138.5 500.8,137.5C501.8,137.7 502.6,138.4 503,139.3L531.1,222.5C536.2,237.5 525,253 509.1,253C508,253 507,252.3 506.7,251.2L487.3,188.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M640.3,139.4L668.5,222.6C673.7,238 662.2,254 645.9,253.9C644.5,253.9 643.3,253 642.9,251.7L607.7,137L637,137.1C638.5,137.1 639.8,138 640.3,139.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M583.9,154.4L551,250.1C550.4,251.9 551.7,253.7 553.6,253.7C583,253.8 609.1,234.7 617.8,206.7L638,141.8C638.8,139.5 637,137.1 634.5,137.1L608.3,137C597.3,137 587.5,144 583.9,154.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M607.2,137.7C596.9,138.1 587.8,144.8 584.5,154.6L551.6,250.3C551.1,251.7 552.1,253.1 553.6,253.1C582.8,253.2 608.6,234.3 617.2,206.5L622.8,188.5L607.2,137.7ZM606.8,136.4C596.1,137 586.8,144 583.3,154.2L550.4,249.9C549.7,252.1 551.3,254.3 553.6,254.3C583.3,254.4 609.6,235.2 618.4,206.9L623.5,190.6L642.3,251.9C642.8,253.5 644.3,254.6 645.9,254.6C662.6,254.6 674.4,238.2 669.1,222.4L640.9,139.3C640.3,137.6 638.8,136.5 637,136.5L606.8,136.4L606.8,136.4ZM634.5,137.7L608.5,137.6L623.5,186.4L637.5,141.7C638.1,139.7 636.6,137.7 634.5,137.7ZM624.1,188.5L638.6,142C639.1,140.5 638.7,138.8 637.6,137.8C638.6,138 639.4,138.7 639.7,139.6L667.9,222.8C673,237.8 661.8,253.4 645.9,253.3C644.8,253.3 643.8,252.6 643.5,251.5L624.1,188.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M777.1,139.8L805.3,222.9C810.5,238.3 799,254.3 782.7,254.3C781.3,254.3 780.1,253.3 779.7,252L744.4,137.3L773.8,137.4C775.3,137.4 776.7,138.4 777.1,139.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M720.7,154.7L687.8,250.4C687.2,252.2 688.5,254 690.4,254C719.8,254.1 745.9,235 754.6,207L774.8,142.2C775.6,139.8 773.8,137.4 771.3,137.4L745.1,137.3C734.1,137.3 724.3,144.3 720.7,154.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M744,138C733.7,138.4 724.6,145.1 721.3,154.9L688.4,250.6C687.9,252 688.9,253.4 690.4,253.4C719.6,253.5 745.3,234.6 754,206.8L759.6,188.9L744,138ZM743.6,136.8C732.9,137.3 723.6,144.3 720.1,154.5L687.2,250.2C686.5,252.4 688.1,254.7 690.4,254.7C720.1,254.7 746.4,235.5 755.2,207.2L760.3,191L779.1,252.2C779.6,253.8 781,254.9 782.7,254.9C799.4,254.9 811.2,238.5 805.9,222.7L777.7,139.6C777.2,137.9 775.6,136.8 773.8,136.8L743.6,136.7L743.6,136.8ZM771.3,138L745.3,138L760.3,186.8L774.3,142C774.9,140 773.4,138 771.3,138ZM760.9,188.9L775.4,142.4C775.9,140.8 775.5,139.2 774.4,138.1C775.4,138.3 776.2,139 776.5,140L804.7,223.1C809.8,238.1 798.6,253.7 782.7,253.6C781.6,253.6 780.6,252.9 780.3,251.8L760.9,188.9Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M913.9,140.1L942.1,223.3C947.3,238.7 935.8,254.6 919.5,254.6C918.1,254.6 916.9,253.7 916.5,252.3L881.2,137.7L910.6,137.7C912.1,137.7 913.4,138.7 913.9,140.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M857.5,155L824.6,250.7C824,252.5 825.3,254.4 827.2,254.4C856.6,254.4 882.7,235.4 891.4,207.3L911.6,142.5C912.4,140.1 910.6,137.7 908.1,137.7L881.9,137.7C870.9,137.6 861,144.6 857.5,155Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M880.8,138.3C870.5,138.7 861.4,145.4 858.1,155.2L825.2,250.9C824.7,252.3 825.7,253.7 827.2,253.7C856.4,253.8 882.2,234.9 890.8,207.2L896.4,189.2L880.8,138.3ZM880.4,137.1C869.7,137.7 860.4,144.6 856.9,154.8L824,250.5C823.3,252.7 824.9,255 827.2,255C856.9,255 883.2,235.8 892,207.5L897.1,191.3L915.9,252.5C916.4,254.1 917.8,255.2 919.5,255.2C936.2,255.2 948,238.9 942.7,223.1L914.5,139.9C914,138.2 912.4,137.1 910.6,137.1L880.4,137L880.4,137.1ZM908.1,138.3L882.1,138.3L897.1,187.1L911,142.3C911.7,140.3 910.2,138.3 908.1,138.3ZM897.7,189.2L912.2,142.7C912.7,141.1 912.3,139.5 911.2,138.4C912.2,138.6 913,139.3 913.3,140.3L941.5,223.4C946.6,238.4 935.4,254 919.5,254C918.4,254 917.4,253.2 917.1,252.2L897.7,189.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1050.7,140.4L1078.9,223.6C1084.1,239 1072.6,254.9 1056.3,254.9C1054.9,254.9 1053.7,254 1053.3,252.6L1018,138L1047.4,138C1048.9,138.1 1050.2,139 1050.7,140.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M994.3,155.3L961.4,251C960.8,252.8 962.1,254.7 964,254.7C993.4,254.7 1019.5,235.7 1028.2,207.7L1048.4,142.8C1049.2,140.4 1047.4,138 1044.9,138L1018.7,138C1007.7,138 997.8,144.9 994.3,155.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1017.6,138.6C1007.3,139 998.2,145.7 994.9,155.5L962,251.2C961.5,252.6 962.5,254.1 964,254.1C993.2,254.1 1018.9,235.2 1027.6,207.5L1033.2,189.5L1017.6,138.6ZM1017.2,137.4C1006.5,138 997.2,144.9 993.7,155.1L960.8,250.8C960,253 961.7,255.3 964,255.3C993.7,255.4 1020,236.1 1028.8,207.8L1033.9,191.6L1052.7,252.8C1053.2,254.4 1054.6,255.5 1056.3,255.5C1073,255.5 1084.8,239.2 1079.5,223.4L1051.3,140.2C1050.7,138.5 1049.2,137.4 1047.4,137.4L1017.2,137.4L1017.2,137.4ZM1044.9,138.7L1018.9,138.6L1033.9,187.4L1047.8,142.6C1048.4,140.7 1047,138.7 1044.9,138.7ZM1034.5,189.5L1049,143C1049.5,141.4 1049.1,139.8 1048,138.7C1049,138.9 1049.8,139.6 1050.1,140.6L1078.3,223.8C1083.4,238.8 1072.2,254.3 1056.3,254.3C1055.2,254.3 1054.2,253.5 1053.9,252.5L1034.5,189.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1187.5,140.7L1215.7,223.9C1220.9,239.3 1209.4,255.2 1193.1,255.2C1191.7,255.2 1190.5,254.3 1190.1,253L1154.8,138.3L1184.2,138.4C1185.7,138.4 1187,139.3 1187.5,140.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1131.1,155.7L1098.2,251.3C1097.6,253.1 1098.9,255 1100.8,255C1130.2,255.1 1156.3,236 1165,208L1185.2,143.1C1186,140.8 1184.2,138.4 1181.7,138.4L1155.5,138.3C1144.5,138.3 1134.6,145.3 1131.1,155.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1154.4,138.9C1144.1,139.4 1135,146.1 1131.7,155.9L1098.8,251.6C1098.3,252.9 1099.3,254.4 1100.8,254.4C1129.9,254.4 1155.7,235.5 1164.4,207.8L1170,189.8L1154.4,138.9ZM1154,137.7C1143.3,138.3 1134,145.3 1130.5,155.5L1097.6,251.2C1096.8,253.3 1098.5,255.6 1100.8,255.6C1130.5,255.7 1156.8,236.4 1165.6,208.2L1170.7,191.9L1189.5,253.2C1190,254.7 1191.4,255.8 1193.1,255.8C1209.8,255.9 1221.6,239.5 1216.3,223.7L1188.1,140.5C1187.5,138.9 1186,137.7 1184.2,137.7L1154,137.7L1154,137.7ZM1181.7,139L1155.7,138.9L1170.7,187.7L1184.6,142.9C1185.3,141 1183.8,139 1181.7,139ZM1171.3,189.8L1185.8,143.3C1186.3,141.7 1185.8,140.1 1184.8,139C1185.8,139.2 1186.6,140 1186.9,140.9L1215.1,224.1C1220.2,239.1 1209,254.6 1193.1,254.6C1192,254.6 1191,253.9 1190.7,252.8L1171.3,189.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1324.3,141L1352.5,224.2C1357.7,239.6 1346.2,255.6 1329.9,255.5C1328.5,255.5 1327.3,254.6 1326.9,253.3L1291.6,138.6L1321,138.7C1322.5,138.7 1323.8,139.6 1324.3,141Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1267.9,156L1235,251.7C1234.4,253.5 1235.7,255.3 1237.6,255.3C1267,255.4 1293.1,236.3 1301.8,208.3L1322,143.4C1322.8,141.1 1321,138.7 1318.5,138.7L1292.3,138.6C1281.3,138.6 1271.4,145.6 1267.9,156Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1291.2,139.3C1280.9,139.7 1271.8,146.4 1268.4,156.2L1235.6,251.9C1235.1,253.2 1236.1,254.7 1237.6,254.7C1266.8,254.8 1292.5,235.9 1301.2,208.1L1306.8,190.1L1291.2,139.3ZM1290.8,138C1280.1,138.6 1270.8,145.6 1267.3,155.8L1234.4,251.5C1233.7,253.7 1235.3,255.9 1237.6,255.9C1267.3,256 1293.6,236.8 1302.4,208.5L1307.4,192.2L1326.3,253.5C1326.8,255.1 1328.2,256.1 1329.9,256.1C1346.6,256.2 1358.4,239.8 1353.1,224L1324.9,140.8C1324.3,139.2 1322.8,138.1 1321,138.1L1290.8,138L1290.8,138ZM1318.5,139.3L1292.5,139.2L1307.5,188L1321.4,143.3C1322,141.3 1320.6,139.3 1318.5,139.3ZM1308.1,190.1L1322.6,143.6C1323.1,142 1322.6,140.4 1321.6,139.4C1322.6,139.6 1323.4,140.3 1323.7,141.2L1351.9,224.4C1357,239.4 1345.8,254.9 1329.9,254.9C1328.8,254.9 1327.8,254.2 1327.5,253.1L1308.1,190.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M92.9,272.9L121,356.1C126.3,371.5 114.8,387.4 98.5,387.4C97.1,387.4 95.8,386.5 95.4,385.2L60.2,270.5L89.6,270.6C91.1,270.6 92.4,271.5 92.9,272.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M36.4,287.9L3.5,383.6C2.9,385.3 4.3,387.2 6.1,387.2C35.6,387.3 61.6,368.2 70.3,340.2L90.6,275.3C91.3,273 89.6,270.6 87.1,270.6L60.8,270.5C49.8,270.5 40,277.5 36.4,287.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M59.7,271.1C49.4,271.6 40.4,278.3 37,288.1L4.1,383.8C3.7,385.1 4.7,386.6 6.1,386.6C35.3,386.6 61.1,367.8 69.8,340L75.4,322L59.7,271.1ZM59.4,269.9C48.7,270.5 39.3,277.5 35.8,287.7L3,383.4C2.2,385.5 3.8,387.8 6.1,387.8C35.8,387.9 62.1,368.6 70.9,340.4L76,324.1L94.8,385.4C95.3,386.9 96.8,388 98.4,388C115.2,388.1 127,371.7 121.6,355.9L93.4,272.7C92.9,271.1 91.3,270 89.6,270L59.3,269.9L59.4,269.9ZM87.1,271.2L61,271.1L76,319.9L90,275.1C90.6,273.2 89.1,271.2 87.1,271.2ZM76.7,322L91.2,275.5C91.7,273.9 91.2,272.3 90.2,271.2C91.1,271.5 91.9,272.2 92.3,273.1L120.4,356.3C125.5,371.3 114.3,386.8 98.5,386.8C97.3,386.8 96.3,386.1 96,385L76.7,322Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M229.7,273.2L257.8,356.4C263.1,371.8 251.5,387.8 235.2,387.7C233.9,387.7 232.6,386.8 232.2,385.5L197,270.8L226.4,270.9C227.9,270.9 229.2,271.8 229.7,273.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M173.2,288.2L140.3,383.9C139.7,385.7 141.1,387.5 142.9,387.5C172.4,387.6 198.4,368.5 207.1,340.5L227.4,275.6C228.1,273.3 226.4,270.9 223.9,270.9L197.6,270.8C186.6,270.8 176.8,277.8 173.2,288.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M196.5,271.5C186.2,271.9 177.2,278.6 173.8,288.4L140.9,384.1C140.4,385.5 141.5,386.9 142.9,386.9C172.1,387 197.9,368.1 206.6,340.3L212.2,322.3L196.5,271.5ZM196.1,270.2C185.5,270.8 176.1,277.8 172.6,288L139.8,383.7C139,385.9 140.6,388.1 142.9,388.1C172.6,388.2 198.9,369 207.7,340.7L212.8,324.4L231.6,385.7C232.1,387.3 233.6,388.3 235.2,388.3C252,388.4 263.8,372 258.4,356.2L230.2,273C229.7,271.4 228.1,270.3 226.4,270.3L196.1,270.2L196.1,270.2ZM223.9,271.5L197.8,271.4L212.8,320.2L226.8,275.5C227.4,273.5 225.9,271.5 223.9,271.5ZM213.5,322.3L228,275.8C228.5,274.2 228,272.6 227,271.6C227.9,271.8 228.7,272.5 229.1,273.4L257.2,356.6C262.3,371.6 251.1,387.1 235.2,387.1C234.1,387.1 233.1,386.4 232.8,385.3L213.5,322.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M366.5,273.6L394.6,356.7C399.8,372.1 388.3,388.1 372,388C370.6,388 369.4,387.1 369,385.8L333.8,271.1L363.2,271.2C364.7,271.2 366,272.2 366.5,273.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M310,288.5L277.1,384.2C276.5,386 277.8,387.8 279.7,387.8C309.2,387.9 335.2,368.8 343.9,340.8L364.2,276C364.9,273.6 363.1,271.2 360.7,271.2L334.4,271.1C323.4,271.1 313.6,278.1 310,288.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M333.3,271.8C323,272.2 314,278.9 310.6,288.7L277.7,384.4C277.2,385.8 278.3,387.2 279.7,387.2C308.9,387.3 334.7,368.4 343.3,340.6L349,322.7L333.3,271.8ZM332.9,270.6C322.3,271.1 312.9,278.1 309.4,288.3L276.5,384C275.8,386.2 277.4,388.4 279.7,388.5C309.4,388.5 335.7,369.3 344.5,341L349.6,324.7L368.4,386C368.9,387.6 370.4,388.7 372,388.7C388.8,388.7 400.6,372.3 395.2,356.5L367,273.4C366.5,271.7 364.9,270.6 363.2,270.6L332.9,270.5L332.9,270.6ZM360.7,271.8L334.6,271.8L349.6,320.6L363.6,275.8C364.2,273.8 362.7,271.8 360.7,271.8ZM350.3,322.7L364.8,276.1C365.3,274.6 364.8,273 363.7,271.9C364.7,272.1 365.5,272.8 365.9,273.8L394,356.9C399.1,371.9 387.9,387.5 372,387.4C370.9,387.4 369.9,386.7 369.6,385.6L350.3,322.7Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M503.3,273.9L531.4,357C536.6,372.4 525.1,388.4 508.8,388.4C507.4,388.4 506.2,387.5 505.8,386.1L470.6,271.5L500,271.5C501.5,271.5 502.8,272.5 503.3,273.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M446.8,288.8L413.9,384.5C413.3,386.3 414.6,388.1 416.5,388.1C446,388.2 472,369.1 480.7,341.1L501,276.3C501.7,273.9 499.9,271.5 497.5,271.5L471.2,271.5C460.2,271.4 450.4,278.4 446.8,288.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M470.1,272.1C459.8,272.5 450.8,279.2 447.4,289L414.5,384.7C414,386.1 415.1,387.5 416.5,387.5C445.7,387.6 471.5,368.7 480.1,340.9L485.8,323L470.1,272.1ZM469.7,270.9C459.1,271.4 449.7,278.4 446.2,288.6L413.3,384.3C412.6,386.5 414.2,388.8 416.5,388.8C446.2,388.8 472.5,369.6 481.3,341.3L486.4,325.1L505.2,386.3C505.7,387.9 507.2,389 508.8,389C525.6,389 537.4,372.7 532,356.8L503.8,273.7C503.3,272 501.7,270.9 500,270.9L469.7,270.8L469.7,270.9ZM497.5,272.1L471.4,272.1L486.4,320.9L500.4,276.1C501,274.1 499.5,272.1 497.5,272.1ZM487,323L501.6,276.5C502,274.9 501.6,273.3 500.5,272.2C501.5,272.4 502.3,273.1 502.7,274.1L530.8,357.2C535.9,372.2 524.7,387.8 508.8,387.7C507.7,387.7 506.7,387 506.4,385.9L487,323Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M640,274.2L668.2,357.4C673.4,372.8 661.9,388.7 645.6,388.7C644.2,388.7 643,387.8 642.6,386.4L607.4,271.8L636.8,271.8C638.2,271.8 639.6,272.8 640,274.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M583.6,289.1L550.7,384.8C550.1,386.6 551.4,388.5 553.3,388.5C582.8,388.5 608.8,369.5 617.5,341.4L637.8,276.6C638.5,274.2 636.7,271.8 634.3,271.8L608,271.8C597,271.7 587.2,278.7 583.6,289.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M606.9,272.4C596.6,272.8 587.6,279.5 584.2,289.3L551.3,385C550.8,386.4 551.9,387.8 553.3,387.8C582.5,387.9 608.3,369 616.9,341.3L622.5,323.3L606.9,272.4ZM606.5,271.2C595.9,271.8 586.5,278.7 583,288.9L550.1,384.6C549.4,386.8 551,389.1 553.3,389.1C583,389.2 609.3,369.9 618.1,341.6L623.2,325.4L642,386.6C642.5,388.2 644,389.3 645.6,389.3C662.3,389.3 674.2,373 668.8,357.2L640.6,274C640.1,272.3 638.5,271.2 636.8,271.2L606.5,271.1L606.5,271.2ZM634.3,272.5L608.2,272.4L623.2,321.2L637.2,276.4C637.8,274.5 636.3,272.5 634.3,272.5ZM623.8,323.3L638.4,276.8C638.8,275.2 638.4,273.6 637.3,272.5C638.3,272.7 639.1,273.4 639.5,274.4L667.6,357.6C672.7,372.6 661.5,388.1 645.6,388.1C644.5,388.1 643.5,387.3 643.2,386.3L623.8,323.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M776.8,274.5L805,357.7C810.2,373.1 798.7,389 782.4,389C781,389 779.8,388.1 779.4,386.8L744.2,272.1L773.5,272.2C775,272.2 776.4,273.1 776.8,274.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M720.4,289.4L687.5,385.1C686.9,386.9 688.2,388.8 690.1,388.8C719.5,388.8 745.6,369.8 754.3,341.8L774.6,276.9C775.3,274.5 773.5,272.2 771,272.1L744.8,272.1C733.8,272.1 724,279 720.4,289.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M743.7,272.7C733.4,273.2 724.3,279.8 721,289.6L688.1,385.3C687.6,386.7 688.7,388.2 690.1,388.2C719.3,388.2 745.1,369.3 753.7,341.6L759.3,323.6L743.7,272.7ZM743.3,271.5C732.7,272.1 723.3,279.1 719.8,289.2L686.9,384.9C686.2,387.1 687.8,389.4 690.1,389.4C719.8,389.5 746.1,370.2 754.9,341.9L760,325.7L778.8,386.9C779.3,388.5 780.8,389.6 782.4,389.6C799.2,389.7 811,373.3 805.6,357.5L777.4,274.3C776.9,272.7 775.3,271.5 773.6,271.5L743.3,271.5L743.3,271.5ZM771,272.8L745,272.7L760,321.5L774,276.7C774.6,274.8 773.1,272.8 771,272.8ZM760.6,323.6L775.2,277.1C775.7,275.5 775.2,273.9 774.1,272.8C775.1,273 775.9,273.7 776.3,274.7L804.4,357.9C809.5,372.9 798.3,388.4 782.4,388.4C781.3,388.4 780.3,387.6 780,386.6L760.6,323.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M913.6,274.8L941.8,358C947,373.4 935.5,389.4 919.2,389.3C917.8,389.3 916.6,388.4 916.2,387.1L881,272.4L910.3,272.5C911.8,272.5 913.2,273.4 913.6,274.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M857.2,289.8L824.3,385.5C823.7,387.2 825,389.1 826.9,389.1C856.3,389.2 882.4,370.1 891.1,342.1L911.4,277.2C912.1,274.9 910.3,272.5 907.8,272.5L881.6,272.4C870.6,272.4 860.8,279.4 857.2,289.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M880.5,273C870.2,273.5 861.1,280.2 857.8,290L824.9,385.7C824.4,387 825.5,388.5 826.9,388.5C856.1,388.5 881.9,369.7 890.5,341.9L896.1,323.9L880.5,273ZM880.1,271.8C869.5,272.4 860.1,279.4 856.6,289.6L823.7,385.3C823,387.4 824.6,389.7 826.9,389.7C856.6,389.8 882.9,370.5 891.7,342.3L896.8,326L915.6,387.3C916.1,388.8 917.6,389.9 919.2,389.9C935.9,390 947.8,373.6 942.4,357.8L914.2,274.6C913.7,273 912.1,271.9 910.3,271.9L880.1,271.8L880.1,271.8ZM907.8,273.1L881.8,273L896.8,321.8L910.8,277C911.4,275.1 909.9,273.1 907.8,273.1ZM897.4,323.9L911.9,277.4C912.4,275.8 912,274.2 910.9,273.2C911.9,273.4 912.7,274.1 913,275L941.2,358.2C946.3,373.2 935.1,388.7 919.2,388.7C918.1,388.7 917.1,388 916.8,386.9L897.4,323.9Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1050.4,275.1L1078.6,358.3C1083.8,373.7 1072.3,389.7 1056,389.6C1054.6,389.6 1053.4,388.7 1053,387.4L1017.7,272.7L1047.2,272.8C1048.6,272.8 1049.9,273.7 1050.4,275.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M994,290.1L961.1,385.8C960.5,387.6 961.8,389.4 963.7,389.4C993.1,389.5 1019.2,370.4 1027.9,342.4L1048.2,277.5C1048.9,275.2 1047.1,272.8 1044.7,272.8L1018.4,272.7C1007.4,272.7 997.6,279.7 994,290.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1017.3,273.4C1007,273.8 997.9,280.5 994.6,290.3L961.7,386C961.2,387.4 962.2,388.8 963.7,388.8C992.9,388.9 1018.7,370 1027.3,342.2L1032.9,324.2L1017.3,273.4ZM1016.9,272.1C1006.2,272.7 996.9,279.7 993.4,289.9L960.5,385.6C959.8,387.8 961.4,390 963.7,390C993.4,390.1 1019.7,370.9 1028.5,342.6L1033.6,326.3L1052.4,387.6C1052.9,389.2 1054.3,390.3 1056,390.3C1072.7,390.3 1084.5,373.9 1079.2,358.1L1051,274.9C1050.4,273.3 1048.9,272.2 1047.1,272.2L1016.9,272.1L1016.9,272.1ZM1044.6,273.4L1018.6,273.3L1033.6,322.1L1047.6,277.4C1048.2,275.4 1046.7,273.4 1044.6,273.4ZM1034.2,324.2L1048.7,277.7C1049.2,276.1 1048.8,274.5 1047.7,273.5C1048.7,273.7 1049.5,274.4 1049.8,275.3L1078,358.5C1083.1,373.5 1071.9,389.1 1056,389C1054.9,389 1053.9,388.3 1053.6,387.2L1034.2,324.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1187.2,275.5L1215.4,358.6C1220.6,374 1209.1,390 1192.8,390C1191.4,389.9 1190.2,389 1189.8,387.7L1154.5,273L1183.9,273.1C1185.4,273.1 1186.7,274.1 1187.2,275.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1130.8,290.4L1097.9,386.1C1097.3,387.9 1098.6,389.7 1100.5,389.7C1129.9,389.8 1156,370.7 1164.7,342.7L1184.9,277.9C1185.7,275.5 1183.9,273.1 1181.4,273.1L1155.2,273C1144.2,273 1134.3,280 1130.8,290.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1154.1,273.7C1143.8,274.1 1134.7,280.8 1131.4,290.6L1098.5,386.3C1098,387.7 1099,389.1 1100.5,389.1C1129.7,389.2 1155.4,370.3 1164.1,342.5L1169.7,324.6L1154.1,273.7ZM1153.7,272.5C1143,273 1133.7,280 1130.2,290.2L1097.3,385.9C1096.6,388.1 1098.2,390.3 1100.5,390.4C1130.2,390.4 1156.5,371.2 1165.3,342.9L1170.4,326.6L1189.2,387.9C1189.7,389.5 1191.2,390.6 1192.8,390.6C1209.5,390.6 1221.3,374.2 1216,358.4L1187.8,275.3C1187.3,273.6 1185.7,272.5 1183.9,272.5L1153.7,272.4L1153.7,272.5ZM1181.4,273.7L1155.4,273.7L1170.4,322.5L1184.3,277.7C1185,275.7 1183.5,273.7 1181.4,273.7ZM1171,324.6L1185.5,278C1186,276.5 1185.6,274.9 1184.5,273.8C1185.5,274 1186.3,274.7 1186.6,275.7L1214.8,358.8C1219.9,373.8 1208.7,389.4 1192.8,389.3C1191.7,389.3 1190.7,388.6 1190.4,387.5L1171,324.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1324,275.8L1352.2,358.9C1357.4,374.3 1345.9,390.3 1329.6,390.3C1328.2,390.3 1327,389.4 1326.6,388L1291.3,273.4L1320.7,273.4C1322.2,273.4 1323.5,274.4 1324,275.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1267.6,290.7L1234.7,386.4C1234.1,388.2 1235.4,390 1237.3,390.1C1266.7,390.1 1292.8,371.1 1301.5,343L1321.7,278.2C1322.5,275.8 1320.7,273.4 1318.2,273.4L1292,273.4C1281,273.3 1271.2,280.3 1267.6,290.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1290.9,274C1280.6,274.4 1271.5,281.1 1268.2,290.9L1235.3,386.6C1234.8,388 1235.8,389.4 1237.3,389.4C1266.5,389.5 1292.3,370.6 1300.9,342.8L1306.5,324.9L1290.9,274ZM1290.5,272.8C1279.8,273.3 1270.5,280.3 1267,290.5L1234.1,386.2C1233.4,388.4 1235,390.7 1237.3,390.7C1267,390.7 1293.3,371.5 1302.1,343.2L1307.2,327L1326,388.2C1326.5,389.8 1327.9,390.9 1329.6,390.9C1346.3,390.9 1358.1,374.6 1352.8,358.7L1324.6,275.6C1324,273.9 1322.5,272.8 1320.7,272.8L1290.5,272.7L1290.5,272.8ZM1318.2,274L1292.2,274L1307.2,322.8L1321.2,278C1321.8,276 1320.3,274 1318.2,274ZM1307.8,324.9L1322.3,278.4C1322.8,276.8 1322.3,275.2 1321.3,274.1C1322.3,274.3 1323.1,275 1323.4,276L1351.6,359.1C1356.7,374.1 1345.5,389.7 1329.6,389.6C1328.5,389.6 1327.5,388.9 1327.2,387.9L1307.8,324.9Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M92.6,407.7L120.8,490.8C126,506.2 114.5,522.2 98.2,522.2C96.8,522.2 95.5,521.3 95.1,519.9L59.9,405.2L89.3,405.3C90.8,405.3 92.1,406.3 92.6,407.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M36.1,422.6L3.3,518.3C2.6,520.1 4,521.9 5.9,521.9C35.3,522 61.3,502.9 70.1,474.9L90.3,410.1C91,407.7 89.3,405.3 86.8,405.3L60.6,405.2C49.5,405.2 39.7,412.2 36.1,422.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M59.4,405.9C49.1,406.3 40.1,413 36.7,422.8L3.8,518.5C3.4,519.9 4.4,521.3 5.9,521.3C35,521.4 60.8,502.5 69.5,474.7L75.1,456.8L59.4,405.9ZM59.1,404.7C48.4,405.2 39,412.2 35.5,422.4L2.7,518.1C1.9,520.3 3.5,522.6 5.9,522.6C35.6,522.6 61.8,503.4 70.7,475.1L75.7,458.9L94.5,520.1C95,521.7 96.5,522.8 98.2,522.8C114.9,522.8 126.7,506.5 121.3,490.6L93.2,407.5C92.6,405.8 91,404.7 89.3,404.7L59.1,404.6L59.1,404.7ZM86.8,405.9L60.7,405.9L75.7,454.7L89.7,409.9C90.3,407.9 88.9,405.9 86.8,405.9ZM76.4,456.8L90.9,410.3C91.4,408.7 90.9,407.1 89.9,406C90.8,406.2 91.7,406.9 92,407.9L120.2,491C125.2,506 114,521.6 98.2,521.5C97,521.5 96.1,520.8 95.7,519.7L76.4,456.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M229.4,408L257.5,491.1C262.8,506.6 251.3,522.5 235,522.5C233.6,522.5 232.3,521.6 231.9,520.2L196.7,405.6L226.1,405.6C227.6,405.6 228.9,406.6 229.4,408Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M172.9,422.9L140.1,518.6C139.4,520.4 140.8,522.3 142.7,522.3C172.1,522.3 198.1,503.3 206.9,475.2L227.1,410.4C227.8,408 226.1,405.6 223.6,405.6L197.3,405.6C186.3,405.5 176.5,412.5 172.9,422.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M196.2,406.2C185.9,406.6 176.9,413.3 173.5,423.1L140.6,518.8C140.2,520.2 141.2,521.6 142.7,521.6C171.8,521.7 197.6,502.8 206.3,475L211.9,457.1L196.2,406.2ZM195.9,405C185.2,405.6 175.8,412.5 172.3,422.7L139.5,518.4C138.7,520.6 140.3,522.9 142.7,522.9C172.3,523 198.6,503.7 207.4,475.4L212.5,459.2L231.3,520.4C231.8,522 233.3,523.1 235,523.1C251.7,523.1 263.5,506.8 258.1,491L230,407.8C229.4,406.1 227.8,405 226.1,405L195.9,404.9L195.9,405ZM223.6,406.2L197.5,406.2L212.5,455L226.5,410.2C227.1,408.2 225.6,406.3 223.6,406.2ZM213.2,457.1L227.7,410.6C228.2,409 227.7,407.4 226.7,406.3C227.6,406.5 228.5,407.2 228.8,408.2L257,491.4C262,506.4 250.8,521.9 235,521.9C233.8,521.8 232.9,521.1 232.5,520.1L213.2,457.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M366.2,408.3L394.3,491.5C399.6,506.9 388.1,522.8 371.8,522.8C370.4,522.8 369.1,521.9 368.7,520.5L333.5,405.9L362.9,405.9C364.4,406 365.7,406.9 366.2,408.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M309.7,423.2L276.8,518.9C276.2,520.7 277.6,522.6 279.4,522.6C308.9,522.7 334.9,503.6 343.7,475.5L363.9,410.7C364.6,408.3 362.9,405.9 360.4,405.9L334.1,405.9C323.1,405.9 313.3,412.8 309.7,423.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M333,406.5C322.7,407 313.7,413.6 310.3,423.4L277.4,519.1C277,520.5 278,522 279.4,522C308.6,522 334.4,503.1 343.1,475.4L348.7,457.4L333,406.5ZM332.7,405.3C322,405.9 312.6,412.9 309.1,423L276.3,518.7C275.5,520.9 277.1,523.2 279.4,523.2C309.1,523.3 335.4,504 344.2,475.7L349.3,459.5L368.1,520.7C368.6,522.3 370.1,523.4 371.8,523.4C388.5,523.5 400.3,507.1 394.9,491.3L366.8,408.1C366.2,406.5 364.6,405.3 362.9,405.3L332.6,405.3L332.7,405.3ZM360.4,406.6L334.3,406.5L349.3,455.3L363.3,410.5C363.9,408.6 362.4,406.6 360.4,406.6ZM350,457.4L364.5,410.9C365,409.3 364.5,407.7 363.5,406.6C364.4,406.8 365.3,407.5 365.6,408.5L393.8,491.7C398.8,506.7 387.6,522.2 371.8,522.2C370.6,522.2 369.6,521.4 369.3,520.4L350,457.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M503,408.6L531.1,491.8C536.4,507.2 524.8,523.2 508.5,523.1C507.2,523.1 505.9,522.2 505.5,520.9L470.3,406.2L499.7,406.3C501.2,406.3 502.5,407.2 503,408.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M446.5,423.6L413.6,519.3C413,521 414.4,522.9 416.2,522.9C445.7,523 471.7,503.9 480.5,475.9L500.7,411C501.4,408.7 499.6,406.3 497.2,406.3L470.9,406.2C459.9,406.2 450.1,413.2 446.5,423.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M469.8,406.8C459.5,407.3 450.5,414 447.1,423.8L414.2,519.5C413.8,520.8 414.8,522.3 416.2,522.3C445.4,522.3 471.2,503.5 479.9,475.7L485.5,457.7L469.8,406.8ZM469.5,405.6C458.8,406.2 449.4,413.2 445.9,423.4L413.1,519C412.3,521.2 413.9,523.5 416.2,523.5C445.9,523.6 472.2,504.3 481,476.1L486.1,459.8L504.9,521C505.4,522.6 506.9,523.7 508.5,523.7C525.3,523.8 537.1,507.4 531.7,491.6L503.5,408.4C503,406.8 501.4,405.7 499.7,405.6L469.4,405.6L469.5,405.6ZM497.2,406.9L471.1,406.8L486.1,455.6L500.1,410.8C500.7,408.9 499.2,406.9 497.2,406.9ZM486.8,457.7L501.3,411.2C501.8,409.6 501.3,408 500.3,406.9C501.2,407.2 502,407.9 502.4,408.8L530.5,492C535.6,507 524.4,522.5 508.5,522.5C507.4,522.5 506.4,521.8 506.1,520.7L486.8,457.7Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M639.8,408.9L667.9,492.1C673.2,507.5 661.6,523.5 645.3,523.4C644,523.4 642.7,522.5 642.3,521.2L607.1,406.5L636.5,406.6C638,406.6 639.3,407.5 639.8,408.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M583.3,423.9L550.4,519.6C549.8,521.3 551.2,523.2 553,523.2C582.5,523.3 608.5,504.2 617.2,476.2L637.5,411.3C638.2,409 636.5,406.6 634,406.6L607.7,406.5C596.7,406.5 586.9,413.5 583.3,423.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M606.6,407.2C596.3,407.6 587.3,414.3 583.9,424.1L551,519.8C550.5,521.2 551.6,522.6 553,522.6C582.2,522.7 608,503.8 616.7,476L622.3,458L606.6,407.2ZM606.3,405.9C595.6,406.5 586.2,413.5 582.7,423.7L549.8,519.4C549.1,521.6 550.7,523.8 553,523.8C582.7,523.9 609,504.7 617.8,476.4L622.9,460.1L641.7,521.4C642.2,523 643.7,524 645.3,524C662.1,524.1 673.9,507.7 668.5,491.9L640.3,408.7C639.8,407.1 638.2,406 636.5,406L606.2,405.9L606.3,405.9ZM634,407.2L607.9,407.1L622.9,455.9L636.9,411.2C637.5,409.2 636,407.2 634,407.2ZM623.6,458L638.1,411.5C638.6,409.9 638.1,408.3 637.1,407.3C638,407.5 638.8,408.2 639.2,409.1L667.3,492.3C672.4,507.3 661.2,522.8 645.3,522.8C644.2,522.8 643.2,522.1 642.9,521L623.6,458Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M776.5,409.3L804.7,492.4C810,507.8 798.4,523.8 782.1,523.7C780.8,523.7 779.5,522.8 779.1,521.5L743.9,406.8L773.3,406.9C774.8,406.9 776.1,407.9 776.5,409.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M720.1,424.2L687.2,519.9C686.6,521.7 687.9,523.5 689.8,523.5C719.3,523.6 745.3,504.5 754,476.5L774.3,411.7C775,409.3 773.2,406.9 770.8,406.9L744.5,406.8C733.5,406.8 723.7,413.8 720.1,424.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M743.4,407.5C733.1,407.9 724.1,414.6 720.7,424.4L687.8,520.1C687.3,521.5 688.4,522.9 689.8,522.9C719,523 744.8,504.1 753.5,476.3L759,458.4L743.4,407.5ZM743,406.3C732.4,406.8 723,413.8 719.5,424L686.7,519.7C685.9,521.9 687.5,524.1 689.8,524.2C719.5,524.2 745.8,505 754.6,476.7L759.7,460.4L778.5,521.7C779,523.3 780.5,524.4 782.1,524.4C798.9,524.4 810.7,508 805.3,492.2L777.1,409.1C776.6,407.4 775,406.3 773.3,406.3L743,406.2L743,406.3ZM770.8,407.5L744.7,407.5L759.7,456.3L773.7,411.5C774.3,409.5 772.8,407.5 770.8,407.5ZM760.3,458.4L774.9,411.8C775.4,410.3 774.9,408.7 773.8,407.6C774.8,407.8 775.6,408.5 776,409.5L804.1,492.6C809.2,507.6 798,523.2 782.1,523.1C781,523.1 780,522.4 779.7,521.3L760.3,458.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M913.3,409.6L941.5,492.7C946.7,508.1 935.2,524.1 918.9,524.1C917.5,524.1 916.3,523.2 915.9,521.8L880.7,407.1L910.1,407.2C911.5,407.2 912.9,408.2 913.3,409.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M856.9,424.5L824,520.2C823.4,522 824.7,523.8 826.6,523.8C856.1,523.9 882.1,504.9 890.8,476.8L911.1,412C911.8,409.6 910,407.2 907.6,407.2L881.3,407.2C870.3,407.1 860.5,414.1 856.9,424.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M880.2,407.8C869.9,408.2 860.9,414.9 857.5,424.7L824.6,520.4C824.1,521.8 825.2,523.2 826.6,523.2C855.8,523.3 881.6,504.4 890.2,476.6L895.8,458.7L880.2,407.8ZM879.8,406.6C869.2,407.1 859.8,414.1 856.3,424.3L823.4,520C822.7,522.2 824.3,524.5 826.6,524.5C856.3,524.5 882.6,505.3 891.4,477L896.5,460.8L915.3,522C915.8,523.6 917.3,524.7 918.9,524.7C935.7,524.7 947.5,508.4 942.1,492.5L913.9,409.4C913.4,407.7 911.8,406.6 910.1,406.6L879.8,406.5L879.8,406.6ZM907.6,407.8L881.5,407.8L896.5,456.6L910.5,411.8C911.1,409.8 909.6,407.8 907.6,407.8ZM897.1,458.7L911.7,412.2C912.2,410.6 911.7,409 910.6,407.9C911.6,408.1 912.4,408.8 912.8,409.8L940.9,492.9C946,507.9 934.8,523.5 918.9,523.4C917.8,523.4 916.8,522.7 916.5,521.6L897.1,458.7Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1050.1,409.9L1078.3,493.1C1083.5,508.5 1072,524.4 1055.7,524.4C1054.3,524.4 1053.1,523.5 1052.7,522.1L1017.5,407.5L1046.9,407.5C1048.3,407.5 1049.7,408.5 1050.1,409.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M993.7,424.8L960.8,520.5C960.2,522.3 961.5,524.2 963.4,524.2C992.8,524.2 1018.9,505.2 1027.6,477.1L1047.9,412.3C1048.6,409.9 1046.8,407.5 1044.4,407.5L1018.1,407.5C1007.1,407.4 997.3,414.4 993.7,424.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1017,408.1C1006.7,408.5 997.7,415.2 994.3,425L961.4,520.7C960.9,522.1 962,523.5 963.4,523.5C992.6,523.6 1018.4,504.7 1027,477L1032.7,459L1017,408.1ZM1016.6,406.9C1006,407.5 996.6,414.4 993.1,424.6L960.2,520.3C959.5,522.5 961.1,524.8 963.4,524.8C993.1,524.8 1019.4,505.6 1028.2,477.3L1033.3,461.1L1052.1,522.3C1052.6,523.9 1054.1,525 1055.7,525C1072.4,525 1084.3,508.7 1078.9,492.9L1050.7,409.7C1050.2,408 1048.6,406.9 1046.9,406.9L1016.6,406.8L1016.6,406.9ZM1044.4,408.1L1018.3,408.1L1033.3,456.9L1047.3,412.1C1047.9,410.1 1046.4,408.2 1044.4,408.1ZM1033.9,459L1048.4,412.5C1048.9,410.9 1048.5,409.3 1047.4,408.2C1048.4,408.4 1049.2,409.1 1049.6,410.1L1077.7,493.3C1082.8,508.3 1071.6,523.8 1055.7,523.8C1054.6,523.8 1053.6,523 1053.3,522L1033.9,459Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1186.9,410.2L1215.1,493.4C1220.3,508.8 1208.8,524.7 1192.5,524.7C1191.1,524.7 1189.9,523.8 1189.5,522.5L1154.3,407.8L1183.7,407.9C1185.1,407.9 1186.5,408.8 1186.9,410.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1130.5,425.1L1097.6,520.8C1097,522.6 1098.3,524.5 1100.2,524.5C1129.7,524.5 1155.7,505.5 1164.4,477.5L1184.7,412.6C1185.4,410.3 1183.6,407.9 1181.2,407.8L1154.9,407.8C1143.9,407.8 1134.1,414.7 1130.5,425.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1153.8,408.4C1143.5,408.9 1134.4,415.5 1131.1,425.3L1098.2,521C1097.7,522.4 1098.8,523.9 1100.2,523.9C1129.4,523.9 1155.2,505 1163.8,477.3L1169.4,459.3L1153.8,408.4ZM1153.4,407.2C1142.8,407.8 1133.4,414.8 1129.9,424.9L1097,520.6C1096.3,522.8 1097.9,525.1 1100.2,525.1C1129.9,525.2 1156.2,505.9 1165,477.6L1170.1,461.4L1188.9,522.6C1189.4,524.2 1190.9,525.3 1192.5,525.3C1209.2,525.4 1221.1,509 1215.7,493.2L1187.5,410C1187,408.4 1185.4,407.2 1183.7,407.2L1153.4,407.2L1153.4,407.2ZM1181.2,408.5L1155.1,408.4L1170.1,457.2L1184.1,412.4C1184.7,410.5 1183.2,408.5 1181.2,408.5ZM1170.7,459.3L1185.3,412.8C1185.7,411.2 1185.3,409.6 1184.2,408.5C1185.2,408.7 1186,409.4 1186.3,410.4L1214.5,493.6C1219.6,508.6 1208.4,524.1 1192.5,524.1C1191.4,524.1 1190.4,523.3 1190.1,522.3L1170.7,459.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1323.7,410.5L1351.9,493.7C1357.1,509.1 1345.6,525 1329.3,525C1327.9,525 1326.7,524.1 1326.3,522.8L1291.1,408.1L1320.4,408.2C1321.9,408.2 1323.3,409.1 1323.7,410.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1267.3,425.5L1234.4,521.2C1233.8,522.9 1235.1,524.8 1237,524.8C1266.4,524.9 1292.5,505.8 1301.2,477.8L1321.4,412.9C1322.2,410.6 1320.4,408.2 1317.9,408.2L1291.7,408.1C1280.7,408.1 1270.9,415.1 1267.3,425.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1290.6,408.7C1280.3,409.2 1271.2,415.9 1267.9,425.7L1235,521.4C1234.5,522.7 1235.6,524.2 1237,524.2C1266.2,524.3 1292,505.4 1300.6,477.6L1306.2,459.6L1290.6,408.7ZM1290.2,407.5C1279.5,408.1 1270.2,415.1 1266.7,425.3L1233.8,521C1233.1,523.1 1234.7,525.4 1237,525.4C1266.7,525.5 1293,506.3 1301.8,478L1306.9,461.7L1325.7,523C1326.2,524.5 1327.7,525.6 1329.3,525.6C1346,525.7 1357.8,509.3 1352.5,493.5L1324.3,410.3C1323.8,408.7 1322.2,407.6 1320.4,407.6L1290.2,407.5L1290.2,407.5ZM1317.9,408.8L1291.9,408.7L1306.9,457.5L1320.9,412.7C1321.5,410.8 1320,408.8 1317.9,408.8ZM1307.5,459.6L1322,413.1C1322.5,411.5 1322.1,409.9 1321,408.9C1322,409.1 1322.8,409.8 1323.1,410.7L1351.3,493.9C1356.4,508.9 1345.2,524.4 1329.3,524.4C1328.2,524.4 1327.2,523.7 1326.9,522.6L1307.5,459.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M92.3,542.4L120.5,625.6C125.7,641 114.2,656.9 97.9,656.9C96.5,656.9 95.3,656 94.9,654.7L59.6,540L89,540.1C90.5,540.1 91.8,541 92.3,542.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M35.8,557.3L3,653C2.4,654.8 3.7,656.7 5.6,656.7C35,656.8 61,637.7 69.8,609.7L90,544.8C90.7,542.5 89,540.1 86.5,540L60.3,540C49.2,540 39.4,546.9 35.8,557.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M59.2,540.6C48.9,541.1 39.8,547.8 36.4,557.5L3.6,653.3C3.1,654.6 4.1,656.1 5.6,656.1C34.7,656.1 60.5,637.2 69.2,609.5L74.8,591.5L59.2,540.6ZM58.8,539.4C48.1,540 38.8,547 35.3,557.2L2.4,652.8C1.6,655 3.3,657.3 5.6,657.3C35.3,657.4 61.5,638.1 70.4,609.8L75.4,593.6L94.3,654.8C94.7,656.4 96.2,657.5 97.9,657.5C114.6,657.6 126.4,641.2 121.1,625.4L92.9,542.2C92.3,540.6 90.8,539.4 89,539.4L58.8,539.4L58.8,539.4ZM86.5,540.7L60.4,540.6L75.4,589.4L89.4,544.6C90,542.7 88.6,540.7 86.5,540.7ZM76.1,591.5L90.6,545C91.1,543.4 90.6,541.8 89.6,540.7C90.6,540.9 91.4,541.7 91.7,542.6L119.9,625.8C125,640.8 113.8,656.3 97.9,656.3C96.8,656.3 95.8,655.5 95.4,654.5L76.1,591.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M229.1,542.7L257.3,625.9C262.5,641.3 251,657.3 234.7,657.2C233.3,657.2 232.1,656.3 231.6,655L196.4,540.3L225.8,540.4C227.3,540.4 228.6,541.3 229.1,542.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M172.6,557.7L139.8,653.4C139.2,655.1 140.5,657 142.4,657C171.8,657.1 197.8,638 206.6,610L226.8,545.1C227.5,542.8 225.8,540.4 223.3,540.4L197.1,540.3C186,540.3 176.2,547.3 172.6,557.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M196,541C185.6,541.4 176.6,548.1 173.2,557.9L140.4,653.6C139.9,654.9 140.9,656.4 142.4,656.4C171.5,656.5 197.3,637.6 206,609.8L211.6,591.8L196,541ZM195.6,539.7C184.9,540.3 175.6,547.3 172.1,557.5L139.2,653.2C138.4,655.3 140.1,657.6 142.4,657.6C172.1,657.7 198.3,638.5 207.2,610.2L212.2,593.9L231.1,655.2C231.5,656.8 233,657.8 234.7,657.8C251.4,657.9 263.2,641.5 257.8,625.7L229.7,542.5C229.1,540.9 227.6,539.8 225.8,539.8L195.6,539.7L195.6,539.7ZM223.3,541L197.2,540.9L212.2,589.7L226.2,545C226.8,543 225.4,541 223.3,541ZM212.9,591.8L227.4,545.3C227.9,543.7 227.4,542.1 226.4,541.1C227.4,541.3 228.2,542 228.5,542.9L256.7,626.1C261.8,641.1 250.6,656.6 234.7,656.6C233.6,656.6 232.6,655.9 232.2,654.8L212.9,591.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M365.9,543L394.1,626.2C399.3,641.6 387.8,657.6 371.5,657.5C370.1,657.5 368.9,656.6 368.4,655.3L333.2,540.6L362.6,540.7C364.1,540.7 365.4,541.6 365.9,543Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M309.4,558L276.6,653.7C275.9,655.5 277.3,657.3 279.2,657.3C308.6,657.4 334.6,638.3 343.4,610.3L363.6,545.5C364.3,543.1 362.6,540.7 360.1,540.7L333.9,540.6C322.8,540.6 313,547.6 309.4,558Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M332.7,541.3C322.4,541.7 313.4,548.4 310,558.2L277.1,653.9C276.7,655.3 277.7,656.7 279.2,656.7C308.3,656.8 334.1,637.9 342.8,610.1L348.4,592.1L332.7,541.3ZM332.4,540C321.7,540.6 312.4,547.6 308.9,557.8L276,653.5C275.2,655.7 276.9,657.9 279.2,657.9C308.9,658 335.1,638.8 344,610.5L349,594.2L367.9,655.5C368.3,657.1 369.8,658.2 371.5,658.2C388.2,658.2 400,641.8 394.6,626L366.5,542.8C365.9,541.2 364.4,540.1 362.6,540.1L332.4,540L332.4,540ZM360.1,541.3L334,541.3L349,590L363,545.3C363.6,543.3 362.2,541.3 360.1,541.3ZM349.7,592.1L364.2,545.6C364.7,544 364.2,542.5 363.2,541.4C364.2,541.6 365,542.3 365.3,543.3L393.5,626.4C398.6,641.4 387.3,657 371.5,656.9C370.3,656.9 369.4,656.2 369,655.1L349.7,592.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M502.7,543.4L530.8,626.5C536.1,641.9 524.6,657.9 508.3,657.8C506.9,657.8 505.6,656.9 505.2,655.6L470,540.9L499.4,541C500.9,541 502.2,542 502.7,543.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M446.2,558.3L413.4,654C412.7,655.8 414.1,657.6 416,657.6C445.4,657.7 471.4,638.6 480.2,610.6L500.4,545.8C501.1,543.4 499.4,541 496.9,541L470.6,540.9C459.6,540.9 449.8,547.9 446.2,558.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M469.5,541.6C459.2,542 450.2,548.7 446.8,558.5L413.9,654.2C413.5,655.6 414.5,657 416,657C445.1,657.1 470.9,638.2 479.6,610.4L485.2,592.5L469.5,541.6ZM469.2,540.4C458.5,540.9 449.1,547.9 445.6,558.1L412.8,653.8C412,656 413.6,658.3 416,658.3C445.6,658.3 471.9,639.1 480.8,610.8L485.8,594.5L504.6,655.8C505.1,657.4 506.6,658.5 508.3,658.5C525,658.5 536.8,642.1 531.4,626.3L503.3,543.2C502.7,541.5 501.1,540.4 499.4,540.4L469.1,540.3L469.2,540.4ZM496.9,541.6L470.8,541.6L485.8,590.4L499.8,545.6C500.4,543.6 499,541.6 496.9,541.6ZM486.5,592.5L501,546C501.5,544.4 501,542.8 500,541.7C501,541.9 501.8,542.6 502.1,543.6L530.3,626.7C535.3,641.7 524.1,657.3 508.3,657.2C507.1,657.2 506.2,656.5 505.8,655.4L486.5,592.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M639.5,543.7L667.7,626.8C672.9,642.3 661.4,658.2 645.1,658.2C643.7,658.2 642.4,657.3 642,655.9L606.8,541.3L636.2,541.3C637.7,541.3 639,542.3 639.5,543.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M583,558.6L550.2,654.3C549.5,656.1 550.9,658 552.8,658C582.2,658 608.2,639 617,610.9L637.2,546.1C637.9,543.7 636.2,541.3 633.7,541.3L607.5,541.3C596.4,541.2 586.6,548.2 583,558.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M606.3,541.9C596,542.3 587,549 583.6,558.8L550.7,654.5C550.3,655.9 551.3,657.3 552.8,657.3C581.9,657.4 607.7,638.5 616.4,610.8L622,592.8L606.3,541.9ZM606,540.7C595.3,541.3 585.9,548.2 582.4,558.4L549.6,654.1C548.8,656.3 550.4,658.6 552.8,658.6C582.5,658.6 608.7,639.4 617.5,611.1L622.6,594.9L641.4,656.1C641.9,657.7 643.4,658.8 645.1,658.8C661.8,658.8 673.6,642.5 668.2,626.7L640.1,543.5C639.5,541.8 637.9,540.7 636.2,540.7L606,540.6L606,540.7ZM633.7,541.9L607.6,541.9L622.6,590.7L636.6,545.9C637.2,543.9 635.8,542 633.7,541.9ZM623.3,592.8L637.8,546.3C638.3,544.7 637.8,543.1 636.8,542C637.7,542.2 638.6,542.9 638.9,543.9L667.1,627C672.1,642 660.9,657.6 645.1,657.5C643.9,657.5 643,656.8 642.6,655.8L623.3,592.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M776.3,544L804.4,627.2C809.7,642.6 798.2,658.5 781.9,658.5C780.5,658.5 779.2,657.6 778.8,656.3L743.6,541.6L773,541.6C774.5,541.6 775.8,542.6 776.3,544Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M719.8,558.9L687,654.6C686.3,656.4 687.7,658.3 689.5,658.3C719,658.3 745,639.3 753.8,611.3L774,546.4C774.7,544 773,541.6 770.5,541.6L744.2,541.6C733.2,541.5 723.4,548.5 719.8,558.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M743.1,542.2C732.8,542.6 723.8,549.3 720.4,559.1L687.5,654.8C687.1,656.2 688.1,657.7 689.5,657.7C718.7,657.7 744.5,638.8 753.2,611.1L758.8,593.1L743.1,542.2ZM742.8,541C732.1,541.6 722.7,548.5 719.2,558.7L686.4,654.4C685.6,656.6 687.2,658.9 689.5,658.9C719.2,659 745.5,639.7 754.3,611.4L759.4,595.2L778.2,656.4C778.7,658 780.2,659.1 781.8,659.1C798.6,659.1 810.4,642.8 805,627L776.8,543.8C776.3,542.1 774.7,541 773,541L742.7,541L742.8,541ZM770.5,542.3L744.4,542.2L759.4,591L773.4,546.2C774,544.3 772.5,542.3 770.5,542.3ZM760.1,593.1L774.6,546.6C775.1,545 774.6,543.4 773.6,542.3C774.5,542.5 775.3,543.2 775.7,544.2L803.8,627.4C808.9,642.4 797.7,657.9 781.9,657.9C780.7,657.9 779.7,657.1 779.4,656.1L760.1,593.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M913.1,544.3L941.2,627.5C946.5,642.9 935,658.8 918.7,658.8C917.3,658.8 916,657.9 915.6,656.6L880.4,541.9L909.8,542C911.3,542 912.6,542.9 913.1,544.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M856.6,559.3L823.7,655C823.1,656.7 824.5,658.6 826.3,658.6C855.8,658.7 881.8,639.6 890.5,611.6L910.8,546.7C911.5,544.4 909.8,542 907.3,542L881,541.9C870,541.9 860.2,548.8 856.6,559.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M879.9,542.5C869.6,543 860.6,549.7 857.2,559.5L824.3,655.2C823.8,656.5 824.9,658 826.3,658C855.5,658 881.3,639.2 890,611.4L895.6,593.4L879.9,542.5ZM879.5,541.3C868.9,541.9 859.5,548.9 856,559L823.2,654.8C822.4,656.9 824,659.2 826.3,659.2C856,659.3 882.3,640 891.1,611.8L896.2,595.5L915,656.8C915.5,658.3 917,659.4 918.7,659.4C935.4,659.5 947.2,643.1 941.8,627.3L913.7,544.1C913.1,542.5 911.5,541.3 909.8,541.3L879.5,541.3L879.5,541.3ZM907.3,542.6L881.2,542.5L896.2,591.3L910.2,546.5C910.8,544.6 909.3,542.6 907.3,542.6ZM896.9,593.4L911.4,546.9C911.9,545.3 911.4,543.7 910.4,542.6C911.3,542.8 912.2,543.5 912.5,544.5L940.7,627.7C945.7,642.7 934.5,658.2 918.7,658.2C917.5,658.2 916.5,657.5 916.2,656.4L896.9,593.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1049.9,544.6L1078,627.8C1083.3,643.2 1071.8,659.2 1055.4,659.1C1054.1,659.1 1052.8,658.2 1052.4,656.9L1017.2,542.2L1046.6,542.3C1048.1,542.3 1049.4,543.2 1049.9,544.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M993.4,559.6L960.5,655.3C959.9,657 961.3,658.9 963.1,658.9C992.6,659 1018.6,639.9 1027.3,611.9L1047.6,547C1048.3,544.7 1046.6,542.3 1044.1,542.3L1017.8,542.2C1006.8,542.2 997,549.2 993.4,559.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1016.7,542.8C1006.4,543.3 997.4,550 994,559.8L961.1,655.5C960.6,656.8 961.7,658.3 963.1,658.3C992.3,658.4 1018.1,639.5 1026.8,611.7L1032.4,593.7L1016.7,542.8ZM1016.3,541.6C1005.7,542.2 996.3,549.2 992.8,559.4L960,655.1C959.2,657.3 960.8,659.5 963.1,659.5C992.8,659.6 1019.1,640.3 1027.9,612.1L1033,595.8L1051.8,657.1C1052.3,658.7 1053.8,659.7 1055.4,659.7C1072.2,659.8 1084,643.4 1078.6,627.6L1050.4,544.4C1049.9,542.8 1048.3,541.7 1046.6,541.7L1016.3,541.6L1016.3,541.6ZM1044.1,542.9L1018,542.8L1033,591.6L1047,546.8C1047.6,544.9 1046.1,542.9 1044.1,542.9ZM1033.7,593.7L1048.2,547.2C1048.7,545.6 1048.2,544 1047.2,543C1048.1,543.2 1048.9,543.9 1049.3,544.8L1077.4,628C1082.5,643 1071.3,658.5 1055.4,658.5C1054.3,658.5 1053.3,657.8 1053,656.7L1033.7,593.7Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1186.7,545L1214.8,628.1C1220,643.5 1208.5,659.5 1192.2,659.4C1190.8,659.4 1189.6,658.5 1189.2,657.2L1154,542.5L1183.4,542.6C1184.8,542.6 1186.2,543.5 1186.7,545Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1130.2,559.9L1097.3,655.6C1096.7,657.4 1098.1,659.2 1099.9,659.2C1129.4,659.3 1155.4,640.2 1164.1,612.2L1184.4,547.3C1185.1,545 1183.3,542.6 1180.9,542.6L1154.6,542.5C1143.6,542.5 1133.8,549.5 1130.2,559.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1153.5,543.2C1143.2,543.6 1134.2,550.3 1130.8,560.1L1097.9,655.8C1097.4,657.2 1098.5,658.6 1099.9,658.6C1129.1,658.7 1154.9,639.8 1163.6,612L1169.2,594L1153.5,543.2ZM1153.2,542C1142.5,542.5 1133.1,549.5 1129.6,559.7L1096.7,655.4C1096,657.6 1097.6,659.8 1099.9,659.8C1129.6,659.9 1155.9,640.7 1164.7,612.4L1169.8,596.1L1188.6,657.4C1189.1,659 1190.6,660 1192.2,660.1C1209,660.1 1220.8,643.7 1215.4,627.9L1187.2,544.8C1186.7,543.1 1185.1,542 1183.4,542L1153.1,541.9L1153.2,542ZM1180.9,543.2L1154.8,543.2L1169.8,592L1183.8,547.2C1184.4,545.2 1182.9,543.2 1180.9,543.2ZM1170.4,594L1185,547.5C1185.5,546 1185,544.3 1183.9,543.3C1184.9,543.5 1185.7,544.2 1186.1,545.2L1214.2,628.3C1219.3,643.3 1208.1,658.9 1192.2,658.8C1191.1,658.8 1190.1,658.1 1189.8,657L1170.4,594Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1323.4,545.3L1351.6,628.4C1356.8,643.8 1345.3,659.8 1329,659.8C1327.6,659.8 1326.4,658.8 1326,657.5L1290.8,542.8L1320.2,542.9C1321.7,542.9 1323,543.9 1323.4,545.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1267,560.2L1234.1,655.9C1233.5,657.7 1234.8,659.5 1236.7,659.5C1266.2,659.6 1292.2,640.5 1300.9,612.5L1321.2,547.7C1321.9,545.3 1320.1,542.9 1317.7,542.9L1291.4,542.8C1280.4,542.8 1270.6,549.8 1267,560.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1290.3,543.5C1280,543.9 1270.9,550.6 1267.6,560.4L1234.7,656.1C1234.2,657.5 1235.3,658.9 1236.7,658.9C1265.9,659 1291.7,640.1 1300.3,612.3L1305.9,594.4L1290.3,543.5ZM1289.9,542.3C1279.3,542.8 1269.9,549.8 1266.4,560L1233.5,655.7C1232.8,657.9 1234.4,660.2 1236.7,660.2C1266.4,660.2 1292.7,641 1301.5,612.7L1306.6,596.5L1325.4,657.7C1325.9,659.3 1327.4,660.4 1329,660.4C1345.8,660.4 1357.6,644 1352.2,628.2L1324,545.1C1323.5,543.4 1321.9,542.3 1320.2,542.3L1289.9,542.2L1289.9,542.3ZM1317.7,543.5L1291.6,543.5L1306.6,592.3L1320.6,547.5C1321.2,545.5 1319.7,543.5 1317.7,543.5ZM1307.2,594.4L1321.8,547.8C1322.3,546.3 1321.8,544.7 1320.7,543.6C1321.7,543.8 1322.5,544.5 1322.9,545.5L1351,628.6C1356.1,643.6 1344.9,659.2 1329,659.1C1327.9,659.1 1326.9,658.4 1326.6,657.3L1307.2,594.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M92,677.2L120.2,760.3C125.4,775.7 113.9,791.7 97.6,791.6C96.2,791.6 95,790.7 94.6,789.4L59.3,674.7L88.7,674.8C90.2,674.8 91.5,675.8 92,677.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M35.6,692.1L2.7,787.8C2.1,789.6 3.4,791.4 5.3,791.4C34.7,791.5 60.7,772.4 69.5,744.4L89.7,679.6C90.5,677.2 88.7,674.8 86.2,674.8L60,674.7C49,674.7 39.1,681.7 35.6,692.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M58.9,675.4C48.6,675.8 39.5,682.5 36.1,692.3L3.3,788C2.8,789.4 3.8,790.8 5.3,790.8C34.4,790.9 60.2,772 68.9,744.2L74.5,726.3L58.9,675.4ZM58.5,674.2C47.8,674.7 38.5,681.7 35,691.9L2.1,787.6C1.3,789.8 3,792 5.3,792C35,792.1 61.3,772.9 70.1,744.6L75.2,728.3L94,789.6C94.5,791.2 95.9,792.3 97.6,792.3C114.3,792.3 126.1,775.9 120.8,760.1L92.6,677C92,675.3 90.5,674.2 88.7,674.2L58.5,674.1L58.5,674.2ZM86.2,675.4L60.2,675.3L75.2,724.2L89.1,679.4C89.7,677.4 88.3,675.4 86.2,675.4ZM75.8,726.3L90.3,679.7C90.8,678.2 90.3,676.6 89.3,675.5C90.3,675.7 91.1,676.4 91.4,677.3L119.6,760.5C124.7,775.5 113.5,791.1 97.6,791C96.5,791 95.5,790.3 95.2,789.2L75.8,726.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M228.8,677.5L257,760.6C262.2,776 250.7,792 234.4,792C233,792 231.8,791 231.4,789.7L196.1,675L225.5,675.1C227,675.1 228.3,676.1 228.8,677.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M172.4,692.4L139.5,788.1C138.9,789.9 140.2,791.7 142.1,791.8C171.5,791.8 197.5,772.8 206.3,744.7L226.5,679.9C227.3,677.5 225.5,675.1 223,675.1L196.8,675C185.8,675 175.9,682 172.4,692.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M195.7,675.7C185.4,676.1 176.3,682.8 172.9,692.6L140.1,788.3C139.6,789.7 140.6,791.1 142.1,791.1C171.2,791.2 197,772.3 205.7,744.5L211.3,726.6L195.7,675.7ZM195.3,674.5C184.6,675 175.3,682 171.8,692.2L138.9,787.9C138.1,790.1 139.8,792.4 142.1,792.4C171.8,792.4 198.1,773.2 206.9,744.9L211.9,728.7L230.8,789.9C231.3,791.5 232.7,792.6 234.4,792.6C251.1,792.6 262.9,776.3 257.6,760.4L229.4,677.3C228.8,675.6 227.3,674.5 225.5,674.5L195.3,674.4L195.3,674.5ZM223,675.7L197,675.7L212,724.5L225.9,679.7C226.5,677.7 225.1,675.7 223,675.7ZM212.6,726.6L227.1,680.1C227.6,678.5 227.1,676.9 226.1,675.8C227.1,676 227.9,676.7 228.2,677.7L256.4,760.8C261.5,775.8 250.3,791.4 234.4,791.3C233.3,791.3 232.3,790.6 232,789.5L212.6,726.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M365.6,677.8L393.8,761C399,776.4 387.5,792.3 371.2,792.3C369.8,792.3 368.6,791.4 368.2,790L332.9,675.4L362.3,675.4C363.8,675.4 365.1,676.4 365.6,677.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M309.2,692.7L276.3,788.4C275.7,790.2 277,792.1 278.9,792.1C308.3,792.1 334.3,773.1 343.1,745L363.3,680.2C364.1,677.8 362.3,675.4 359.8,675.4L333.6,675.4C322.5,675.3 312.7,682.3 309.2,692.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M332.5,676C322.2,676.4 313.1,683.1 309.7,692.9L276.9,788.6C276.4,790 277.4,791.4 278.9,791.5C308,791.5 333.8,772.6 342.5,744.9L348.1,726.9L332.5,676ZM332.1,674.8C321.4,675.4 312.1,682.3 308.6,692.5L275.7,788.2C274.9,790.4 276.6,792.7 278.9,792.7C308.6,792.8 334.8,773.5 343.7,745.2L348.7,729L367.6,790.2C368.1,791.8 369.5,792.9 371.2,792.9C387.9,792.9 399.7,776.6 394.4,760.8L366.2,677.6C365.6,675.9 364.1,674.8 362.3,674.8L332.1,674.8L332.1,674.8ZM359.8,676L333.8,676L348.8,724.8L362.7,680C363.3,678 361.9,676 359.8,676ZM349.4,726.9L363.9,680.4C364.4,678.8 363.9,677.2 362.9,676.1C363.9,676.3 364.7,677 365,678L393.2,761.2C398.3,776.2 387.1,791.7 371.2,791.7C370.1,791.7 369.1,790.9 368.7,789.9L349.4,726.9Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M502.4,678.1L530.6,761.3C535.8,776.7 524.3,792.6 508,792.6C506.6,792.6 505.4,791.7 505,790.4L469.7,675.7L499.1,675.8C500.6,675.8 501.9,676.7 502.4,678.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M446,693L413.1,788.7C412.5,790.5 413.8,792.4 415.7,792.4C445.1,792.5 471.1,773.4 479.9,745.4L500.1,680.5C500.9,678.2 499.1,675.8 496.6,675.8L470.4,675.7C459.3,675.7 449.5,682.6 446,693Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M469.3,676.3C459,676.8 449.9,683.4 446.5,693.2L413.7,788.9C413.2,790.3 414.2,791.8 415.7,791.8C444.8,791.8 470.6,772.9 479.3,745.2L484.9,727.2L469.3,676.3ZM468.9,675.1C458.2,675.7 448.9,682.7 445.4,692.8L412.5,788.5C411.7,790.7 413.4,793 415.7,793C445.4,793.1 471.6,773.8 480.5,745.5L485.5,729.3L504.4,790.5C504.9,792.1 506.3,793.2 508,793.2C524.7,793.3 536.5,776.9 531.2,761.1L503,677.9C502.4,676.3 500.9,675.1 499.1,675.1L468.9,675.1L468.9,675.1ZM496.6,676.4L470.5,676.3L485.5,725.1L499.5,680.3C500.1,678.4 498.7,676.4 496.6,676.4ZM486.2,727.2L500.7,680.7C501.2,679.1 500.7,677.5 499.7,676.4C500.7,676.6 501.5,677.3 501.8,678.3L530,761.5C535.1,776.5 523.9,792 508,792C506.9,792 505.9,791.2 505.5,790.2L486.2,727.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M639.2,678.4L667.4,761.6C672.6,777 661.1,793 644.8,792.9C643.4,792.9 642.2,792 641.8,790.7L606.5,676L635.9,676.1C637.4,676.1 638.7,677 639.2,678.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M582.7,693.4L549.9,789.1C549.3,790.8 550.6,792.7 552.5,792.7C581.9,792.8 607.9,773.7 616.7,745.7L636.9,680.8C637.6,678.5 635.9,676.1 633.4,676.1L607.2,676C596.1,676 586.3,683 582.7,693.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M606,676.6C595.8,677.1 586.7,683.8 583.3,693.6L550.5,789.3C550,790.6 551,792.1 552.5,792.1C581.6,792.2 607.4,773.3 616.1,745.5L621.7,727.5L606,676.6ZM605.7,675.4C595,676 585.7,683 582.2,693.2L549.3,788.9C548.5,791 550.2,793.3 552.5,793.3C582.2,793.4 608.4,774.2 617.3,745.9L622.3,729.6L641.2,790.9C641.6,792.4 643.1,793.5 644.8,793.5C661.5,793.6 673.3,777.2 668,761.4L639.8,678.2C639.2,676.6 637.7,675.5 635.9,675.5L605.7,675.4L605.7,675.4ZM633.4,676.7L607.3,676.6L622.3,725.4L636.3,680.6C636.9,678.7 635.5,676.7 633.4,676.7ZM623,727.5L637.5,681C638,679.4 637.5,677.8 636.5,676.8C637.5,677 638.3,677.7 638.6,678.6L666.8,761.8C671.9,776.8 660.7,792.3 644.8,792.3C643.7,792.3 642.7,791.6 642.3,790.5L623,727.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M776,678.7L804.2,761.9C809.4,777.3 797.9,793.3 781.6,793.2C780.2,793.2 779,792.3 778.5,791L743.3,676.3L772.7,676.4C774.2,676.4 775.5,677.3 776,678.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M719.5,693.7L686.7,789.4C686,791.2 687.4,793 689.3,793C718.7,793.1 744.7,774 753.5,746L773.7,681.1C774.4,678.8 772.7,676.4 770.2,676.4L744,676.3C732.9,676.3 723.1,683.3 719.5,693.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M742.8,677C732.5,677.4 723.5,684.1 720.1,693.9L687.2,789.6C686.8,791 687.8,792.4 689.3,792.4C718.4,792.5 744.2,773.6 752.9,745.8L758.5,727.8L742.8,677ZM742.5,675.7C731.8,676.3 722.5,683.3 719,693.5L686.1,789.2C685.3,791.4 687,793.6 689.3,793.6C719,793.7 745.2,774.5 754.1,746.2L759.1,729.9L778,791.2C778.4,792.8 779.9,793.8 781.6,793.8C798.3,793.9 810.1,777.5 804.7,761.7L776.6,678.5C776,676.9 774.5,675.8 772.7,675.8L742.5,675.7L742.5,675.7ZM770.2,677L744.1,676.9L759.1,725.7L773.1,681C773.7,679 772.3,677 770.2,677ZM759.8,727.8L774.3,681.3C774.8,679.7 774.3,678.1 773.3,677.1C774.3,677.3 775.1,678 775.4,678.9L803.6,762.1C808.7,777.1 797.5,792.7 781.6,792.6C780.5,792.6 779.5,791.9 779.1,790.8L759.8,727.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M912.8,679.1L941,762.2C946.2,777.6 934.7,793.6 918.4,793.5C917,793.5 915.8,792.6 915.3,791.3L880.1,676.6L909.5,676.7C911,676.7 912.3,677.7 912.8,679.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M856.3,694L823.5,789.7C822.8,791.5 824.2,793.3 826.1,793.3C855.5,793.4 881.5,774.3 890.3,746.3L910.5,681.5C911.2,679.1 909.5,676.7 907,676.7L880.8,676.6C869.7,676.6 859.9,683.6 856.3,694Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M879.6,677.3C869.3,677.7 860.3,684.4 856.9,694.2L824,789.9C823.6,791.3 824.6,792.7 826.1,792.7C855.2,792.8 881,773.9 889.7,746.1L895.3,728.2L879.6,677.3ZM879.3,676.1C868.6,676.6 859.3,683.6 855.8,693.8L822.9,789.5C822.1,791.7 823.7,794 826.1,794C855.8,794 882,774.8 890.8,746.5L895.9,730.3L914.7,791.5C915.2,793.1 916.7,794.2 918.4,794.2C935.1,794.2 946.9,777.8 941.5,762L913.4,678.9C912.8,677.2 911.3,676.1 909.5,676.1L879.3,676V676.1ZM907,677.3L880.9,677.3L895.9,726.1L909.9,681.3C910.5,679.3 909,677.3 907,677.3ZM896.6,728.2L911.1,681.7C911.6,680.1 911.1,678.5 910.1,677.4C911,677.6 911.9,678.3 912.2,679.3L940.4,762.4C945.4,777.4 934.2,793 918.4,792.9C917.3,792.9 916.3,792.2 915.9,791.1L896.6,728.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1049.6,679.4L1077.8,762.5C1083,778 1071.5,793.9 1055.2,793.9C1053.8,793.9 1052.5,793 1052.1,791.6L1016.9,677L1046.3,677C1047.8,677 1049.1,678 1049.6,679.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M993.1,694.3L960.3,790C959.6,791.8 961,793.7 962.8,793.7C992.3,793.7 1018.3,774.7 1027.1,746.6L1047.3,681.8C1048,679.4 1046.3,677 1043.8,677L1017.5,677C1006.5,676.9 996.7,683.9 993.1,694.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1016.4,677.6C1006.1,678 997.1,684.7 993.7,694.5L960.8,790.2C960.4,791.6 961.4,793 962.9,793C992,793.1 1017.8,774.2 1026.5,746.4L1032.1,728.5L1016.4,677.6ZM1016.1,676.4C1005.4,677 996,683.9 992.5,694.1L959.7,789.8C958.9,792 960.5,794.3 962.8,794.3C992.5,794.3 1018.8,775.1 1027.7,746.8L1032.7,730.6L1051.5,791.8C1052,793.4 1053.5,794.5 1055.2,794.5C1071.9,794.5 1083.7,778.2 1078.3,762.3L1050.2,679.2C1049.6,677.5 1048,676.4 1046.3,676.4L1016,676.3L1016.1,676.4ZM1043.8,677.6L1017.7,677.6L1032.7,726.4L1046.7,681.6C1047.3,679.6 1045.8,677.6 1043.8,677.6ZM1033.4,728.5L1047.9,682C1048.4,680.4 1047.9,678.8 1046.9,677.7C1047.8,677.9 1048.7,678.6 1049,679.6L1077.2,762.8C1082.2,777.8 1071,793.3 1055.2,793.3C1054,793.2 1053.1,792.5 1052.7,791.4L1033.4,728.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1186.4,679.7L1214.5,762.9C1219.8,778.3 1208.3,794.2 1191.9,794.2C1190.6,794.2 1189.3,793.3 1188.9,791.9L1153.7,677.3L1183.1,677.3C1184.6,677.3 1185.9,678.3 1186.4,679.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1129.9,694.6L1097,790.3C1096.4,792.1 1097.8,794 1099.7,794C1129.1,794 1155.1,775 1163.8,746.9L1184.1,682.1C1184.8,679.7 1183.1,677.3 1180.6,677.3L1154.3,677.3C1143.3,677.3 1133.5,684.2 1129.9,694.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1153.2,677.9C1142.9,678.3 1133.9,685 1130.5,694.8L1097.6,790.5C1097.2,791.9 1098.2,793.3 1099.7,793.3C1128.8,793.4 1154.6,774.5 1163.3,746.8L1168.9,728.8L1153.2,677.9ZM1152.8,676.7C1142.2,677.3 1132.8,684.3 1129.3,694.4L1096.5,790.1C1095.7,792.3 1097.3,794.6 1099.7,794.6C1129.3,794.7 1155.6,775.4 1164.4,747.1L1169.5,730.9L1188.3,792.1C1188.8,793.7 1190.3,794.8 1191.9,794.8C1208.7,794.8 1220.5,778.5 1215.1,762.7L1186.9,679.5C1186.4,677.8 1184.8,676.7 1183.1,676.7L1152.8,676.7L1152.8,676.7ZM1180.6,678L1154.5,677.9L1169.5,726.7L1183.5,681.9C1184.1,680 1182.7,678 1180.6,678ZM1170.2,728.8L1184.7,682.3C1185.2,680.7 1184.7,679.1 1183.7,678C1184.6,678.2 1185.4,678.9 1185.8,679.9L1213.9,763.1C1219,778.1 1207.8,793.6 1192,793.6C1190.8,793.6 1189.8,792.8 1189.5,791.8L1170.2,728.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1323.2,680L1351.3,763.2C1356.6,778.6 1345.1,794.5 1328.8,794.5C1327.4,794.5 1326.1,793.6 1325.7,792.3L1290.5,677.6L1319.9,677.7C1321.4,677.7 1322.7,678.6 1323.2,680Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1266.7,695L1233.8,790.6C1233.2,792.4 1234.6,794.3 1236.4,794.3C1265.9,794.3 1291.9,775.3 1300.7,747.3L1320.9,682.4C1321.6,680 1319.8,677.7 1317.4,677.7L1291.1,677.6C1280.1,677.6 1270.3,684.5 1266.7,695Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1290,678.2C1279.7,678.7 1270.7,685.3 1267.3,695.2L1234.4,790.8C1233.9,792.2 1235,793.7 1236.4,793.7C1265.6,793.7 1291.4,774.8 1300.1,747.1L1305.7,729.1L1290,678.2ZM1289.7,677C1279,677.6 1269.6,684.6 1266.1,694.7L1233.3,790.4C1232.5,792.6 1234.1,794.9 1236.4,794.9C1266.1,795 1292.4,775.7 1301.2,747.5L1306.3,731.2L1325.1,792.4C1325.6,794 1327.1,795.1 1328.8,795.1C1345.5,795.2 1357.3,778.8 1351.9,763L1323.8,679.8C1323.2,678.2 1321.6,677 1319.9,677L1289.6,677L1289.7,677ZM1317.4,678.3L1291.3,678.2L1306.3,727L1320.3,682.2C1320.9,680.3 1319.4,678.3 1317.4,678.3ZM1307,729.1L1321.5,682.6C1322,681 1321.5,679.4 1320.4,678.3C1321.4,678.5 1322.3,679.2 1322.6,680.2L1350.8,763.4C1355.8,778.4 1344.6,793.9 1328.8,793.9C1327.6,793.9 1326.6,793.2 1326.3,792.1L1307,729.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M91.7,811.9L119.9,895.1C125.1,910.5 113.6,926.4 97.3,926.4C95.9,926.4 94.7,925.5 94.3,924.2L59,809.5L88.4,809.5C89.9,809.5 91.2,810.5 91.7,811.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M35.3,826.8L2.4,922.5C1.8,924.3 3.1,926.2 5,926.2C34.4,926.2 60.5,907.2 69.2,879.2L89.4,814.3C90.2,811.9 88.4,809.5 85.9,809.5L59.7,809.5C48.7,809.5 38.9,816.4 35.3,826.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M58.6,810.1C48.3,810.5 39.2,817.2 35.9,827L3,922.7C2.5,924.1 3.5,925.5 5,925.5C34.2,925.6 60,906.7 68.6,879L74.2,861L58.6,810.1ZM58.2,808.9C47.5,809.5 38.2,816.5 34.7,826.6L1.8,922.3C1.1,924.5 2.7,926.8 5,926.8C34.7,926.9 61,907.6 69.8,879.3L74.9,863.1L93.7,924.3C94.2,925.9 95.6,927 97.3,927C114,927 125.8,910.7 120.5,894.9L92.3,811.7C91.7,810 90.2,808.9 88.4,808.9L58.2,808.8L58.2,808.9ZM85.9,810.2L59.9,810.1L74.9,858.9L88.8,814.1C89.5,812.2 88,810.2 85.9,810.2ZM75.5,861L90,814.5C90.5,812.9 90.1,811.3 89,810.2C90,810.4 90.8,811.1 91.1,812.1L119.3,895.3C124.4,910.3 113.2,925.8 97.3,925.8C96.2,925.8 95.2,925 94.9,924L75.5,861Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M228.5,812.2L256.7,895.4C261.9,910.8 250.4,926.7 234.1,926.7C232.7,926.7 231.5,925.8 231.1,924.5L195.8,809.8L225.2,809.9C226.7,809.9 228,810.8 228.5,812.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M172.1,827.2L139.2,922.8C138.6,924.6 139.9,926.5 141.8,926.5C171.2,926.6 197.3,907.5 206,879.5L226.2,814.6C227,812.3 225.2,809.9 222.7,809.8L196.5,809.8C185.5,809.8 175.6,816.8 172.1,827.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M195.4,810.4C185.1,810.9 176,817.5 172.7,827.3L139.8,923C139.3,924.4 140.3,925.9 141.8,925.9C171,925.9 196.7,907 205.4,879.3L211,861.3L195.4,810.4ZM195,809.2C184.3,809.8 175,816.8 171.5,827L138.6,922.7C137.9,924.8 139.5,927.1 141.8,927.1C171.5,927.2 197.8,907.9 206.6,879.7L211.7,863.4L230.5,924.7C231,926.2 232.4,927.3 234.1,927.3C250.8,927.4 262.6,911 257.3,895.2L229.1,812C228.5,810.4 227,809.3 225.2,809.2L195,809.2L195,809.2ZM222.7,810.5L196.7,810.4L211.7,859.2L225.6,814.4C226.3,812.5 224.8,810.5 222.7,810.5ZM212.3,861.3L226.8,814.8C227.3,813.2 226.9,811.6 225.8,810.5C226.8,810.7 227.6,811.5 227.9,812.4L256.1,895.6C261.2,910.6 250,926.1 234.1,926.1C233,926.1 232,925.3 231.7,924.3L212.3,861.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M365.3,812.5L393.5,895.7C398.7,911.1 387.2,927.1 370.9,927C369.5,927 368.3,926.1 367.9,924.8L332.6,810.1L362,810.2C363.5,810.2 364.8,811.1 365.3,812.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M308.9,827.5L276,923.2C275.4,925 276.7,926.8 278.6,926.8C308,926.9 334.1,907.8 342.8,879.8L363,814.9C363.8,812.6 362,810.2 359.5,810.2L333.3,810.1C322.3,810.1 312.4,817.1 308.9,827.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M332.2,810.8C321.9,811.2 312.8,817.9 309.5,827.7L276.6,923.4C276.1,924.8 277.1,926.2 278.6,926.2C307.7,926.3 333.5,907.4 342.2,879.6L347.8,861.6L332.2,810.8ZM331.8,809.5C321.1,810.1 311.8,817.1 308.3,827.3L275.4,923C274.7,925.2 276.3,927.4 278.6,927.4C308.3,927.5 334.6,908.3 343.4,880L348.5,863.7L367.3,925C367.8,926.5 369.2,927.6 370.9,927.6C387.6,927.7 399.4,911.3 394.1,895.5L365.9,812.3C365.3,810.7 363.8,809.6 362,809.6L331.8,809.5L331.8,809.5ZM359.5,810.8L333.5,810.7L348.5,859.5L362.4,814.8C363.1,812.8 361.6,810.8 359.5,810.8ZM349.1,861.6L363.6,815.1C364.1,813.5 363.6,811.9 362.6,810.9C363.6,811.1 364.4,811.8 364.7,812.7L392.9,895.9C398,910.9 386.8,926.4 370.9,926.4C369.8,926.4 368.8,925.7 368.5,924.6L349.1,861.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M502.1,812.8L530.3,896C535.5,911.4 524,927.4 507.7,927.3C506.3,927.3 505.1,926.4 504.7,925.1L469.4,810.4L498.8,810.5C500.3,810.5 501.6,811.5 502.1,812.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M445.7,827.8L412.8,923.5C412.2,925.3 413.5,927.1 415.4,927.1C444.8,927.2 470.9,908.1 479.6,880.1L499.8,815.3C500.6,812.9 498.8,810.5 496.3,810.5L470.1,810.4C459,810.4 449.2,817.4 445.7,827.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M469,811.1C458.7,811.5 449.6,818.2 446.3,828L413.4,923.7C412.9,925.1 413.9,926.5 415.4,926.5C444.5,926.6 470.3,907.7 479,879.9L484.6,861.9L469,811.1ZM468.6,809.8C457.9,810.4 448.6,817.4 445.1,827.6L412.2,923.3C411.4,925.5 413.1,927.7 415.4,927.7C445.1,927.8 471.4,908.6 480.2,880.3L485.3,864L504.1,925.3C504.6,926.9 506,928 507.7,928C524.4,928 536.2,911.6 530.9,895.8L502.7,812.7C502.1,811 500.6,809.9 498.8,809.9L468.6,809.8L468.6,809.8ZM496.3,811.1L470.3,811L485.3,859.8L499.2,815.1C499.9,813.1 498.4,811.1 496.3,811.1ZM485.9,862L500.4,815.4C500.9,813.8 500.4,812.3 499.4,811.2C500.4,811.4 501.2,812.1 501.5,813L529.7,896.2C534.8,911.2 523.6,926.8 507.7,926.7C506.6,926.7 505.6,926 505.3,924.9L485.9,862Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M638.9,813.2L667.1,896.3C672.3,911.7 660.8,927.7 644.5,927.7C643.1,927.7 641.9,926.8 641.5,925.4L606.2,810.7L635.6,810.8C637.1,810.8 638.4,811.8 638.9,813.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M582.5,828.1L549.6,923.8C549,925.6 550.3,927.4 552.2,927.4C581.6,927.5 607.6,908.4 616.4,880.4L636.6,815.6C637.4,813.2 635.6,810.8 633.1,810.8L606.9,810.8C595.8,810.7 586,817.7 582.5,828.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M605.8,811.4C595.5,811.8 586.4,818.5 583,828.3L550.2,924C549.7,925.4 550.7,926.8 552.2,926.8C581.3,926.9 607.1,908 615.8,880.2L621.4,862.3L605.8,811.4ZM605.4,810.2C594.7,810.7 585.4,817.7 581.9,827.9L549,923.6C548.2,925.8 549.9,928.1 552.2,928.1C581.9,928.1 608.2,908.9 617,880.6L622,864.3L640.9,925.6C641.4,927.2 642.8,928.3 644.5,928.3C661.2,928.3 673,911.9 667.7,896.1L639.5,813C638.9,811.3 637.4,810.2 635.6,810.2L605.4,810.1L605.4,810.2ZM633.1,811.4L607.1,811.4L622,860.2L636,815.4C636.6,813.4 635.2,811.4 633.1,811.4ZM622.7,862.3L637.2,815.8C637.7,814.2 637.2,812.6 636.2,811.5C637.2,811.7 638,812.4 638.3,813.4L666.5,896.5C671.6,911.5 660.4,927.1 644.5,927C643.4,927 642.4,926.3 642.1,925.2L622.7,862.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M775.7,813.5L803.9,896.7C809.1,912 797.6,928 781.3,928C779.9,928 778.7,927.1 778.3,925.7L743,811.1L772.4,811.1C773.9,811.1 775.2,812.1 775.7,813.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M719.3,828.4L686.4,924.1C685.8,925.9 687.1,927.8 689,927.8C718.4,927.8 744.4,908.8 753.2,880.7L773.4,815.9C774.2,813.5 772.4,811.1 769.9,811.1L743.7,811.1C732.6,811 722.8,818 719.3,828.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M742.6,811.7C732.3,812.1 723.2,818.8 719.8,828.6L687,924.3C686.5,925.7 687.5,927.1 689,927.1C718.1,927.2 743.9,908.3 752.6,880.5L758.2,862.6L742.6,811.7ZM742.2,810.5C731.5,811 722.2,818 718.7,828.2L685.8,923.9C685,926.1 686.7,928.4 689,928.4C718.7,928.5 744.9,909.2 753.8,880.9L758.8,864.7L777.7,925.9C778.2,927.5 779.6,928.6 781.3,928.6C798,928.6 809.8,912.3 804.5,896.5L776.3,813.3C775.7,811.6 774.2,810.5 772.4,810.5L742.2,810.4L742.2,810.5ZM769.9,811.7L743.8,811.7L758.8,860.5L772.8,815.7C773.4,813.7 772,811.8 769.9,811.7ZM759.5,862.6L774,816.1C774.5,814.5 774,812.9 773,811.8C774,812 774.8,812.7 775.1,813.7L803.3,896.8C808.4,911.8 797.2,927.4 781.3,927.4C780.2,927.3 779.2,926.6 778.8,925.5L759.5,862.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M912.5,813.8L940.7,897C945.9,912.4 934.4,928.3 918.1,928.3C916.7,928.3 915.5,927.4 915,926L879.8,811.4L909.2,811.4C910.7,811.5 912,812.4 912.5,813.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M856,828.7L823.2,924.4C822.6,926.2 823.9,928.1 825.8,928.1C855.2,928.1 881.2,909.1 890,881.1L910.2,816.2C911,813.8 909.2,811.5 906.7,811.4L880.5,811.4C869.4,811.3 859.6,818.3 856,828.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M879.4,812C869,812.4 860,819.1 856.6,828.9L823.8,924.6C823.3,926 824.3,927.5 825.8,927.5C854.9,927.5 880.7,908.6 889.4,880.9L895,862.9L879.4,812ZM879,810.8C868.3,811.4 859,818.3 855.5,828.5L822.6,924.2C821.8,926.4 823.5,928.7 825.8,928.7C855.5,928.8 881.7,909.5 890.6,881.2L895.6,865L914.5,926.2C915,927.8 916.4,928.9 918.1,928.9C934.8,929 946.6,912.6 941.3,896.8L913.1,813.6C912.5,812 911,810.8 909.2,810.8L879,810.8L879,810.8ZM906.7,812.1L880.6,812L895.6,860.8L909.6,816C910.2,814.1 908.8,812.1 906.7,812.1ZM896.3,862.9L910.8,816.4C911.3,814.8 910.8,813.2 909.8,812.1C910.8,812.3 911.6,813 911.9,814L940.1,897.2C945.2,912.2 934,927.7 918.1,927.7C917,927.7 916,926.9 915.6,925.9L896.3,862.9Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1049.3,814.1L1077.5,897.3C1082.7,912.7 1071.2,928.7 1054.9,928.6C1053.5,928.6 1052.3,927.7 1051.8,926.4L1016.6,811.7L1046,811.8C1047.5,811.8 1048.8,812.7 1049.3,814.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M992.8,829.1L960,924.8C959.4,926.5 960.7,928.4 962.6,928.4C992,928.5 1018,909.4 1026.8,881.4L1047,816.5C1047.7,814.2 1046,811.8 1043.5,811.8L1017.3,811.7C1006.2,811.7 996.4,818.7 992.8,829.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1016.2,812.3C1005.8,812.8 996.8,819.5 993.4,829.3L960.5,925C960.1,926.3 961.1,927.8 962.6,927.8C991.7,927.8 1017.5,909 1026.2,881.2L1031.8,863.2L1016.2,812.3ZM1015.8,811.1C1005.1,811.7 995.8,818.7 992.3,828.8L959.4,924.5C958.6,926.7 960.3,929 962.6,929C992.3,929.1 1018.5,909.8 1027.4,881.6L1032.4,865.3L1051.3,926.6C1051.7,928.1 1053.2,929.2 1054.9,929.2C1071.6,929.3 1083.4,912.9 1078,897.1L1049.9,813.9C1049.3,812.3 1047.8,811.2 1046,811.1L1015.8,811.1L1015.8,811.1ZM1043.5,812.4L1017.4,812.3L1032.4,861.1L1046.4,816.3C1047,814.4 1045.6,812.4 1043.5,812.4ZM1033.1,863.2L1047.6,816.7C1048.1,815.1 1047.6,813.5 1046.6,812.5C1047.6,812.6 1048.4,813.4 1048.7,814.3L1076.9,897.5C1081.9,912.5 1070.8,928 1054.9,928C1053.8,928 1052.8,927.3 1052.4,926.2L1033.1,863.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1186.1,814.4L1214.3,897.6C1219.5,913 1208,929 1191.7,928.9C1190.3,928.9 1189.1,928 1188.6,926.7L1153.4,812L1182.8,812.1C1184.3,812.1 1185.6,813 1186.1,814.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1129.6,829.4L1096.8,925.1C1096.1,926.8 1097.5,928.7 1099.4,928.7C1128.8,928.8 1154.8,909.7 1163.6,881.7L1183.8,816.8C1184.5,814.5 1182.8,812.1 1180.3,812.1L1154.1,812C1143,812 1133.2,819 1129.6,829.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1152.9,812.7C1142.6,813.1 1133.6,819.8 1130.2,829.6L1097.3,925.3C1096.9,926.6 1097.9,928.1 1099.4,928.1C1128.5,928.2 1154.3,909.3 1163,881.5L1168.6,863.5L1152.9,812.7ZM1152.6,811.4C1141.9,812 1132.6,819 1129.1,829.2L1096.2,924.9C1095.4,927 1097.1,929.3 1099.4,929.3C1129.1,929.4 1155.3,910.2 1164.2,881.9L1169.2,865.6L1188.1,926.9C1188.5,928.5 1190,929.5 1191.7,929.5C1208.4,929.6 1220.2,913.2 1214.8,897.4L1186.7,814.2C1186.1,812.6 1184.6,811.5 1182.8,811.5L1152.6,811.4L1152.6,811.4ZM1180.3,812.7L1154.2,812.6L1169.2,861.4L1183.2,816.7C1183.8,814.7 1182.3,812.7 1180.3,812.7ZM1169.9,863.5L1184.4,817C1184.9,815.4 1184.4,813.8 1183.4,812.8C1184.3,813 1185.2,813.7 1185.5,814.6L1213.7,897.8C1218.8,912.8 1207.6,928.3 1191.7,928.3C1190.6,928.3 1189.6,927.6 1189.2,926.5L1169.9,863.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1322.9,814.8L1351.1,897.9C1356.3,913.3 1344.8,929.3 1328.5,929.3C1327.1,929.2 1325.8,928.3 1325.4,927L1290.2,812.3L1319.6,812.4C1321.1,812.4 1322.4,813.3 1322.9,814.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1266.4,829.7L1233.6,925.4C1232.9,927.2 1234.3,929 1236.2,929C1265.6,929.1 1291.6,910 1300.4,882L1320.6,817.2C1321.3,814.8 1319.6,812.4 1317.1,812.4L1290.8,812.3C1279.8,812.3 1270,819.3 1266.4,829.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1289.8,813C1279.4,813.4 1270.4,820.1 1267,829.9L1234.1,925.6C1233.7,927 1234.7,928.4 1236.2,928.4C1265.3,928.5 1291.1,909.6 1299.8,881.8L1305.4,863.8L1289.8,813ZM1289.4,811.8C1278.7,812.3 1269.3,819.3 1265.8,829.5L1233,925.2C1232.2,927.4 1233.8,929.6 1236.2,929.6C1265.8,929.7 1292.1,910.5 1300.9,882.2L1306,865.9L1324.8,927.2C1325.3,928.8 1326.8,929.9 1328.5,929.9C1345.2,929.9 1357,913.5 1351.6,897.7L1323.5,814.5C1322.9,812.9 1321.3,811.8 1319.6,811.8L1289.3,811.7L1289.4,811.8ZM1317.1,813L1291,813L1306,861.8L1320,817C1320.6,815 1319.2,813 1317.1,813ZM1306.7,863.8L1321.2,817.3C1321.7,815.8 1321.2,814.2 1320.2,813.1C1321.1,813.3 1322,814 1322.3,815L1350.5,898.1C1355.6,913.1 1344.3,928.7 1328.5,928.6C1327.3,928.6 1326.3,927.9 1326,926.8L1306.7,863.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M91.4,946.6L119.6,1029.8C124.8,1045.2 113.3,1061.2 97,1061.1C95.6,1061.1 94.4,1060.2 94,1058.9L58.8,944.2L88.2,944.3C89.6,944.3 91,945.2 91.4,946.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M35,961.6L2.1,1057.3C1.5,1059.1 2.8,1060.9 4.7,1060.9C34.1,1061 60.2,1041.9 68.9,1013.9L89.2,949C89.9,946.7 88.1,944.3 85.7,944.3L59.4,944.2C48.4,944.2 38.6,951.2 35,961.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M58.3,944.9C48,945.3 38.9,952 35.6,961.8L2.7,1057.5C2.2,1058.9 3.3,1060.3 4.7,1060.3C33.9,1060.4 59.7,1041.5 68.3,1013.7L73.9,995.7L58.3,944.9ZM57.9,943.6C47.2,944.2 37.9,951.2 34.4,961.4L1.5,1057.1C0.8,1059.3 2.4,1061.5 4.7,1061.5C34.4,1061.6 60.7,1042.4 69.5,1014.1L74.6,997.8L93.4,1059.1C93.9,1060.7 95.4,1061.8 97,1061.8C113.7,1061.8 125.6,1045.4 120.2,1029.6L92,946.5C91.5,944.8 89.9,943.7 88.2,943.7L57.9,943.6L57.9,943.6ZM85.6,944.9L59.6,944.8L74.6,993.7L88.6,948.9C89.2,946.9 87.7,944.9 85.6,944.9ZM75.2,995.7L89.7,949.2C90.2,947.6 89.8,946 88.7,945C89.7,945.2 90.5,945.9 90.8,946.8L119,1030C124.1,1045 112.9,1060.6 97,1060.5C95.9,1060.5 94.9,1059.8 94.6,1058.7L75.2,995.7Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M228.2,947L256.4,1030.1C261.6,1045.5 250.1,1061.5 233.8,1061.4C232.4,1061.4 231.2,1060.5 230.8,1059.2L195.5,944.5L224.9,944.6C226.4,944.6 227.8,945.6 228.2,947Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M171.8,961.9L138.9,1057.6C138.3,1059.4 139.6,1061.2 141.5,1061.2C170.9,1061.3 197,1042.2 205.7,1014.2L225.9,949.4C226.7,947 224.9,944.6 222.4,944.6L196.2,944.5C185.2,944.5 175.4,951.5 171.8,961.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M195.1,945.2C184.8,945.6 175.7,952.3 172.4,962.1L139.5,1057.8C139,1059.2 140,1060.6 141.5,1060.6C170.7,1060.7 196.5,1041.8 205.1,1014L210.7,996.1L195.1,945.2ZM194.7,944C184,944.5 174.7,951.5 171.2,961.7L138.3,1057.4C137.6,1059.6 139.2,1061.8 141.5,1061.8C171.2,1061.9 197.5,1042.7 206.3,1014.4L211.4,998.2L230.2,1059.4C230.7,1061 232.2,1062.1 233.8,1062.1C250.5,1062.1 262.3,1045.7 257,1029.9L228.8,946.8C228.3,945.1 226.7,944 224.9,944L194.7,943.9L194.7,944ZM222.4,945.2L196.4,945.2L211.4,994L225.4,949.2C226,947.2 224.5,945.2 222.4,945.2ZM212,996.1L226.5,949.5C227,948 226.6,946.4 225.5,945.3C226.5,945.5 227.3,946.2 227.6,947.2L255.8,1030.3C260.9,1045.3 249.7,1060.9 233.8,1060.8C232.7,1060.8 231.7,1060.1 231.4,1059L212,996.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M365,947.3L393.2,1030.4C398.4,1045.8 386.9,1061.8 370.6,1061.8C369.2,1061.8 368,1060.9 367.6,1059.5L332.3,944.9L361.7,944.9C363.2,944.9 364.5,945.9 365,947.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M308.6,962.2L275.7,1057.9C275.1,1059.7 276.4,1061.6 278.3,1061.6C307.7,1061.6 333.8,1042.6 342.5,1014.5L362.7,949.7C363.5,947.3 361.7,944.9 359.2,944.9L333,944.9C322,944.8 312.2,951.8 308.6,962.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M331.9,945.5C321.6,945.9 312.5,952.6 309.2,962.4L276.3,1058.1C275.8,1059.5 276.8,1060.9 278.3,1060.9C307.5,1061 333.3,1042.1 341.9,1014.3L347.5,996.4L331.9,945.5ZM331.5,944.3C320.8,944.8 311.5,951.8 308,962L275.1,1057.7C274.4,1059.9 276,1062.2 278.3,1062.2C308,1062.2 334.3,1043 343.1,1014.7L348.2,998.5L367,1059.7C367.5,1061.3 369,1062.4 370.6,1062.4C387.3,1062.4 399.1,1046.1 393.8,1030.2L365.6,947.1C365,945.4 363.5,944.3 361.7,944.3L331.5,944.2L331.5,944.3ZM359.2,945.5L333.2,945.5L348.2,994.3L362.2,949.5C362.8,947.5 361.3,945.5 359.2,945.5ZM348.8,996.4L363.3,949.9C363.8,948.3 363.4,946.7 362.3,945.6C363.3,945.8 364.1,946.5 364.4,947.5L392.6,1030.6C397.7,1045.7 386.5,1061.2 370.6,1061.2C369.5,1061.1 368.5,1060.4 368.2,1059.3L348.8,996.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M501.8,947.6L530,1030.8C535.2,1046.2 523.7,1062.1 507.4,1062.1C506,1062.1 504.8,1061.2 504.4,1059.8L469.1,945.2L498.5,945.2C500,945.3 501.3,946.2 501.8,947.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M445.4,962.5L412.5,1058.2C411.9,1060 413.2,1061.9 415.1,1061.9C444.5,1061.9 470.6,1042.9 479.3,1014.8L499.5,950C500.3,947.6 498.5,945.2 496,945.2L469.8,945.2C458.8,945.2 449,952.1 445.4,962.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M468.7,945.8C458.4,946.2 449.3,952.9 446,962.7L413.1,1058.4C412.6,1059.8 413.6,1061.3 415.1,1061.3C444.3,1061.3 470,1042.4 478.7,1014.7L484.3,996.7L468.7,945.8ZM468.3,944.6C457.6,945.2 448.3,952.1 444.8,962.3L411.9,1058C411.2,1060.2 412.8,1062.5 415.1,1062.5C444.8,1062.6 471.1,1043.3 479.9,1015L485,998.8L503.8,1060C504.3,1061.6 505.7,1062.7 507.4,1062.7C524.1,1062.7 535.9,1046.4 530.6,1030.6L502.4,947.4C501.8,945.7 500.3,944.6 498.5,944.6L468.3,944.5L468.3,944.6ZM496,945.9L470,945.8L485,994.6L499,949.8C499.6,947.8 498.1,945.9 496,945.9ZM485.6,996.7L500.1,950.2C500.6,948.6 500.1,947 499.1,945.9C500.1,946.1 500.9,946.8 501.2,947.8L529.4,1031C534.5,1046 523.3,1061.5 507.4,1061.5C506.3,1061.5 505.3,1060.7 505,1059.7L485.6,996.7Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M638.6,947.9L666.8,1031.1C672,1046.5 660.5,1062.4 644.2,1062.4C642.8,1062.4 641.6,1061.5 641.2,1060.2L605.9,945.5L635.3,945.6C636.8,945.6 638.1,946.5 638.6,947.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M582.2,962.8L549.3,1058.5C548.7,1060.3 550,1062.2 551.9,1062.2C581.3,1062.3 607.4,1043.2 616.1,1015.2L636.3,950.3C637.1,948 635.3,945.6 632.8,945.5L606.6,945.5C595.6,945.5 585.7,952.4 582.2,962.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M605.5,946.1C595.2,946.6 586.1,953.3 582.8,963L549.9,1058.8C549.4,1060.1 550.4,1061.6 551.9,1061.6C581,1061.6 606.8,1042.7 615.5,1015L621.1,997L605.5,946.1ZM605.1,944.9C594.4,945.5 585.1,952.5 581.6,962.7L548.7,1058.3C548,1060.5 549.6,1062.8 551.9,1062.8C581.6,1062.9 607.9,1043.6 616.7,1015.3L621.8,999.1L640.6,1060.3C641.1,1061.9 642.5,1063 644.2,1063C660.9,1063.1 672.7,1046.7 667.4,1030.9L639.2,947.7C638.6,946.1 637.1,944.9 635.3,944.9L605.1,944.9L605.1,944.9ZM632.8,946.2L606.8,946.1L621.8,994.9L635.7,950.1C636.4,948.2 634.9,946.2 632.8,946.2ZM622.4,997L636.9,950.5C637.4,948.9 637,947.3 635.9,946.2C636.9,946.4 637.7,947.1 638,948.1L666.2,1031.3C671.3,1046.3 660.1,1061.8 644.2,1061.8C643.1,1061.8 642.1,1061.1 641.8,1060L622.4,997Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M775.4,948.2L803.6,1031.4C808.8,1046.8 797.3,1062.8 781,1062.7C779.6,1062.7 778.4,1061.8 778,1060.5L742.7,945.8L772.1,945.9C773.6,945.9 774.9,946.8 775.4,948.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M719,963.2L686.1,1058.9C685.5,1060.6 686.8,1062.5 688.7,1062.5C718.1,1062.6 744.2,1043.5 752.9,1015.5L773.1,950.6C773.9,948.3 772.1,945.9 769.6,945.9L743.4,945.8C732.4,945.8 722.5,952.8 719,963.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M742.3,946.5C732,946.9 722.9,953.6 719.5,963.4L686.7,1059.1C686.2,1060.4 687.2,1061.9 688.7,1061.9C717.8,1061.9 743.6,1043.1 752.3,1015.3L757.9,997.3L742.3,946.5ZM741.9,945.2C731.2,945.8 721.9,952.8 718.4,963L685.5,1058.7C684.8,1060.8 686.4,1063.1 688.7,1063.1C718.4,1063.2 744.7,1043.9 753.5,1015.7L758.5,999.4L777.4,1060.7C777.9,1062.3 779.3,1063.3 781,1063.3C797.7,1063.4 809.5,1047 804.2,1031.2L776,948C775.4,946.4 773.9,945.3 772.1,945.3L741.9,945.2L741.9,945.2ZM769.6,946.5L743.6,946.4L758.6,995.2L772.5,950.5C773.2,948.5 771.7,946.5 769.6,946.5ZM759.2,997.3L773.7,950.8C774.2,949.2 773.7,947.6 772.7,946.6C773.7,946.8 774.5,947.5 774.8,948.4L803,1031.6C808.1,1046.6 796.9,1062.1 781,1062.1C779.9,1062.1 778.9,1061.4 778.6,1060.3L759.2,997.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M912.2,948.5L940.4,1031.7C945.6,1047.1 934.1,1063.1 917.8,1063C916.4,1063 915.2,1062.1 914.8,1060.8L879.5,946.1L908.9,946.2C910.4,946.2 911.7,947.2 912.2,948.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M855.8,963.5L822.9,1059.2C822.3,1061 823.6,1062.8 825.5,1062.8C854.9,1062.9 881,1043.8 889.7,1015.8L909.9,951C910.7,948.6 908.9,946.2 906.4,946.2L880.2,946.1C869.2,946.1 859.3,953.1 855.8,963.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M879.1,946.8C868.8,947.2 859.7,953.9 856.3,963.7L823.5,1059.4C823,1060.8 824,1062.2 825.5,1062.2C854.6,1062.3 880.4,1043.4 889.1,1015.6L894.7,997.6L879.1,946.8ZM878.7,945.5C868,946.1 858.7,953.1 855.2,963.3L822.3,1059C821.5,1061.2 823.2,1063.4 825.5,1063.4C855.2,1063.5 881.5,1044.3 890.3,1016L895.3,999.7L914.2,1061C914.7,1062.6 916.1,1063.7 917.8,1063.7C934.5,1063.7 946.3,1047.3 941,1031.5L912.8,948.3C912.2,946.7 910.7,945.6 908.9,945.6L878.7,945.5L878.7,945.5ZM906.4,946.8L880.4,946.8L895.4,995.5L909.3,950.8C909.9,948.8 908.5,946.8 906.4,946.8ZM896,997.6L910.5,951.1C911,949.5 910.5,948 909.5,946.9C910.5,947.1 911.3,947.8 911.6,948.8L939.8,1031.9C944.9,1046.9 933.7,1062.4 917.8,1062.4C916.7,1062.4 915.7,1061.7 915.4,1060.6L896,997.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1049,948.9L1077.2,1032C1082.4,1047.4 1070.9,1063.4 1054.6,1063.4C1053.2,1063.3 1052,1062.4 1051.6,1061.1L1016.3,946.5L1045.7,946.5C1047.2,946.5 1048.5,947.5 1049,948.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M992.6,963.8L959.7,1059.5C959.1,1061.3 960.4,1063.1 962.3,1063.1C991.7,1063.2 1017.7,1044.1 1026.5,1016.1L1046.7,951.3C1047.5,948.9 1045.7,946.5 1043.2,946.5L1017,946.5C1006,946.4 996.1,953.4 992.6,963.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1015.9,947.1C1005.6,947.5 996.5,954.2 993.1,964L960.3,1059.7C959.8,1061.1 960.8,1062.5 962.3,1062.5C991.4,1062.6 1017.2,1043.7 1025.9,1015.9L1031.5,998L1015.9,947.1ZM1015.5,945.9C1004.8,946.4 995.5,953.4 992,963.6L959.1,1059.3C958.3,1061.5 960,1063.8 962.3,1063.8C992,1063.8 1018.3,1044.6 1027.1,1016.3L1032.2,1000L1051,1061.3C1051.5,1062.9 1052.9,1064 1054.6,1064C1071.3,1064 1083.1,1047.6 1077.8,1031.8L1049.6,948.7C1049,947 1047.5,945.9 1045.7,945.9L1015.5,945.8L1015.5,945.9ZM1043.2,947.1L1017.2,947.1L1032.2,995.9L1046.1,951.1C1046.7,949.1 1045.3,947.1 1043.2,947.1ZM1032.8,998L1047.3,951.5C1047.8,949.9 1047.3,948.3 1046.3,947.2C1047.3,947.4 1048.1,948.1 1048.4,949.1L1076.6,1032.2C1081.7,1047.2 1070.5,1062.8 1054.6,1062.7C1053.5,1062.7 1052.5,1062 1052.2,1060.9L1032.8,998Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1185.8,949.2L1214,1032.3C1219.2,1047.8 1207.7,1063.7 1191.4,1063.7C1190,1063.7 1188.8,1062.8 1188.4,1061.4L1153.1,946.8L1182.5,946.8C1184,946.8 1185.3,947.8 1185.8,949.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1129.3,964.1L1096.5,1059.8C1095.9,1061.6 1097.2,1063.4 1099.1,1063.5C1128.5,1063.5 1154.5,1044.5 1163.3,1016.4L1183.5,951.6C1184.3,949.2 1182.5,946.8 1180,946.8L1153.8,946.8C1142.8,946.7 1132.9,953.7 1129.3,964.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1152.7,947.4C1142.3,947.8 1133.3,954.5 1129.9,964.3L1097.1,1060C1096.6,1061.4 1097.6,1062.8 1099.1,1062.8C1128.2,1062.9 1154,1044 1162.7,1016.2L1168.3,998.3L1152.7,947.4ZM1152.3,946.2C1141.6,946.8 1132.3,953.7 1128.8,963.9L1095.9,1059.6C1095.1,1061.8 1096.8,1064.1 1099.1,1064.1C1128.8,1064.1 1155.1,1044.9 1163.9,1016.6L1168.9,1000.4L1187.8,1061.6C1188.3,1063.2 1189.7,1064.3 1191.4,1064.3C1208.1,1064.3 1219.9,1048 1214.6,1032.2L1186.4,949C1185.8,947.3 1184.3,946.2 1182.5,946.2L1152.3,946.1L1152.3,946.2ZM1180,947.4L1153.9,947.4L1168.9,996.2L1182.9,951.4C1183.5,949.4 1182.1,947.5 1180,947.4ZM1169.6,998.3L1184.1,951.8C1184.6,950.2 1184.1,948.6 1183.1,947.5C1184.1,947.7 1184.9,948.4 1185.2,949.4L1213.4,1032.6C1218.5,1047.6 1207.3,1063.1 1191.4,1063.1C1190.3,1063.1 1189.3,1062.3 1188.9,1061.3L1169.6,998.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1322.6,949.5L1350.8,1032.7C1356,1048.1 1344.5,1064 1328.2,1064C1326.8,1064 1325.6,1063.1 1325.2,1061.8L1289.9,947.1L1319.3,947.1C1320.8,947.2 1322.1,948.1 1322.6,949.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1266.2,964.4L1233.3,1060.1C1232.7,1061.9 1234,1063.8 1235.9,1063.8C1265.3,1063.8 1291.3,1044.8 1300.1,1016.8L1320.3,951.9C1321.1,949.5 1319.3,947.2 1316.8,947.1L1290.6,947.1C1279.5,947 1269.7,954 1266.2,964.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1289.5,947.7C1279.2,948.2 1270.1,954.8 1266.7,964.6L1233.8,1060.3C1233.4,1061.7 1234.4,1063.2 1235.9,1063.2C1265,1063.2 1290.8,1044.3 1299.5,1016.6L1305.1,998.6L1289.5,947.7ZM1289.1,946.5C1278.4,947.1 1269.1,954 1265.6,964.2L1232.7,1059.9C1231.9,1062.1 1233.6,1064.4 1235.9,1064.4C1265.6,1064.5 1291.8,1045.2 1300.7,1016.9L1305.7,1000.7L1324.6,1061.9C1325.1,1063.5 1326.5,1064.6 1328.2,1064.6C1344.9,1064.6 1356.7,1048.3 1351.3,1032.5L1323.2,949.3C1322.6,947.6 1321.1,946.5 1319.3,946.5L1289.1,946.5L1289.1,946.5ZM1316.8,947.8L1290.8,947.7L1305.8,996.5L1319.7,951.7C1320.3,949.8 1318.9,947.8 1316.8,947.8ZM1306.4,998.6L1320.9,952.1C1321.4,950.5 1320.9,948.9 1319.9,947.8C1320.9,948 1321.7,948.7 1322,949.7L1350.2,1032.9C1355.3,1047.9 1344.1,1063.4 1328.2,1063.4C1327.1,1063.4 1326.1,1062.6 1325.7,1061.6L1306.4,998.6Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M91.1,1081.4L119.3,1164.6C124.5,1180 113,1195.9 96.7,1195.9C95.3,1195.9 94.1,1195 93.7,1193.6L58.5,1079L87.9,1079C89.4,1079 90.7,1080 91.1,1081.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M34.7,1096.3L1.8,1192C1.2,1193.8 2.5,1195.7 4.4,1195.7C33.9,1195.7 59.9,1176.7 68.6,1148.6L88.9,1083.8C89.6,1081.4 87.8,1079 85.4,1079L59.1,1079C48.1,1078.9 38.3,1085.9 34.7,1096.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M58,1079.6C47.7,1080 38.7,1086.7 35.3,1096.5L2.4,1192.2C1.9,1193.6 3,1195 4.4,1195C33.6,1195.1 59.4,1176.2 68,1148.4L73.7,1130.5L58,1079.6ZM57.6,1078.4C47,1079 37.6,1085.9 34.1,1096.1L1.2,1191.8C0.5,1194 2.1,1196.3 4.4,1196.3C34.1,1196.3 60.4,1177.1 69.2,1148.8L74.3,1132.6L93.1,1193.8C93.6,1195.4 95.1,1196.5 96.7,1196.5C113.5,1196.5 125.3,1180.2 119.9,1164.4L91.7,1081.2C91.2,1079.5 89.6,1078.4 87.9,1078.4L57.6,1078.3L57.6,1078.4ZM85.4,1079.7L59.3,1079.6L74.3,1128.4L88.3,1083.6C88.9,1081.7 87.4,1079.7 85.4,1079.7ZM74.9,1130.5L89.5,1084C90,1082.4 89.5,1080.8 88.4,1079.7C89.4,1079.9 90.2,1080.6 90.6,1081.6L118.7,1164.8C123.8,1179.8 112.6,1195.3 96.7,1195.3C95.6,1195.3 94.6,1194.5 94.3,1193.5L74.9,1130.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M227.9,1081.7L256.1,1164.9C261.3,1180.3 249.8,1196.2 233.5,1196.2C232.1,1196.2 230.9,1195.3 230.5,1193.9L195.3,1079.3L224.7,1079.3C226.1,1079.4 227.5,1080.3 227.9,1081.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M171.5,1096.6L138.6,1192.3C138,1194.1 139.3,1196 141.2,1196C170.7,1196 196.7,1177 205.4,1149L225.7,1084.1C226.4,1081.8 224.6,1079.3 222.2,1079.3L195.9,1079.3C184.9,1079.3 175.1,1086.2 171.5,1096.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M194.8,1079.9C184.5,1080.3 175.5,1087 172.1,1096.8L139.2,1192.5C138.7,1193.9 139.8,1195.3 141.2,1195.4C170.4,1195.4 196.2,1176.5 204.8,1148.8L210.4,1130.8L194.8,1079.9ZM194.4,1078.7C183.8,1079.3 174.4,1086.3 170.9,1096.4L138,1192.1C137.3,1194.3 138.9,1196.6 141.2,1196.6C170.9,1196.7 197.2,1177.4 206,1149.1L211.1,1132.9L229.9,1194.1C230.4,1195.7 231.9,1196.8 233.5,1196.8C250.3,1196.8 262.1,1180.5 256.7,1164.7L228.5,1081.5C228,1079.8 226.4,1078.7 224.7,1078.7L194.4,1078.7L194.4,1078.7ZM222.2,1080L196.1,1079.9L211.1,1128.7L225.1,1083.9C225.7,1082 224.2,1080 222.2,1080ZM211.7,1130.8L226.3,1084.3C226.8,1082.7 226.3,1081.1 225.2,1080C226.2,1080.2 227,1080.9 227.4,1081.9L255.5,1165.1C260.6,1180.1 249.4,1195.6 233.5,1195.6C232.4,1195.6 231.4,1194.8 231.1,1193.8L211.7,1130.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M364.7,1082L392.9,1165.2C398.1,1180.6 386.6,1196.6 370.3,1196.5C368.9,1196.5 367.7,1195.6 367.3,1194.3L332.1,1079.6L361.5,1079.7C362.9,1079.7 364.3,1080.6 364.7,1082Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M308.3,1097L275.4,1192.7C274.8,1194.4 276.1,1196.3 278,1196.3C307.4,1196.4 333.5,1177.3 342.2,1149.3L362.5,1084.4C363.2,1082.1 361.4,1079.7 359,1079.7L332.7,1079.6C321.7,1079.6 311.9,1086.6 308.3,1097Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M331.6,1080.2C321.3,1080.7 312.2,1087.3 308.9,1097.2L276,1192.8C275.5,1194.2 276.6,1195.7 278,1195.7C307.2,1195.8 333,1176.8 341.6,1149.1L347.2,1131.1L331.6,1080.2ZM331.2,1079C320.5,1079.6 311.2,1086.6 307.7,1096.8L274.8,1192.4C274.1,1194.6 275.7,1196.9 278,1196.9C307.7,1197 334,1177.7 342.8,1149.5L347.9,1133.2L366.7,1194.4C367.2,1196 368.7,1197.1 370.3,1197.1C387,1197.2 398.9,1180.8 393.5,1165L365.3,1081.8C364.8,1080.2 363.2,1079.1 361.5,1079.1L331.2,1079L331.2,1079ZM359,1080.3L332.9,1080.2L347.9,1129L361.9,1084.2C362.5,1082.3 361,1080.3 359,1080.3ZM348.5,1131.1L363.1,1084.6C363.5,1083 363.1,1081.4 362,1080.3C363,1080.6 363.8,1081.3 364.2,1082.2L392.3,1165.4C397.4,1180.4 386.2,1195.9 370.3,1195.9C369.2,1195.9 368.2,1195.2 367.9,1194.1L348.5,1131.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M501.5,1082.3L529.7,1165.5C534.9,1180.9 523.4,1196.9 507.1,1196.8C505.7,1196.8 504.5,1195.9 504.1,1194.6L468.9,1079.9L498.3,1080C499.7,1080 501.1,1080.9 501.5,1082.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M445.1,1097.3L412.2,1193C411.6,1194.8 412.9,1196.6 414.8,1196.6C444.2,1196.7 470.3,1177.6 479,1149.6L499.3,1084.7C500,1082.4 498.2,1080 495.8,1080L469.5,1079.9C458.5,1079.9 448.7,1086.9 445.1,1097.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M468.4,1080.6C458.1,1081 449,1087.7 445.7,1097.5L412.8,1193.2C412.3,1194.6 413.3,1196 414.8,1196C444,1196.1 469.8,1177.2 478.4,1149.4L484,1131.4L468.4,1080.6ZM468,1079.3C457.3,1079.9 448,1086.9 444.5,1097.1L411.6,1192.8C410.9,1195 412.5,1197.2 414.8,1197.2C444.5,1197.3 470.8,1178.1 479.6,1149.8L484.7,1133.5L503.5,1194.8C504,1196.4 505.5,1197.4 507.1,1197.4C523.8,1197.5 535.7,1181.1 530.3,1165.3L502.1,1082.1C501.6,1080.5 500,1079.4 498.3,1079.4L468,1079.3L468,1079.3ZM495.8,1080.6L469.7,1080.5L484.7,1129.3L498.7,1084.6C499.3,1082.6 497.8,1080.6 495.8,1080.6ZM485.3,1131.4L499.9,1084.9C500.3,1083.3 499.9,1081.7 498.8,1080.7C499.8,1080.9 500.6,1081.6 501,1082.5L529.1,1165.7C534.2,1180.7 523,1196.3 507.1,1196.2C506,1196.2 505,1195.5 504.7,1194.4L485.3,1131.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M638.3,1082.7L666.5,1165.8C671.7,1181.2 660.2,1197.2 643.9,1197.1C642.5,1197.1 641.3,1196.2 640.9,1194.9L605.7,1080.2L635,1080.3C636.5,1080.3 637.8,1081.3 638.3,1082.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M581.9,1097.6L549,1193.3C548.4,1195.1 549.7,1196.9 551.6,1196.9C581,1197 607.1,1177.9 615.8,1149.9L636,1085.1C636.8,1082.7 635,1080.3 632.5,1080.3L606.3,1080.2C595.3,1080.2 585.5,1087.2 581.9,1097.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M605.2,1080.9C594.9,1081.3 585.8,1088 582.5,1097.8L549.6,1193.5C549.1,1194.9 550.1,1196.3 551.6,1196.3C580.8,1196.4 606.6,1177.5 615.2,1149.7L620.8,1131.8L605.2,1080.9ZM604.8,1079.7C594.1,1080.2 584.8,1087.2 581.3,1097.4L548.4,1193.1C547.7,1195.3 549.3,1197.6 551.6,1197.6C581.3,1197.6 607.6,1178.4 616.4,1150.1L621.5,1133.8L640.3,1195.1C640.8,1196.7 642.3,1197.8 643.9,1197.8C660.6,1197.8 672.4,1181.4 667.1,1165.6L638.9,1082.5C638.3,1080.8 636.8,1079.7 635,1079.7L604.8,1079.6L604.8,1079.7ZM632.5,1080.9L606.5,1080.9L621.5,1129.7L635.5,1084.9C636.1,1082.9 634.6,1080.9 632.5,1080.9ZM622.1,1131.8L636.6,1085.2C637.1,1083.7 636.7,1082.1 635.6,1081C636.6,1081.2 637.4,1081.9 637.7,1082.8L665.9,1166C671,1181 659.8,1196.6 643.9,1196.5C642.8,1196.5 641.8,1195.8 641.5,1194.7L622.1,1131.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M775.1,1083L803.3,1166.1C808.5,1181.5 797,1197.5 780.7,1197.5C779.3,1197.4 778.1,1196.6 777.7,1195.2L742.4,1080.6L771.8,1080.6C773.3,1080.6 774.7,1081.6 775.1,1083Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M718.7,1097.9L685.8,1193.6C685.2,1195.4 686.5,1197.2 688.4,1197.2C717.8,1197.3 743.9,1178.3 752.6,1150.2L772.8,1085.4C773.6,1083 771.8,1080.6 769.3,1080.6L743.1,1080.6C732.1,1080.5 722.3,1087.5 718.7,1097.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M742,1081.2C731.7,1081.6 722.6,1088.3 719.3,1098.1L686.4,1193.8C685.9,1195.2 686.9,1196.6 688.4,1196.6C717.6,1196.7 743.3,1177.8 752,1150L757.6,1132.1L742,1081.2ZM741.6,1080C730.9,1080.5 721.6,1087.5 718.1,1097.7L685.2,1193.4C684.5,1195.6 686.1,1197.9 688.4,1197.9C718.1,1197.9 744.4,1178.7 753.2,1150.4L758.3,1134.2L777.1,1195.4C777.6,1197 779,1198.1 780.7,1198.1C797.4,1198.1 809.2,1181.8 803.9,1165.9L775.7,1082.8C775.2,1081.1 773.6,1080 771.8,1080L741.6,1079.9L741.6,1080ZM769.3,1081.2L743.3,1081.2L758.3,1130L772.3,1085.2C772.9,1083.2 771.4,1081.2 769.3,1081.2ZM758.9,1132.1L773.4,1085.6C773.9,1084 773.5,1082.4 772.4,1081.3C773.4,1081.5 774.2,1082.2 774.5,1083.2L802.7,1166.3C807.8,1181.3 796.6,1196.9 780.7,1196.8C779.6,1196.8 778.6,1196.1 778.3,1195L758.9,1132.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M911.9,1083.3L940.1,1166.4C945.3,1181.9 933.8,1197.8 917.5,1197.8C916.1,1197.8 914.9,1196.9 914.5,1195.5L879.2,1080.9L908.6,1080.9C910.1,1080.9 911.4,1081.9 911.9,1083.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M855.5,1098.2L822.6,1193.9C822,1195.7 823.3,1197.6 825.2,1197.6C854.6,1197.6 880.7,1178.6 889.4,1150.5L909.6,1085.7C910.4,1083.3 908.6,1080.9 906.1,1080.9L879.9,1080.9C868.9,1080.8 859,1087.8 855.5,1098.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M878.8,1081.5C868.5,1081.9 859.4,1088.6 856.1,1098.4L823.2,1194.1C822.7,1195.5 823.7,1196.9 825.2,1196.9C854.4,1197 880.2,1178.1 888.8,1150.4L894.4,1132.4L878.8,1081.5ZM878.4,1080.3C867.7,1080.9 858.4,1087.8 854.9,1098L822,1193.7C821.3,1195.9 822.9,1198.2 825.2,1198.2C854.9,1198.3 881.2,1179 890,1150.7L895.1,1134.5L913.9,1195.7C914.4,1197.3 915.8,1198.4 917.5,1198.4C934.2,1198.4 946,1182.1 940.7,1166.3L912.5,1083.1C911.9,1081.4 910.4,1080.3 908.6,1080.3L878.4,1080.3L878.4,1080.3ZM906.1,1081.6L880.1,1081.5L895.1,1130.3L909,1085.5C909.7,1083.6 908.2,1081.6 906.1,1081.6ZM895.7,1132.4L910.2,1085.9C910.7,1084.3 910.3,1082.7 909.2,1081.6C910.2,1081.8 911,1082.5 911.3,1083.5L939.5,1166.7C944.6,1181.7 933.4,1197.2 917.5,1197.2C916.4,1197.2 915.4,1196.4 915.1,1195.4L895.7,1132.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1048.7,1083.6L1076.9,1166.8C1082.1,1182.2 1070.6,1198.1 1054.3,1198.1C1052.9,1198.1 1051.7,1197.2 1051.3,1195.9L1016,1081.2L1045.4,1081.3C1046.9,1081.3 1048.2,1082.2 1048.7,1083.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M992.3,1098.5L959.4,1194.2C958.8,1196 960.1,1197.9 962,1197.9C991.4,1197.9 1017.5,1178.9 1026.2,1150.9L1046.4,1086C1047.2,1083.7 1045.4,1081.3 1042.9,1081.3L1016.7,1081.2C1005.7,1081.2 995.8,1088.1 992.3,1098.5Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1015.6,1081.8C1005.3,1082.3 996.2,1088.9 992.8,1098.7L960,1194.4C959.5,1195.8 960.5,1197.3 962,1197.3C991.2,1197.3 1016.9,1178.4 1025.6,1150.7L1031.2,1132.7L1015.6,1081.8ZM1015.2,1080.6C1004.5,1081.2 995.2,1088.2 991.7,1098.3L958.8,1194C958,1196.2 959.7,1198.5 962,1198.5C991.7,1198.6 1018,1179.3 1026.8,1151.1L1031.9,1134.8L1050.7,1196C1051.2,1197.6 1052.6,1198.7 1054.3,1198.7C1071,1198.8 1082.8,1182.4 1077.5,1166.6L1049.3,1083.4C1048.7,1081.8 1047.2,1080.6 1045.4,1080.6L1015.2,1080.6L1015.2,1080.6ZM1042.9,1081.9L1016.9,1081.8L1031.9,1130.6L1045.8,1085.8C1046.4,1083.9 1045,1081.9 1042.9,1081.9ZM1032.5,1132.7L1047,1086.2C1047.5,1084.6 1047,1083 1046,1081.9C1047,1082.1 1047.8,1082.8 1048.1,1083.8L1076.3,1167C1081.4,1182 1070.2,1197.5 1054.3,1197.5C1053.2,1197.5 1052.2,1196.8 1051.9,1195.7L1032.5,1132.7Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1185.5,1083.9L1213.7,1167.1C1218.9,1182.5 1207.4,1198.4 1191.1,1198.4C1189.7,1198.4 1188.5,1197.5 1188.1,1196.2L1152.8,1081.5L1182.2,1081.6C1183.7,1081.6 1185,1082.5 1185.5,1083.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1129.1,1098.9L1096.2,1194.6C1095.6,1196.3 1096.9,1198.2 1098.8,1198.2C1128.2,1198.3 1154.3,1179.2 1163,1151.2L1183.2,1086.3C1184,1084 1182.2,1081.6 1179.7,1081.6L1153.5,1081.5C1142.5,1081.5 1132.6,1088.4 1129.1,1098.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1152.4,1082.2C1142.1,1082.6 1133,1089.3 1129.7,1099.1L1096.8,1194.8C1096.3,1196.1 1097.3,1197.6 1098.8,1197.6C1127.9,1197.7 1153.7,1178.8 1162.4,1151L1168,1133L1152.4,1082.2ZM1152,1080.9C1141.3,1081.5 1132,1088.5 1128.5,1098.7L1095.6,1194.3C1094.8,1196.5 1096.5,1198.8 1098.8,1198.8C1128.5,1198.9 1154.8,1179.6 1163.6,1151.4L1168.7,1135.1L1187.5,1196.4C1188,1197.9 1189.4,1199 1191.1,1199C1207.8,1199.1 1219.6,1182.7 1214.3,1166.9L1186.1,1083.7C1185.5,1082.1 1184,1081 1182.2,1081L1152,1080.9L1152,1080.9ZM1179.7,1082.2L1153.7,1082.1L1168.7,1130.9L1182.6,1086.2C1183.3,1084.2 1181.8,1082.2 1179.7,1082.2ZM1169.3,1133L1183.8,1086.5C1184.3,1084.9 1183.8,1083.3 1182.8,1082.3C1183.8,1082.5 1184.6,1083.2 1184.9,1084.1L1213.1,1167.3C1218.2,1182.3 1207,1197.8 1191.1,1197.8C1190,1197.8 1189,1197.1 1188.7,1196L1169.3,1133Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1322.3,1084.2L1350.5,1167.4C1355.7,1182.8 1344.2,1198.8 1327.9,1198.7C1326.5,1198.7 1325.3,1197.8 1324.9,1196.5L1289.6,1081.8L1319,1081.9C1320.5,1081.9 1321.8,1082.8 1322.3,1084.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1265.9,1099.2L1233,1194.9C1232.4,1196.7 1233.7,1198.5 1235.6,1198.5C1265,1198.6 1291,1179.5 1299.8,1151.5L1320,1086.7C1320.8,1084.3 1319,1081.9 1316.5,1081.9L1290.3,1081.8C1279.3,1081.8 1269.4,1088.8 1265.9,1099.2Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1289.2,1082.5C1278.9,1082.9 1269.8,1089.6 1266.4,1099.4L1233.6,1195.1C1233.1,1196.5 1234.1,1197.9 1235.6,1197.9C1264.7,1198 1290.5,1179.1 1299.2,1151.3L1304.8,1133.3L1289.2,1082.5ZM1288.8,1081.2C1278.1,1081.8 1268.8,1088.8 1265.3,1099L1232.4,1194.7C1231.6,1196.9 1233.3,1199.1 1235.6,1199.1C1265.3,1199.2 1291.6,1180 1300.4,1151.7L1305.4,1135.4L1324.3,1196.7C1324.8,1198.3 1326.2,1199.3 1327.9,1199.3C1344.6,1199.4 1356.4,1183 1351.1,1167.2L1322.9,1084C1322.3,1082.4 1320.8,1081.3 1319,1081.3L1288.8,1081.2L1288.8,1081.2ZM1316.5,1082.5L1290.5,1082.4L1305.5,1131.2L1319.4,1086.5C1320.1,1084.5 1318.6,1082.5 1316.5,1082.5ZM1306.1,1133.3L1320.6,1086.8C1321.1,1085.2 1320.6,1083.7 1319.6,1082.6C1320.6,1082.8 1321.4,1083.5 1321.7,1084.4L1349.9,1167.6C1355,1182.6 1343.8,1198.2 1327.9,1198.1C1326.8,1198.1 1325.8,1197.4 1325.5,1196.3L1306.1,1133.3Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M90.9,1216.1L119,1299.3C124.3,1314.7 112.8,1330.7 96.5,1330.6C95.1,1330.6 93.8,1329.7 93.4,1328.4L58.2,1213.7L87.6,1213.8C89.1,1213.8 90.4,1214.7 90.9,1216.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M34.4,1231.1L1.5,1326.8C0.9,1328.5 2.3,1330.4 4.1,1330.4C33.6,1330.5 59.6,1311.4 68.3,1283.4L88.6,1218.5C89.3,1216.2 87.6,1213.8 85.1,1213.8L58.8,1213.7C47.8,1213.7 38,1220.7 34.4,1231.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M57.7,1214.3C47.4,1214.8 38.4,1221.5 35,1231.3L2.1,1327C1.7,1328.3 2.7,1329.8 4.1,1329.8C33.3,1329.8 59.1,1311 67.8,1283.2L73.4,1265.2L57.7,1214.3ZM57.4,1213.1C46.7,1213.7 37.3,1220.7 33.8,1230.9L1,1326.6C0.2,1328.8 1.8,1331 4.1,1331C33.8,1331.1 60.1,1311.8 68.9,1283.6L74,1267.3L92.8,1328.6C93.3,1330.2 94.8,1331.2 96.5,1331.2C113.2,1331.3 125,1314.9 119.6,1299.1L91.4,1215.9C90.9,1214.3 89.3,1213.2 87.6,1213.2L57.3,1213.1L57.4,1213.1ZM85.1,1214.4L59,1214.3L74,1263.1L88,1218.3C88.6,1216.4 87.1,1214.4 85.1,1214.4ZM74.7,1265.2L89.2,1218.7C89.7,1217.1 89.2,1215.5 88.2,1214.5C89.1,1214.7 89.9,1215.4 90.3,1216.3L118.5,1299.5C123.5,1314.5 112.3,1330 96.5,1330C95.3,1330 94.3,1329.3 94,1328.2L74.7,1265.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M227.7,1216.4L255.8,1299.6C261,1315 249.5,1331 233.2,1330.9C231.9,1330.9 230.6,1330 230.2,1328.7L195,1214L224.4,1214.1C225.9,1214.1 227.2,1215.1 227.7,1216.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M171.2,1231.4L138.3,1327.1C137.7,1328.9 139,1330.7 140.9,1330.7C170.4,1330.8 196.4,1311.7 205.1,1283.7L225.4,1218.8C226.1,1216.5 224.4,1214.1 221.9,1214.1L195.6,1214C184.6,1214 174.8,1221 171.2,1231.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M194.5,1214.7C184.2,1215.1 175.2,1221.8 171.8,1231.6L138.9,1327.3C138.4,1328.7 139.5,1330.1 140.9,1330.1C170.1,1330.2 195.9,1311.3 204.6,1283.5L210.2,1265.5L194.5,1214.7ZM194.2,1213.4C183.5,1214 174.1,1221 170.6,1231.2L137.8,1326.9C137,1329.1 138.6,1331.3 140.9,1331.3C170.6,1331.4 196.9,1312.2 205.7,1283.9L210.8,1267.6L229.6,1328.9C230.1,1330.5 231.6,1331.6 233.2,1331.6C250,1331.6 261.8,1315.2 256.4,1299.4L228.2,1216.3C227.7,1214.6 226.1,1213.5 224.4,1213.5L194.1,1213.4L194.2,1213.4ZM221.9,1214.7L195.8,1214.7L210.8,1263.4L224.8,1218.7C225.4,1216.7 223.9,1214.7 221.9,1214.7ZM211.5,1265.5L226,1219C226.5,1217.4 226,1215.8 225,1214.8C225.9,1215 226.7,1215.7 227.1,1216.7L255.2,1299.8C260.3,1314.8 249.1,1330.3 233.2,1330.3C232.1,1330.3 231.1,1329.6 230.8,1328.5L211.5,1265.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M364.5,1216.8L392.6,1299.9C397.8,1315.3 386.3,1331.3 370,1331.3C368.7,1331.3 367.4,1330.3 367,1329L331.8,1214.3L361.2,1214.4C362.7,1214.4 364,1215.4 364.5,1216.8Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M308,1231.7L275.1,1327.4C274.5,1329.2 275.8,1331 277.7,1331C307.2,1331.1 333.2,1312 341.9,1284L362.2,1219.2C362.9,1216.8 361.1,1214.4 358.7,1214.4L332.4,1214.3C321.4,1214.3 311.6,1221.3 308,1231.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M331.3,1215C321,1215.4 312,1222.1 308.6,1231.9L275.7,1327.6C275.2,1329 276.3,1330.4 277.7,1330.4C306.9,1330.5 332.7,1311.6 341.3,1283.8L347,1265.9L331.3,1215ZM330.9,1213.8C320.3,1214.3 310.9,1221.3 307.4,1231.5L274.5,1327.2C273.8,1329.4 275.4,1331.7 277.7,1331.7C307.4,1331.7 333.7,1312.5 342.5,1284.2L347.6,1267.9L366.4,1329.2C366.9,1330.8 368.4,1331.9 370,1331.9C386.8,1331.9 398.6,1315.5 393.2,1299.7L365,1216.6C364.5,1214.9 362.9,1213.8 361.2,1213.8L330.9,1213.7L330.9,1213.8ZM358.7,1215L332.6,1215L347.6,1263.8L361.6,1219C362.2,1217 360.7,1215 358.7,1215ZM348.3,1265.9L362.8,1219.3C363.3,1217.8 362.8,1216.2 361.8,1215.1C362.7,1215.3 363.5,1216 363.9,1217L392,1300.1C397.1,1315.1 385.9,1330.7 370,1330.6C368.9,1330.6 367.9,1329.9 367.6,1328.8L348.3,1265.9Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M501.3,1217.1L529.4,1300.3C534.6,1315.7 523.1,1331.6 506.8,1331.6C505.4,1331.6 504.2,1330.7 503.8,1329.3L468.6,1214.7L498,1214.7C499.5,1214.7 500.8,1215.7 501.3,1217.1Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M444.8,1232L411.9,1327.7C411.3,1329.5 412.6,1331.3 414.5,1331.4C444,1331.4 470,1312.4 478.7,1284.3L499,1219.5C499.7,1217.1 497.9,1214.7 495.5,1214.7L469.2,1214.7C458.2,1214.6 448.4,1221.6 444.8,1232Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M468.1,1215.3C457.8,1215.7 448.8,1222.4 445.4,1232.2L412.5,1327.9C412,1329.3 413.1,1330.7 414.5,1330.7C443.7,1330.8 469.5,1311.9 478.1,1284.2L483.8,1266.2L468.1,1215.3ZM467.7,1214.1C457.1,1214.7 447.7,1221.6 444.2,1231.8L411.3,1327.5C410.6,1329.7 412.2,1332 414.5,1332C444.2,1332 470.5,1312.8 479.3,1284.5L484.4,1268.3L503.2,1329.5C503.7,1331.1 505.2,1332.2 506.8,1332.2C523.6,1332.2 535.4,1315.9 530,1300.1L501.8,1216.9C501.3,1215.2 499.7,1214.1 498,1214.1L467.7,1214L467.7,1214.1ZM495.5,1215.3L469.4,1215.3L484.4,1264.1L498.4,1219.3C499,1217.3 497.5,1215.3 495.5,1215.3ZM485,1266.2L499.6,1219.7C500,1218.1 499.6,1216.5 498.5,1215.4C499.5,1215.6 500.3,1216.3 500.7,1217.3L528.8,1300.4C533.9,1315.4 522.7,1331 506.8,1330.9C505.7,1330.9 504.7,1330.2 504.4,1329.2L485,1266.2Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M638,1217.4L666.2,1300.6C671.4,1316 659.9,1331.9 643.6,1331.9C642.2,1331.9 641,1331 640.6,1329.7L605.4,1215L634.8,1215C636.3,1215.1 637.6,1216 638,1217.4Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M581.6,1232.3L548.7,1328C548.1,1329.8 549.4,1331.7 551.3,1331.7C580.8,1331.7 606.8,1312.7 615.5,1284.7L635.8,1219.8C636.5,1217.4 634.7,1215.1 632.3,1215L606,1215C595,1214.9 585.2,1221.9 581.6,1232.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M604.9,1215.6C594.6,1216.1 585.5,1222.7 582.2,1232.5L549.3,1328.2C548.8,1329.6 549.9,1331.1 551.3,1331.1C580.5,1331.1 606.3,1312.2 614.9,1284.5L620.5,1266.5L604.9,1215.6ZM604.5,1214.4C593.8,1215 584.5,1221.9 581,1232.1L548.1,1327.8C547.4,1330 549,1332.3 551.3,1332.3C581,1332.4 607.3,1313.1 616.1,1284.8L621.2,1268.6L640,1329.8C640.5,1331.4 642,1332.5 643.6,1332.5C660.3,1332.6 672.2,1316.2 666.8,1300.4L638.6,1217.2C638.1,1215.5 636.5,1214.4 634.8,1214.4L604.5,1214.3L604.5,1214.4ZM632.3,1215.7L606.2,1215.6L621.2,1264.4L635.2,1219.6C635.8,1217.7 634.3,1215.7 632.3,1215.7ZM621.8,1266.5L636.4,1220C636.8,1218.4 636.4,1216.8 635.3,1215.7C636.3,1215.9 637.1,1216.6 637.5,1217.6L665.6,1300.8C670.7,1315.8 659.5,1331.3 643.6,1331.3C642.5,1331.3 641.5,1330.5 641.2,1329.5L621.8,1266.5Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M774.8,1217.7L803,1300.9C808.2,1316.3 796.7,1332.2 780.4,1332.2C779,1332.2 777.8,1331.3 777.4,1330L742.2,1215.3L771.5,1215.4C773,1215.4 774.4,1216.3 774.8,1217.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M718.4,1232.7L685.5,1328.3C684.9,1330.1 686.2,1332 688.1,1332C717.5,1332.1 743.6,1313 752.3,1285L772.6,1220.1C773.3,1217.8 771.5,1215.4 769,1215.3L742.8,1215.3C731.8,1215.3 722,1222.2 718.4,1232.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M741.7,1215.9C731.4,1216.4 722.3,1223.1 719,1232.8L686.1,1328.6C685.6,1329.9 686.7,1331.4 688.1,1331.4C717.3,1331.4 743.1,1312.6 751.7,1284.8L757.3,1266.8L741.7,1215.9ZM741.3,1214.7C730.7,1215.3 721.3,1222.3 717.8,1232.4L684.9,1328.1C684.2,1330.3 685.8,1332.6 688.1,1332.6C717.8,1332.7 744.1,1313.4 752.9,1285.2L758,1268.9L776.8,1330.2C777.3,1331.7 778.8,1332.8 780.4,1332.8C797.1,1332.9 809,1316.5 803.6,1300.7L775.4,1217.5C774.9,1215.9 773.3,1214.7 771.6,1214.8L741.3,1214.7L741.3,1214.7ZM769,1216L743,1215.9L758,1264.7L772,1219.9C772.6,1218 771.1,1216 769,1216ZM758.6,1266.8L773.2,1220.3C773.7,1218.7 773.2,1217.1 772.1,1216.1C773.1,1216.3 773.9,1216.9 774.3,1217.9L802.4,1301.1C807.5,1316.1 796.3,1331.6 780.4,1331.6C779.3,1331.6 778.3,1330.8 778,1329.8L758.6,1266.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M911.6,1218L939.8,1301.2C945,1316.6 933.5,1332.6 917.2,1332.5C915.8,1332.5 914.6,1331.6 914.2,1330.3L879,1215.6L908.3,1215.7C909.8,1215.7 911.2,1216.6 911.6,1218Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M855.2,1233L822.3,1328.7C821.7,1330.4 823,1332.3 824.9,1332.3C854.3,1332.4 880.4,1313.3 889.1,1285.3L909.3,1220.4C910.1,1218.1 908.3,1215.7 905.8,1215.7L879.6,1215.6C868.6,1215.6 858.8,1222.6 855.2,1233Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M878.5,1216.3C868.2,1216.7 859.1,1223.4 855.8,1233.2L822.9,1328.9C822.4,1330.2 823.5,1331.7 824.9,1331.7C854.1,1331.8 879.9,1312.9 888.5,1285.1L894.1,1267.1L878.5,1216.3ZM878.1,1215C867.5,1215.6 858.1,1222.6 854.6,1232.8L821.7,1328.5C821,1330.7 822.6,1332.9 824.9,1332.9C854.6,1333 880.9,1313.8 889.7,1285.5L894.8,1269.2L913.6,1330.5C914.1,1332.1 915.6,1333.1 917.2,1333.1C933.9,1333.2 945.8,1316.8 940.4,1301L912.2,1217.8C911.7,1216.2 910.1,1215.1 908.3,1215.1L878.1,1215L878.1,1215ZM905.8,1216.3L879.8,1216.2L894.8,1265L908.8,1220.3C909.4,1218.3 907.9,1216.3 905.8,1216.3ZM895.4,1267.1L910,1220.6C910.4,1219 910,1217.4 908.9,1216.4C909.9,1216.6 910.7,1217.3 911,1218.2L939.2,1301.4C944.3,1316.4 933.1,1331.9 917.2,1331.9C916.1,1331.9 915.1,1331.2 914.8,1330.1L895.4,1267.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1048.4,1218.3L1076.6,1301.5C1081.8,1316.9 1070.3,1332.9 1054,1332.8C1052.6,1332.8 1051.4,1331.9 1051,1330.6L1015.7,1215.9L1045.1,1216C1046.6,1216 1047.9,1216.9 1048.4,1218.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M992,1233.3L959.1,1329C958.5,1330.8 959.8,1332.6 961.7,1332.6C991.1,1332.7 1017.2,1313.6 1025.9,1285.6L1046.2,1220.8C1046.9,1218.4 1045.1,1216 1042.6,1216L1016.4,1215.9C1005.4,1215.9 995.6,1222.9 992,1233.3Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1015.3,1216.6C1005,1217 995.9,1223.7 992.6,1233.5L959.7,1329.2C959.2,1330.6 960.2,1332 961.7,1332C990.9,1332.1 1016.7,1313.2 1025.3,1285.4L1030.9,1267.4L1015.3,1216.6ZM1014.9,1215.3C1004.2,1215.9 994.9,1222.9 991.4,1233.1L958.5,1328.8C957.8,1331 959.4,1333.2 961.7,1333.2C991.4,1333.3 1017.7,1314.1 1026.5,1285.8L1031.6,1269.5L1050.4,1330.8C1050.9,1332.4 1052.3,1333.4 1054,1333.5C1070.7,1333.5 1082.6,1317.1 1077.2,1301.3L1049,1218.2C1048.4,1216.5 1046.9,1215.4 1045.2,1215.4L1014.9,1215.3L1014.9,1215.3ZM1042.6,1216.6L1016.6,1216.6L1031.6,1265.3L1045.6,1220.6C1046.2,1218.6 1044.7,1216.6 1042.6,1216.6ZM1032.2,1267.4L1046.7,1220.9C1047.2,1219.3 1046.8,1217.8 1045.7,1216.7C1046.7,1216.9 1047.5,1217.6 1047.8,1218.6L1076,1301.7C1081.1,1316.7 1069.9,1332.3 1054,1332.2C1052.9,1332.2 1051.9,1331.5 1051.6,1330.4L1032.2,1267.4Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1185.2,1218.7L1213.4,1301.8C1218.6,1317.2 1207.1,1333.2 1190.8,1333.2C1189.4,1333.2 1188.2,1332.2 1187.8,1330.9L1152.5,1216.3L1181.9,1216.3C1183.4,1216.3 1184.8,1217.3 1185.2,1218.7Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1128.8,1233.6L1095.9,1329.3C1095.3,1331.1 1096.6,1332.9 1098.5,1332.9C1127.9,1333 1154,1313.9 1162.7,1285.9L1182.9,1221.1C1183.7,1218.7 1181.9,1216.3 1179.4,1216.3L1153.2,1216.3C1142.2,1216.2 1132.4,1223.2 1128.8,1233.6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1152.1,1216.9C1141.8,1217.3 1132.7,1224 1129.4,1233.8L1096.5,1329.5C1096,1330.9 1097,1332.3 1098.5,1332.3C1127.7,1332.4 1153.5,1313.5 1162.1,1285.7L1167.7,1267.8L1152.1,1216.9ZM1151.7,1215.7C1141,1216.2 1131.7,1223.2 1128.2,1233.4L1095.3,1329.1C1094.6,1331.3 1096.2,1333.6 1098.5,1333.6C1128.2,1333.6 1154.5,1314.4 1163.3,1286.1L1168.4,1269.8L1187.2,1331.1C1187.7,1332.7 1189.2,1333.8 1190.8,1333.8C1207.5,1333.8 1219.3,1317.4 1214,1301.6L1185.8,1218.5C1185.3,1216.8 1183.7,1215.7 1181.9,1215.7L1151.7,1215.6L1151.7,1215.7ZM1179.4,1216.9L1153.4,1216.9L1168.4,1265.7L1182.3,1220.9C1183,1218.9 1181.5,1216.9 1179.4,1216.9ZM1169,1267.8L1183.5,1221.3C1184,1219.7 1183.6,1218.1 1182.5,1217C1183.5,1217.2 1184.3,1217.9 1184.6,1218.9L1212.8,1302C1217.9,1317 1206.7,1332.6 1190.8,1332.5C1189.7,1332.5 1188.7,1331.8 1188.4,1330.7L1169,1267.8Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1322,1219L1350.2,1302.2C1355.4,1317.6 1343.9,1333.5 1327.6,1333.5C1326.2,1333.5 1325,1332.6 1324.6,1331.2L1289.3,1216.6L1318.7,1216.6C1320.2,1216.6 1321.5,1217.6 1322,1219Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="114" + android:startY="-36.4" + android:endX="1379.3" + android:endY="1313" + android:type="linear"> + <item android:offset="0.1" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#19FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1265.6,1233.9L1232.7,1329.6C1232.1,1331.4 1233.4,1333.3 1235.3,1333.3C1264.7,1333.3 1290.8,1314.3 1299.5,1286.2L1319.7,1221.4C1320.5,1219 1318.7,1216.6 1316.2,1216.6L1290,1216.6C1279,1216.5 1269.2,1223.5 1265.6,1233.9Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="298.2" + android:startY="378.1" + android:endX="569.3" + android:endY="1620.9" + android:type="linear"> + <item android:offset="0" android:color="#FFFFFFFF"/> + <item android:offset="1" android:color="#21FFFFFF"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M1288.9,1217.2C1278.6,1217.6 1269.5,1224.3 1266.2,1234.1L1233.3,1329.8C1232.8,1331.2 1233.8,1332.6 1235.3,1332.6C1264.5,1332.7 1290.3,1313.8 1298.9,1286.1L1304.5,1268.1L1288.9,1217.2ZM1288.5,1216C1277.8,1216.6 1268.5,1223.5 1265,1233.7L1232.1,1329.4C1231.4,1331.6 1233,1333.9 1235.3,1333.9C1265,1333.9 1291.3,1314.7 1300.1,1286.4L1305.2,1270.2L1324,1331.4C1324.5,1333 1325.9,1334.1 1327.6,1334.1C1344.3,1334.1 1356.1,1317.8 1350.8,1302L1322.6,1218.8C1322,1217.1 1320.5,1216 1318.7,1216L1288.5,1215.9L1288.5,1216ZM1316.2,1217.3L1290.2,1217.2L1305.2,1266L1319.2,1221.2C1319.8,1219.2 1318.3,1217.3 1316.2,1217.3ZM1305.8,1268.1L1320.3,1221.6C1320.8,1220 1320.3,1218.4 1319.3,1217.3C1320.3,1217.5 1321.1,1218.2 1321.4,1219.2L1349.6,1302.3C1354.7,1317.3 1343.5,1332.9 1327.6,1332.8C1326.5,1332.9 1325.5,1332.1 1325.2,1331.1L1305.8,1268.1Z" + android:fillType="evenOdd"> + <aapt:attr name="android:fillColor"> + <gradient + android:startX="1292.2" + android:startY="1216.6" + android:endX="1292" + android:endY="1333.4" + android:type="linear"> + <item android:offset="0" android:color="#00FFFFFF"/> + <item android:offset="1" android:color="#FFFFFFFF"/> + </gradient> + </aapt:attr> + </path> +</vector> diff --git a/src/app/src/main/res/font/plusjakartasans_bold.ttf b/src/app/src/main/res/font/plusjakartasans_bold.ttf deleted file mode 100644 index 386d3a6dacedacb3fb68ecf65acce0f301685363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94784 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 diff --git a/src/app/src/main/res/font/plusjakartasans_extrabold.ttf b/src/app/src/main/res/font/plusjakartasans_extrabold.ttf deleted file mode 100644 index a67cafd187835163a9beaedfd5e7672b044500e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94788 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 RDpH{Q%XAqYk1|H`{{bHkIv)T4 diff --git a/src/app/src/main/res/font/plusjakartasans_extralight.ttf b/src/app/src/main/res/font/plusjakartasans_extralight.ttf deleted file mode 100644 index bb43929a8f5a8d53cae78d52f4a31b4b23567441..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94772 zcmeFa2Yi%8*9SV~*-hE>4ur5tNC*T%b~lxtO7FcBLI{D7KnhK|f{2O=SWr|zv7jO% zC?X;vAU5n8Q4|3Yac!t53grH$Y_deKyzlGxz4zWP`Tb|k%rnpQbLPxEGqZ#eLIPkI zgmlf#%WwB#r*{cq9pL+M*M5Bm-ZZl|ijc}=LOLgP9XL2U{4AYINKy(Rp^x?**w+61 zoH3seLO(|MaRUcs4LbhYYyNQG0e5cU)PiZdhdtbk5HCFUTv}XEIZdR7=OM5?i%Vxu zT-Cd37a?265%T=IlZpx^L~jjijpuNav`O&r9N^Ic?hbG_pER{<mfzu~Jqc;@C?P>h zOUnxj=128j26_V0$e&s;Ynri@>_zxUgtwLzOf7n`&-sCb@CZW8`=*swR(U=*9CXf6 zLfZD3R#7x<lKF-u2=9aN9y@65k}bxKa1vTuOZ;IIV*{B$Jjf_w5-zttE<)kCUu_H_ zre3v?7sE|)4Z;v(z4T#0ZNgG2Q^)#u_=#|SO2l&HiPp#mAx9rvHL5nU7VjFjz-cB- z_~K8*?kQa%(rixH%;HH^loL`?RZvPTcpidQ6Zv2=|Kc45LJe{dw86TQUy*adma}1S z_f$3=LlR_-!b|<FC#1Fu8F!V-J*aQbzGM&a{f+7J1<(mrLRX3B%#VEu%PLbQq#NiU z;V=LEkXjO+SxE%`8KFFbi?*Z4DW%Eq@kSXbyB)4x+V^VsMu5%+a>?B=??u`a?YI}_ zKKxU1fUd(E8|WJ_-=c59e20Z2o+d0BW-N<^8P7Vy%wmX#<+8Cb3)wX=m$IcWuVdH2 zyq-M<^KqW8bH?}={0q<*_yts2u`!)+qtaN7vJnzR%S0IsFVOppm71m`!x*7yM*NIk zn&za3!8C2Sg)xzK{Gj$XlN2uE7IAu#0Dg_8y+|aVq-k%mkKM0n3rS{Gn)Y#{eQ69G zp#A+w8hX2mGl0aPy%imZ-f>dXjYt&wgY>5aVII&lMLR9kG$YN)cujNSLxyPDsE>!5 z(0aPO)LdV7>VfcGba<4DBx_ofGC|Yc=p|vAwjjK>rUgaF08&n-k^)jjx|1r{rKE%u zk~}gCt_rxb@w^nA=&}crB7`rgbN7aO0^HT`?FGA-Ov0N(;p?J>ZyEfjAhrsWI}7nu z;dupo3nW#EH>=^UCY4uwE^=6in5JDJL_fqT-tU1pRZ5~X1A#L5)|aO~kFGbY4c@WV zy(LOgg%m4EJJJ^amB>Mb%tICEB%lPTCZUEZP`<XLFUdzq2B8K@@XQKVIa03zH4xN9 zP&1LA3Y6WdL#Wy=l6e&MXhj*yV2j$ZBK#y7b|BiO7u<c37ZKJyW>KC(>01f2HJ%ND zT_N)(QnwNtawuSR%h{#rx^h!MW*~o}Oa<tXrHIFh9GA#^Sm7tq%_99_i*{=V`(LY} zhHuS8Dl?J8D%8>xpo+|vB~3!fMDMJx(TQ-Y8WnXU>c1FnRdeE*sI@D%YmO|-Y=jZ5 zVI?`ROLb|*yP{MjG6gHjFT!<2drU=ML>-9o4}dudm<@j`;;2CAsh|eIcF(z}QBn7H zaHK%eAI8-1ZC42{-<R85wl_Cybvx2bCh2JT_NXJ#_sa2KiaHx9^OK3^4p5_!zxt4a z(8qcL?dxjs@8n?sTA~;=Bl=H8T?|*|FY9GXB3fk{YFKcZk|y=_sQR$zm##YcquBe& z_L+=a6{7q?@>Ii~g!l!2SRo-B_QYb@(vuKwJZeStzP7UN+*`M8UFw&wotBWRLYoj{ zS%{Ff(l$IRU>_q3F%FL>zK|E0WIlP6cBAv@O>`w)Pq)z5=oj=WjIC{$gQc_K>?L-D z8{CKc^B~@YH|GgFiQD*U{xIL;*Ez~7%0DVRs%cboR9sYIRNJWZsP<9aqXtHej4FvL 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 GWcnB0vxXP| diff --git a/src/app/src/main/res/font/plusjakartasans_light.ttf b/src/app/src/main/res/font/plusjakartasans_light.ttf deleted file mode 100644 index 215db16ac591b5b5e027a3a7ab1f068211679df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94796 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 diff --git a/src/app/src/main/res/font/plusjakartasans_medium.ttf b/src/app/src/main/res/font/plusjakartasans_medium.ttf deleted file mode 100644 index 1e58066f4a1de5084ce84fafadf1ed85c73d82de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94816 zcmeFa2Yi&p+BQDr$);>bZ$Jo}N)OrHG&-pyw9tDCNg#nVQlyBA1w=(u<XDlSh=PiU zh=?eNh=__Hh*2yEh=quXilV}P*OX0`fbE>)`}+U>-|p|4xo75nrr*<^nRy5$g!n-* z2<elVmEHAZFHQ*S4%-j<49Xk&D&Mk?km@i(dR6urIy^n}ES*b8d^jP&kLL~TY}+w+ z!YM-N2jHJHbXeN3Pusi^0P{UCXBL#@SH3uEZEHe2cM;;TU}}DKr3ek~LC`&>md>6M z<!PEk$i{_)Y_BUW$}fyc2pIr(*pcL7Sa|Gr_k~%+C#JZpX4arX-?Ss7<x)Zd7L-;L z<X=-dunu&8gppmAKdaK%NOpoB@gtV<{Ia4Qcbz**2uJ))k5^Vy*Lb`z8g#}ULOKtu ztSYK3HZ7VDesA!*Z=sI)8;o0FB-G&`zR-#BASop7WE^o5CYK)<TyXbsL=ob)%rWu& zlWvom@DO8_v|$0ASV-zi6Meh?Ksf(g`10XX9T5*gjy`hdILAbXm)j&`JB%j6ge`u; zcMoX_l4=ZLGp82UP?SzdO@1jg!#xP4CgQ<l{KYd0gu2u3K^rU=x*N*#W;P1ueoChk zNL!i-bHi^HA&%Z;(v?n&VR`-X$PUu%7pBwaM++^4-YMK!OZEjciwv2N9MC9n{qsR+ z@o=+{F#H*zJe7;GqlhV`Jz(R7G*Y$!rcv7VR@jDtP6sl{15j5WY>IN+33V6#l<cM} z@x+7lEvN_R0jLLADEw*3BB4gJXsB_l7t}Nce^@4)2(^IS0CfRd0QDwz6VzMS6HuSz zDLQ71f5txpeV(5u)R=0_Al#@nmLhG0M9^}PM#B^IE@O_SDM>K;YMK!rqr0X#N#{Rn z+Hm1<BVG9pZEqqSx$s-~=|TMX4Vv~O;k;PWUSt<rt!Xn!U^SZdcA=ZmC^|&j`;cVR zcIBrZi6YK8_!Dn(TH7}#5oEujDFM%VO;eQ9Vofs=L#An(<Jk$CHc-oSdZ`;queY{0 zHKv`qH-<%#E|Q>mL@L{A+6%QLMAK&QduduwgbX1Sq>SW~a*|7GpqG*oQb4lEESRcb zPKSFbB+;o4B}L#bX)yN(J(U!LyYZPuyOH2_x(nNK@J@%XRY-pt{H=j|6>Re*RZaSn zT9|7|^>4b1m=?gN%HQA^1YgDTec`7HNu+8hP!8Jx2(J)N*CGv0PD>MBO9Qt^RSiO_ zCS6Hq{Hqail?=NEbUaXk(BhFpRY+H7l1H+Uf?>#w61Z7lsz9hUpoW5)0%|7WQH3~I zG>6LVA{jRkGYeu?4qfDm1^mU5cPPrHKg@ZEi{N$jS>$Sgw5^8P5pE-(SIM}E&@IG@ z7z$WiVs>%3&e-IWD-b`CrhGCPs)*-Im_<A+uoK~?k-?I#L7rG-x&QSXYMQSz5z0)& zum-s_9jGC*WlH0bGEqAlb94&KDn~^giTs}mv&uQ)CUWh!%QZu$Wj1(3X;?@G^irK# z@vNwYB{BpH(l7Y>$eL0qpA+dH0-j=EHta3%qYB(*poT$rjk(BCk@q%8q(J=d`qcDk zX9_M~hdW(Vi<_3V4Phma6qI;3<c+9v75JATug1!Fbb-4a)Of_Jk#iX8RzILyL+<^V zu!kV$ry?greW_}A^0(#5a#74h?pGowg+!?qq%pr#T^04unHRt3>mXSU(-4~iq*t^o zwa|;<zmNk9TEeC^ZmKNNV(?8yE~r}8S>}~%DRyoM{qnhi@eq1Y403=V(W*+_@Th`* zjLbuSJDD^?yU>MPO&+H?^lEw=T|!sU4fGBA89jwQv=g(l6gHZ@%0A=<_vXGlfVbo^ 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	N0EZyiRwbr|v1VZ>X95pNwv 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 diff --git a/src/app/src/main/res/font/plusjakartasans_regular.ttf b/src/app/src/main/res/font/plusjakartasans_regular.ttf deleted file mode 100644 index 1e77059b3286e321aec17fbedc1eee2e6d223342..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94764 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 diff --git a/src/app/src/main/res/font/plusjakartasans_semibold.ttf b/src/app/src/main/res/font/plusjakartasans_semibold.ttf deleted file mode 100644 index 49817ef98eb281512ab6d70f3a0071fa3555b41a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94848 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 diff --git a/src/app/src/main/res/values-fr/strings.xml b/src/app/src/main/res/values-fr/strings.xml index 07009f3..0b953ca 100644 --- a/src/app/src/main/res/values-fr/strings.xml +++ b/src/app/src/main/res/values-fr/strings.xml @@ -126,4 +126,10 @@ <string name="bet_history_status_won">%s [icon] gagnés !</string> <string name="bet_history_status_lost">%s [icon] perdus !</string> + <!--Bet result--> + <string name="bet_result_congratulations">FÉLICITATIONS</string> + <string name="bet_result_you_win">Vous remportez</string> + <string name="bet_result_odds">Cote totale</string> + <string name="bet_result_stake">Mise</string> + <string name="bet_result_winnings">Gains</string> </resources> \ No newline at end of file diff --git a/src/app/src/main/res/values/font_certs.xml b/src/app/src/main/res/values/font_certs.xml new file mode 100644 index 0000000..141bfc0 --- /dev/null +++ b/src/app/src/main/res/values/font_certs.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <array name="com_google_android_gms_fonts_certs"> + <item>@array/com_google_android_gms_fonts_certs_dev</item> + <item>@array/com_google_android_gms_fonts_certs_prod</item> + </array> + <string-array name="com_google_android_gms_fonts_certs_dev"> + <item> + MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs= + </item> + </string-array> + <string-array name="com_google_android_gms_fonts_certs_prod"> + <item> + MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK + </item> + </string-array> +</resources> \ No newline at end of file diff --git a/src/app/src/main/res/values/strings.xml b/src/app/src/main/res/values/strings.xml index bf11bd0..f1c5ad9 100644 --- a/src/app/src/main/res/values/strings.xml +++ b/src/app/src/main/res/values/strings.xml @@ -126,4 +126,12 @@ <string name="bet_history_status_won">%s [icon] won !</string> <string name="bet_history_status_lost">%s [icon] lost !</string> + <!--Bet result--> + <string name="bet_result_congratulations">CONGRATULATIONS</string> + <string name="bet_result_you_win">You win</string> + <string name="bet_result_odds">Total odds</string> + <string name="bet_result_stake">Stake</string> + <string name="bet_result_winnings">Winnings</string> + + </resources> \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/AllInApi.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/AllInApi.kt index 9d3264a..413113e 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/AllInApi.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/AllInApi.kt @@ -21,7 +21,7 @@ interface AllInApi { suspend fun login(@Header("Authorization") token: String): ResponseUser @POST("bets/add") - suspend fun createBet(@Body body: RequestBet) + suspend fun createBet(@Header("Authorization") token: String, @Body body: RequestBet) @GET("bets/gets") suspend fun getAllBets(): List<ResponseBet> diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt index ba3c2e8..c5da50a 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt @@ -55,6 +55,5 @@ data class RequestBet( @Serializable(SimpleDateSerializer::class) val endRegistration: ZonedDateTime, @Serializable(SimpleDateSerializer::class) var endBet: ZonedDateTime, var isPrivate: Boolean, - var response: List<String>, - val createdBy: String + var response: List<String> ) diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt index 20f10bf..21684a7 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt @@ -3,7 +3,7 @@ package fr.iut.alldev.allin.data.model.bet import fr.iut.alldev.allin.data.api.model.RequestBet import java.time.ZonedDateTime -abstract class Bet( +sealed class Bet( open val id: Int? = null, open val creator: String, open val theme: String, @@ -21,8 +21,7 @@ abstract class Bet( endRegistration = endRegisterDate, endBet = endBetDate, isPrivate = !isPublic, - response = getResponses(), - createdBy = creator + response = getResponses() ) } } \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetStatus.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetStatus.kt index b42275f..66d27a8 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetStatus.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetStatus.kt @@ -6,4 +6,14 @@ sealed class BetStatus { data object InProgress : BetStatus() data object Waiting : BetStatus() + + companion object { + val entries = sequenceOf( + InProgress, + Waiting, + Finished(BetFinishedStatus.WON), + Finished(BetFinishedStatus.LOST) + ) + } + } \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/BetRepositoryImpl.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/BetRepositoryImpl.kt index bf33f40..1c21c87 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/BetRepositoryImpl.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/BetRepositoryImpl.kt @@ -16,7 +16,8 @@ class BetRepositoryImpl @Inject constructor( ) : BetRepository() { override suspend fun createBet(bet: Bet, token: String) { api.createBet( - bet.toRequestBet().copy(createdBy = token) + token = token, + body = bet.toRequestBet() ) } diff --git a/src/data/src/release/java/fr.iut.alldev.allin.data.di/ReleaseModule.kt b/src/data/src/release/java/fr.iut.alldev.allin.data.di/ReleaseModule.kt index 02df214..11bdf83 100644 --- a/src/data/src/release/java/fr.iut.alldev.allin.data.di/ReleaseModule.kt +++ b/src/data/src/release/java/fr.iut.alldev.allin.data.di/ReleaseModule.kt @@ -1,12 +1,8 @@ package fr.iut.alldev.allin.data.di import dagger.Module -import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent -import okhttp3.OkHttpClient -import okhttp3.logging.HttpLoggingInterceptor -import javax.inject.Singleton @Module(includes = [ReleaseNetworkModule::class]) @InstallIn(SingletonComponent::class) diff --git a/src/data/src/release/java/fr.iut.alldev.allin.data.di/ReleaseNetworkModule.kt b/src/data/src/release/java/fr.iut.alldev.allin.data.di/ReleaseNetworkModule.kt index 4bb6870..adfb9d0 100644 --- a/src/data/src/release/java/fr.iut.alldev.allin.data.di/ReleaseNetworkModule.kt +++ b/src/data/src/release/java/fr.iut.alldev.allin.data.di/ReleaseNetworkModule.kt @@ -4,8 +4,8 @@ import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent +import fr.iut.alldev.allin.data.api.interceptors.ErrorInterceptor import okhttp3.OkHttpClient -import okhttp3.logging.HttpLoggingInterceptor import javax.inject.Singleton @Module diff --git a/src/gradle/libs.versions.toml b/src/gradle/libs.versions.toml index cb615ee..3ecc6ce 100644 --- a/src/gradle/libs.versions.toml +++ b/src/gradle/libs.versions.toml @@ -10,9 +10,10 @@ kotlin = "1.9.20" androidxCore = "1.12.0" androidxActivity = "1.8.2" -androidxSecurity = "1.0.0" +androidxSecurity = "1.1.0-alpha06" composeBom = "2023.10.01" +compose = "1.5.4" composePreview = "1.6.0-beta03" composeCompiler = "1.5.5" composeNavigation = "2.7.6" @@ -31,7 +32,7 @@ room = "2.6.1" okHttp = "4.11.0" # Plugins -gradlePlugin = "8.1.2" +gradlePlugin = "8.1.4" publishPlugin = "1.1" resgenPlugin = "2.5" @@ -54,6 +55,9 @@ test-androidx-junit = { group = "androidx.test.ext", name = "junit-ktx", version test-espresso = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } hilt-androidTesting = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "hilt" } hilt-androidCompiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" } +ui-test-junit = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "compose" } +ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "compose" } + # Compose compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" } @@ -95,7 +99,6 @@ plugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version. plugin-kotlinSerialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin" } plugin-hilt = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" } - [bundles] android = ["androidx-core", "androidx-activity", "androidx-security"] diff --git a/src/keys/debug.keystore b/src/keys/debug.keystore new file mode 100644 index 0000000000000000000000000000000000000000..4a3c6c03f3d73f23c4830a521e1f82236cd3b6fa GIT binary patch literal 2779 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 LI*=8}5<&kLAs+?Z literal 0 HcmV?d00001 diff --git a/src/keys/keystore.properties b/src/keys/keystore.properties new file mode 100644 index 0000000..eadbbfe --- /dev/null +++ b/src/keys/keystore.properties @@ -0,0 +1,4 @@ +debugStoreFile=../keys/debug.keystore +releaseStoreFile=../keys/release.keystore +aliasRelease=placeYourBets +passwordRelease=placeYourBets \ No newline at end of file diff --git a/src/keys/release.keystore b/src/keys/release.keystore new file mode 100644 index 0000000000000000000000000000000000000000..005b9a8009f973a77bef8991aa7fb19f6d58df0e GIT binary patch literal 2775 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 I0*)*A7iL}ScK`qY literal 0 HcmV?d00001 -- 2.36.3 From 24325997269622df9715b2f3dce238f3617872e4 Mon Sep 17 00:00:00 2001 From: "arthur.valin" <arthur.valin@etu.uca.fr> Date: Tue, 16 Jan 2024 15:44:52 +0100 Subject: [PATCH 2/3] Mock API and Bet participation bottom sheet --- .../fr/iut/alldev/allin/test/mock/Bets.kt | 2 +- .../vo/bet/displayer/BetVOTestVisitor.kt | 6 +- .../fr/iut/alldev/allin/ext/BetTypeExt.kt | 2 +- .../java/fr/iut/alldev/allin/ext/FloatExt.kt | 9 + .../java/fr/iut/alldev/allin/ext/StringExt.kt | 21 ++ .../ui/betCreation/BetCreationViewModel.kt | 2 +- .../tabs/BetCreationScreenQuestionTab.kt | 17 +- .../sections/QuestionTabThemePhraseSection.kt | 26 +-- .../ui/betStatus/BetStatusBottomSheet.kt | 40 +++- .../BetStatusParticipationAnswers.kt | 110 ++++++++++ .../BetStatusParticipationBottomSheet.kt | 194 +++++++++++++----- .../vo/BetStatusBottomSheetBetDisplayer.kt | 63 ++---- .../iut/alldev/allin/ui/core/AllInButton.kt | 23 ++- .../alldev/allin/ui/core/AllInSelectionBox.kt | 93 ++++++++- .../alldev/allin/ui/core/AllInTextField.kt | 171 ++++++++------- .../iut/alldev/allin/ui/login/LoginScreen.kt | 15 +- .../fr/iut/alldev/allin/ui/main/MainScreen.kt | 24 ++- .../iut/alldev/allin/ui/main/MainViewModel.kt | 2 +- .../allin/ui/preview/BetPreviewProvider.kt | 4 +- .../preview/BetWithStatusPreviewProvider.kt | 2 +- .../allin/ui/register/RegisterScreen.kt | 28 +-- .../iut/alldev/allin/vo/bet/BetDisplayer.kt | 6 +- .../iut/alldev/allin/data/api/MockAllInApi.kt | 96 +++++++++ .../iut/alldev/allin/data/api/model/ApiBet.kt | 8 +- .../alldev/allin/data/api/model/ApiUser.kt | 3 +- .../fr/iut/alldev/allin/data/di/ApiModule.kt | 11 +- .../fr/iut/alldev/allin/data/model/bet/Bet.kt | 2 +- .../alldev/allin/data/model/bet/BetFactory.kt | 2 +- .../alldev/allin/data/model/bet/CustomBet.kt | 6 +- .../alldev/allin/data/model/bet/MatchBet.kt | 4 +- .../alldev/allin/data/model/bet/YesNoBet.kt | 9 +- 31 files changed, 729 insertions(+), 272 deletions(-) create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ext/FloatExt.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ext/StringExt.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationAnswers.kt create mode 100644 src/data/src/main/java/fr/iut/alldev/allin/data/api/MockAllInApi.kt diff --git a/src/app/src/androidTest/java/fr/iut/alldev/allin/test/mock/Bets.kt b/src/app/src/androidTest/java/fr/iut/alldev/allin/test/mock/Bets.kt index 9be1682..846c540 100644 --- a/src/app/src/androidTest/java/fr/iut/alldev/allin/test/mock/Bets.kt +++ b/src/app/src/androidTest/java/fr/iut/alldev/allin/test/mock/Bets.kt @@ -37,7 +37,7 @@ object Bets { isPublic = true, betStatus = BetStatus.InProgress, creator = "creator", - possibleAnswers = setOf( + possibleAnswers = listOf( "Answer 1", "Answer 2", "Answer 3", diff --git a/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/displayer/BetVOTestVisitor.kt b/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/displayer/BetVOTestVisitor.kt index 296593c..b8abc92 100644 --- a/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/displayer/BetVOTestVisitor.kt +++ b/src/app/src/androidTest/java/fr/iut/alldev/allin/vo/bet/displayer/BetVOTestVisitor.kt @@ -12,17 +12,17 @@ import fr.iut.alldev.allin.vo.bet.BetDisplayer class BetTestDisplayer : BetDisplayer { @Composable - override fun DisplayYesNoBet(b: YesNoBet) { + override fun DisplayYesNoBet(bet: YesNoBet) { Text("This is a YesNo Bet", Modifier.testTag(TestTags.YES_NO_BET.tag)) } @Composable - override fun DisplayMatchBet(b: MatchBet) { + override fun DisplayMatchBet(bet: MatchBet) { Text("This is a Match Bet", Modifier.testTag(TestTags.MATCH_BET.tag)) } @Composable - override fun DisplayCustomBet(b: CustomBet) { + override fun DisplayCustomBet(bet: CustomBet) { Text("This is a Custom Bet", Modifier.testTag(TestTags.CUSTOM_BET.tag)) } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ext/BetTypeExt.kt b/src/app/src/main/java/fr/iut/alldev/allin/ext/BetTypeExt.kt index b91ac51..43c66a0 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ext/BetTypeExt.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ext/BetTypeExt.kt @@ -12,7 +12,7 @@ import fr.iut.alldev.allin.data.model.bet.BetType @StringRes fun BetType.getTitleId(): Int { return when (this) { - BetType.YES_NO -> R.string.yes_no + BetType.YES_NO -> R.string.yes_no BetType.MATCH -> R.string.sport_match BetType.CUSTOM -> R.string.custom_answers } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ext/FloatExt.kt b/src/app/src/main/java/fr/iut/alldev/allin/ext/FloatExt.kt new file mode 100644 index 0000000..542eec9 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ext/FloatExt.kt @@ -0,0 +1,9 @@ +package fr.iut.alldev.allin.ext + +import java.text.DecimalFormat +import java.text.DecimalFormatSymbols +import java.util.Locale + +fun Float.formatToSimple(locale: Locale): String { + return DecimalFormat("0.##", DecimalFormatSymbols.getInstance(locale)).format(this) +} diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ext/StringExt.kt b/src/app/src/main/java/fr/iut/alldev/allin/ext/StringExt.kt new file mode 100644 index 0000000..4d0bab2 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ext/StringExt.kt @@ -0,0 +1,21 @@ +package fr.iut.alldev.allin.ext + +import java.text.DecimalFormat +import java.text.DecimalFormatSymbols +import java.util.Locale + +fun String.verifyIsFloat(locale: Locale): String? { + val pattern = Regex("^\\d+(\\.|\\,)?\\d*\$") + val decimalSeparator = DecimalFormatSymbols.getInstance(locale).decimalSeparator.toString() + + return if (this.matches(pattern)) { + this.replace(Regex("[.,]"), decimalSeparator).format() + } else if (this.isEmpty()) { + this + } else null +} + +fun String.toFloatOrNull(locale: Locale): Float? { + val format = DecimalFormat("0.##", DecimalFormatSymbols.getInstance(locale)) + return format.parse(this)?.toFloat() +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationViewModel.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationViewModel.kt index 620bd63..71d3aae 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationViewModel.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationViewModel.kt @@ -118,7 +118,7 @@ class BetCreationViewModel @Inject constructor( isPublic = isPublic.value, nameTeam1 = "", nameTeam2 = "", - possibleAnswers = setOf(), + possibleAnswers = listOf(), creator = currentUser.username ) betRepository.createBet(bet, keystoreManager.getToken() ?: "") diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/BetCreationScreenQuestionTab.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/BetCreationScreenQuestionTab.kt index b893b5d..5edafd5 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/BetCreationScreenQuestionTab.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/BetCreationScreenQuestionTab.kt @@ -21,25 +21,25 @@ fun BetCreationScreenQuestionTab( nbFriends: Int, betTheme: String, betThemeError: String?, - setBetTheme: (String)->Unit, + setBetTheme: (String) -> Unit, betPhrase: String, betPhraseError: String?, - setBetPhrase: (String)->Unit, + setBetPhrase: (String) -> Unit, isPublic: Boolean, - setIsPublic: (Boolean)->Unit, + setIsPublic: (Boolean) -> Unit, registerDate: ZonedDateTime, registerDateError: String?, betDate: ZonedDateTime, betDateError: String?, selectedFriends: MutableList<Int>, - setRegisterDateDialog: (Boolean)->Unit, - setEndDateDialog: (Boolean)->Unit, - setRegisterTimeDialog: (Boolean)->Unit, - setEndTimeDialog: (Boolean)->Unit, + setRegisterDateDialog: (Boolean) -> Unit, + setEndDateDialog: (Boolean) -> Unit, + setRegisterTimeDialog: (Boolean) -> Unit, + setEndTimeDialog: (Boolean) -> Unit, interactionSource: MutableInteractionSource ) { val bringIntoViewRequester = remember { BringIntoViewRequester() } - Column(modifier){ + Column(modifier) { QuestionTabThemePhraseSection( betTheme = betTheme, betThemeError = betThemeError, @@ -47,7 +47,6 @@ fun BetCreationScreenQuestionTab( betPhrase = betPhrase, betPhraseError = betPhraseError, setBetPhrase = setBetPhrase, - bringIntoViewRequester = bringIntoViewRequester, interactionSource = interactionSource ) Spacer(modifier = Modifier.height(35.dp)) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/sections/QuestionTabThemePhraseSection.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/sections/QuestionTabThemePhraseSection.kt index 809da0d..3eddd1f 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/sections/QuestionTabThemePhraseSection.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/sections/QuestionTabThemePhraseSection.kt @@ -6,7 +6,6 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.relocation.BringIntoViewRequester import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.HelpOutline import androidx.compose.runtime.Composable @@ -24,11 +23,10 @@ import fr.iut.alldev.allin.ui.core.AllInTitleInfo internal fun QuestionTabThemePhraseSection( betTheme: String, betThemeError: String?, - setBetTheme: (String)->Unit, + setBetTheme: (String) -> Unit, betPhrase: String, betPhraseError: String?, - setBetPhrase: (String)->Unit, - bringIntoViewRequester: BringIntoViewRequester, + setBetPhrase: (String) -> Unit, interactionSource: MutableInteractionSource ) { AllInTitleInfo( @@ -41,13 +39,12 @@ internal fun QuestionTabThemePhraseSection( AllInTextField( placeholder = stringResource(id = R.string.Theme_placeholder), value = betTheme, - onValueChange = setBetTheme, - bringIntoViewRequester = bringIntoViewRequester, - borderColor = AllInTheme.colors.white, + modifier = Modifier.fillMaxWidth(), maxChar = 20, placeholderFontSize = 13.sp, + onValueChange = setBetTheme, errorText = betThemeError, - modifier = Modifier.fillMaxWidth() + borderColor = AllInTheme.colors.white ) Spacer(modifier = Modifier.height(10.dp)) AllInTitleInfo( @@ -60,15 +57,14 @@ internal fun QuestionTabThemePhraseSection( AllInTextField( placeholder = stringResource(id = R.string.Bet_Phrase_placeholder), value = betPhrase, - borderColor = AllInTheme.colors.white, - onValueChange = setBetPhrase, - bringIntoViewRequester = bringIntoViewRequester, - multiLine = true, + modifier = Modifier + .fillMaxWidth() + .height(100.dp), maxChar = 100, placeholderFontSize = 13.sp, + multiLine = true, + onValueChange = setBetPhrase, errorText = betPhraseError, - modifier = Modifier - .fillMaxWidth() - .height(100.dp) + borderColor = AllInTheme.colors.white ) } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt index 491cb19..da23df3 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt @@ -7,7 +7,10 @@ import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.BetStatus import fr.iut.alldev.allin.ui.betStatus.components.BetStatusBottomSheetBack +import fr.iut.alldev.allin.ui.betStatus.components.BetStatusParticipationBottomSheet +import fr.iut.alldev.allin.ui.betStatus.components.getParticipationAnswers import fr.iut.alldev.allin.ui.core.AllInBottomSheet @@ -21,7 +24,12 @@ fun BetStatusBottomSheet( sheetVisibility: Boolean, sheetBackVisibility: Boolean, bet: Bet?, - onDismiss: ()->Unit, + paddingValues: PaddingValues, + userCoinAmount: MutableIntState, + onParticipate: (Int) -> Unit, + onDismiss: () -> Unit, + participateSheetVisibility: Boolean, + setParticipateSheetVisibility: (Boolean) -> Unit, displayBet: @Composable (Bet) -> Unit ) { AnimatedVisibility( @@ -45,13 +53,41 @@ fun BetStatusBottomSheet( onDismiss = onDismiss, state = state, scrimColor = Color.Transparent - ){ + ) { + + var selectedAnswer by remember { mutableStateOf(0) } + var stake by remember { mutableStateOf<Int?>(null) } + Column( Modifier.fillMaxHeight(SHEET_HEIGHT) ) { bet?.let { + val elements = bet.getParticipationAnswers() + displayBet(it) + BetStatusParticipationBottomSheet( + sheetVisibility = participateSheetVisibility && bet.betStatus == BetStatus.Waiting && state.hasExpandedState, + safeBottomPadding = paddingValues.calculateBottomPadding(), + betPhrase = bet.phrase, + coinAmount = userCoinAmount.intValue, + onDismiss = { setParticipateSheetVisibility(false) }, + state = rememberModalBottomSheetState(skipPartiallyExpanded = true), + elements = elements, + selectedElement = elements.getOrNull(selectedAnswer), + stake = stake, + setStake = { stake = it }, + setElement = { idx -> selectedAnswer = idx }, + enabled = stake != null && + (stake ?: 0) <= userCoinAmount.intValue + ) { + stake?.let { + onParticipate(it) + } + } + } } + } + } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationAnswers.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationAnswers.kt new file mode 100644 index 0000000..fa0511f --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationAnswers.kt @@ -0,0 +1,110 @@ +package fr.iut.alldev.allin.ui.betStatus.components + +import android.content.res.Configuration +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.material3.Text + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.unit.sp +import fr.iut.alldev.allin.R +import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.CustomBet +import fr.iut.alldev.allin.data.model.bet.MatchBet +import fr.iut.alldev.allin.data.model.bet.NO_VALUE +import fr.iut.alldev.allin.data.model.bet.YES_VALUE +import fr.iut.alldev.allin.data.model.bet.YesNoBet +import fr.iut.alldev.allin.theme.AllInTheme +import fr.iut.alldev.allin.ui.preview.BetPreviewProvider + +private val participationAnswerFontSize = 25.sp + +@Composable +fun Bet.getParticipationAnswers(): List<@Composable RowScope.() -> Unit> = + when (this) { + is CustomBet -> this.possibleAnswers.map { + { + Text( + text = it, + color = AllInTheme.colors.allInBlue, + style = AllInTheme.typography.h1, + fontSize = participationAnswerFontSize + ) + } + } + + is MatchBet -> listOf( + { + Text( + text = this@getParticipationAnswers.nameTeam1, + color = AllInTheme.colors.allInBlue, + style = AllInTheme.typography.h1, + fontSize = participationAnswerFontSize + ) + }, + { + Text( + text = this@getParticipationAnswers.nameTeam2, + color = AllInTheme.colors.allInBarPink, + style = AllInTheme.typography.h1, + fontSize = participationAnswerFontSize + ) + } + ) + + is YesNoBet -> listOf( + { + Text( + text = stringResource(id = R.string.Yes).uppercase(), + color = AllInTheme.colors.allInBlue, + style = AllInTheme.typography.h1, + fontSize = participationAnswerFontSize + ) + }, + { + Text( + text = stringResource(id = R.string.No).uppercase(), + color = AllInTheme.colors.allInBarPink, + style = AllInTheme.typography.h1, + fontSize = participationAnswerFontSize + ) + } + ) + } + +fun Bet.getAnswerFromParticipationIdx(idx: Int) = + when (this) { + is CustomBet -> this.possibleAnswers.getOrElse(idx) { "" } + is MatchBet -> when (idx) { + 0 -> this.nameTeam1 + 1 -> this.nameTeam2 + else -> "" + } + + is YesNoBet -> when (idx) { + 0 -> YES_VALUE + 1 -> NO_VALUE + else -> "" + } + } + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun ParticipationAnswersPreview( + @PreviewParameter(BetPreviewProvider::class) bet: Bet, +) { + AllInTheme { + Column { + bet.getParticipationAnswers().forEach { + Row(Modifier.fillMaxWidth()) { it() } + } + } + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt index 4ab56ae..0b2db92 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt @@ -1,13 +1,17 @@ package fr.iut.alldev.allin.ui.betStatus.components +import android.content.res.Configuration import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.material3.* import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -16,6 +20,8 @@ import fr.iut.alldev.allin.theme.AllInTheme import fr.iut.alldev.allin.ui.core.AllInBottomSheet import fr.iut.alldev.allin.ui.core.AllInButton import fr.iut.alldev.allin.ui.core.AllInCoinCount +import fr.iut.alldev.allin.ui.core.AllInIntTextField +import fr.iut.alldev.allin.ui.core.AllInSelectionBox import fr.iut.alldev.allin.ui.core.topbar.AllInTopBarCoinCounter import kotlinx.coroutines.launch @@ -28,8 +34,13 @@ fun BetStatusParticipationBottomSheet( coinAmount: Int, onDismiss: () -> Unit, state: SheetState, - onParticipate: () -> Unit, - content: @Composable () -> Unit + enabled: Boolean, + stake: Int?, + setStake: (Int?) -> Unit, + elements: List<@Composable RowScope.() -> Unit>, + selectedElement: (@Composable RowScope.() -> Unit)?, + setElement: (Int) -> Unit, + onParticipate: () -> Unit ) { val scope = rememberCoroutineScope() AllInBottomSheet( @@ -37,6 +48,96 @@ fun BetStatusParticipationBottomSheet( onDismiss = onDismiss, state = state, containerColor = AllInTheme.themeColors.background2 + ) { + BetStatusParticipationBottomSheetContent( + safeBottomPadding = safeBottomPadding, + betPhrase = betPhrase, + coinAmount = coinAmount, + elements = elements, + selectedElement = selectedElement, + setElement = setElement, + enabled = enabled, + stake = stake, + setStake = setStake + ) { + scope.launch { + onParticipate() + state.hide() + onDismiss() + } + } + } +} + +@Composable +private fun ColumnScope.BetStatusParticipationBottomSheetContent( + safeBottomPadding: Dp, + betPhrase: String, + coinAmount: Int, + enabled: Boolean, + stake: Int?, + setStake: (Int?) -> Unit, + selectedElement: (@Composable RowScope.() -> Unit)?, + elements: List<@Composable RowScope.() -> Unit>, + setElement: (Int) -> Unit, + onButtonClick: () -> Unit +) { + val (answersBoxIsOpen, setAnswersBoxIsOpen) = remember { mutableStateOf(false) } + + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically + ) { + Text( + text = stringResource(id = R.string.place_your_bets), + style = AllInTheme.typography.h2, + color = AllInTheme.themeColors.onMainSurface, + fontSize = 20.sp, + modifier = Modifier.padding(start = 18.dp) + ) + AllInTopBarCoinCounter( + amount = coinAmount, + backgroundColor = AllInTheme.colors.allInBlue, + textColor = AllInTheme.colors.white, + iconColor = AllInTheme.colors.white, + ) + } + Column( + modifier = Modifier.padding(horizontal = 18.dp) + ) { + Text( + text = betPhrase, + style = AllInTheme.typography.p2, + color = AllInTheme.themeColors.onMainSurface, + modifier = Modifier.padding(vertical = 30.dp) + ) + AllInSelectionBox( + isOpen = answersBoxIsOpen, + setIsOpen = setAnswersBoxIsOpen, + selected = selectedElement, + setSelected = { setElement(elements.indexOf(it)) }, + elements = elements, + borderWidth = 1.dp + ) + Spacer(modifier = Modifier.height(8.dp)) + AllInIntTextField( + value = stake, + setValue = setStake, + placeholder = stringResource(id = R.string.bet_result_stake), + trailingIcon = AllInTheme.icons.allCoins(), + modifier = Modifier.fillMaxWidth(), + maxChar = null + ) + } + Spacer(modifier = Modifier.height(100.dp)) + HorizontalDivider(color = AllInTheme.themeColors.border) + Column( + modifier = Modifier + .background(AllInTheme.themeColors.background) + .padding(horizontal = 7.dp) + .padding(bottom = safeBottomPadding, top = 7.dp), + verticalArrangement = Arrangement.spacedBy(7.dp) ) { Row( modifier = Modifier.fillMaxWidth(), @@ -44,65 +145,44 @@ fun BetStatusParticipationBottomSheet( verticalAlignment = Alignment.CenterVertically ) { Text( - text = stringResource(id = R.string.place_your_bets), - style = AllInTheme.typography.h2, - color = AllInTheme.themeColors.onMainSurface, - fontSize = 20.sp, - modifier = Modifier.padding(start = 18.dp) + text = stringResource(id = R.string.Possible_winnings), + style = AllInTheme.typography.p1, + color = AllInTheme.themeColors.onBackground ) - AllInTopBarCoinCounter( - amount = coinAmount, - backgroundColor = AllInTheme.colors.allInBlue, - textColor = AllInTheme.colors.white, - iconColor = AllInTheme.colors.white, + AllInCoinCount( + amount = 121, + color = AllInTheme.themeColors.onBackground ) } - Spacer(modifier = Modifier.height(30.dp)) - Text( - text = betPhrase, - style = AllInTheme.typography.p2, - color = AllInTheme.themeColors.onMainSurface, - modifier = Modifier.padding(horizontal = 18.dp) + AllInButton( + enabled = enabled, + color = AllInTheme.colors.allInPurple, + text = stringResource(id = R.string.Participate), + textColor = AllInTheme.colors.white, + radius = 5.dp, + onClick = onButtonClick ) - Spacer(modifier = Modifier.height(100.dp)) - HorizontalDivider(color = AllInTheme.themeColors.border) - Column( - modifier = Modifier - .background(AllInTheme.themeColors.background) - .padding(horizontal = 7.dp) - .padding(bottom = safeBottomPadding, top = 7.dp), - verticalArrangement = Arrangement.spacedBy(7.dp) - ) { - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically - ) { - Text( - text = stringResource(id = R.string.Possible_winnings), - style = AllInTheme.typography.p1, - color = AllInTheme.themeColors.onBackground - ) - AllInCoinCount( - amount = 121, - color = AllInTheme.themeColors.onBackground - ) - } - Box(modifier = Modifier.fillMaxSize()) { - content() - } - AllInButton( - color = AllInTheme.colors.allInPurple, - text = stringResource(id = R.string.Participate), - textColor = AllInTheme.colors.white, - radius = 5.dp - ) { - scope.launch { - onParticipate() - state.hide() - onDismiss() - } - } + } +} + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun BetStatusParticipationBottomSheetContentPreview() { + AllInTheme { + Column { + BetStatusParticipationBottomSheetContent( + safeBottomPadding = 0.dp, + betPhrase = "Bet phrase", + coinAmount = 3620, + onButtonClick = {}, + elements = emptyList(), + setElement = {}, + selectedElement = null, + enabled = true, + stake = 123, + setStake = {} + ) } } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt index 00c80e4..4c9a268 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt @@ -10,7 +10,6 @@ import androidx.compose.material.icons.filled.WorkspacePremium import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Text -import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -29,7 +28,6 @@ import fr.iut.alldev.allin.data.model.bet.YesNoBet import fr.iut.alldev.allin.ext.getDateEndLabelId import fr.iut.alldev.allin.ext.getDateStartLabelId import fr.iut.alldev.allin.theme.AllInTheme -import fr.iut.alldev.allin.ui.betStatus.components.BetStatusParticipationBottomSheet import fr.iut.alldev.allin.ui.betStatus.components.BetStatusWinner import fr.iut.alldev.allin.ui.betStatus.components.YesNoDetailsLine import fr.iut.alldev.allin.ui.betStatus.components.YesNoStatBar @@ -41,28 +39,22 @@ import fr.iut.alldev.allin.ui.preview.BetWithStatusPreviewProvider import fr.iut.alldev.allin.vo.bet.BetDisplayer class BetStatusBottomSheetBetDisplayer( - val userCoinAmount: MutableIntState, - val onParticipate: (Int) -> Unit, + val openParticipateSheet: () -> Unit ) : BetDisplayer { - val participateBottomSheetVisibility = mutableStateOf(false) val paddingValues = mutableStateOf(PaddingValues()) @OptIn(ExperimentalMaterial3Api::class) @Composable - override fun DisplayYesNoBet(b: YesNoBet) { - - val (participateSheetVisibility, setParticipateSheetVisibility) = remember { - this.participateBottomSheetVisibility - } + override fun DisplayYesNoBet(bet: YesNoBet) { val safeBottomPadding = paddingValues.value.calculateBottomPadding() Box(Modifier.padding(bottom = safeBottomPadding)) { Column { Column(Modifier.padding(horizontal = 20.dp)) { BetTitleHeader( - title = b.phrase, - category = b.theme, - creator = b.creator, + title = bet.phrase, + category = bet.theme, + creator = bet.creator, modifier = Modifier.fillMaxWidth() ) Spacer(modifier = Modifier.height(20.dp)) @@ -70,22 +62,22 @@ class BetStatusBottomSheetBetDisplayer( horizontalAlignment = Alignment.End ) { BetDateTimeRow( - label = stringResource(id = b.betStatus.getDateStartLabelId()), - date = b.endRegisterDate.formatToMediumDateNoYear(), - time = b.endRegisterDate.formatToTime(), + label = stringResource(id = bet.betStatus.getDateStartLabelId()), + date = bet.endRegisterDate.formatToMediumDateNoYear(), + time = bet.endRegisterDate.formatToTime(), modifier = Modifier.width(IntrinsicSize.Max) ) Spacer(modifier = Modifier.height(15.dp)) BetDateTimeRow( - label = stringResource(id = b.betStatus.getDateEndLabelId()), - date = b.endBetDate.formatToMediumDateNoYear(), - time = b.endBetDate.formatToTime(), + label = stringResource(id = bet.betStatus.getDateEndLabelId()), + date = bet.endBetDate.formatToMediumDateNoYear(), + time = bet.endBetDate.formatToTime(), modifier = Modifier.width(IntrinsicSize.Max) ) } Spacer(modifier = Modifier.height(20.dp)) } - if (b.betStatus is BetStatus.Finished) { + if (bet.betStatus is BetStatus.Finished) { BetStatusWinner( answer = stringResource(id = R.string.Yes), color = AllInTheme.colors.allInBlue, @@ -128,42 +120,26 @@ class BetStatusBottomSheetBetDisplayer( } } } - if (b.betStatus !is BetStatus.Finished) { + if (bet.betStatus !is BetStatus.Finished) { RainbowButton( modifier = Modifier .align(Alignment.BottomCenter) .padding(horizontal = 7.dp), text = stringResource(id = R.string.Participate), - enabled = b.betStatus == BetStatus.Waiting, - onClick = { - setParticipateSheetVisibility(true) - } + enabled = bet.betStatus == BetStatus.Waiting, + onClick = openParticipateSheet ) } } - - BetStatusParticipationBottomSheet( - sheetVisibility = participateSheetVisibility && b.betStatus == BetStatus.Waiting, - safeBottomPadding = safeBottomPadding, - betPhrase = b.phrase, - coinAmount = userCoinAmount.intValue, - onDismiss = { setParticipateSheetVisibility(false) }, - state = rememberModalBottomSheetState(), - onParticipate = { - onParticipate(100) - } - ) { - - } } @Composable - override fun DisplayMatchBet(b: MatchBet) { + override fun DisplayMatchBet(bet: MatchBet) { Text("This is a MATCH BET") } @Composable - override fun DisplayCustomBet(b: CustomBet) { + override fun DisplayCustomBet(bet: CustomBet) { Text("This is a CUSTOM BET") } } @@ -176,9 +152,6 @@ private fun BetStatusBottomSheetPreview( ) { AllInTheme { val coins = remember { mutableIntStateOf(100) } - BetStatusBottomSheetBetDisplayer( - userCoinAmount = coins, - onParticipate = {} - ).DisplayBet(bet) + BetStatusBottomSheetBetDisplayer {}.DisplayBet(bet) } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInButton.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInButton.kt index 7917058..f6ad5d8 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInButton.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInButton.kt @@ -15,10 +15,11 @@ import fr.iut.alldev.allin.theme.AllInTheme @Composable fun AllInButton( + modifier: Modifier = Modifier, + enabled: Boolean = true, color: Color, text: String, textColor: Color, - modifier: Modifier = Modifier, radius: Dp = 15.dp, onClick: () -> Unit, ) { @@ -26,13 +27,14 @@ fun AllInButton( onClick = onClick, modifier = modifier, radius = radius, - backgroundColor = color + backgroundColor = color, + enabled = enabled ) { Text( text = text, textAlign = TextAlign.Center, style = AllInTheme.typography.h2, - color = textColor, + color = if(enabled) textColor else AllInTheme.themeColors.disabledBorder, fontSize = 20.sp, modifier = Modifier .padding(vertical = 15.dp) @@ -51,6 +53,21 @@ private fun AllInButtonPreview() { textColor = Color.White ) { + } + } +} + +@Preview +@Composable +private fun AllInButtonDisabledPreview() { + AllInTheme { + AllInButton( + color = AllInTheme.colors.allInLoginPurple, + text = "Connexion", + textColor = Color.White, + enabled = false + ) { + } } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSelectionBox.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSelectionBox.kt index c5be688..d88fd23 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSelectionBox.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInSelectionBox.kt @@ -6,8 +6,10 @@ import androidx.compose.animation.animateContentSize import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size @@ -29,6 +31,7 @@ import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import fr.iut.alldev.allin.R import fr.iut.alldev.allin.theme.AllInTheme @@ -36,11 +39,11 @@ import fr.iut.alldev.allin.theme.AllInTheme class SelectionElement( val textId: Int, - val imageVector: ImageVector, + val imageVector: ImageVector ) @Composable -fun AllInSelectionLine( +private fun AllInSelectionLine( text: String, iconVector: ImageVector?, modifier: Modifier = Modifier, @@ -91,13 +94,19 @@ fun AllInSelectionLine( fun AllInSelectionBox( modifier: Modifier = Modifier, isOpen: Boolean, + borderWidth: Dp? = null, setIsOpen: (Boolean) -> Unit, selected: SelectionElement?, setSelected: (SelectionElement) -> Unit, elements: List<SelectionElement>, ) { val interactionSource = remember { MutableInteractionSource() } - AllInCard(modifier.fillMaxWidth()) { + AllInCard( + modifier = modifier.fillMaxWidth(), + radius = 10.dp, + borderWidth = borderWidth, + borderColor = AllInTheme.colors.allInPurple.copy(alpha = .42f) + ) { Column( Modifier.animateContentSize() ) { @@ -154,6 +163,84 @@ private fun AllInSelectionBoxClosedPreview() { } } +@Composable +private fun AllInSelectionLine( + element: @Composable RowScope.() -> Unit, + modifier: Modifier = Modifier, + onClick: () -> Unit, + trailingIcon: ImageVector? = null, + interactionSource: MutableInteractionSource +) { + Row( + modifier = modifier + .fillMaxWidth() + .clickable( + interactionSource = interactionSource, + indication = null, + onClick = onClick + ) + .padding(horizontal = 12.dp, vertical = 10.dp), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween + ) { + element() + trailingIcon?.let { + Icon( + imageVector = trailingIcon, + contentDescription = null, + tint = AllInTheme.colors.allInPurple, + modifier = Modifier + .size(30.dp) + ) + } + } +} + +@Composable +fun AllInSelectionBox( + modifier: Modifier = Modifier, + isOpen: Boolean, + setIsOpen: (Boolean) -> Unit, + borderWidth: Dp? = null, + selected: (@Composable RowScope.() -> Unit)?, + setSelected: (@Composable RowScope.() -> Unit) -> Unit, + elements: List<@Composable RowScope.() -> Unit>, +) { + val interactionSource = remember { MutableInteractionSource() } + AllInCard( + modifier = modifier.fillMaxWidth(), + radius = 10.dp, + borderWidth = borderWidth, + borderColor = AllInTheme.colors.allInPurple.copy(alpha = .42f) + ) { + Column(Modifier.animateContentSize()) { + AllInSelectionLine( + element = selected ?: { Box { } }, + onClick = { setIsOpen(!isOpen) }, + interactionSource = interactionSource, + trailingIcon = with(Icons.Default) { + if (isOpen) ExpandLess else ExpandMore + } + ) + AnimatedVisibility(isOpen) { + Column { + HorizontalDivider(color = AllInTheme.themeColors.border) + elements.filter { it != selected }.forEach { element -> + AllInSelectionLine( + element = element, + interactionSource = interactionSource, + onClick = { + setSelected(element) + setIsOpen(false) + } + ) + } + } + } + } + } +} + @Preview @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextField.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextField.kt index 9382045..c46d777 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextField.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/AllInTextField.kt @@ -2,7 +2,6 @@ package fr.iut.alldev.allin.ui.core import android.content.res.Configuration import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.relocation.BringIntoViewRequester import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.icons.Icons @@ -11,35 +10,37 @@ import androidx.compose.material.icons.filled.VisibilityOff import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.text.TextRange +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.text.input.* import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import androidx.core.os.ConfigurationCompat +import androidx.core.text.isDigitsOnly +import fr.iut.alldev.allin.ext.formatToSimple +import fr.iut.alldev.allin.ext.toFloatOrNull +import fr.iut.alldev.allin.ext.verifyIsFloat import fr.iut.alldev.allin.theme.AllInTheme -import kotlinx.coroutines.launch import racra.compose.smooth_corner_rect_library.AbsoluteSmoothCornerShape +import java.util.Locale @OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class) @Composable fun AllInTextField( - placeholder: String, - value: String, modifier: Modifier = Modifier, + placeholder: String? = null, + value: String, maxChar: Int? = null, enabled: Boolean = true, - trailingIcon: ImageVector? = null, - trailingContent: @Composable (() -> Unit)? = null, + trailingIcon: Painter? = null, + trailingContent: @Composable() (() -> Unit)? = null, placeholderFontSize: TextUnit = 18.sp, multiLine: Boolean = false, - onValueChange: (String) -> Unit, errorText: String? = null, - bringIntoViewRequester: BringIntoViewRequester, visualTransformation: VisualTransformation = VisualTransformation.None, keyboardType: KeyboardType = KeyboardType.Text, imeAction: ImeAction = ImeAction.Default, @@ -48,58 +49,38 @@ fun AllInTextField( containerColor: Color = AllInTheme.themeColors.background, textColor: Color = AllInTheme.themeColors.onMainSurface, placeholderColor: Color = AllInTheme.themeColors.onBackground2, + onValueChange: (String) -> Unit, ) { - val scope = rememberCoroutineScope() - var hasFocus by remember { mutableStateOf(false) } - - var textFieldValue by remember { - mutableStateOf(TextFieldValue(text = value, selection = TextRange(value.length))) - } - - LaunchedEffect(key1 = value, block = { - textFieldValue = TextFieldValue( - text = value, - selection = textFieldValue.selection - ) - }) - OutlinedTextField( - value = textFieldValue, + value = value, isError = errorText != null, - modifier = modifier - .onFocusChanged { - hasFocus = it.hasFocus - if (it.isFocused) { - scope.launch { - bringIntoViewRequester.bringIntoView() - } - } - }, + modifier = modifier, supportingText = errorText?.let { { AllInErrorLine(text = it) } }, visualTransformation = visualTransformation, singleLine = !multiLine, onValueChange = { - if (maxChar == null || it.text.length <= maxChar) { - textFieldValue = it - onValueChange(it.text) + if (maxChar == null || it.length <= maxChar) { + onValueChange(it) } }, - placeholder = { - Text( - text = placeholder, - fontSize = placeholderFontSize, - style = AllInTheme.typography.p1, - color = placeholderColor, - maxLines = if (multiLine) 3 else 1, - overflow = TextOverflow.Ellipsis - ) + placeholder = placeholder?.let { + { + Text( + text = placeholder, + fontSize = placeholderFontSize, + style = AllInTheme.typography.p1, + color = placeholderColor, + maxLines = if (multiLine) 3 else 1, + overflow = TextOverflow.Ellipsis + ) + } }, trailingIcon = trailingContent ?: trailingIcon?.let { @Composable { Icon( - imageVector = it, + painter = it, contentDescription = null, tint = AllInTheme.colors.allInLightGrey300 ) @@ -135,22 +116,13 @@ fun AllInPasswordField( keyboardActions: KeyboardActions = KeyboardActions.Default, errorText: String? = null, onValueChange: (String) -> Unit, - bringIntoViewRequester: BringIntoViewRequester, isHiddenByDefault: Boolean = true, ) { - var hidden by remember { - mutableStateOf(isHiddenByDefault) - } + var hidden by remember { mutableStateOf(isHiddenByDefault) } AllInTextField( - modifier = modifier, - errorText = errorText, placeholder = placeholder, - imeAction = imeAction, - keyboardActions = keyboardActions, - visualTransformation = if (hidden) PasswordVisualTransformation() else VisualTransformation.None, value = value, - onValueChange = onValueChange, - bringIntoViewRequester = bringIntoViewRequester, + modifier = modifier, trailingContent = { IconButton( onClick = { hidden = !hidden } @@ -162,10 +134,73 @@ fun AllInPasswordField( ) } }, - keyboardType = keyboardType + onValueChange = onValueChange, + errorText = errorText, + visualTransformation = if (hidden) PasswordVisualTransformation() else VisualTransformation.None, + keyboardType = keyboardType, + imeAction = imeAction, + keyboardActions = keyboardActions ) } +@Composable +fun AllInFloatTextfield( + modifier: Modifier = Modifier, + value: Float?, + setValue: (Float?) -> Unit +) { + val configuration = LocalConfiguration.current + val locale = remember { + ConfigurationCompat.getLocales(configuration).get(0) ?: Locale.getDefault() + } + var stringValue by remember(value) { mutableStateOf(value?.formatToSimple(locale) ?: "") } + + AllInTextField( + value = stringValue, + modifier = modifier, + maxChar = 5, + keyboardType = KeyboardType.Number + ) { + it.verifyIsFloat(locale)?.let { + stringValue = it + if (it.isNotEmpty()) { + if (it.lastOrNull() !in setOf(',', '.')) { + it.toFloatOrNull(locale)?.let { + setValue(it) + } + } + } else setValue(null) + } + } +} + +@Composable +fun AllInIntTextField( + modifier: Modifier = Modifier, + placeholder: String? = null, + maxChar: Int? = 3, + value: Int?, + trailingIcon: Painter? = null, + setValue: (Int?) -> Unit +) { + AllInTextField( + value = value?.toString() ?: "", + placeholder = placeholder, + modifier = modifier, + maxChar = maxChar, + trailingIcon = trailingIcon, + keyboardType = KeyboardType.NumberPassword + ) { + if (it.isEmpty()) setValue(null) + else if (it.isDigitsOnly()) { + it.toIntOrNull()?.let { + setValue(it) + } + } + } +} + + @OptIn(ExperimentalFoundationApi::class) @Preview @Composable @@ -174,8 +209,7 @@ private fun AllInTextFieldPlaceholderPreview() { AllInTextField( placeholder = "Email", value = "", - onValueChange = { }, - bringIntoViewRequester = BringIntoViewRequester() + onValueChange = { } ) } } @@ -190,8 +224,7 @@ private fun AllInTextFieldValuePreview() { AllInTextField( placeholder = "Email", value = "JohnDoe@mail.com", - onValueChange = { }, - bringIntoViewRequester = BringIntoViewRequester() + onValueChange = { } ) } } @@ -204,9 +237,8 @@ private fun AllInTextFieldErrorPreview() { AllInTextField( placeholder = "Email", value = "JohnDoe@mail.com", - errorText = "This is an error.", onValueChange = { }, - bringIntoViewRequester = BringIntoViewRequester() + errorText = "This is an error." ) } } @@ -220,13 +252,11 @@ private fun AllInTextFieldPasswordPreview() { AllInPasswordField( placeholder = "Password", value = value, - onValueChange = setValue, - bringIntoViewRequester = BringIntoViewRequester() + onValueChange = setValue ) } } -@OptIn(ExperimentalFoundationApi::class) @Preview @Composable private fun AllInTextFieldMultilinePreview() { @@ -234,9 +264,8 @@ private fun AllInTextFieldMultilinePreview() { AllInTextField( placeholder = "David sera il absent le Lundi matin en cours ?", value = "", - onValueChange = { }, multiLine = true, - bringIntoViewRequester = BringIntoViewRequester() + onValueChange = { } ) } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt index 1b9bd80..87c04bb 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt @@ -1,6 +1,5 @@ package fr.iut.alldev.allin.ui.login -import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -11,12 +10,10 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.relocation.BringIntoViewRequester import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.ClickableText import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.verticalScroll -import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -42,7 +39,6 @@ import fr.iut.alldev.allin.ui.core.AllInLoading import fr.iut.alldev.allin.ui.core.AllInPasswordField import fr.iut.alldev.allin.ui.core.AllInTextField -@OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class) @Composable fun LoginScreen( navigateToDashboard: () -> Unit, @@ -51,7 +47,6 @@ fun LoginScreen( ) { val focusManager = LocalFocusManager.current - val bringIntoViewRequester = BringIntoViewRequester() val loading by remember { loginViewModel.loading } var hasLoginError by remember { loginViewModel.hasError } @@ -102,22 +97,20 @@ fun LoginScreen( verticalArrangement = Arrangement.spacedBy(20.dp) ) { AllInTextField( - modifier = Modifier.fillMaxWidth(), placeholder = stringResource(id = R.string.username), value = username, + modifier = Modifier.fillMaxWidth(), onValueChange = setUsername, - bringIntoViewRequester = bringIntoViewRequester, imeAction = ImeAction.Next, keyboardActions = keyboardActions ) AllInPasswordField( - modifier = Modifier.fillMaxWidth(), placeholder = stringResource(id = R.string.password), value = password, - onValueChange = setPassword, - bringIntoViewRequester = bringIntoViewRequester, + modifier = Modifier.fillMaxWidth(), imeAction = ImeAction.Done, - keyboardActions = keyboardActions + keyboardActions = keyboardActions, + onValueChange = setPassword ) } ClickableText( diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt index 1ba9b8f..7f57f2e 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt @@ -70,14 +70,15 @@ fun MainScreen( val (selectedBet, setSelectedBet) = remember { mainViewModel.selectedBet } val (wonBet, setWonBet) = remember { mainViewModel.wonBet } val (statusVisibility, sheetBackVisibility, setStatusVisibility) = rememberBetStatusVisibilities() - val (displayResult, setDisplayResult ) = remember{ mutableStateOf(true) } + val (participateSheetVisibility, setParticipateSheetVisibility) = remember { + mutableStateOf(false) + } + + val (displayResult, setDisplayResult) = remember { mutableStateOf(true) } val betStatusDisplayer = remember { BetStatusBottomSheetBetDisplayer( - userCoinAmount = currentUser.userCoins, - onParticipate = { - mainViewModel.participateToBet(it) - } + openParticipateSheet = { setParticipateSheetVisibility(true) } ) } @@ -152,7 +153,7 @@ fun MainScreen( navController = navController, selectBet = { bet, participate -> setSelectedBet(bet) - betStatusDisplayer.participateBottomSheetVisibility.value = participate + setParticipateSheetVisibility(participate) setStatusVisibility(true) }, setLoading = { loading = it }, @@ -180,11 +181,14 @@ fun MainScreen( state = statusBottomSheetState, sheetVisibility = statusVisibility.value, sheetBackVisibility = sheetBackVisibility.value, - onDismiss = { - setStatusVisibility(false) - }, + onDismiss = { setStatusVisibility(false) }, bet = selectedBet, - displayBet = { betStatusDisplayer.DisplayBet(it) } + paddingValues = betStatusDisplayer.paddingValues.value, + displayBet = { betStatusDisplayer.DisplayBet(it) }, + userCoinAmount = mainViewModel.currentUserState.userCoins, + onParticipate = { mainViewModel.participateToBet(it) }, + participateSheetVisibility = participateSheetVisibility, + setParticipateSheetVisibility = setParticipateSheetVisibility ) AllInLoading(visible = loading) BackHandler( diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt index 8287d8c..aac1fcf 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt @@ -62,7 +62,7 @@ class MainViewModel @Inject constructor( viewModelScope.launch { withContext(Dispatchers.IO) { loading.value = true - currentUserState.userCoins.intValue += 50 + currentUserState.userCoins.intValue -= stake Thread.sleep(1000) loading.value = false } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt index 304f569..dabcded 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt @@ -9,7 +9,7 @@ import fr.iut.alldev.allin.data.model.bet.MatchBet import fr.iut.alldev.allin.data.model.bet.YesNoBet import java.time.ZonedDateTime -class BetPreviewProvider: PreviewParameterProvider<Bet> { +class BetPreviewProvider : PreviewParameterProvider<Bet> { override val values = sequenceOf( YesNoBet( theme = "Theme", @@ -39,7 +39,7 @@ class BetPreviewProvider: PreviewParameterProvider<Bet> { isPublic = true, betStatus = BetStatus.Finished(BetFinishedStatus.WON), creator = "creator", - possibleAnswers = setOf( + possibleAnswers = listOf( "Answer 1", "Answer 2", "Answer 3", diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt index becf11a..fcc5adb 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt @@ -40,7 +40,7 @@ class BetWithStatusPreviewProvider : PreviewParameterProvider<Bet> { isPublic = true, betStatus = status, creator = "creator", - possibleAnswers = setOf( + possibleAnswers = listOf( "Answer 1", "Answer 2", "Answer 3", diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt index 8a5f27b..a00754b 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt @@ -2,7 +2,6 @@ package fr.iut.alldev.allin.ui.register import androidx.compose.foundation.* import androidx.compose.foundation.layout.* -import androidx.compose.foundation.relocation.BringIntoViewRequester import androidx.compose.foundation.text.ClickableText import androidx.compose.foundation.text.KeyboardActions import androidx.compose.material3.Text @@ -49,7 +48,6 @@ fun RegisterScreen( val (password, setPassword) = remember { registerViewModel.password } val (passwordValidation, setPasswordValidation) = remember { registerViewModel.passwordValidation } - val bringIntoViewRequester = remember { BringIntoViewRequester() } val scrollState = rememberScrollState() val usernameFieldName = stringResource(id = R.string.username) @@ -117,46 +115,42 @@ fun RegisterScreen( verticalArrangement = Arrangement.spacedBy(20.dp) ) { AllInTextField( - modifier = Modifier.fillMaxWidth(), placeholder = usernameFieldName, value = username, - onValueChange = setUsername, + modifier = Modifier.fillMaxWidth(), maxChar = 20, + onValueChange = setUsername, errorText = usernameError.errorResource(), - bringIntoViewRequester = bringIntoViewRequester, imeAction = ImeAction.Next, keyboardActions = keyboardActions ) AllInTextField( - modifier = Modifier.fillMaxWidth(), placeholder = emailFieldName, value = email, + modifier = Modifier.fillMaxWidth(), onValueChange = setEmail, errorText = emailError.errorResource(), keyboardType = KeyboardType.Email, - bringIntoViewRequester = bringIntoViewRequester, imeAction = ImeAction.Next, keyboardActions = keyboardActions ) AllInPasswordField( - modifier = Modifier.fillMaxWidth(), placeholder = passwordFieldName, value = password, - errorText = passwordError.errorResource(), - onValueChange = setPassword, - bringIntoViewRequester = bringIntoViewRequester, + modifier = Modifier.fillMaxWidth(), imeAction = ImeAction.Next, - keyboardActions = keyboardActions + keyboardActions = keyboardActions, + errorText = passwordError.errorResource(), + onValueChange = setPassword ) AllInPasswordField( - modifier = Modifier.fillMaxWidth(), placeholder = stringResource(id = R.string.confirm_password), value = passwordValidation, - errorText = passwordValidationError.errorResource(), - onValueChange = setPasswordValidation, - bringIntoViewRequester = bringIntoViewRequester, + modifier = Modifier.fillMaxWidth(), imeAction = ImeAction.Done, - keyboardActions = keyboardActions + keyboardActions = keyboardActions, + errorText = passwordValidationError.errorResource(), + onValueChange = setPasswordValidation ) } } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt index deaf6f9..be89c05 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt @@ -17,11 +17,11 @@ interface BetDisplayer { } @Composable - fun DisplayYesNoBet(b: YesNoBet) + fun DisplayYesNoBet(bet: YesNoBet) @Composable - fun DisplayMatchBet(b: MatchBet) + fun DisplayMatchBet(bet: MatchBet) @Composable - fun DisplayCustomBet(b: CustomBet) + fun DisplayCustomBet(bet: CustomBet) } \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/MockAllInApi.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/MockAllInApi.kt new file mode 100644 index 0000000..4b61b9b --- /dev/null +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/MockAllInApi.kt @@ -0,0 +1,96 @@ +package fr.iut.alldev.allin.data.api + +import fr.iut.alldev.allin.data.api.interceptors.AllInAPIException +import fr.iut.alldev.allin.data.api.model.CheckUser +import fr.iut.alldev.allin.data.api.model.RequestBet +import fr.iut.alldev.allin.data.api.model.RequestUser +import fr.iut.alldev.allin.data.api.model.ResponseBet +import fr.iut.alldev.allin.data.api.model.ResponseUser +import fr.iut.alldev.allin.data.model.bet.NO_VALUE +import fr.iut.alldev.allin.data.model.bet.YES_VALUE +import java.time.ZonedDateTime +import java.util.UUID + +class MockAllInApi : AllInApi { + override suspend fun login(body: CheckUser): ResponseUser { + return users.find { it.first.username == body.login && it.second == body.password }?.first + ?: throw AllInAPIException("Invalid login/password.") + } + + override suspend fun login(token: String): ResponseUser { + return users.find { it.first.token == token }?.first + ?: throw AllInAPIException("Invalid token") + } + + override suspend fun register(body: RequestUser): ResponseUser { + val response = ResponseUser( + id = UUID.randomUUID().toString(), + username = body.username, + email = body.email, + nbCoins = body.nbCoins, + token = "${body.username} ${users.size}" + ) to body.password + users.add(response) + return response.first + } + + override suspend fun createBet(token: String, body: RequestBet) { + mockBets.add( + ResponseBet( + id = UUID.randomUUID().toString(), + theme = body.theme, + sentenceBet = body.sentenceBet, + endRegistration = body.endRegistration, + endBet = body.endBet, + isPrivate = body.isPrivate, + response = body.response, + createdBy = "" + ) + ) + } + + override suspend fun getAllBets(): List<ResponseBet> = mockBets.toList() +} + +private val users = mutableListOf( + ResponseUser( + id = "UUID 1", + username = "User 1", + email = "john@doe.fr", + nbCoins = 250, + token = "token 1" + ) to "psswrd" +) + +private val mockBets = mutableListOf( + ResponseBet( + id = "UUID1", + theme = "Études", + sentenceBet = "Dave va arriver en retard demain matin ?", + endRegistration = ZonedDateTime.now().plusDays(3), + endBet = ZonedDateTime.now().plusDays(4), + isPrivate = false, + response = listOf(YES_VALUE, NO_VALUE), + createdBy = "Armure" + ), + ResponseBet( + id = "UUID2", + theme = "Études", + sentenceBet = "Dave va arriver en retard demain matin ?", + endRegistration = ZonedDateTime.now().plusDays(3), + endBet = ZonedDateTime.now().plusDays(4), + isPrivate = false, + response = listOf("Answer 1", "Answer 2", "Answer 3", "Answer 4"), + createdBy = "User 2" + ), + ResponseBet( + id = "UUID3", + theme = "Sport", + sentenceBet = "Nouveau record du monde ?", + endRegistration = ZonedDateTime.now().plusDays(3), + endBet = ZonedDateTime.now().plusDays(4), + isPrivate = false, + response = listOf(YES_VALUE, NO_VALUE), + createdBy = "Armure" + ) +) \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt index c5da50a..4eca5f1 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt @@ -4,6 +4,8 @@ import androidx.annotation.Keep import fr.iut.alldev.allin.data.model.bet.Bet import fr.iut.alldev.allin.data.model.bet.BetStatus import fr.iut.alldev.allin.data.model.bet.CustomBet +import fr.iut.alldev.allin.data.model.bet.NO_VALUE +import fr.iut.alldev.allin.data.model.bet.YES_VALUE import fr.iut.alldev.allin.data.model.bet.YesNoBet import fr.iut.alldev.allin.data.serialization.SimpleDateSerializer import kotlinx.serialization.Serializable @@ -12,7 +14,7 @@ import java.time.ZonedDateTime @Keep @Serializable data class ResponseBet( - val id: Int?, + val id: String?, val theme: String, val sentenceBet: String, @Serializable(SimpleDateSerializer::class) val endRegistration: ZonedDateTime, @@ -22,7 +24,7 @@ data class ResponseBet( val createdBy: String ) { fun toBet(): Bet { - if (response.toSet() == setOf("Yes", "No")) { + if (response.toSet() == setOf(YES_VALUE, NO_VALUE)) { return YesNoBet( theme = theme, phrase = sentenceBet, @@ -41,7 +43,7 @@ data class ResponseBet( isPublic = !isPrivate, betStatus = BetStatus.Waiting, creator = createdBy, - possibleAnswers = response.toSet() + possibleAnswers = response ) } } diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiUser.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiUser.kt index 37af616..79d1681 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiUser.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiUser.kt @@ -16,15 +16,16 @@ data class RequestUser( @Keep @Serializable data class ResponseUser( + val id: String, val username: String, val email: String, var nbCoins: Int, var token: String? = null, ) { fun toUser() = User( + id = id, username = username, email = email, - id = "", coins = nbCoins ) } diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/di/ApiModule.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/di/ApiModule.kt index 3883391..50c387a 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/di/ApiModule.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/di/ApiModule.kt @@ -5,18 +5,25 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import fr.iut.alldev.allin.data.api.AllInApi +import fr.iut.alldev.allin.data.api.MockAllInApi import fr.iut.alldev.allin.data.di.NetworkModule.createRetrofit import okhttp3.HttpUrl import okhttp3.OkHttpClient import javax.inject.Singleton +const val mock = true + @Module @InstallIn(SingletonComponent::class) class ApiModule { @Provides @Singleton fun provideAllInApi(@AllInUrl url: HttpUrl, okHttpClient: OkHttpClient): AllInApi { - val retrofit = createRetrofit(url = url, okHttpClient = okHttpClient) - return retrofit.create(AllInApi::class.java) + return if (mock) { + MockAllInApi() + } else { + val retrofit = createRetrofit(url = url, okHttpClient = okHttpClient) + retrofit.create(AllInApi::class.java) + } } } \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt index 21684a7..cc1910a 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt @@ -4,7 +4,7 @@ import fr.iut.alldev.allin.data.api.model.RequestBet import java.time.ZonedDateTime sealed class Bet( - open val id: Int? = null, + open val id: String? = null, open val creator: String, open val theme: String, open val phrase: String, diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetFactory.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetFactory.kt index f48a5d3..c194a30 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetFactory.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetFactory.kt @@ -14,7 +14,7 @@ class BetFactory { isPublic: Boolean, nameTeam1: String = "", nameTeam2: String = "", - possibleAnswers: Set<String> = emptySet(), + possibleAnswers: List<String> = emptyList(), ): Bet = when (betType) { diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/CustomBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/CustomBet.kt index 4a8320d..8af1e5e 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/CustomBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/CustomBet.kt @@ -3,7 +3,7 @@ package fr.iut.alldev.allin.data.model.bet import java.time.ZonedDateTime data class CustomBet( - override val id: Int? = null, + override val id: String? = null, override val creator: String, override val theme: String, override val phrase: String, @@ -11,7 +11,7 @@ data class CustomBet( override val endBetDate: ZonedDateTime, override val isPublic: Boolean, override val betStatus: BetStatus, - val possibleAnswers: Set<String>, + val possibleAnswers: List<String> ) : Bet( id, creator, @@ -22,5 +22,5 @@ data class CustomBet( isPublic, betStatus ) { - override fun getResponses(): List<String> = possibleAnswers.toList() + override fun getResponses(): List<String> = possibleAnswers } diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/MatchBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/MatchBet.kt index e0a4211..4e96674 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/MatchBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/MatchBet.kt @@ -3,7 +3,7 @@ package fr.iut.alldev.allin.data.model.bet import java.time.ZonedDateTime data class MatchBet( - override val id: Int? = null, + override val id: String? = null, override val creator: String, override val theme: String, override val phrase: String, @@ -12,7 +12,7 @@ data class MatchBet( override val isPublic: Boolean, override val betStatus: BetStatus, val nameTeam1: String, - val nameTeam2: String, + val nameTeam2: String ) : Bet( id, creator, diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/YesNoBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/YesNoBet.kt index 8252dab..2c57d4e 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/YesNoBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/YesNoBet.kt @@ -2,15 +2,18 @@ package fr.iut.alldev.allin.data.model.bet import java.time.ZonedDateTime +const val YES_VALUE = "Yes" +const val NO_VALUE = "No" + data class YesNoBet( - override val id: Int? = null, + override val id: String? = null, override val creator: String, override val theme: String, override val phrase: String, override val endRegisterDate: ZonedDateTime, override val endBetDate: ZonedDateTime, override val isPublic: Boolean, - override val betStatus: BetStatus, + override val betStatus: BetStatus ) : Bet( id, creator, @@ -21,5 +24,5 @@ data class YesNoBet( isPublic, betStatus ) { - override fun getResponses(): List<String> = listOf("Yes", "No") + override fun getResponses(): List<String> = listOf(YES_VALUE, NO_VALUE) } \ No newline at end of file -- 2.36.3 From 7c643ebe74f6262552c59998604a8a207498a3bf Mon Sep 17 00:00:00 2001 From: "arthur.valin" <arthur.valin@etu.uca.fr> Date: Tue, 23 Jan 2024 21:39:15 +0100 Subject: [PATCH 3/3] BetDetail and Participation --- .../iut/alldev/allin/di/CurrentUserModule.kt | 4 +- .../java/fr/iut/alldev/allin/theme/Icons.kt | 2 +- .../ui/betCreation/BetCreationViewModel.kt | 1 + .../tabs/BetCreationScreenQuestionTab.kt | 10 +- .../ui/betResult/BetResultBottomSheet.kt | 1 + .../ui/betStatus/BetStatusBottomSheet.kt | 29 +-- .../BetStatusParticipationAnswers.kt | 146 +++++++++----- .../BetStatusParticipationBottomSheet.kt | 7 +- .../ui/betStatus/components/YesNoStarBar.kt | 24 ++- .../vo/BetStatusBottomSheetBetDisplayer.kt | 178 ++++++++++++++---- .../fr/iut/alldev/allin/ui/main/MainScreen.kt | 8 +- .../iut/alldev/allin/ui/main/MainViewModel.kt | 47 +++-- .../ui/preview/BetDetailPreviewProvider.kt | 58 ++++++ .../allin/ui/preview/BetPreviewProvider.kt | 3 + .../preview/BetWithStatusPreviewProvider.kt | 3 + .../java/fr/iut/alldev/allin/utils/Tuples.kt | 12 -- .../iut/alldev/allin/vo/bet/BetDisplayer.kt | 18 +- src/app/src/main/res/values-fr/strings.xml | 1 + src/app/src/main/res/values/strings.xml | 1 + .../fr/iut/alldev/allin/data/api/AllInApi.kt | 13 ++ .../iut/alldev/allin/data/api/MockAllInApi.kt | 157 ++++++++++++++- .../data/api/interceptors/ErrorInterceptor.kt | 5 +- .../iut/alldev/allin/data/api/model/ApiBet.kt | 52 ++++- .../allin/data/api/model/ApiParticipation.kt | 31 +++ .../alldev/allin/data/api/model/ApiUser.kt | 9 +- .../fr/iut/alldev/allin/data/di/ApiModule.kt | 2 +- .../iut/alldev/allin/data/di/NetworkModule.kt | 2 +- .../fr/iut/alldev/allin/data/model/User.kt | 8 +- .../fr/iut/alldev/allin/data/model/bet/Bet.kt | 3 +- .../alldev/allin/data/model/bet/BetFactory.kt | 4 + .../alldev/allin/data/model/bet/CustomBet.kt | 2 +- .../alldev/allin/data/model/bet/MatchBet.kt | 2 +- .../allin/data/model/bet/Participation.kt | 17 ++ .../alldev/allin/data/model/bet/YesNoBet.kt | 2 +- .../data/model/bet/vo/BetAnswerDetail.kt | 9 + .../allin/data/model/bet/vo/BetDetail.kt | 14 ++ .../allin/data/model/bet/vo/BetResult.kt | 10 + .../allin/data/repository/BetRepository.kt | 4 + .../allin/data/repository/UserRepository.kt | 11 +- .../data/repository/impl/BetRepositoryImpl.kt | 22 ++- .../repository/impl/UserRepositoryImpl.kt | 6 +- .../serialization/ZonedDateTimeSerializer.kt | 29 +-- 42 files changed, 748 insertions(+), 219 deletions(-) create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetDetailPreviewProvider.kt delete mode 100644 src/app/src/main/java/fr/iut/alldev/allin/utils/Tuples.kt create mode 100644 src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiParticipation.kt create mode 100644 src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Participation.kt create mode 100644 src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetAnswerDetail.kt create mode 100644 src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetDetail.kt create mode 100644 src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetResult.kt diff --git a/src/app/src/main/java/fr/iut/alldev/allin/di/CurrentUserModule.kt b/src/app/src/main/java/fr/iut/alldev/allin/di/CurrentUserModule.kt index 2010974..fee0dc8 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/di/CurrentUserModule.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/di/CurrentUserModule.kt @@ -16,7 +16,5 @@ annotation class AllInCurrentUser internal object CurrentUserModule { @AllInCurrentUser @Provides - fun provideUser( - userRepository: UserRepository - ) = userRepository.currentUser + fun provideUser(userRepository: UserRepository) = userRepository.currentUser } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/theme/Icons.kt b/src/app/src/main/java/fr/iut/alldev/allin/theme/Icons.kt index 819c5b5..8382348 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/theme/Icons.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/theme/Icons.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.graphics.painter.Painter @Immutable data class AllInIcons( - val allCoins: @Composable ()->Painter, + val allCoins: @Composable () -> Painter, ) internal val LocalIcons = staticCompositionLocalOf { diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationViewModel.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationViewModel.kt index 71d3aae..5e420ea 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationViewModel.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/BetCreationViewModel.kt @@ -110,6 +110,7 @@ class BetCreationViewModel @Inject constructor( if (!hasError.value) { try { val bet = BetFactory.createBet( + id = "", betType = selectedBetType.value, theme = theme.value, phrase = phrase.value, diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/BetCreationScreenQuestionTab.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/BetCreationScreenQuestionTab.kt index 5edafd5..1065e7e 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/BetCreationScreenQuestionTab.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betCreation/tabs/BetCreationScreenQuestionTab.kt @@ -1,10 +1,10 @@ package fr.iut.alldev.allin.ui.betCreation.tabs -import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.foundation.layout.* -import androidx.compose.foundation.relocation.BringIntoViewRequester -import androidx.compose.runtime.* +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import fr.iut.alldev.allin.data.ext.formatToMediumDate @@ -14,7 +14,6 @@ import fr.iut.alldev.allin.ui.betCreation.tabs.sections.QuestionTabPrivacySectio import fr.iut.alldev.allin.ui.betCreation.tabs.sections.QuestionTabThemePhraseSection import java.time.ZonedDateTime -@OptIn(ExperimentalFoundationApi::class) @Composable fun BetCreationScreenQuestionTab( modifier: Modifier = Modifier, @@ -38,7 +37,6 @@ fun BetCreationScreenQuestionTab( setEndTimeDialog: (Boolean) -> Unit, interactionSource: MutableInteractionSource ) { - val bringIntoViewRequester = remember { BringIntoViewRequester() } Column(modifier) { QuestionTabThemePhraseSection( betTheme = betTheme, diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt index 3eebfbe..7fd4eeb 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betResult/BetResultBottomSheet.kt @@ -154,6 +154,7 @@ private fun BetResultBottomSheetContentPreview() { username = "Pseudo", coinAmount = 3976, bet = YesNoBet( + id = "1", theme = "Theme", phrase = "Phrase", endRegisterDate = ZonedDateTime.now(), diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt index da23df3..7e193fc 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/BetStatusBottomSheet.kt @@ -6,10 +6,11 @@ import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import fr.iut.alldev.allin.data.model.bet.Bet import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail import fr.iut.alldev.allin.ui.betStatus.components.BetStatusBottomSheetBack import fr.iut.alldev.allin.ui.betStatus.components.BetStatusParticipationBottomSheet +import fr.iut.alldev.allin.ui.betStatus.components.getAnswerFromParticipationIdx import fr.iut.alldev.allin.ui.betStatus.components.getParticipationAnswers import fr.iut.alldev.allin.ui.core.AllInBottomSheet @@ -23,14 +24,14 @@ fun BetStatusBottomSheet( state: SheetState, sheetVisibility: Boolean, sheetBackVisibility: Boolean, - bet: Bet?, + betDetail: BetDetail?, paddingValues: PaddingValues, userCoinAmount: MutableIntState, - onParticipate: (Int) -> Unit, + onParticipate: (stake: Int, response: String) -> Unit, onDismiss: () -> Unit, participateSheetVisibility: Boolean, setParticipateSheetVisibility: (Boolean) -> Unit, - displayBet: @Composable (Bet) -> Unit + displayBet: @Composable (BetDetail) -> Unit ) { AnimatedVisibility( visible = sheetBackVisibility, @@ -41,9 +42,9 @@ fun BetStatusBottomSheet( targetOffsetY = { it } ) ) { - bet?.let { + betDetail?.let { BetStatusBottomSheetBack( - status = it.betStatus + status = it.bet.betStatus ) } } @@ -61,14 +62,15 @@ fun BetStatusBottomSheet( Column( Modifier.fillMaxHeight(SHEET_HEIGHT) ) { - bet?.let { - val elements = bet.getParticipationAnswers() + betDetail?.let { + val elements = betDetail.getParticipationAnswers() displayBet(it) BetStatusParticipationBottomSheet( - sheetVisibility = participateSheetVisibility && bet.betStatus == BetStatus.Waiting && state.hasExpandedState, + sheetVisibility = participateSheetVisibility && betDetail.bet.betStatus == BetStatus.Waiting && state.hasExpandedState, safeBottomPadding = paddingValues.calculateBottomPadding(), - betPhrase = bet.phrase, + odds = betDetail.answers.getOrNull(selectedAnswer)?.odds ?: 1f, + betPhrase = betDetail.bet.phrase, coinAmount = userCoinAmount.intValue, onDismiss = { setParticipateSheetVisibility(false) }, state = rememberModalBottomSheetState(skipPartiallyExpanded = true), @@ -80,8 +82,11 @@ fun BetStatusBottomSheet( enabled = stake != null && (stake ?: 0) <= userCoinAmount.intValue ) { - stake?.let { - onParticipate(it) + stake?.let { stake -> + onParticipate( + stake, + betDetail.bet.getAnswerFromParticipationIdx(selectedAnswer) + ) } } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationAnswers.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationAnswers.kt index fa0511f..735ad70 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationAnswers.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationAnswers.kt @@ -1,82 +1,138 @@ package fr.iut.alldev.allin.ui.betStatus.components import android.content.res.Configuration +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding import androidx.compose.material3.Text - import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.res.stringResource +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import fr.iut.alldev.allin.R +import androidx.core.os.ConfigurationCompat import fr.iut.alldev.allin.data.model.bet.Bet import fr.iut.alldev.allin.data.model.bet.CustomBet import fr.iut.alldev.allin.data.model.bet.MatchBet import fr.iut.alldev.allin.data.model.bet.NO_VALUE import fr.iut.alldev.allin.data.model.bet.YES_VALUE import fr.iut.alldev.allin.data.model.bet.YesNoBet +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail +import fr.iut.alldev.allin.ext.formatToSimple import fr.iut.alldev.allin.theme.AllInTheme -import fr.iut.alldev.allin.ui.preview.BetPreviewProvider +import fr.iut.alldev.allin.ui.core.AllInCard +import fr.iut.alldev.allin.ui.preview.BetDetailPreviewProvider +import java.util.Locale private val participationAnswerFontSize = 25.sp @Composable -fun Bet.getParticipationAnswers(): List<@Composable RowScope.() -> Unit> = - when (this) { - is CustomBet -> this.possibleAnswers.map { +fun BetDetail.getParticipationAnswers(): List<@Composable RowScope.() -> Unit> { + val configuration = LocalConfiguration.current + val locale = remember { ConfigurationCompat.getLocales(configuration).get(0) ?: Locale.getDefault() } + + return when (this.bet) { + is CustomBet -> (this.bet as CustomBet).possibleAnswers.map { { - Text( - text = it, - color = AllInTheme.colors.allInBlue, - style = AllInTheme.typography.h1, - fontSize = participationAnswerFontSize - ) + this@getParticipationAnswers.getAnswerOfResponse(it)?.let { + ParticipationAnswerLine( + text = it.response, + odds = it.odds, + locale = locale + ) + } } } - is MatchBet -> listOf( - { - Text( - text = this@getParticipationAnswers.nameTeam1, - color = AllInTheme.colors.allInBlue, - style = AllInTheme.typography.h1, - fontSize = participationAnswerFontSize - ) - }, - { - Text( - text = this@getParticipationAnswers.nameTeam2, - color = AllInTheme.colors.allInBarPink, - style = AllInTheme.typography.h1, - fontSize = participationAnswerFontSize - ) + is MatchBet -> buildList { + val bet = (this@getParticipationAnswers.bet as MatchBet) + add { + this@getParticipationAnswers.getAnswerOfResponse(bet.nameTeam1)?.let { + ParticipationAnswerLine( + text = it.response, + odds = it.odds, + locale = locale + ) + } } + add { + this@getParticipationAnswers.getAnswerOfResponse(bet.nameTeam2)?.let { + ParticipationAnswerLine( + text = it.response, + color = AllInTheme.colors.allInBarPink, + odds = it.odds, + locale = locale + ) + } + } + } + + is YesNoBet -> buildList { + add { + this@getParticipationAnswers.getAnswerOfResponse(YES_VALUE)?.let { + ParticipationAnswerLine( + text = it.response, + odds = it.odds, + locale = locale + ) + } + } + add { + this@getParticipationAnswers.getAnswerOfResponse(NO_VALUE)?.let { + ParticipationAnswerLine( + text = it.response, + color = AllInTheme.colors.allInBarPink, + odds = it.odds, + locale = locale + ) + } + } + } + } +} + +@Composable +private fun ParticipationAnswerLine( + text: String, + color: Color = AllInTheme.colors.allInBlue, + locale: Locale, + odds: Float +) { + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Text( + text = text.uppercase(), + color = color, + style = AllInTheme.typography.h1, + fontSize = participationAnswerFontSize ) - is YesNoBet -> listOf( - { - Text( - text = stringResource(id = R.string.Yes).uppercase(), - color = AllInTheme.colors.allInBlue, - style = AllInTheme.typography.h1, - fontSize = participationAnswerFontSize - ) - }, - { + AllInCard( + radius = 50.dp, + backgroundColor = AllInTheme.colors.allInPurple + ) { + Box(Modifier.padding(vertical = 4.dp, horizontal = 8.dp)) { Text( - text = stringResource(id = R.string.No).uppercase(), - color = AllInTheme.colors.allInBarPink, - style = AllInTheme.typography.h1, - fontSize = participationAnswerFontSize + text = "x${odds.formatToSimple(locale)}", + color = AllInTheme.colors.white, + style = AllInTheme.typography.h2 ) } - ) + } } +} fun Bet.getAnswerFromParticipationIdx(idx: Int) = when (this) { @@ -98,7 +154,7 @@ fun Bet.getAnswerFromParticipationIdx(idx: Int) = @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ParticipationAnswersPreview( - @PreviewParameter(BetPreviewProvider::class) bet: Bet, + @PreviewParameter(BetDetailPreviewProvider::class) bet: BetDetail, ) { AllInTheme { Column { diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt index 0b2db92..7892162 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/BetStatusParticipationBottomSheet.kt @@ -24,6 +24,7 @@ import fr.iut.alldev.allin.ui.core.AllInIntTextField import fr.iut.alldev.allin.ui.core.AllInSelectionBox import fr.iut.alldev.allin.ui.core.topbar.AllInTopBarCoinCounter import kotlinx.coroutines.launch +import kotlin.math.roundToInt @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -35,6 +36,7 @@ fun BetStatusParticipationBottomSheet( onDismiss: () -> Unit, state: SheetState, enabled: Boolean, + odds: Float, stake: Int?, setStake: (Int?) -> Unit, elements: List<@Composable RowScope.() -> Unit>, @@ -58,6 +60,7 @@ fun BetStatusParticipationBottomSheet( setElement = setElement, enabled = enabled, stake = stake, + odds = odds, setStake = setStake ) { scope.launch { @@ -76,6 +79,7 @@ private fun ColumnScope.BetStatusParticipationBottomSheetContent( coinAmount: Int, enabled: Boolean, stake: Int?, + odds: Float, setStake: (Int?) -> Unit, selectedElement: (@Composable RowScope.() -> Unit)?, elements: List<@Composable RowScope.() -> Unit>, @@ -150,7 +154,7 @@ private fun ColumnScope.BetStatusParticipationBottomSheetContent( color = AllInTheme.themeColors.onBackground ) AllInCoinCount( - amount = 121, + amount = stake?.let { (it + (it * odds)).roundToInt() } ?: 0, color = AllInTheme.themeColors.onBackground ) } @@ -181,6 +185,7 @@ private fun BetStatusParticipationBottomSheetContentPreview() { selectedElement = null, enabled = true, stake = 123, + odds = 0.42f, setStake = {} ) } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoStarBar.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoStarBar.kt index 5abafbd..1aad42e 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoStarBar.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/components/YesNoStarBar.kt @@ -4,27 +4,27 @@ import androidx.compose.foundation.layout.* import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.sp -import fr.iut.alldev.allin.R import fr.iut.alldev.allin.data.ext.toPercentageString import fr.iut.alldev.allin.theme.AllInTheme import fr.iut.alldev.allin.ui.core.PercentagePositionnedElement import fr.iut.alldev.allin.ui.core.StatBar @Composable -fun YesNoStatBar( - yesPercentage: Float, +fun BinaryStatBar( + response1Percentage: Float, + response1: String, + response2: String, modifier: Modifier = Modifier, ) { Column(modifier) { Row { Text( - text = stringResource(id = R.string.Yes).uppercase(), + text = response1, color = AllInTheme.colors.allInBlue, style = AllInTheme.typography.h1, fontStyle = FontStyle.Italic, @@ -32,19 +32,19 @@ fun YesNoStatBar( modifier = Modifier.weight(1f) ) Text( - text = stringResource(id = R.string.No).uppercase(), + text = response2, style = AllInTheme.typography.h1, fontStyle = FontStyle.Italic, fontSize = 30.sp, color = AllInTheme.colors.allInBarPink ) } - StatBar(percentage = yesPercentage) + StatBar(percentage = response1Percentage) PercentagePositionnedElement( - percentage = yesPercentage + percentage = response1Percentage ) { Text( - text = yesPercentage.toPercentageString(), + text = response1Percentage.toPercentageString(), style = AllInTheme.typography.sm1, color = AllInTheme.colors.allInBarPurple ) @@ -64,6 +64,10 @@ private fun YesNoStatBarPreview( @PreviewParameter(YesNoStatBarPreviewProvider::class) percentage: Float, ) { AllInTheme { - YesNoStatBar(percentage) + BinaryStatBar( + percentage, + "Answer 1", + "Answer 2" + ) } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt index 4c9a268..e316c59 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/betStatus/vo/BetStatusBottomSheetBetDisplayer.kt @@ -3,6 +3,8 @@ package fr.iut.alldev.allin.ui.betStatus.vo import android.content.res.Configuration import androidx.compose.foundation.background import androidx.compose.foundation.layout.* +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.EmojiEvents import androidx.compose.material.icons.filled.People @@ -13,48 +15,67 @@ import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.core.os.ConfigurationCompat import fr.iut.alldev.allin.R import fr.iut.alldev.allin.data.ext.formatToMediumDateNoYear import fr.iut.alldev.allin.data.ext.formatToTime -import fr.iut.alldev.allin.data.model.bet.Bet import fr.iut.alldev.allin.data.model.bet.BetStatus -import fr.iut.alldev.allin.data.model.bet.CustomBet import fr.iut.alldev.allin.data.model.bet.MatchBet -import fr.iut.alldev.allin.data.model.bet.YesNoBet +import fr.iut.alldev.allin.data.model.bet.NO_VALUE +import fr.iut.alldev.allin.data.model.bet.YES_VALUE +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail +import fr.iut.alldev.allin.ext.formatToSimple import fr.iut.alldev.allin.ext.getDateEndLabelId import fr.iut.alldev.allin.ext.getDateStartLabelId import fr.iut.alldev.allin.theme.AllInTheme import fr.iut.alldev.allin.ui.betStatus.components.BetStatusWinner +import fr.iut.alldev.allin.ui.betStatus.components.BinaryStatBar import fr.iut.alldev.allin.ui.betStatus.components.YesNoDetailsLine -import fr.iut.alldev.allin.ui.betStatus.components.YesNoStatBar +import fr.iut.alldev.allin.ui.core.AllInCoinCount import fr.iut.alldev.allin.ui.core.AllInDetailsDrawer +import fr.iut.alldev.allin.ui.core.ProfilePicture import fr.iut.alldev.allin.ui.core.RainbowButton import fr.iut.alldev.allin.ui.core.bet.BetDateTimeRow import fr.iut.alldev.allin.ui.core.bet.BetTitleHeader -import fr.iut.alldev.allin.ui.preview.BetWithStatusPreviewProvider +import fr.iut.alldev.allin.ui.preview.BetDetailPreviewProvider import fr.iut.alldev.allin.vo.bet.BetDisplayer +import java.util.Locale class BetStatusBottomSheetBetDisplayer( val openParticipateSheet: () -> Unit ) : BetDisplayer { val paddingValues = mutableStateOf(PaddingValues()) - @OptIn(ExperimentalMaterial3Api::class) @Composable - override fun DisplayYesNoBet(bet: YesNoBet) { + private fun DisplayBinaryBet( + betDetail: BetDetail, + response1: String, + response2: String, + response1Display: String = response1, + response2Display: String = response2 + ) { val safeBottomPadding = paddingValues.value.calculateBottomPadding() + val configuration = LocalConfiguration.current + val locale = remember { ConfigurationCompat.getLocales(configuration).get(0) ?: Locale.getDefault() } + + val response1Answer = remember { betDetail.getAnswerOfResponse(response1) } + val response2Answer = remember { betDetail.getAnswerOfResponse(response2) } Box(Modifier.padding(bottom = safeBottomPadding)) { Column { Column(Modifier.padding(horizontal = 20.dp)) { BetTitleHeader( - title = bet.phrase, - category = bet.theme, - creator = bet.creator, + title = betDetail.bet.phrase, + category = betDetail.bet.theme, + creator = betDetail.bet.creator, modifier = Modifier.fillMaxWidth() ) Spacer(modifier = Modifier.height(20.dp)) @@ -62,24 +83,24 @@ class BetStatusBottomSheetBetDisplayer( horizontalAlignment = Alignment.End ) { BetDateTimeRow( - label = stringResource(id = bet.betStatus.getDateStartLabelId()), - date = bet.endRegisterDate.formatToMediumDateNoYear(), - time = bet.endRegisterDate.formatToTime(), + label = stringResource(id = betDetail.bet.betStatus.getDateStartLabelId()), + date = betDetail.bet.endRegisterDate.formatToMediumDateNoYear(), + time = betDetail.bet.endRegisterDate.formatToTime(), modifier = Modifier.width(IntrinsicSize.Max) ) Spacer(modifier = Modifier.height(15.dp)) BetDateTimeRow( - label = stringResource(id = bet.betStatus.getDateEndLabelId()), - date = bet.endBetDate.formatToMediumDateNoYear(), - time = bet.endBetDate.formatToTime(), + label = stringResource(id = betDetail.bet.betStatus.getDateEndLabelId()), + date = betDetail.bet.endBetDate.formatToMediumDateNoYear(), + time = betDetail.bet.endBetDate.formatToTime(), modifier = Modifier.width(IntrinsicSize.Max) ) } Spacer(modifier = Modifier.height(20.dp)) } - if (bet.betStatus is BetStatus.Finished) { + if (betDetail.bet.betStatus is BetStatus.Finished) { BetStatusWinner( - answer = stringResource(id = R.string.Yes), + answer = response1Display, color = AllInTheme.colors.allInBlue, coinAmount = 442, username = "Imri", @@ -95,63 +116,150 @@ class BetStatusBottomSheetBetDisplayer( .padding(horizontal = 20.dp) ) { Spacer(modifier = Modifier.height(20.dp)) - YesNoStatBar(yesPercentage = .86f) + BinaryStatBar( + response1Percentage = remember { + val total = (response1Answer?.totalParticipants ?: 0) + (response2Answer?.totalParticipants ?: 0) + if (total == 0) .5f else (response1Answer?.totalParticipants ?: 0) / total.toFloat() + }, + response1 = response1Display, + response2 = response2Display + ) AllInDetailsDrawer { YesNoDetailsLine( icon = AllInTheme.icons.allCoins(), - yesText = "550", - noText = "330", + yesText = response1Answer?.totalStakes?.toString() ?: "0", + noText = response2Answer?.totalStakes?.toString() ?: "0" ) YesNoDetailsLine( icon = Icons.Filled.People, - yesText = "12", - noText = "5" + yesText = response1Answer?.totalParticipants?.toString() ?: "0", + noText = response2Answer?.totalParticipants?.toString() ?: "0" ) YesNoDetailsLine( icon = Icons.Filled.WorkspacePremium, - yesText = "45", - noText = "45" + yesText = response1Answer?.highestStake?.toString() ?: "0", + noText = response2Answer?.highestStake?.toString() ?: "0" ) YesNoDetailsLine( icon = Icons.Filled.EmojiEvents, - yesText = "x1.2", - noText = "x1.45" + yesText = "x${response1Answer?.odds?.formatToSimple(locale) ?: "1.00"}", + noText = "x${response2Answer?.odds?.formatToSimple(locale) ?: "1.00"}" ) } + + Text( + text = stringResource(id = R.string.bet_status_participants_list), + fontSize = 20.sp, + color = AllInTheme.themeColors.onMainSurface, + style = AllInTheme.typography.h1, + modifier = Modifier.padding(vertical = 36.dp) + ) + LazyColumn( + verticalArrangement = Arrangement.spacedBy(8.dp), + horizontalAlignment = Alignment.CenterHorizontally, + contentPadding = PaddingValues(horizontal = 13.dp, vertical = 8.dp), + modifier = Modifier.fillMaxHeight() + ) { + betDetail.userParticipation?.let { + item { + BetStatusParticipant( + username = it.username, + allCoinsAmount = it.stake + ) + HorizontalDivider( + color = AllInTheme.themeColors.border, + modifier = Modifier.padding(vertical = 8.dp, horizontal = 25.dp) + ) + } + } + items(betDetail.participations) { + if (it.username != betDetail.userParticipation?.username) { + BetStatusParticipant( + username = it.username, + allCoinsAmount = it.stake + ) + } + } + } } } - if (bet.betStatus !is BetStatus.Finished) { + if (betDetail.bet.betStatus !is BetStatus.Finished && betDetail.userParticipation == null) { RainbowButton( modifier = Modifier .align(Alignment.BottomCenter) .padding(horizontal = 7.dp), text = stringResource(id = R.string.Participate), - enabled = bet.betStatus == BetStatus.Waiting, + enabled = betDetail.bet.betStatus == BetStatus.Waiting, onClick = openParticipateSheet ) } } } + @OptIn(ExperimentalMaterial3Api::class) @Composable - override fun DisplayMatchBet(bet: MatchBet) { - Text("This is a MATCH BET") + override fun DisplayYesNoBet(betDetail: BetDetail) { + DisplayBinaryBet( + betDetail = betDetail, + response1 = YES_VALUE, + response2 = NO_VALUE, + response1Display = stringResource(id = R.string.Yes).uppercase(), + response2Display = stringResource(id = R.string.No).uppercase() + ) } @Composable - override fun DisplayCustomBet(bet: CustomBet) { + override fun DisplayMatchBet(betDetail: BetDetail) { + val bet = remember { betDetail.bet as MatchBet } + DisplayBinaryBet( + betDetail = betDetail, + response1 = bet.nameTeam1, + response2 = bet.nameTeam2 + ) + } + + @Composable + override fun DisplayCustomBet(betDetail: BetDetail) { Text("This is a CUSTOM BET") } } +@Composable +fun BetStatusParticipant( + username: String, + allCoinsAmount: Int +) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(7.dp), + verticalAlignment = Alignment.CenterVertically + ) { + ProfilePicture(modifier = Modifier.size(25.dp)) + Text( + text = username, + fontWeight = FontWeight.Bold, + style = AllInTheme.typography.h2, + color = AllInTheme.themeColors.onMainSurface, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + modifier = Modifier.weight(1f) + ) + AllInCoinCount( + amount = allCoinsAmount, + color = AllInTheme.colors.allInPurple + ) + } +} + @Preview @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun BetStatusBottomSheetPreview( - @PreviewParameter(BetWithStatusPreviewProvider::class) bet: Bet + @PreviewParameter(BetDetailPreviewProvider::class) bet: BetDetail ) { AllInTheme { - val coins = remember { mutableIntStateOf(100) } - BetStatusBottomSheetBetDisplayer {}.DisplayBet(bet) + BetStatusBottomSheetBetDisplayer { + + }.DisplayBet(bet) } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt index 7f57f2e..fdd9642 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainScreen.kt @@ -67,7 +67,7 @@ fun MainScreen( var loading by remember { mainViewModel.loading } val currentUser = remember { mainViewModel.currentUserState } - val (selectedBet, setSelectedBet) = remember { mainViewModel.selectedBet } + val selectedBet by remember { mainViewModel.selectedBet } val (wonBet, setWonBet) = remember { mainViewModel.wonBet } val (statusVisibility, sheetBackVisibility, setStatusVisibility) = rememberBetStatusVisibilities() val (participateSheetVisibility, setParticipateSheetVisibility) = remember { @@ -152,7 +152,7 @@ fun MainScreen( AllInDrawerNavHost( navController = navController, selectBet = { bet, participate -> - setSelectedBet(bet) + mainViewModel.openBetDetail(bet) setParticipateSheetVisibility(participate) setStatusVisibility(true) }, @@ -182,11 +182,11 @@ fun MainScreen( sheetVisibility = statusVisibility.value, sheetBackVisibility = sheetBackVisibility.value, onDismiss = { setStatusVisibility(false) }, - bet = selectedBet, + betDetail = selectedBet, paddingValues = betStatusDisplayer.paddingValues.value, displayBet = { betStatusDisplayer.DisplayBet(it) }, userCoinAmount = mainViewModel.currentUserState.userCoins, - onParticipate = { mainViewModel.participateToBet(it) }, + onParticipate = { stake, response -> mainViewModel.participateToBet(stake, response) }, participateSheetVisibility = participateSheetVisibility, setParticipateSheetVisibility = setParticipateSheetVisibility ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt index aac1fcf..a666bef 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/main/MainViewModel.kt @@ -8,16 +8,15 @@ import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import fr.iut.alldev.allin.data.model.User import fr.iut.alldev.allin.data.model.bet.Bet -import fr.iut.alldev.allin.data.model.bet.BetFinishedStatus -import fr.iut.alldev.allin.data.model.bet.BetStatus -import fr.iut.alldev.allin.data.model.bet.YesNoBet +import fr.iut.alldev.allin.data.model.bet.Participation +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail +import fr.iut.alldev.allin.data.repository.BetRepository import fr.iut.alldev.allin.di.AllInCurrentUser import fr.iut.alldev.allin.keystore.AllInKeystoreManager import fr.iut.alldev.allin.ui.core.snackbar.SnackbarType import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import java.time.ZonedDateTime import javax.inject.Inject class UserState(val user: User) { @@ -27,23 +26,26 @@ class UserState(val user: User) { @HiltViewModel class MainViewModel @Inject constructor( @AllInCurrentUser val currentUser: User, + private val betRepository: BetRepository, private val keystoreManager: AllInKeystoreManager ) : ViewModel() { var loading = mutableStateOf(false) val currentUserState = UserState(currentUser) - val selectedBet = mutableStateOf<Bet?>(null) + val selectedBet = mutableStateOf<BetDetail?>(null) val wonBet = mutableStateOf<Bet?>( - YesNoBet( - theme = "Theme", - phrase = "Phrase", - endRegisterDate = ZonedDateTime.now(), - endBetDate = ZonedDateTime.now(), - isPublic = true, - betStatus = BetStatus.Finished(BetFinishedStatus.WON), - creator = "creator" - ) + null + /* YesNoBet( + id = "1", + theme = "Theme", + phrase = "Phrase", + endRegisterDate = ZonedDateTime.now(), + endBetDate = ZonedDateTime.now(), + isPublic = true, + betStatus = BetStatus.Finished(BetFinishedStatus.WON), + creator = "creator" + )*/ ) val snackbarContent: MutableState<SnackbarContent?> by lazy { mutableStateOf(null) } @@ -51,6 +53,11 @@ class MainViewModel @Inject constructor( snackbarContent.value = content } + fun openBetDetail(bet: Bet) { + viewModelScope.launch { + selectedBet.value = betRepository.getBet(bet.id, keystoreManager.getToken() ?: "") + } + } fun deleteToken() { viewModelScope.launch { @@ -58,12 +65,20 @@ class MainViewModel @Inject constructor( } } - fun participateToBet(stake: Int) { + fun participateToBet(stake: Int, response: String) { viewModelScope.launch { withContext(Dispatchers.IO) { loading.value = true currentUserState.userCoins.intValue -= stake - Thread.sleep(1000) + selectedBet.value?.bet?.let { + val participation = Participation( + betId = it.id, + username = currentUser.username, + response = response, + stake = stake + ) + betRepository.participateToBet(participation, keystoreManager.getToken() ?: "") + } loading.value = false } } diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetDetailPreviewProvider.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetDetailPreviewProvider.kt new file mode 100644 index 0000000..154f04c --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetDetailPreviewProvider.kt @@ -0,0 +1,58 @@ +package fr.iut.alldev.allin.ui.preview + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import fr.iut.alldev.allin.data.model.bet.NO_VALUE +import fr.iut.alldev.allin.data.model.bet.Participation +import fr.iut.alldev.allin.data.model.bet.YES_VALUE +import fr.iut.alldev.allin.data.model.bet.vo.BetAnswerDetail +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail + +class BetDetailPreviewProvider : PreviewParameterProvider<BetDetail> { + override val values = BetWithStatusPreviewProvider().values.map { + BetDetail( + bet = it, + answers = listOf( + BetAnswerDetail( + response = YES_VALUE, + totalStakes = 300, + totalParticipants = 2, + highestStake = 200, + odds = 1.0f + ), + BetAnswerDetail( + response = NO_VALUE, + totalStakes = 150, + totalParticipants = 1, + highestStake = 150, + odds = 2.0f + ), + ), + participations = listOf( + Participation( + betId = it.id, + username = "User1", + response = YES_VALUE, + stake = 200 + ), + Participation( + betId = it.id, + username = "User2", + response = YES_VALUE, + stake = 100 + ), + Participation( + betId = it.id, + username = "MyUser", + response = NO_VALUE, + stake = 150 + ) + ), + userParticipation = Participation( + betId = it.id, + username = "MyUser", + response = NO_VALUE, + stake = 150 + ) + ) + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt index dabcded..3a97a59 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetPreviewProvider.kt @@ -12,6 +12,7 @@ import java.time.ZonedDateTime class BetPreviewProvider : PreviewParameterProvider<Bet> { override val values = sequenceOf( YesNoBet( + id = "1", theme = "Theme", phrase = "Phrase", endRegisterDate = ZonedDateTime.now(), @@ -21,6 +22,7 @@ class BetPreviewProvider : PreviewParameterProvider<Bet> { creator = "creator" ), MatchBet( + id = "2", theme = "Theme", phrase = "Phrase", endRegisterDate = ZonedDateTime.now(), @@ -32,6 +34,7 @@ class BetPreviewProvider : PreviewParameterProvider<Bet> { nameTeam2 = "Climate Change" ), CustomBet( + id = "3", theme = "Theme", phrase = "Phrase", endRegisterDate = ZonedDateTime.now(), diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt index fcc5adb..e5b3721 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/preview/BetWithStatusPreviewProvider.kt @@ -13,6 +13,7 @@ class BetWithStatusPreviewProvider : PreviewParameterProvider<Bet> { override val values = BetStatus.entries.flatMap { status -> sequenceOf( YesNoBet( + id = "1", theme = "Theme", phrase = "Phrase", endRegisterDate = ZonedDateTime.now(), @@ -22,6 +23,7 @@ class BetWithStatusPreviewProvider : PreviewParameterProvider<Bet> { creator = "creator" ), MatchBet( + id = "2", theme = "Theme", phrase = "Phrase", endRegisterDate = ZonedDateTime.now(), @@ -33,6 +35,7 @@ class BetWithStatusPreviewProvider : PreviewParameterProvider<Bet> { nameTeam2 = "Climate Change" ), CustomBet( + id = "3", theme = "Theme", phrase = "Phrase", endRegisterDate = ZonedDateTime.now(), diff --git a/src/app/src/main/java/fr/iut/alldev/allin/utils/Tuples.kt b/src/app/src/main/java/fr/iut/alldev/allin/utils/Tuples.kt deleted file mode 100644 index 922ca6e..0000000 --- a/src/app/src/main/java/fr/iut/alldev/allin/utils/Tuples.kt +++ /dev/null @@ -1,12 +0,0 @@ -package fr.iut.alldev.allin.utils - -import java.io.Serializable - -data class Quadruple<out A, out B, out C, out D>( - val first: A, - val second: B, - val third: C, - val fourth: D -) : Serializable { - override fun toString(): String = "($first, $second, $third, $fourth)" -} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt index be89c05..40b2cb8 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/vo/bet/BetDisplayer.kt @@ -1,27 +1,27 @@ package fr.iut.alldev.allin.vo.bet import androidx.compose.runtime.Composable -import fr.iut.alldev.allin.data.model.bet.Bet import fr.iut.alldev.allin.data.model.bet.CustomBet import fr.iut.alldev.allin.data.model.bet.MatchBet import fr.iut.alldev.allin.data.model.bet.YesNoBet +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail interface BetDisplayer { @Composable - fun DisplayBet(bet: Bet){ - when(bet){ - is CustomBet -> DisplayCustomBet(bet) - is MatchBet -> DisplayMatchBet(bet) - is YesNoBet -> DisplayYesNoBet(bet) + fun DisplayBet(betDetail: BetDetail) { + when (betDetail.bet) { + is CustomBet -> DisplayCustomBet(betDetail) + is MatchBet -> DisplayMatchBet(betDetail) + is YesNoBet -> DisplayYesNoBet(betDetail) } } @Composable - fun DisplayYesNoBet(bet: YesNoBet) + fun DisplayYesNoBet(betDetail: BetDetail) @Composable - fun DisplayMatchBet(bet: MatchBet) + fun DisplayMatchBet(betDetail: BetDetail) @Composable - fun DisplayCustomBet(bet: CustomBet) + fun DisplayCustomBet(betDetail: BetDetail) } \ No newline at end of file diff --git a/src/app/src/main/res/values-fr/strings.xml b/src/app/src/main/res/values-fr/strings.xml index 0b953ca..0f1e299 100644 --- a/src/app/src/main/res/values-fr/strings.xml +++ b/src/app/src/main/res/values-fr/strings.xml @@ -118,6 +118,7 @@ <string name="bet_status_in_progress">En cours…</string> <string name="bet_status_waiting">En attente…</string> <string name="place_your_bets">Faites vos paris</string> + <string name="bet_status_participants_list">Liste des participants</string> <!--Bet history--> <string name="bet_history_current_title">En cours</string> diff --git a/src/app/src/main/res/values/strings.xml b/src/app/src/main/res/values/strings.xml index f1c5ad9..328e981 100644 --- a/src/app/src/main/res/values/strings.xml +++ b/src/app/src/main/res/values/strings.xml @@ -118,6 +118,7 @@ <string name="bet_status_in_progress">In progress…</string> <string name="bet_status_waiting">Waiting…</string> <string name="place_your_bets">Place your bets</string> + <string name="bet_status_participants_list">Participants</string> <!--Bet history--> <string name="bet_history_current_title">Current</string> diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/AllInApi.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/AllInApi.kt index 413113e..550c182 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/AllInApi.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/AllInApi.kt @@ -2,15 +2,22 @@ package fr.iut.alldev.allin.data.api import fr.iut.alldev.allin.data.api.model.CheckUser import fr.iut.alldev.allin.data.api.model.RequestBet +import fr.iut.alldev.allin.data.api.model.RequestParticipation import fr.iut.alldev.allin.data.api.model.RequestUser import fr.iut.alldev.allin.data.api.model.ResponseBet +import fr.iut.alldev.allin.data.api.model.ResponseBetDetail import fr.iut.alldev.allin.data.api.model.ResponseUser import retrofit2.http.Body import retrofit2.http.GET import retrofit2.http.Header import retrofit2.http.POST +import retrofit2.http.Path interface AllInApi { + companion object { + fun String.formatBearerToken() = "Bearer $this" + } + @POST("users/login") suspend fun login(@Body body: CheckUser): ResponseUser @@ -25,4 +32,10 @@ interface AllInApi { @GET("bets/gets") suspend fun getAllBets(): List<ResponseBet> + + @GET("betdetail/get/{id}") + suspend fun getBet(@Header("Authorization") token: String, @Path("id") id: String): ResponseBetDetail + + @POST("participations/add") + suspend fun participateToBet(@Header("Authorization") token: String, @Body body: RequestParticipation) } \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/MockAllInApi.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/MockAllInApi.kt index 4b61b9b..f2b7f72 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/MockAllInApi.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/MockAllInApi.kt @@ -3,8 +3,12 @@ package fr.iut.alldev.allin.data.api import fr.iut.alldev.allin.data.api.interceptors.AllInAPIException import fr.iut.alldev.allin.data.api.model.CheckUser import fr.iut.alldev.allin.data.api.model.RequestBet +import fr.iut.alldev.allin.data.api.model.RequestParticipation import fr.iut.alldev.allin.data.api.model.RequestUser import fr.iut.alldev.allin.data.api.model.ResponseBet +import fr.iut.alldev.allin.data.api.model.ResponseBetAnswerDetail +import fr.iut.alldev.allin.data.api.model.ResponseBetDetail +import fr.iut.alldev.allin.data.api.model.ResponseParticipation import fr.iut.alldev.allin.data.api.model.ResponseUser import fr.iut.alldev.allin.data.model.bet.NO_VALUE import fr.iut.alldev.allin.data.model.bet.YES_VALUE @@ -12,13 +16,30 @@ import java.time.ZonedDateTime import java.util.UUID class MockAllInApi : AllInApi { + + private fun getUserFromToken(token: String) = + mockUsers.find { it.first.token == token } + + private fun getAnswerDetails(bet: ResponseBet, participations: List<ResponseParticipation>): List<ResponseBetAnswerDetail> { + return bet.response.map { response -> + val responseParticipations = participations.filter { it.answer == response } + ResponseBetAnswerDetail( + response = response, + totalStakes = responseParticipations.sumOf { it.stake }, + totalParticipants = responseParticipations.size, + highestStake = responseParticipations.maxOfOrNull { it.stake } ?: 0, + odds = if (participations.isEmpty()) 0.0f else responseParticipations.size / participations.size.toFloat() + ) + } + } + override suspend fun login(body: CheckUser): ResponseUser { - return users.find { it.first.username == body.login && it.second == body.password }?.first + return mockUsers.find { it.first.username == body.login && it.second == body.password }?.first ?: throw AllInAPIException("Invalid login/password.") } override suspend fun login(token: String): ResponseUser { - return users.find { it.first.token == token }?.first + return getUserFromToken(token)?.first ?: throw AllInAPIException("Invalid token") } @@ -27,10 +48,10 @@ class MockAllInApi : AllInApi { id = UUID.randomUUID().toString(), username = body.username, email = body.email, - nbCoins = body.nbCoins, - token = "${body.username} ${users.size}" + nbCoins = 500, + token = "${body.username} ${mockUsers.size}" ) to body.password - users.add(response) + mockUsers.add(response) return response.first } @@ -50,16 +71,138 @@ class MockAllInApi : AllInApi { } override suspend fun getAllBets(): List<ResponseBet> = mockBets.toList() + override suspend fun getBet(token: String, id: String): ResponseBetDetail { + val bet = mockBets.find { it.id == id } ?: throw AllInAPIException("Bet not found") + val user = getUserFromToken(token) ?: throw AllInAPIException("Invalid login/password.") + val betParticipations = mockParticipations.filter { it.betId == bet.id } + val userParticipation = betParticipations.find { it.username == user.first.username } + + return ResponseBetDetail( + bet = bet, + answers = getAnswerDetails(bet, betParticipations), + participations = betParticipations, + userParticipation = userParticipation + ) + } + + override suspend fun participateToBet(token: String, body: RequestParticipation) { + getUserFromToken(token)?.let { + mockParticipations.add( + ResponseParticipation( + id = "", + betId = body.betId, + username = it.first.username, + answer = body.answer, + stake = body.stake + + ) + ) + } ?: throw AllInAPIException("Invalid token") + } } -private val users = mutableListOf( +private val mockUsers = mutableListOf( ResponseUser( id = "UUID 1", username = "User 1", email = "john@doe.fr", nbCoins = 250, token = "token 1" - ) to "psswrd" + ) to "12345", + ResponseUser( + id = "UUID 2", + username = "User 2", + email = "john@doe.fr", + nbCoins = 250, + token = "token 2" + ) to "12345", + ResponseUser( + id = "UUID 3", + username = "User 3", + email = "john@doe.fr", + nbCoins = 250, + token = "token 3" + ) to "12345", + ResponseUser( + id = "UUID 4", + username = "User 4", + email = "john@doe.fr", + nbCoins = 250, + token = "token 4" + ) to "12345", + ResponseUser( + id = "UUID 5", + username = "User 5", + email = "john@doe.fr", + nbCoins = 250, + token = "token 5" + ) to "12345", + ResponseUser( + id = "UUID 6", + username = "User 6", + email = "john@doe.fr", + nbCoins = 250, + token = "token 6" + ) to "12345", + ResponseUser( + id = "UUID 7", + username = "User 7", + email = "john@doe.fr", + nbCoins = 250, + token = "token 7" + ) to "12345" +) + +private val mockParticipations = mutableListOf( + ResponseParticipation( + id = "", + betId = "UUID1", + username = mockUsers[0].first.username, + answer = YES_VALUE, + stake = 200 + ), + ResponseParticipation( + id = "", + betId = "UUID1", + username = mockUsers[1].first.username, + answer = NO_VALUE, + stake = 1500 + ), + ResponseParticipation( + id = "", + betId = "UUID1", + username = mockUsers[2].first.username, + answer = YES_VALUE, + stake = 300 + ), + ResponseParticipation( + id = "", + betId = "UUID1", + username = mockUsers[3].first.username, + answer = YES_VALUE, + stake = 25 + ), + ResponseParticipation( + id = "", + betId = "UUID1", + username = mockUsers[4].first.username, + answer = NO_VALUE, + stake = 222 + ), + ResponseParticipation( + id = "", + betId = "UUID1", + username = mockUsers[5].first.username, + answer = NO_VALUE, + stake = 222 + ), + ResponseParticipation( + id = "", + betId = "UUID1", + username = mockUsers[6].first.username, + answer = NO_VALUE, + stake = 222 + ) ) private val mockBets = mutableListOf( diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/interceptors/ErrorInterceptor.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/interceptors/ErrorInterceptor.kt index 16abb5a..ebbd8a7 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/interceptors/ErrorInterceptor.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/interceptors/ErrorInterceptor.kt @@ -14,14 +14,15 @@ class ErrorInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val request = chain.request() val response = chain.proceed(request) - if(!response.isSuccessful){ + if (!response.isSuccessful) { when (response.code) { 404 -> throw AllInNotFoundException(response.message) 401 -> throw AllInUnauthorizedException(response.message) else -> throw AllInUnsuccessfulException(response.message) } } - if (response.body?.contentType()?.subtype != "json") { + + response.body?.contentType()?.subtype?.takeIf { it != "json" }?.let { throw AllInAPIException(response.message) } diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt index 4eca5f1..3610752 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiBet.kt @@ -7,7 +7,9 @@ import fr.iut.alldev.allin.data.model.bet.CustomBet import fr.iut.alldev.allin.data.model.bet.NO_VALUE import fr.iut.alldev.allin.data.model.bet.YES_VALUE import fr.iut.alldev.allin.data.model.bet.YesNoBet -import fr.iut.alldev.allin.data.serialization.SimpleDateSerializer +import fr.iut.alldev.allin.data.model.bet.vo.BetAnswerDetail +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail +import fr.iut.alldev.allin.data.serialization.ZonedDateTimeSerializer import kotlinx.serialization.Serializable import java.time.ZonedDateTime @@ -17,8 +19,8 @@ data class ResponseBet( val id: String?, val theme: String, val sentenceBet: String, - @Serializable(SimpleDateSerializer::class) val endRegistration: ZonedDateTime, - @Serializable(SimpleDateSerializer::class) var endBet: ZonedDateTime, + @Serializable(ZonedDateTimeSerializer::class) val endRegistration: ZonedDateTime, + @Serializable(ZonedDateTimeSerializer::class) var endBet: ZonedDateTime, var isPrivate: Boolean, var response: List<String>, val createdBy: String @@ -26,6 +28,7 @@ data class ResponseBet( fun toBet(): Bet { if (response.toSet() == setOf(YES_VALUE, NO_VALUE)) { return YesNoBet( + id = id ?: "", theme = theme, phrase = sentenceBet, endRegisterDate = endRegistration, @@ -36,6 +39,7 @@ data class ResponseBet( ) } else { return CustomBet( + id = id ?: "", theme = theme, phrase = sentenceBet, endRegisterDate = endRegistration, @@ -52,10 +56,48 @@ data class ResponseBet( @Keep @Serializable data class RequestBet( + val id: String = "", val theme: String, val sentenceBet: String, - @Serializable(SimpleDateSerializer::class) val endRegistration: ZonedDateTime, - @Serializable(SimpleDateSerializer::class) var endBet: ZonedDateTime, + @Serializable(ZonedDateTimeSerializer::class) val endRegistration: ZonedDateTime, + @Serializable(ZonedDateTimeSerializer::class) var endBet: ZonedDateTime, var isPrivate: Boolean, var response: List<String> ) + +@Keep +@Serializable +data class ResponseBetAnswerDetail( + val response: String, + val totalStakes: Int, + val totalParticipants: Int, + val highestStake: Int, + val odds: Float +) { + fun toAnswerDetail() = + BetAnswerDetail( + response = response, + totalStakes = totalStakes, + totalParticipants = totalParticipants, + highestStake = highestStake, + odds = odds + ) +} + +@Keep +@Serializable +data class ResponseBetDetail( + val bet: ResponseBet, + val answers: List<ResponseBetAnswerDetail>, + val participations: List<ResponseParticipation>, + val userParticipation: ResponseParticipation? = null +) { + fun toBetDetail() = + BetDetail( + bet = bet.toBet(), + answers = answers.map { it.toAnswerDetail() }, + participations = participations.map { it.toParticipation() }, + userParticipation = userParticipation?.toParticipation() + + ) +} \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiParticipation.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiParticipation.kt new file mode 100644 index 0000000..488ca34 --- /dev/null +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiParticipation.kt @@ -0,0 +1,31 @@ +package fr.iut.alldev.allin.data.api.model + +import androidx.annotation.Keep +import fr.iut.alldev.allin.data.model.bet.Participation +import kotlinx.serialization.Serializable + +@Keep +@Serializable +data class ResponseParticipation( + val id: String, + val betId: String, + val username: String, + val answer: String, + val stake: Int +) { + fun toParticipation() = + Participation( + betId = betId, + username = username, + response = answer, + stake = stake + ) +} + +@Keep +@Serializable +data class RequestParticipation( + val betId: String, + val answer: String, + val stake: Int +) \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiUser.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiUser.kt index 79d1681..f6e021c 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiUser.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/api/model/ApiUser.kt @@ -9,24 +9,23 @@ import kotlinx.serialization.Serializable data class RequestUser( val username: String, val email: String, - val password: String, - var nbCoins: Int, + val password: String ) @Keep @Serializable data class ResponseUser( - val id: String, + val id: String = "", val username: String, val email: String, var nbCoins: Int, - var token: String? = null, + var token: String? = null ) { fun toUser() = User( id = id, username = username, email = email, - coins = nbCoins + coins = nbCoins.toInt() ) } diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/di/ApiModule.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/di/ApiModule.kt index 50c387a..9072cd8 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/di/ApiModule.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/di/ApiModule.kt @@ -11,7 +11,7 @@ import okhttp3.HttpUrl import okhttp3.OkHttpClient import javax.inject.Singleton -const val mock = true +const val mock = false @Module @InstallIn(SingletonComponent::class) diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/di/NetworkModule.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/di/NetworkModule.kt index 0c26aae..981005a 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/di/NetworkModule.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/di/NetworkModule.kt @@ -17,7 +17,7 @@ import javax.inject.Qualifier internal val json by lazy { Json { ignoreUnknownKeys = true - encodeDefaults = false + encodeDefaults = true } } diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/User.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/User.kt index 5a4e882..21d650b 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/User.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/User.kt @@ -1,8 +1,8 @@ package fr.iut.alldev.allin.data.model data class User( - val id : String, - val username : String, - val email : String, - val coins : Int + val id: String, + val username: String, + val email: String, + val coins: Int ) \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt index cc1910a..1f9cc17 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Bet.kt @@ -4,7 +4,7 @@ import fr.iut.alldev.allin.data.api.model.RequestBet import java.time.ZonedDateTime sealed class Bet( - open val id: String? = null, + open val id: String, open val creator: String, open val theme: String, open val phrase: String, @@ -16,6 +16,7 @@ sealed class Bet( abstract fun getResponses(): List<String> fun toRequestBet(): RequestBet { return RequestBet( + id = "", theme = theme, sentenceBet = phrase, endRegistration = endRegisterDate, diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetFactory.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetFactory.kt index c194a30..8df4afb 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetFactory.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/BetFactory.kt @@ -5,6 +5,7 @@ import java.time.ZonedDateTime class BetFactory { companion object { fun createBet( + id: String, betType: BetType, creator: String, theme: String, @@ -20,6 +21,7 @@ class BetFactory { when (betType) { BetType.YES_NO -> { YesNoBet( + id = id, theme = theme, creator = creator, phrase = phrase, @@ -32,6 +34,7 @@ class BetFactory { BetType.MATCH -> { MatchBet( + id = id, theme = theme, creator = creator, phrase = phrase, @@ -47,6 +50,7 @@ class BetFactory { BetType.CUSTOM -> { CustomBet( + id = id, theme = theme, creator = creator, phrase = phrase, diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/CustomBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/CustomBet.kt index 8af1e5e..a252e51 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/CustomBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/CustomBet.kt @@ -3,7 +3,7 @@ package fr.iut.alldev.allin.data.model.bet import java.time.ZonedDateTime data class CustomBet( - override val id: String? = null, + override val id: String, override val creator: String, override val theme: String, override val phrase: String, diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/MatchBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/MatchBet.kt index 4e96674..03a829e 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/MatchBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/MatchBet.kt @@ -3,7 +3,7 @@ package fr.iut.alldev.allin.data.model.bet import java.time.ZonedDateTime data class MatchBet( - override val id: String? = null, + override val id: String, override val creator: String, override val theme: String, override val phrase: String, diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Participation.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Participation.kt new file mode 100644 index 0000000..e2f15b1 --- /dev/null +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/Participation.kt @@ -0,0 +1,17 @@ +package fr.iut.alldev.allin.data.model.bet + +import fr.iut.alldev.allin.data.api.model.RequestParticipation + +data class Participation( + val betId: String, + val username: String, + val response: String, + val stake: Int +) { + fun toRequestParticipation() = + RequestParticipation( + betId = betId, + answer = response, + stake = stake + ) +} \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/YesNoBet.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/YesNoBet.kt index 2c57d4e..5e28f06 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/YesNoBet.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/YesNoBet.kt @@ -6,7 +6,7 @@ const val YES_VALUE = "Yes" const val NO_VALUE = "No" data class YesNoBet( - override val id: String? = null, + override val id: String, override val creator: String, override val theme: String, override val phrase: String, diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetAnswerDetail.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetAnswerDetail.kt new file mode 100644 index 0000000..382a4b3 --- /dev/null +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetAnswerDetail.kt @@ -0,0 +1,9 @@ +package fr.iut.alldev.allin.data.model.bet.vo + +data class BetAnswerDetail( + val response: String, + val totalStakes: Int, + val totalParticipants: Int, + val highestStake: Int, + val odds: Float +) \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetDetail.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetDetail.kt new file mode 100644 index 0000000..a77f6dd --- /dev/null +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetDetail.kt @@ -0,0 +1,14 @@ +package fr.iut.alldev.allin.data.model.bet.vo + +import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.Participation + +data class BetDetail( + val bet: Bet, + val answers: List<BetAnswerDetail>, + val participations: List<Participation>, + val userParticipation: Participation? +) { + fun getAnswerOfResponse(response: String) = + answers.find { it.response == response } +} \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetResult.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetResult.kt new file mode 100644 index 0000000..407bc4e --- /dev/null +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/model/bet/vo/BetResult.kt @@ -0,0 +1,10 @@ +package fr.iut.alldev.allin.data.model.bet.vo + +import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.Participation + +data class BetResult( + val bet: Bet, + val participations: List<Participation>, + val answerDetail: BetAnswerDetail +) \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/BetRepository.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/BetRepository.kt index bec1d9c..ed4bcd8 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/BetRepository.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/BetRepository.kt @@ -1,11 +1,15 @@ package fr.iut.alldev.allin.data.repository import fr.iut.alldev.allin.data.model.bet.Bet +import fr.iut.alldev.allin.data.model.bet.Participation +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail import kotlinx.coroutines.flow.Flow abstract class BetRepository { abstract suspend fun createBet(bet: Bet, token: String) abstract suspend fun getHistory(): Flow<List<Bet>> abstract suspend fun getCurrentBets(): Flow<List<Bet>> + abstract suspend fun getBet(id: String, token: String): BetDetail + abstract suspend fun participateToBet(participation: Participation, token: String) abstract suspend fun getAllBets(): Flow<List<Bet>> } \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/UserRepository.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/UserRepository.kt index 338b8aa..b9a22ac 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/UserRepository.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/UserRepository.kt @@ -4,16 +4,9 @@ import fr.iut.alldev.allin.data.model.User abstract class UserRepository { lateinit var currentUser: User - abstract suspend fun login( - username: String, - password: String - ): String? + abstract suspend fun login(username: String, password: String): String? abstract suspend fun login(token: String): String? - abstract suspend fun register( - username: String, - email: String, - password: String - ): String? + abstract suspend fun register(username: String, email: String, password: String): String? } \ No newline at end of file diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/BetRepositoryImpl.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/BetRepositoryImpl.kt index 1c21c87..7748092 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/BetRepositoryImpl.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/BetRepositoryImpl.kt @@ -1,10 +1,13 @@ package fr.iut.alldev.allin.data.repository.impl import fr.iut.alldev.allin.data.api.AllInApi +import fr.iut.alldev.allin.data.api.AllInApi.Companion.formatBearerToken import fr.iut.alldev.allin.data.model.bet.Bet import fr.iut.alldev.allin.data.model.bet.BetFinishedStatus import fr.iut.alldev.allin.data.model.bet.BetStatus +import fr.iut.alldev.allin.data.model.bet.Participation import fr.iut.alldev.allin.data.model.bet.YesNoBet +import fr.iut.alldev.allin.data.model.bet.vo.BetDetail import fr.iut.alldev.allin.data.repository.BetRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flowOf @@ -16,7 +19,7 @@ class BetRepositoryImpl @Inject constructor( ) : BetRepository() { override suspend fun createBet(bet: Bet, token: String) { api.createBet( - token = token, + token = token.formatBearerToken(), body = bet.toRequestBet() ) } @@ -25,6 +28,7 @@ class BetRepositoryImpl @Inject constructor( return flowOf( listOf( YesNoBet( + id = "1", creator = "Lucas", theme = "Theme", phrase = "Bet phrase 1", @@ -34,6 +38,7 @@ class BetRepositoryImpl @Inject constructor( betStatus = BetStatus.Finished(BetFinishedStatus.WON) ), YesNoBet( + id = "2", creator = "Lucas", theme = "Theme", phrase = "Bet phrase 2", @@ -43,6 +48,7 @@ class BetRepositoryImpl @Inject constructor( betStatus = BetStatus.Finished(BetFinishedStatus.LOST) ), YesNoBet( + id = "3", creator = "Lucas", theme = "Theme", phrase = "Bet phrase 3", @@ -60,6 +66,7 @@ class BetRepositoryImpl @Inject constructor( return flowOf( listOf( YesNoBet( + id = "1", creator = "Lucas", theme = "Theme", phrase = "Bet phrase 1", @@ -69,6 +76,7 @@ class BetRepositoryImpl @Inject constructor( betStatus = BetStatus.InProgress ), YesNoBet( + id = "2", creator = "Lucas", theme = "Theme", phrase = "Bet phrase 2", @@ -78,6 +86,7 @@ class BetRepositoryImpl @Inject constructor( betStatus = BetStatus.InProgress ), YesNoBet( + id = "3", creator = "Lucas", theme = "Theme", phrase = "Bet phrase 3", @@ -90,6 +99,17 @@ class BetRepositoryImpl @Inject constructor( ) } + override suspend fun getBet(id: String, token: String): BetDetail { + return api.getBet( + token = token.formatBearerToken(), + id = id + ).toBetDetail() + } + + override suspend fun participateToBet(participation: Participation, token: String) { + api.participateToBet(token = token.formatBearerToken(), body = participation.toRequestParticipation()) + } + override suspend fun getAllBets(): Flow<List<Bet>> { return flowOf( api.getAllBets().map { it.toBet() } diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/UserRepositoryImpl.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/UserRepositoryImpl.kt index 54f3889..6c23cd8 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/UserRepositoryImpl.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/repository/impl/UserRepositoryImpl.kt @@ -1,6 +1,7 @@ package fr.iut.alldev.allin.data.repository.impl import fr.iut.alldev.allin.data.api.AllInApi +import fr.iut.alldev.allin.data.api.AllInApi.Companion.formatBearerToken import fr.iut.alldev.allin.data.api.model.CheckUser import fr.iut.alldev.allin.data.api.model.RequestUser import fr.iut.alldev.allin.data.repository.UserRepository @@ -22,7 +23,7 @@ class UserRepositoryImpl @Inject constructor( } override suspend fun login(token: String): String? { - val response = api.login(token = "Bearer $token") + val response = api.login(token = token.formatBearerToken()) currentUser = response.toUser() return response.token } @@ -33,8 +34,7 @@ class UserRepositoryImpl @Inject constructor( RequestUser( username = username, email = email, - password = password, - nbCoins = 0 + password = password ) ) currentUser = response.toUser() diff --git a/src/data/src/main/java/fr/iut/alldev/allin/data/serialization/ZonedDateTimeSerializer.kt b/src/data/src/main/java/fr/iut/alldev/allin/data/serialization/ZonedDateTimeSerializer.kt index 5810189..ae4742b 100644 --- a/src/data/src/main/java/fr/iut/alldev/allin/data/serialization/ZonedDateTimeSerializer.kt +++ b/src/data/src/main/java/fr/iut/alldev/allin/data/serialization/ZonedDateTimeSerializer.kt @@ -6,39 +6,22 @@ import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder -import java.time.Instant -import java.time.LocalDate -import java.time.ZoneId import java.time.ZonedDateTime import java.time.format.DateTimeFormatter object ZonedDateTimeSerializer : KSerializer<ZonedDateTime> { + private val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss Z") + override val descriptor: SerialDescriptor = - PrimitiveSerialDescriptor("ZonedDateTime", PrimitiveKind.LONG) + PrimitiveSerialDescriptor("ZonedDateTime", PrimitiveKind.STRING) override fun serialize(encoder: Encoder, value: ZonedDateTime) { - encoder.encodeLong(value.toEpochSecond()) + encoder.encodeString(formatter.format(value)) } override fun deserialize(decoder: Decoder): ZonedDateTime { - val epoch = decoder.decodeLong() - return ZonedDateTime.ofInstant(Instant.ofEpochSecond(epoch), ZoneId.systemDefault()) + val dateString = decoder.decodeString() + return ZonedDateTime.parse(dateString, formatter) } } -class SimpleDateSerializer : KSerializer<ZonedDateTime> { - override val descriptor: SerialDescriptor = - PrimitiveSerialDescriptor("Date", PrimitiveKind.STRING) - - private val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") - - override fun deserialize(decoder: Decoder): ZonedDateTime { - val date = LocalDate.parse(decoder.decodeString(), formatter) - return date.atStartOfDay(ZoneId.systemDefault()) - } - - override fun serialize(encoder: Encoder, value: ZonedDateTime) { - val dateString = formatter.format(value) - encoder.encodeString(dateString) - } -} -- 2.36.3