├── .editorconfig
├── .gitattributes
├── .github
├── pull_request_template.md
└── workflows
│ ├── build-and-deploy-documentations.yml
│ └── phrase-translations-pr.yml
├── .gitignore
├── .gitmodules
├── .idea
└── codeStyles
│ ├── Project.xml
│ └── codeStyleConfig.xml
├── .maestro
├── .gitignore
├── Makefile
├── README.md
├── ci.sh
├── flows
│ ├── 1_play-shorts.yml
│ ├── 2_play-episode.yml
│ ├── 3_deep-links-public.yml
│ ├── 4_deep-links-bcc.yml
│ ├── 5_notifications.yml
│ ├── 6_notifications-stopped.yml
│ ├── scripts
│ │ ├── .env.js.template
│ │ └── init.js
│ └── subflows
│ │ ├── home.yml
│ │ ├── home
│ │ └── home_ios.yml
│ │ ├── init.yml
│ │ ├── login.yml
│ │ ├── login
│ │ ├── login_android.yml
│ │ └── login_ios.yml
│ │ ├── notification.yml
│ │ ├── notification
│ │ └── notification_ios.yml
│ │ └── playback
│ │ └── ios_language.yml
└── notifications
│ ├── ios
│ ├── deep_link_donation.apns
│ ├── deep_link_episode.apns
│ └── deep_link_shorts.apns
│ └── push_ios.sh
├── .metadata
├── .vscode
├── launch.json
└── settings.json
├── CHANGELOG.md
├── LICENSE
├── Makefile
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ │ ├── androidTest
│ │ └── java
│ │ │ └── tv
│ │ │ └── brunstad
│ │ │ └── app
│ │ │ └── MainActivityTest.java
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── dev
│ │ ├── AndroidManifest.xml
│ │ ├── google-services.json
│ │ └── res
│ │ │ └── values
│ │ │ └── string.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── tv
│ │ │ │ └── brunstad
│ │ │ │ └── app
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── anim
│ │ │ └── dev.xml
│ │ │ ├── drawable
│ │ │ ├── icon_fullscreen.png
│ │ │ ├── icon_fullscreen_off.png
│ │ │ ├── icon_pause.png
│ │ │ └── icon_settings.png
│ │ │ ├── values-night
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ ├── string.xml
│ │ │ └── styles.xml
│ │ ├── prod
│ │ ├── AndroidManifest.xml
│ │ ├── google-services.json
│ │ └── res
│ │ │ ├── drawable-hdpi
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ │ ├── drawable-mdpi
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ │ ├── drawable-v24
│ │ │ └── ic_background.xml
│ │ │ ├── drawable-xhdpi
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ │ ├── drawable-xxhdpi
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_banner_adaptive_not_used.xml
│ │ │ └── ic_launcher.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_banner.png
│ │ │ ├── ic_banner_background.png
│ │ │ ├── ic_banner_foreground.png
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_banner.png
│ │ │ ├── ic_banner_background.png
│ │ │ ├── ic_banner_foreground.png
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_banner.png
│ │ │ ├── ic_banner_background.png
│ │ │ ├── ic_banner_foreground.png
│ │ │ └── ic_launcher.png
│ │ │ └── values
│ │ │ ├── string.xml
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── app.code-workspace
├── assets
├── flavors
│ └── prod
│ │ ├── 1.5x
│ │ └── logo.png
│ │ ├── 2.0x
│ │ └── logo.png
│ │ ├── 3.0x
│ │ └── logo.png
│ │ ├── 4.0x
│ │ └── logo.png
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_bg.png
│ │ ├── logo.png
│ │ ├── logo_bg.png
│ │ ├── logo_icon.png
│ │ └── onboarding.png
├── fonts
│ └── Barlow
│ │ ├── Barlow-Black.ttf
│ │ ├── Barlow-BlackItalic.ttf
│ │ ├── Barlow-Bold.ttf
│ │ ├── Barlow-BoldItalic.ttf
│ │ ├── Barlow-ExtraBold.ttf
│ │ ├── Barlow-ExtraBoldItalic.ttf
│ │ ├── Barlow-ExtraLight.ttf
│ │ ├── Barlow-ExtraLightItalic.ttf
│ │ ├── Barlow-Italic.ttf
│ │ ├── Barlow-Light.ttf
│ │ ├── Barlow-LightItalic.ttf
│ │ ├── Barlow-Medium.ttf
│ │ ├── Barlow-MediumItalic.ttf
│ │ ├── Barlow-Regular.ttf
│ │ ├── Barlow-SemiBold.ttf
│ │ ├── Barlow-SemiBoldItalic.ttf
│ │ ├── Barlow-Thin.ttf
│ │ ├── Barlow-ThinItalic.ttf
│ │ └── OFL.txt
├── icons
│ ├── 1.5x
│ │ ├── Calendar_Default.png
│ │ ├── Calendar_Selected.png
│ │ ├── Cancel_Default.png
│ │ ├── Close.png
│ │ ├── CollectionEvents.png
│ │ ├── CollectionFilms.png
│ │ ├── CollectionKids.png
│ │ ├── CollectionMusic.png
│ │ ├── CollectionSeries.png
│ │ ├── CollectionWorthWatching.png
│ │ ├── ExploreCategorySort.png
│ │ ├── Feed_Default.png
│ │ ├── Feed_Selected.png
│ │ ├── Games_Default.png
│ │ ├── Games_Selected.png
│ │ ├── Home_Default.png
│ │ ├── Home_Selected.png
│ │ ├── Left.png
│ │ ├── Live_Default.png
│ │ ├── Live_Selected.png
│ │ ├── Pause.png
│ │ ├── Play.png
│ │ ├── Playlists_Default.png
│ │ ├── Playlists_Selected.png
│ │ ├── Poll_Default.png
│ │ ├── Poll_Selected.png
│ │ ├── Profile.png
│ │ ├── Profile_Default.png
│ │ ├── Profile_Selected.png
│ │ ├── Search_Default.png
│ │ ├── Search_Selected.png
│ │ ├── Seen.png
│ │ ├── Shorts_Default.png
│ │ ├── Shorts_Selected.png
│ │ ├── Testimony_Default.png
│ │ ├── Testimony_Selected.png
│ │ ├── Theme_Default.png
│ │ ├── Theme_selected.png
│ │ └── Wait.png
│ ├── 2x
│ │ ├── Calendar_Default.png
│ │ ├── Calendar_Selected.png
│ │ ├── Cancel_Default.png
│ │ ├── Close.png
│ │ ├── CollectionEvents.png
│ │ ├── CollectionFilms.png
│ │ ├── CollectionKids.png
│ │ ├── CollectionMusic.png
│ │ ├── CollectionSeries.png
│ │ ├── CollectionWorthWatching.png
│ │ ├── ExploreCategorySort.png
│ │ ├── Feed_Default.png
│ │ ├── Feed_Selected.png
│ │ ├── Games_Default.png
│ │ ├── Games_Selected.png
│ │ ├── Home_Default.png
│ │ ├── Home_Selected.png
│ │ ├── Left.png
│ │ ├── Live_Default.png
│ │ ├── Live_Selected.png
│ │ ├── Pause.png
│ │ ├── Play.png
│ │ ├── Playlists_Default.png
│ │ ├── Playlists_Selected.png
│ │ ├── Poll_Default.png
│ │ ├── Poll_Selected.png
│ │ ├── Profile.png
│ │ ├── Profile_Default.png
│ │ ├── Profile_Selected.png
│ │ ├── Search_Default.png
│ │ ├── Search_Selected.png
│ │ ├── Seen.png
│ │ ├── Shorts_Default.png
│ │ ├── Shorts_Selected.png
│ │ ├── Testimony_Default.png
│ │ ├── Testimony_Selected.png
│ │ ├── Theme_Default.png
│ │ ├── Theme_selected.png
│ │ └── Wait.png
│ ├── 3x
│ │ ├── Calendar_Default.png
│ │ ├── Calendar_Selected.png
│ │ ├── Cancel_Default.png
│ │ ├── Close.png
│ │ ├── CollectionEvents.png
│ │ ├── CollectionFilms.png
│ │ ├── CollectionKids.png
│ │ ├── CollectionMusic.png
│ │ ├── CollectionSeries.png
│ │ ├── CollectionWorthWatching.png
│ │ ├── ExploreCategorySort.png
│ │ ├── Feed_Default.png
│ │ ├── Feed_Selected.png
│ │ ├── Games_Default.png
│ │ ├── Games_Selected.png
│ │ ├── Home_Default.png
│ │ ├── Home_Selected.png
│ │ ├── Left.png
│ │ ├── Live_Default.png
│ │ ├── Live_Selected.png
│ │ ├── Pause.png
│ │ ├── Play.png
│ │ ├── Playlists_Default.png
│ │ ├── Playlists_Selected.png
│ │ ├── Poll_Default.png
│ │ ├── Poll_Selected.png
│ │ ├── Profile.png
│ │ ├── Profile_Default.png
│ │ ├── Profile_Selected.png
│ │ ├── Search_Default.png
│ │ ├── Search_Selected.png
│ │ ├── Seen.png
│ │ ├── Shorts_Default.png
│ │ ├── Shorts_Selected.png
│ │ ├── Testimony_Default.png
│ │ ├── Testimony_Selected.png
│ │ ├── Theme_Default.png
│ │ ├── Theme_selected.png
│ │ └── Wait.png
│ ├── 4x
│ │ ├── Calendar_Default.png
│ │ ├── Calendar_Selected.png
│ │ ├── Cancel_Default.png
│ │ ├── Close.png
│ │ ├── CollectionEvents.png
│ │ ├── CollectionFilms.png
│ │ ├── CollectionKids.png
│ │ ├── CollectionMusic.png
│ │ ├── CollectionSeries.png
│ │ ├── CollectionWorthWatching.png
│ │ ├── ExploreCategorySort.png
│ │ ├── Feed_Default.png
│ │ ├── Feed_Selected.png
│ │ ├── Games_Default.png
│ │ ├── Games_Selected.png
│ │ ├── Home_Default.png
│ │ ├── Home_Selected.png
│ │ ├── Left.png
│ │ ├── Live_Default.png
│ │ ├── Live_Selected.png
│ │ ├── Pause.png
│ │ ├── Play.png
│ │ ├── Playlists_Default.png
│ │ ├── Playlists_Selected.png
│ │ ├── Poll_Default.png
│ │ ├── Poll_Selected.png
│ │ ├── Profile.png
│ │ ├── Profile_Default.png
│ │ ├── Profile_Selected.png
│ │ ├── Search_Default.png
│ │ ├── Search_Selected.png
│ │ ├── Seen.png
│ │ ├── Shorts_Default.png
│ │ ├── Shorts_Selected.png
│ │ ├── Testimony_Default.png
│ │ ├── Testimony_Selected.png
│ │ ├── Theme_Default.png
│ │ ├── Theme_selected.png
│ │ └── Wait.png
│ ├── Audio_Default.png
│ ├── Calendar_Default.png
│ ├── Calendar_Selected.png
│ ├── Cancel_Default.png
│ ├── Close.png
│ ├── CollectionEvents.png
│ ├── CollectionFilms.png
│ ├── CollectionKids.png
│ ├── CollectionMusic.png
│ ├── CollectionSeries.png
│ ├── CollectionWorthWatching.png
│ ├── ExploreCategorySort.png
│ ├── Feed_Default.png
│ ├── Feed_Selected.png
│ ├── Games_Default.png
│ ├── Games_Selected.png
│ ├── Home_Default.png
│ ├── Home_Selected.png
│ ├── Left.png
│ ├── Live_Default.png
│ ├── Live_Selected.png
│ ├── My_List_Default.png
│ ├── My_List_Selected.png
│ ├── Pause.png
│ ├── Play.png
│ ├── Playlists_Default.png
│ ├── Playlists_Selected.png
│ ├── Poll_Default.png
│ ├── Poll_Selected.png
│ ├── Profile.png
│ ├── Profile_Default.png
│ ├── Profile_Selected.png
│ ├── Search_Default.png
│ ├── Search_Selected.png
│ ├── Seen.png
│ ├── Shorts_Default.png
│ ├── Shorts_Selected.png
│ ├── Testimony_Default.png
│ ├── Testimony_Selected.png
│ ├── Theme_Default.png
│ ├── Theme_selected.png
│ ├── Wait.png
│ ├── app_icon.png
│ ├── avatar.svg
│ ├── headphones.svg
│ └── play_alt.svg
└── images
│ ├── background.svg
│ ├── chromecast_bg.png
│ ├── chromecast_bg.svg
│ └── line.svg
├── bccm-frontends.code-workspace
├── devtools_options.yaml
├── docs
├── firebase_integration.md
├── flavors.md
└── flutter_learnings.md
├── firebase
├── dev
│ ├── GoogleService-Info.plist
│ └── firebase_app_id_file.json
├── ios_copy_script.sh
└── prod
│ ├── GoogleService-Info.plist
│ └── firebase_app_id_file.json
├── flutter_launcher_icons-prod.yaml
├── flutter_native_splash-prod.yaml
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Podfile
├── Podfile.lock
├── PrivacyInfo.xcprivacy
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ ├── prod-release.xcscheme
│ │ └── prod.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
├── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon-prod.appiconset
│ │ │ ├── AppIcon-prod-1024x1024@1x.png
│ │ │ ├── AppIcon-prod-20x20@1x.png
│ │ │ ├── AppIcon-prod-20x20@2x.png
│ │ │ ├── AppIcon-prod-20x20@3x.png
│ │ │ ├── AppIcon-prod-29x29@1x.png
│ │ │ ├── AppIcon-prod-29x29@2x.png
│ │ │ ├── AppIcon-prod-29x29@3x.png
│ │ │ ├── AppIcon-prod-40x40@1x.png
│ │ │ ├── AppIcon-prod-40x40@2x.png
│ │ │ ├── AppIcon-prod-40x40@3x.png
│ │ │ ├── AppIcon-prod-50x50@1x.png
│ │ │ ├── AppIcon-prod-50x50@2x.png
│ │ │ ├── AppIcon-prod-57x57@1x.png
│ │ │ ├── AppIcon-prod-57x57@2x.png
│ │ │ ├── AppIcon-prod-60x60@2x.png
│ │ │ ├── AppIcon-prod-60x60@3x.png
│ │ │ ├── AppIcon-prod-72x72@1x.png
│ │ │ ├── AppIcon-prod-72x72@2x.png
│ │ │ ├── AppIcon-prod-76x76@1x.png
│ │ │ ├── AppIcon-prod-76x76@2x.png
│ │ │ ├── AppIcon-prod-83.5x83.5@2x.png
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 128.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 16.png
│ │ │ ├── 167.png
│ │ │ ├── 172.png
│ │ │ ├── 180.png
│ │ │ ├── 196.png
│ │ │ ├── 20.png
│ │ │ ├── 216.png
│ │ │ ├── 256.png
│ │ │ ├── 29.png
│ │ │ ├── 32.png
│ │ │ ├── 40.png
│ │ │ ├── 48.png
│ │ │ ├── 50.png
│ │ │ ├── 512.png
│ │ │ ├── 55.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 64.png
│ │ │ ├── 66.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ ├── 88.png
│ │ │ ├── 92.png
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── LaunchBackgroundProd.imageset
│ │ │ ├── Contents.json
│ │ │ └── background.png
│ │ ├── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ └── README.md
│ │ └── LaunchImageProd.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ └── LaunchImage@3x.png
│ ├── Base.lproj
│ │ ├── LaunchScreenProd.storyboard
│ │ └── Main.storyboard
│ ├── Entitlements
│ │ ├── Entitlements-bccm.entitlements
│ │ └── Entitlements-kids.entitlements
│ ├── Info-Debug-dev.plist
│ ├── Info-Debug-prod.plist
│ ├── Info-Profile-dev.plist
│ ├── Info-Profile-prod.plist
│ ├── Info-Release-dev.plist
│ ├── Info-Release-prod.plist
│ ├── Runner-Bridging-Header.h
│ └── logo.png
└── RunnerUITests
│ └── RunnerUITests.m
├── kids
├── .gitignore
├── .graphqlrc.yml
├── .metadata
├── README.md
├── analysis_options.yaml
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── kotlin
│ │ │ │ └── media
│ │ │ │ │ └── bcc
│ │ │ │ │ └── kids_app
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ │ ├── drawable-v21
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── values-night
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── build
│ │ └── reports
│ │ │ └── problems
│ │ │ └── problems-report.html
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── assets
│ ├── flavors
│ │ └── prod
│ │ │ ├── logo.png
│ │ │ ├── logo_anim.mp4
│ │ │ ├── logo_icon.png
│ │ │ ├── logo_icon_square.png
│ │ │ ├── logo_neg.png
│ │ │ └── onboarding.png
│ ├── fonts
│ │ ├── ClashDisplay
│ │ │ ├── ClashDisplay-Bold.otf
│ │ │ ├── ClashDisplay-Extralight.otf
│ │ │ ├── ClashDisplay-Light.otf
│ │ │ ├── ClashDisplay-Medium.otf
│ │ │ ├── ClashDisplay-Regular.otf
│ │ │ └── ClashDisplay-Semibold.otf
│ │ └── NotoSans
│ │ │ ├── NotoSans-Black.ttf
│ │ │ ├── NotoSans-BlackItalic.ttf
│ │ │ ├── NotoSans-Bold.ttf
│ │ │ ├── NotoSans-BoldItalic.ttf
│ │ │ ├── NotoSans-ExtraBold.ttf
│ │ │ ├── NotoSans-ExtraBoldItalic.ttf
│ │ │ ├── NotoSans-ExtraLight.ttf
│ │ │ ├── NotoSans-ExtraLightItalic.ttf
│ │ │ ├── NotoSans-Italic.ttf
│ │ │ ├── NotoSans-Light.ttf
│ │ │ ├── NotoSans-LightItalic.ttf
│ │ │ ├── NotoSans-Medium.ttf
│ │ │ ├── NotoSans-MediumItalic.ttf
│ │ │ ├── NotoSans-Regular.ttf
│ │ │ ├── NotoSans-SemiBold.ttf
│ │ │ ├── NotoSans-SemiBoldItalic.ttf
│ │ │ ├── NotoSans-Thin.ttf
│ │ │ ├── NotoSans-ThinItalic.ttf
│ │ │ └── OFL.txt
│ └── sounds
│ │ ├── button-1_push.wav
│ │ └── button-1_release.wav
├── build.yaml
├── devtools_options.yaml
├── firebase
│ └── default
│ │ ├── GoogleService-Info.plist
│ │ └── firebase_app_id_file.json
├── flutter_launcher_icons.yaml
├── flutter_native_splash.yaml
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Podfile
│ ├── Podfile.lock
│ ├── PrivacyInfo.xcprivacy
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ ├── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ ├── Icon-App-50x50@1x.png
│ │ │ │ ├── Icon-App-50x50@2x.png
│ │ │ │ ├── Icon-App-57x57@1x.png
│ │ │ │ ├── Icon-App-57x57@2x.png
│ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ ├── Icon-App-72x72@1x.png
│ │ │ │ ├── Icon-App-72x72@2x.png
│ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ ├── LaunchBackground.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── background.png
│ │ │ └── LaunchImage.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchImage.png
│ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ └── README.md
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── GoogleService-Info.plist
│ │ ├── Info.plist
│ │ ├── Runner-Bridging-Header.h
│ │ ├── Runner.entitlements
│ │ └── firebase_app_id_file.json
│ └── RunnerTests
│ │ └── RunnerTests.swift
├── lib
│ ├── app_root.dart
│ ├── app_root_inner.dart
│ ├── components
│ │ ├── buttons
│ │ │ ├── appbar_close_button.dart
│ │ │ ├── button.dart
│ │ │ ├── button_base.dart
│ │ │ ├── notification_promt_dismiss_button.dart
│ │ │ ├── stack_close_button.dart
│ │ │ └── tab_switcher.dart
│ │ ├── countdown_circle.dart
│ │ ├── dialog
│ │ │ └── dialog.dart
│ │ ├── grid
│ │ │ └── episode_grid.dart
│ │ ├── notification_prompt.dart
│ │ ├── page
│ │ │ ├── section_renderer.dart
│ │ │ └── sections
│ │ │ │ └── poster_section.dart
│ │ ├── player
│ │ │ ├── controls.dart
│ │ │ ├── player_error.dart
│ │ │ └── player_view.dart
│ │ ├── search
│ │ │ ├── search_bar.dart
│ │ │ └── search_results.dart
│ │ ├── settings
│ │ │ ├── language_list_dialog.dart
│ │ │ ├── option_list.dart
│ │ │ ├── option_list_dialog.dart
│ │ │ ├── setting_list.dart
│ │ │ └── toggle_switch.dart
│ │ ├── splash_video.dart
│ │ └── thumbnails
│ │ │ └── posters
│ │ │ ├── playlist_poster_large.dart
│ │ │ └── poster_large.dart
│ ├── design_system.dart
│ ├── firebase_options.dart
│ ├── helpers
│ │ ├── analytics_meta.dart
│ │ ├── animation.dart
│ │ ├── router_utils.dart
│ │ ├── svg_icons.dart
│ │ └── transitions.dart
│ ├── main.dart
│ ├── providers
│ │ ├── sound_effects.dart
│ │ ├── special_routes.dart
│ │ └── unleash.dart
│ ├── router
│ │ ├── router.dart
│ │ └── router.gr.dart
│ └── screens
│ │ ├── episode.dart
│ │ ├── home.dart
│ │ ├── init.dart
│ │ ├── playlist.dart
│ │ ├── search.dart
│ │ ├── settings
│ │ ├── about.dart
│ │ ├── app_language.dart
│ │ ├── contact.dart
│ │ ├── content_language.dart
│ │ ├── device_info.dart
│ │ ├── extra_usergroups.dart
│ │ ├── faq.dart
│ │ ├── privacy_policy.dart
│ │ ├── settings.dart
│ │ └── terms_of_use.dart
│ │ └── show.dart
├── pubspec.lock
└── pubspec.yaml
├── l10n.yaml
├── lib
├── api
│ ├── bmm.dart
│ └── brunstadtv.dart
├── app_bar_with_scroll_to_top.dart
├── app_root.dart
├── app_root_inner.dart
├── background_tasks.dart
├── components
│ ├── achievements
│ │ ├── achievement_dialog.dart
│ │ ├── achievement_list.dart
│ │ └── achievement_list_item.dart
│ ├── badges
│ │ ├── download_expires_badge.dart
│ │ ├── download_status_badge.dart
│ │ ├── feature_badge.dart
│ │ ├── icon_badge.dart
│ │ ├── offline_badge.dart
│ │ └── watched_badge.dart
│ ├── buttons
│ │ └── btv_buttons.dart
│ ├── contact
│ │ ├── contact_input_page.dart
│ │ ├── contact_public_input_page.dart
│ │ ├── contact_success.dart
│ │ └── device_info_table.dart
│ ├── contributions
│ │ └── contributions_list.dart
│ ├── episode
│ │ ├── episode_chapters.dart
│ │ ├── episode_collection.dart
│ │ ├── episode_details.dart
│ │ ├── episode_download_button.dart
│ │ ├── episode_download_sheet.dart
│ │ ├── episode_info.dart
│ │ ├── episode_related.dart
│ │ ├── episode_season.dart
│ │ ├── episode_share_sheet.dart
│ │ └── list
│ │ │ ├── episode_list_chapter.dart
│ │ │ ├── episode_list_episode.dart
│ │ │ ├── season_episode_list.dart
│ │ │ └── season_episode_list.freezed.dart
│ ├── guides
│ │ ├── favorite_guides.dart
│ │ └── tab_feature_guides.dart
│ ├── menus
│ │ ├── bottom_sheet_select.dart
│ │ ├── dropdown_select.dart
│ │ └── option_list.dart
│ ├── misc
│ │ ├── app_update_dialog.dart
│ │ ├── app_version.dart
│ │ ├── collapsable_markdown.dart
│ │ ├── custom_grid_view.dart
│ │ ├── dialog_with_image.dart
│ │ ├── generic_dialog.dart
│ │ ├── horizontal_slider.dart
│ │ ├── parental_gate.dart
│ │ ├── see_more.dart
│ │ ├── shiny_clipper.dart
│ │ └── two_action_generic_dialog.dart
│ ├── nav
│ │ ├── custom_back_button.dart
│ │ ├── custom_nav_tab_bar.dart
│ │ ├── general_app_bar.dart
│ │ └── web_app_bar.dart
│ ├── offline
│ │ ├── downloaded_videos.dart
│ │ └── offline_home.dart
│ ├── onboarding
│ │ ├── birth_year_picker.dart
│ │ ├── email_text_field.dart
│ │ ├── email_verification
│ │ │ ├── email_verification_prompt_page.dart
│ │ │ └── email_verification_success_page.dart
│ │ ├── login
│ │ │ └── login_initial_page.dart
│ │ ├── onboarding_buttons_auth_enabled.dart
│ │ ├── onboarding_page_wrapper.dart
│ │ ├── password_text_field.dart
│ │ └── signup
│ │ │ ├── signup_birthdate_page.dart
│ │ │ ├── signup_done_page.dart
│ │ │ ├── signup_initial_page.dart
│ │ │ ├── signup_name_page.dart
│ │ │ └── signup_password_page.dart
│ ├── pages
│ │ ├── page_renderer.dart
│ │ └── sections
│ │ │ ├── avatar
│ │ │ └── avatar_section_button.dart
│ │ │ ├── cards
│ │ │ ├── generic_card_large.dart
│ │ │ ├── generic_card_mini.dart
│ │ │ ├── study_topic_card_large.dart
│ │ │ └── study_topic_card_mini.dart
│ │ │ ├── icons
│ │ │ └── icon_section_button.dart
│ │ │ ├── section_item_click_wrapper.dart
│ │ │ ├── section_renderer.dart
│ │ │ ├── section_with_header.dart
│ │ │ └── types
│ │ │ ├── achievement_section.dart
│ │ │ ├── avatar_section.dart
│ │ │ ├── bmm_achievement_section.dart
│ │ │ ├── card_list_section.dart
│ │ │ ├── card_section.dart
│ │ │ ├── featured_section.dart
│ │ │ ├── featured_section_v2.dart
│ │ │ ├── icon_grid_section.dart
│ │ │ ├── icon_section.dart
│ │ │ ├── item_section_thumbnail_grid.dart
│ │ │ ├── item_section_thumbnail_slider.dart
│ │ │ ├── label_section.dart
│ │ │ ├── list_section.dart
│ │ │ ├── message_section.dart
│ │ │ ├── page_details_section.dart
│ │ │ └── web_section.dart
│ ├── player
│ │ ├── bottom_sheet_mini_player.dart
│ │ ├── custom_cast_player.dart
│ │ ├── player_error_view.dart
│ │ └── player_poster.dart
│ ├── profile
│ │ ├── avatar.dart
│ │ ├── developer_options.dart
│ │ ├── empty_info.dart
│ │ └── setting_list.dart
│ ├── prompts
│ │ ├── prompts.dart
│ │ └── survey_prompt.dart
│ ├── search
│ │ ├── custom_search_bar.dart
│ │ ├── result_programs_list.dart
│ │ └── search_results.dart
│ ├── shorts
│ │ ├── short_error_view.dart
│ │ ├── short_scroll_view.dart
│ │ ├── short_scroll_view.g.dart
│ │ └── short_view.dart
│ ├── status
│ │ ├── error_adaptive.dart
│ │ ├── error_generic.dart
│ │ ├── error_no_access.dart
│ │ ├── error_not_found.dart
│ │ ├── loading_generic.dart
│ │ └── loading_indicator.dart
│ ├── study
│ │ ├── pulse_animation.dart
│ │ ├── study_button.dart
│ │ ├── study_progress.dart
│ │ └── study_progress_row.dart
│ ├── surveys
│ │ ├── bottom_sheet_survey.dart
│ │ ├── dialog_confirm_cancel.dart
│ │ ├── rating_bar.dart
│ │ ├── survey_form.dart
│ │ ├── survey_link.dart
│ │ ├── survey_question_rating.dart
│ │ └── survey_question_text.dart
│ ├── tabs
│ │ ├── custom_tab_bar.dart
│ │ ├── fade_indexed_stack.dart
│ │ └── tab_selector.dart
│ ├── thumbnails
│ │ ├── episode_thumbnail.dart
│ │ ├── grid
│ │ │ ├── thumbnail_grid.dart
│ │ │ ├── thumbnail_grid_episode.dart
│ │ │ └── thumbnail_grid_show.dart
│ │ ├── misc
│ │ │ ├── bordered_image_container.dart
│ │ │ ├── episode_duration.dart
│ │ │ └── watch_progress_indicator.dart
│ │ ├── show_thumbnail.dart
│ │ ├── slider
│ │ │ ├── thumbnail_slider.dart
│ │ │ ├── thumbnail_slider_episode.dart
│ │ │ ├── thumbnail_slider_short.dart
│ │ │ └── thumbnail_slider_show.dart
│ │ └── widgets
│ │ │ └── watch_progress_indicator.dart
│ ├── video
│ │ ├── center_extra_slot.dart
│ │ └── skip_button.dart
│ └── web
│ │ └── dialog_on_web.dart
├── env
│ ├── .env.dart.template
│ ├── dev
│ │ └── firebase_options.dart
│ ├── env.dart
│ └── prod
│ │ └── firebase_options.dart
├── flavors.dart
├── helpers
│ ├── analytics.dart
│ ├── app_theme.dart
│ ├── bmm
│ │ ├── bmm_navigation.dart
│ │ └── streak_listener.dart
│ ├── constants.dart
│ ├── episode_state.dart
│ ├── forms
│ │ └── range_input_formatter.dart
│ ├── insets.dart
│ ├── main_js_channel.dart
│ ├── markdown.dart
│ ├── permanent_cache_manager.dart
│ ├── router
│ │ ├── custom_transitions.dart
│ │ ├── navigation_override.dart
│ │ ├── router_utils.dart
│ │ └── special_routes.dart
│ ├── sections.dart
│ ├── share_extension
│ │ ├── share_extension.dart
│ │ ├── share_extension_shim.dart
│ │ └── share_extension_web.dart
│ ├── shorts
│ │ ├── short_analytics.dart
│ │ └── short_controller.dart
│ ├── svg_icons.dart
│ ├── translations.dart
│ ├── watch_progress_bottom_sheet.dart
│ └── widget_keys.dart
├── l10n
│ ├── app_localizations.dart
│ ├── app_localizations_bg.dart
│ ├── app_localizations_da.dart
│ ├── app_localizations_de.dart
│ ├── app_localizations_en.dart
│ ├── app_localizations_es.dart
│ ├── app_localizations_fi.dart
│ ├── app_localizations_fr.dart
│ ├── app_localizations_hu.dart
│ ├── app_localizations_it.dart
│ ├── app_localizations_nb.dart
│ ├── app_localizations_nl.dart
│ ├── app_localizations_pl.dart
│ ├── app_localizations_pt.dart
│ ├── app_localizations_ro.dart
│ ├── app_localizations_ru.dart
│ ├── app_localizations_sl.dart
│ ├── app_localizations_ta.dart
│ ├── app_localizations_tr.dart
│ ├── bccm_bg.arb
│ ├── bccm_da.arb
│ ├── bccm_de.arb
│ ├── bccm_en.arb
│ ├── bccm_es.arb
│ ├── bccm_fi.arb
│ ├── bccm_fr.arb
│ ├── bccm_hu.arb
│ ├── bccm_it.arb
│ ├── bccm_nb.arb
│ ├── bccm_nl.arb
│ ├── bccm_pl.arb
│ ├── bccm_pt.arb
│ ├── bccm_ro.arb
│ ├── bccm_ru.arb
│ ├── bccm_sl.arb
│ ├── bccm_ta.arb
│ └── bccm_tr.arb
├── main.dart
├── main_dev.dart
├── main_prod.dart
├── models
│ ├── breakpoints.dart
│ ├── episode_thumbnail_data.dart
│ ├── episode_thumbnail_data.freezed.dart
│ ├── explore_category.dart
│ ├── feature_flags.dart
│ ├── feature_flags.freezed.dart
│ ├── feature_flags.g.dart
│ ├── offline
│ │ ├── download_additional_data.dart
│ │ └── download_quality.dart
│ ├── pagination_status.dart
│ ├── survey.dart
│ ├── survey.freezed.dart
│ └── survey.g.dart
├── providers
│ ├── analytics.dart
│ ├── auth.dart
│ ├── availability.dart
│ ├── downloads.dart
│ ├── feature_flags.dart
│ ├── graphql.dart
│ ├── lesson_progress_provider.dart
│ ├── me_provider.dart
│ ├── notifications.dart
│ ├── performance_class_provider.dart
│ ├── playback_service.dart
│ ├── settings.dart
│ ├── settings.freezed.dart
│ ├── surveys.dart
│ ├── tabs.dart
│ └── unleash.dart
├── router
│ ├── router.dart
│ └── router.gr.dart
├── screens
│ ├── audio
│ │ ├── audio.dart
│ │ └── audio_playlist.dart
│ ├── contributors
│ │ └── contributor.dart
│ ├── episode.dart
│ ├── init.dart
│ ├── onboarding
│ │ ├── email_verification.dart
│ │ ├── onboarding.dart
│ │ ├── signup.dart
│ │ └── social_auth_buttons.dart
│ ├── page.dart
│ ├── player
│ │ └── player.dart
│ ├── settings
│ │ ├── about.dart
│ │ ├── account_deletion.dart
│ │ ├── app_language.dart
│ │ ├── audio_language.dart
│ │ ├── contact.dart
│ │ ├── contact_public.dart
│ │ ├── device_info.dart
│ │ ├── extra_usergroups.dart
│ │ ├── faq.dart
│ │ ├── privacy_policy.dart
│ │ ├── settings.dart
│ │ ├── subtitle_language.dart
│ │ ├── terms_of_use.dart
│ │ └── video_quality.dart
│ ├── shorts
│ │ ├── short.dart
│ │ └── shorts.dart
│ ├── show
│ │ └── show.dart
│ ├── study
│ │ ├── achievement_group.dart
│ │ ├── achievements.dart
│ │ └── study.dart
│ ├── tabs
│ │ ├── home.dart
│ │ ├── profile.dart
│ │ ├── search.dart
│ │ └── tabs_root.dart
│ └── w
│ │ └── w.dart
└── theme
│ ├── bccm_gradients.dart
│ └── design_system
│ └── bccmedia
│ ├── buttons.dart
│ ├── colors.dart
│ ├── decorations.dart
│ ├── design_system.dart
│ └── text_styles.dart
├── pubspec.lock
├── pubspec.yaml
├── scripts
└── check_analytics.sh
├── submodules
└── build
│ └── .last_build_id
├── test
├── achievement_dialog_test.dart
├── auth
│ ├── signup_test.dart
│ └── signup_year_picker_test.dart
├── collapsible_markdown_test.dart
└── utils
│ └── basic_init.dart
├── web-lib
├── .gitignore
├── index.html
├── package.json
├── pnpm-lock.yaml
├── src
│ ├── main.ts
│ └── vite-env.d.ts
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
└── web
├── bccm-video-player
├── bccm-video-player.mjs
├── bccm-video-player.umd.js
└── style.css
├── favicon.png
├── firebase-messaging-sw.js
├── icons
├── Icon-192.png
├── Icon-512.png
├── Icon-maskable-192.png
└── Icon-maskable-512.png
├── index.html
├── lib
└── generated
│ ├── bccm-app-web-lib.css
│ └── bccm-app-web-lib.js
├── manifest.json
└── splash
├── img
├── dark-1x.png
├── dark-2x.png
├── dark-3x.png
├── dark-4x.png
├── light-1x.png
├── light-2x.png
├── light-3x.png
└── light-4x.png
├── splash.js
└── style.css
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*.dart]
4 | max_line_length = 150
5 |
6 | [*.kt]
7 | max_line_length = 150
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | web/lib/generated/* linguist-generated=true
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 |
6 |
7 |
13 | ## About the changes
14 |
15 |
21 | ### Important files
22 |
23 |
27 | ## Discussion points
28 |
29 |
--------------------------------------------------------------------------------
/.github/workflows/build-and-deploy-documentations.yml:
--------------------------------------------------------------------------------
1 | name: Build and Deploy to The Documentation Site
2 |
3 | on:
4 | # Runs on pushes targeting the default branch
5 | push:
6 | branches: ["master","main"]
7 | paths:
8 | - docs/**
9 |
10 | # Allows you to run this workflow manually from the Actions tab
11 | workflow_dispatch:
12 |
13 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
14 | permissions:
15 | contents: read
16 | id-token: write
17 |
18 | # Allow one concurrent deployment
19 | concurrency:
20 | group: "pages"
21 | cancel-in-progress: true
22 |
23 | jobs:
24 | build:
25 | runs-on: ubuntu-latest
26 | steps:
27 | - name: Build documentation site and uploads it to Azure storage
28 | uses: bcc-code/bcc-documentation-base@v2
29 | with:
30 | title: BrunstadTV App
31 | description: BrunstadTV app documentation
32 | authentication: 'portal'
33 |
--------------------------------------------------------------------------------
/.github/workflows/phrase-translations-pr.yml:
--------------------------------------------------------------------------------
1 | name: Phrase Translations
2 |
3 | on:
4 | push:
5 | branches:
6 | - 'phrase-translations'
7 |
8 | jobs:
9 | create-pr:
10 | if: github.event_name == 'push'
11 | runs-on: ubuntu-latest
12 | steps:
13 | - name: Checkout repository
14 | uses: actions/checkout@v4
15 | with:
16 | ref: master
17 | fetch-depth: 0
18 |
19 | - name: Reset master branch
20 | run: |
21 | git fetch origin phrase-translations:phrase-translations
22 | git reset --hard phrase-translations
23 |
24 | - name: Create Pull Request
25 | uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
26 | with:
27 | title: 'New Phrase Updates'
28 | body: 'Update phrase translations'
29 | branch: 'phrase-translations'
30 | commit-message: 'Update phrase translations'
31 | delete-branch: true
32 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "external_projects/bccm_player"]
2 | path = submodules/bccm_player
3 | url = https://github.com/bcc-code/bccm-player.git
4 | branch = main
5 | [submodule "submodules/bccm_flutter"]
6 | path = submodules/bccm_flutter
7 | url = https://github.com/bcc-code/bccm-flutter
8 | branch = main
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.maestro/.gitignore:
--------------------------------------------------------------------------------
1 | build
--------------------------------------------------------------------------------
/.maestro/ci.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -x
4 |
5 | #install maestro
6 | export MAESTRO_VERSION=1.39.7; curl -Ls "https://get.maestro.mobile.dev" | bash
7 | export PATH="$PATH":"$HOME/.maestro/bin"
8 |
9 | #install devicecloud cli
10 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
11 | export NVM_DIR="$HOME/.nvm"
12 | [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
13 | nvm install 22
14 | npm install -g @devicecloud.dev/dcd
15 |
16 | #run maestro e2e tests
17 | envsubst < flows/scripts/.env.js.template > flows/scripts/.env.js
18 | flutter doctor -v
19 |
20 | # build the app for the simulator
21 | make ios-build
22 |
23 | dcd cloud --apiKey $MAESTRO_API_KEY -e PLATFORM=ios --exclude-tags=no-cloud ../build/ios/iphonesimulator/Runner.app flows/ || exit 1
24 | exit 0
--------------------------------------------------------------------------------
/.maestro/flows/1_play-shorts.yml:
--------------------------------------------------------------------------------
1 | # flow.yaml
2 |
3 | appId: tv.brunstad.app
4 | ---
5 | - runScript: scripts/.env.js
6 | - runFlow: subflows/init.yml
7 | - runFlow: subflows/login.yml
8 | - tapOn: Shorts.*
9 | - assertVisible: .*Playing..*
10 | - assertNotVisible: .*Error.*
11 | - openLink: "https://app.bcc.media/shorts/ec5120e8-f4de-4002-9e1e-645f7e324117" # A very short short, available to usergroup "automated-test-accounts".
12 | - assertVisible: .*Playing..*
13 | - assertNotVisible: .*Error.*
14 |
--------------------------------------------------------------------------------
/.maestro/flows/2_play-episode.yml:
--------------------------------------------------------------------------------
1 | # flow.yaml
2 |
3 | appId: tv.brunstad.app
4 | ---
5 | - runScript: scripts/.env.js
6 | - runFlow: subflows/init.yml
7 | - launchApp: tv.brunstad.app
8 | - runFlow:
9 | when:
10 | visible: Sign in
11 | file: subflows/login.yml
12 | - openLink: "tv.brunstad.app:///episode/769"
13 | - tapOn:
14 | text: Open
15 | optional: true
16 | - assertVisible: .*Bible.*
17 | - tapOn:
18 | point: "50%,20%"
19 | - tapOn: Profile.*
20 | - assertVisible: .*Bible.*
21 | - assertVisible: Pause
22 |
--------------------------------------------------------------------------------
/.maestro/flows/5_notifications.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | tags:
3 | - no-cloud
4 | ---
5 | - runScript: scripts/.env.js
6 | - runFlow: subflows/init.yml
7 | # Login
8 | - stopApp: tv.brunstad.app
9 | - runFlow: subflows/login.yml
10 | # deep_link_donation
11 | - runFlow: subflows/home.yml
12 | - runFlow:
13 | file: subflows/notification.yml
14 | env:
15 | CONTAINING: deep_link_donation
16 | - assertVisible:
17 | id: "TabBarItemTitle"
18 | - assertVisible: "Email.*"
19 | # deep_link_shorts
20 | - runFlow: subflows/home.yml
21 | - runFlow:
22 | file: subflows/notification.yml
23 | env:
24 | CONTAINING: deep_link_shorts
25 | # deep_link_episode
26 | - runFlow: subflows/home.yml
27 | - runFlow:
28 | file: subflows/notification.yml
29 | env:
30 | CONTAINING: deep_link_episode
31 | - assertVisible: .*Joseph.*
32 |
--------------------------------------------------------------------------------
/.maestro/flows/6_notifications-stopped.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | tags:
3 | - no-cloud
4 | ---
5 | - runScript: scripts/.env.js
6 | - runFlow: subflows/init.yml
7 | # Login
8 | - stopApp: tv.brunstad.app
9 | - runFlow: subflows/login.yml
10 | # deep_link_donation
11 | - stopApp: tv.brunstad.app
12 | - runFlow:
13 | file: subflows/notification.yml
14 | env:
15 | CONTAINING: deep_link_donation
16 | - assertVisible:
17 | id: "TabBarItemTitle"
18 | - assertVisible: "Email.*"
19 | # deep_link_shorts
20 | - stopApp: tv.brunstad.app
21 | - runFlow:
22 | file: subflows/notification.yml
23 | env:
24 | CONTAINING: deep_link_shorts
25 | # deep_link_episode
26 | - stopApp: tv.brunstad.app
27 | - runFlow:
28 | file: subflows/notification.yml
29 | env:
30 | CONTAINING: deep_link_episode
31 | - assertVisible: .*Joseph.*
32 |
--------------------------------------------------------------------------------
/.maestro/flows/scripts/.env.js.template:
--------------------------------------------------------------------------------
1 | output.env = {
2 | LOGIN_EMAIL: '$LOGIN_EMAIL',
3 | LOGIN_PASSWORD: '$LOGIN_PASSWORD'
4 | }
--------------------------------------------------------------------------------
/.maestro/flows/scripts/init.js:
--------------------------------------------------------------------------------
1 | output.browserAppId = PLATFORM == 'ios' ? 'com.apple.mobilesafari' : 'com.android.chrome';
--------------------------------------------------------------------------------
/.maestro/flows/subflows/home.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | ---
3 | - runFlow:
4 | when:
5 | true: ${PLATFORM == 'ios'}
6 | file: home/home_ios.yml
7 |
--------------------------------------------------------------------------------
/.maestro/flows/subflows/home/home_ios.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | ---
3 | - pressKey: home
4 | # Had issues with a race condition after clicking home and then doing deep linking quickly after.
5 | # So this assert is just a hack to make maestro wait a few seconds.
6 | - assertVisible:
7 | text: Some text that doesnt exist
8 | optional: true
9 |
--------------------------------------------------------------------------------
/.maestro/flows/subflows/init.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | ---
3 | - runScript: ../scripts/init.js
4 | - launchApp:
5 | permissions:
6 | all: allow
7 |
--------------------------------------------------------------------------------
/.maestro/flows/subflows/login.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | ---
3 | - runFlow:
4 | when:
5 | true: ${PLATFORM == 'ios'}
6 | file: login/login_ios.yml
7 |
8 | - runFlow:
9 | when:
10 | true: ${PLATFORM == 'android'}
11 | file: login/login_android.yml
12 |
--------------------------------------------------------------------------------
/.maestro/flows/subflows/login/login_ios.yml:
--------------------------------------------------------------------------------
1 | # flow.yaml
2 |
3 | appId: tv.brunstad.app
4 | ---
5 | - launchApp:
6 | appId: com.apple.mobilesafari
7 | clearState: false # we cannot clear state for Safari, as that causes Maestro to reinstall the app (which doesn't work for Safari)
8 | clearKeychain: true
9 | stopApp: true
10 | - launchApp: tv.brunstad.app
11 | - tapOn:
12 | text: Allow
13 | optional: true
14 | - tapOn: "Sign in"
15 | - tapOn:
16 | text: Continue
17 | optional: true
18 | - tapOn:
19 | text: Email
20 | optional: true
21 | - inputText: ${output.env.LOGIN_EMAIL}
22 | - pressKey: Enter
23 | - inputText: ${output.env.LOGIN_PASSWORD}
24 | - pressKey: Enter
25 | - tapOn:
26 | text: Accept
27 | optional: true
28 | - assertVisible: "Home"
29 | - assertVisible: "Search"
30 | - assertVisible: "Signed in"
31 |
--------------------------------------------------------------------------------
/.maestro/flows/subflows/notification.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | ---
3 | - runFlow:
4 | when:
5 | true: ${PLATFORM == 'ios'}
6 | file: notification/notification_ios.yml
7 |
--------------------------------------------------------------------------------
/.maestro/flows/subflows/notification/notification_ios.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | ---
3 | - swipe:
4 | start: 50%, 1%
5 | end: 50%, 90%
6 | - tapOn:
7 | id: "NotificationShortLookView"
8 | - swipe:
9 | from:
10 | text: .*${CONTAINING}.*
11 | direction: RIGHT # To (50% of width, 10% of height)
12 | - tapOn:
13 | id: "swipe-action-button-identifier"
14 | optional: true
15 |
--------------------------------------------------------------------------------
/.maestro/flows/subflows/playback/ios_language.yml:
--------------------------------------------------------------------------------
1 | appId: tv.brunstad.app
2 | ---
3 | - tapOn:
4 | id: "More Controls"
5 | - tapOn: "Languages"
6 | - assertVisible:
7 | text: ".*German.*"
8 | #selected: true
9 |
--------------------------------------------------------------------------------
/.maestro/notifications/ios/deep_link_donation.apns:
--------------------------------------------------------------------------------
1 | {
2 | "aps": {
3 | "alert": "deep_link_donation",
4 | "sound": "bingbong.aiff"
5 | },
6 | "action": "deep_link",
7 | "deep_link": "/r/donation",
8 | "Simulator Target Bundle": "tv.brunstad.app",
9 | "type": "abc",
10 | "id": 1,
11 | "gcm.message_id": "20021"
12 | }
--------------------------------------------------------------------------------
/.maestro/notifications/ios/deep_link_episode.apns:
--------------------------------------------------------------------------------
1 | {
2 | "aps": {
3 | "alert": "deep_link_episode",
4 | "sound": "bingbong.aiff"
5 | },
6 | "action": "deep_link",
7 | "deep_link": "/episode/769",
8 | "Simulator Target Bundle": "tv.brunstad.app",
9 | "type": "abc",
10 | "id": 1,
11 | "gcm.message_id": "20021"
12 | }
--------------------------------------------------------------------------------
/.maestro/notifications/ios/deep_link_shorts.apns:
--------------------------------------------------------------------------------
1 | {
2 | "aps": {
3 | "alert": "deep_link_shorts",
4 | "sound": "bingbong.aiff"
5 | },
6 | "action": "deep_link",
7 | "deep_link": "/shorts",
8 | "Simulator Target Bundle": "tv.brunstad.app",
9 | "type": "abc",
10 | "id": 1,
11 | "gcm.message_id": "20021"
12 | }
--------------------------------------------------------------------------------
/.maestro/notifications/push_ios.sh:
--------------------------------------------------------------------------------
1 | SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
2 | for file in $SCRIPT_DIR/ios/*
3 | do
4 | xcrun simctl push booted tv.brunstad.app "$file"
5 | done
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled.
5 |
6 | version:
7 | revision: cd41fdd495f6944ecd3506c21e94c6567b073278
8 | channel: stable
9 |
10 | project_type: app
11 |
12 | # Tracks metadata for the flutter migrate command
13 | migration:
14 | platforms:
15 | - platform: root
16 | create_revision: cd41fdd495f6944ecd3506c21e94c6567b073278
17 | base_revision: cd41fdd495f6944ecd3506c21e94c6567b073278
18 | - platform: android
19 | create_revision: cd41fdd495f6944ecd3506c21e94c6567b073278
20 | base_revision: cd41fdd495f6944ecd3506c21e94c6567b073278
21 |
22 | # User provided section
23 |
24 | # List of Local paths (relative to this file) that should be
25 | # ignored by the migrate tool.
26 | #
27 | # Files that are not part of the templates will be ignored by default.
28 | unmanaged_files:
29 | - 'lib/main.dart'
30 | - 'ios/Runner.xcodeproj/project.pbxproj'
31 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "dart.lineLength": 150,
3 | "[dart]": {
4 | "editor.rulers": [150]
5 | },
6 | "git.autoRepositoryDetection": "subFolders",
7 | "git.detectSubmodules": true,
8 | "files.associations": {
9 | ".env.dart": "dart",
10 | ".env.dart.template": "dart"
11 | },
12 | "editor.formatOnSave": true,
13 | "graphql-config.load.rootDir": "submodules/bccm_flutter/bccm_core"
14 | }
15 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | -dontwarn com.sun.jna.FunctionMapper
2 | -dontwarn com.sun.jna.JNIEnv
3 | -dontwarn com.sun.jna.Library
4 | -dontwarn com.sun.jna.Native
5 | -dontwarn com.sun.jna.Platform
6 | -dontwarn edu.umd.cs.findbugs.annotations.SuppressFBWarnings
7 | -dontwarn java.lang.instrument.ClassDefinition
8 | -dontwarn java.lang.instrument.UnmodifiableClassException
9 | -dontwarn java.lang.management.ManagementFactory
10 | -dontwarn java.lang.management.RuntimeMXBean
11 | -dontwarn org.mockito.internal.creation.bytebuddy.inject.MockMethodDispatcher
--------------------------------------------------------------------------------
/android/app/src/androidTest/java/tv/brunstad/app/MainActivityTest.java:
--------------------------------------------------------------------------------
1 | package tv.brunstad.app;
2 | import org.junit.Rule;
3 | import org.junit.runner.RunWith;
4 | import pl.leancode.patrol.PatrolTestRule;
5 | import pl.leancode.patrol.PatrolTestRunner;
6 |
7 | @RunWith(PatrolTestRunner.class)
8 | public class MainActivityTest {
9 | @Rule
10 | public PatrolTestRule rule = new PatrolTestRule<>(MainActivity.class);
11 | }
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/dev/res/values/string.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | login.bcc.no
4 | tv.brunstad.app.dev
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/anim/dev.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
14 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/icon_fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/main/res/drawable/icon_fullscreen.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/icon_fullscreen_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/main/res/drawable/icon_fullscreen_off.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/icon_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/main/res/drawable/icon_pause.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/icon_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/main/res/drawable/icon_settings.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/string.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/android/app/src/prod/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
14 |
17 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-hdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-hdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-mdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-mdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-xhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-xhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-xxhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-xxhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-xxxhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-xxxhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/drawable-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/drawable-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-anydpi-v26/ic_banner_adaptive_not_used.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xhdpi/ic_banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xhdpi/ic_banner.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xhdpi/ic_banner_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xhdpi/ic_banner_background.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xhdpi/ic_banner_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xhdpi/ic_banner_foreground.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xxhdpi/ic_banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xxhdpi/ic_banner.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xxhdpi/ic_banner_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xxhdpi/ic_banner_background.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xxhdpi/ic_banner_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xxhdpi/ic_banner_foreground.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xxxhdpi/ic_banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xxxhdpi/ic_banner.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xxxhdpi/ic_banner_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xxxhdpi/ic_banner_background.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xxxhdpi/ic_banner_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xxxhdpi/ic_banner_foreground.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/android/app/src/prod/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/prod/res/values/string.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | login.bcc.no
4 | tv.brunstad.app
5 |
--------------------------------------------------------------------------------
/android/app/src/prod/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #0D1623
4 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '2.1.0'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:8.10.0'
10 | // START: FlutterFire Configuration
11 | classpath 'com.google.gms:google-services:4.3.14'
12 | classpath 'com.google.firebase:perf-plugin:1.4.1'
13 | // END: FlutterFire Configuration
14 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | mavenCentral()
22 | }
23 | }
24 |
25 | rootProject.buildDir = '../build'
26 | subprojects {
27 | project.buildDir = "${rootProject.buildDir}/${project.name}"
28 | }
29 | subprojects {
30 | project.evaluationDependsOn(':app')
31 | }
32 |
33 | tasks.register('clean', Delete) {
34 | delete rootProject.buildDir
35 | }
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx3000M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 | kotlin.code.style=official
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon May 26 12:18:42 CEST 2025
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | def flutterSdkPath = {
3 | def properties = new Properties()
4 | file("local.properties").withInputStream { properties.load(it) }
5 | def flutterSdkPath = properties.getProperty("flutter.sdk")
6 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
7 | return flutterSdkPath
8 | }()
9 |
10 | includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
11 |
12 | repositories {
13 | google()
14 | mavenCentral()
15 | gradlePluginPortal()
16 | }
17 | }
18 |
19 | plugins {
20 | id "dev.flutter.flutter-plugin-loader" version "1.0.0"
21 | id "com.android.application" version "8.10.0" apply false
22 | id "org.jetbrains.kotlin.android" version "2.1.0" apply false
23 | }
24 |
25 | include ":app"
--------------------------------------------------------------------------------
/app.code-workspace:
--------------------------------------------------------------------------------
1 | {
2 | "folders": [
3 | {
4 | "path": "."
5 | },
6 | {
7 | "path": "submodules/bccm_player"
8 | },
9 | {
10 | "path": "submodules/bccm_flutter"
11 | }
12 | ],
13 | "settings": {
14 | "git.autoRepositoryDetection": "subFolders",
15 | "files.associations": {
16 | ".env.dart": "dart",
17 | ".env.dart.template": "dart"
18 | },
19 | "graphql-config.load.rootDir": "submodules/bccm_flutter/bccm_core",
20 | "dart.lineLength": 150,
21 | "[dart]": {
22 | "editor.rulers": [150]
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/assets/flavors/prod/1.5x/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/1.5x/logo.png
--------------------------------------------------------------------------------
/assets/flavors/prod/2.0x/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/2.0x/logo.png
--------------------------------------------------------------------------------
/assets/flavors/prod/3.0x/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/3.0x/logo.png
--------------------------------------------------------------------------------
/assets/flavors/prod/4.0x/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/4.0x/logo.png
--------------------------------------------------------------------------------
/assets/flavors/prod/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/ic_launcher.png
--------------------------------------------------------------------------------
/assets/flavors/prod/ic_launcher_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/ic_launcher_bg.png
--------------------------------------------------------------------------------
/assets/flavors/prod/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/logo.png
--------------------------------------------------------------------------------
/assets/flavors/prod/logo_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/logo_bg.png
--------------------------------------------------------------------------------
/assets/flavors/prod/logo_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/logo_icon.png
--------------------------------------------------------------------------------
/assets/flavors/prod/onboarding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/flavors/prod/onboarding.png
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-Black.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-BlackItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-BlackItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-Bold.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-BoldItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-ExtraBold.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-ExtraBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-ExtraBoldItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-ExtraLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-ExtraLight.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-ExtraLightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-ExtraLightItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-Italic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-Light.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-LightItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-Medium.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-MediumItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-Regular.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-SemiBold.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-SemiBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-SemiBoldItalic.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-Thin.ttf
--------------------------------------------------------------------------------
/assets/fonts/Barlow/Barlow-ThinItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/fonts/Barlow/Barlow-ThinItalic.ttf
--------------------------------------------------------------------------------
/assets/icons/1.5x/Calendar_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Calendar_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Calendar_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Calendar_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Cancel_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Cancel_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Close.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/CollectionEvents.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/CollectionEvents.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/CollectionFilms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/CollectionFilms.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/CollectionKids.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/CollectionKids.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/CollectionMusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/CollectionMusic.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/CollectionSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/CollectionSeries.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/CollectionWorthWatching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/CollectionWorthWatching.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/ExploreCategorySort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/ExploreCategorySort.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Feed_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Feed_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Feed_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Feed_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Games_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Games_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Games_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Games_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Home_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Home_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Home_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Home_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Left.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Live_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Live_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Live_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Live_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Pause.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Play.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Playlists_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Playlists_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Playlists_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Playlists_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Poll_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Poll_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Poll_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Poll_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Profile.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Profile_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Profile_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Profile_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Profile_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Search_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Search_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Search_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Search_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Seen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Seen.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Shorts_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Shorts_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Shorts_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Shorts_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Testimony_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Testimony_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Testimony_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Testimony_Selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Theme_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Theme_Default.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Theme_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Theme_selected.png
--------------------------------------------------------------------------------
/assets/icons/1.5x/Wait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/1.5x/Wait.png
--------------------------------------------------------------------------------
/assets/icons/2x/Calendar_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Calendar_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Calendar_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Calendar_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Cancel_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Cancel_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Close.png
--------------------------------------------------------------------------------
/assets/icons/2x/CollectionEvents.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/CollectionEvents.png
--------------------------------------------------------------------------------
/assets/icons/2x/CollectionFilms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/CollectionFilms.png
--------------------------------------------------------------------------------
/assets/icons/2x/CollectionKids.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/CollectionKids.png
--------------------------------------------------------------------------------
/assets/icons/2x/CollectionMusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/CollectionMusic.png
--------------------------------------------------------------------------------
/assets/icons/2x/CollectionSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/CollectionSeries.png
--------------------------------------------------------------------------------
/assets/icons/2x/CollectionWorthWatching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/CollectionWorthWatching.png
--------------------------------------------------------------------------------
/assets/icons/2x/ExploreCategorySort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/ExploreCategorySort.png
--------------------------------------------------------------------------------
/assets/icons/2x/Feed_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Feed_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Feed_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Feed_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Games_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Games_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Games_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Games_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Home_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Home_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Home_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Home_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Left.png
--------------------------------------------------------------------------------
/assets/icons/2x/Live_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Live_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Live_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Live_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Pause.png
--------------------------------------------------------------------------------
/assets/icons/2x/Play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Play.png
--------------------------------------------------------------------------------
/assets/icons/2x/Playlists_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Playlists_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Playlists_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Playlists_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Poll_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Poll_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Poll_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Poll_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Profile.png
--------------------------------------------------------------------------------
/assets/icons/2x/Profile_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Profile_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Profile_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Profile_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Search_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Search_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Search_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Search_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Seen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Seen.png
--------------------------------------------------------------------------------
/assets/icons/2x/Shorts_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Shorts_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Shorts_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Shorts_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Testimony_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Testimony_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Testimony_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Testimony_Selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Theme_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Theme_Default.png
--------------------------------------------------------------------------------
/assets/icons/2x/Theme_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Theme_selected.png
--------------------------------------------------------------------------------
/assets/icons/2x/Wait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/2x/Wait.png
--------------------------------------------------------------------------------
/assets/icons/3x/Calendar_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Calendar_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Calendar_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Calendar_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Cancel_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Cancel_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Close.png
--------------------------------------------------------------------------------
/assets/icons/3x/CollectionEvents.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/CollectionEvents.png
--------------------------------------------------------------------------------
/assets/icons/3x/CollectionFilms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/CollectionFilms.png
--------------------------------------------------------------------------------
/assets/icons/3x/CollectionKids.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/CollectionKids.png
--------------------------------------------------------------------------------
/assets/icons/3x/CollectionMusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/CollectionMusic.png
--------------------------------------------------------------------------------
/assets/icons/3x/CollectionSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/CollectionSeries.png
--------------------------------------------------------------------------------
/assets/icons/3x/CollectionWorthWatching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/CollectionWorthWatching.png
--------------------------------------------------------------------------------
/assets/icons/3x/ExploreCategorySort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/ExploreCategorySort.png
--------------------------------------------------------------------------------
/assets/icons/3x/Feed_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Feed_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Feed_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Feed_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Games_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Games_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Games_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Games_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Home_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Home_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Home_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Home_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Left.png
--------------------------------------------------------------------------------
/assets/icons/3x/Live_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Live_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Live_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Live_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Pause.png
--------------------------------------------------------------------------------
/assets/icons/3x/Play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Play.png
--------------------------------------------------------------------------------
/assets/icons/3x/Playlists_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Playlists_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Playlists_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Playlists_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Poll_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Poll_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Poll_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Poll_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Profile.png
--------------------------------------------------------------------------------
/assets/icons/3x/Profile_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Profile_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Profile_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Profile_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Search_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Search_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Search_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Search_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Seen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Seen.png
--------------------------------------------------------------------------------
/assets/icons/3x/Shorts_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Shorts_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Shorts_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Shorts_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Testimony_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Testimony_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Testimony_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Testimony_Selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Theme_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Theme_Default.png
--------------------------------------------------------------------------------
/assets/icons/3x/Theme_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Theme_selected.png
--------------------------------------------------------------------------------
/assets/icons/3x/Wait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/3x/Wait.png
--------------------------------------------------------------------------------
/assets/icons/4x/Calendar_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Calendar_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Calendar_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Calendar_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Cancel_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Cancel_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Close.png
--------------------------------------------------------------------------------
/assets/icons/4x/CollectionEvents.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/CollectionEvents.png
--------------------------------------------------------------------------------
/assets/icons/4x/CollectionFilms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/CollectionFilms.png
--------------------------------------------------------------------------------
/assets/icons/4x/CollectionKids.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/CollectionKids.png
--------------------------------------------------------------------------------
/assets/icons/4x/CollectionMusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/CollectionMusic.png
--------------------------------------------------------------------------------
/assets/icons/4x/CollectionSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/CollectionSeries.png
--------------------------------------------------------------------------------
/assets/icons/4x/CollectionWorthWatching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/CollectionWorthWatching.png
--------------------------------------------------------------------------------
/assets/icons/4x/ExploreCategorySort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/ExploreCategorySort.png
--------------------------------------------------------------------------------
/assets/icons/4x/Feed_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Feed_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Feed_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Feed_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Games_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Games_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Games_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Games_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Home_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Home_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Home_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Home_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Left.png
--------------------------------------------------------------------------------
/assets/icons/4x/Live_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Live_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Live_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Live_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Pause.png
--------------------------------------------------------------------------------
/assets/icons/4x/Play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Play.png
--------------------------------------------------------------------------------
/assets/icons/4x/Playlists_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Playlists_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Playlists_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Playlists_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Poll_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Poll_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Poll_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Poll_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Profile.png
--------------------------------------------------------------------------------
/assets/icons/4x/Profile_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Profile_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Profile_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Profile_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Search_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Search_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Search_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Search_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Seen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Seen.png
--------------------------------------------------------------------------------
/assets/icons/4x/Shorts_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Shorts_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Shorts_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Shorts_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Testimony_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Testimony_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Testimony_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Testimony_Selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Theme_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Theme_Default.png
--------------------------------------------------------------------------------
/assets/icons/4x/Theme_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Theme_selected.png
--------------------------------------------------------------------------------
/assets/icons/4x/Wait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/4x/Wait.png
--------------------------------------------------------------------------------
/assets/icons/Audio_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Audio_Default.png
--------------------------------------------------------------------------------
/assets/icons/Calendar_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Calendar_Default.png
--------------------------------------------------------------------------------
/assets/icons/Calendar_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Calendar_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Cancel_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Cancel_Default.png
--------------------------------------------------------------------------------
/assets/icons/Close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Close.png
--------------------------------------------------------------------------------
/assets/icons/CollectionEvents.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/CollectionEvents.png
--------------------------------------------------------------------------------
/assets/icons/CollectionFilms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/CollectionFilms.png
--------------------------------------------------------------------------------
/assets/icons/CollectionKids.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/CollectionKids.png
--------------------------------------------------------------------------------
/assets/icons/CollectionMusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/CollectionMusic.png
--------------------------------------------------------------------------------
/assets/icons/CollectionSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/CollectionSeries.png
--------------------------------------------------------------------------------
/assets/icons/CollectionWorthWatching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/CollectionWorthWatching.png
--------------------------------------------------------------------------------
/assets/icons/ExploreCategorySort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/ExploreCategorySort.png
--------------------------------------------------------------------------------
/assets/icons/Feed_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Feed_Default.png
--------------------------------------------------------------------------------
/assets/icons/Feed_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Feed_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Games_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Games_Default.png
--------------------------------------------------------------------------------
/assets/icons/Games_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Games_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Home_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Home_Default.png
--------------------------------------------------------------------------------
/assets/icons/Home_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Home_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Left.png
--------------------------------------------------------------------------------
/assets/icons/Live_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Live_Default.png
--------------------------------------------------------------------------------
/assets/icons/Live_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Live_Selected.png
--------------------------------------------------------------------------------
/assets/icons/My_List_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/My_List_Default.png
--------------------------------------------------------------------------------
/assets/icons/My_List_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/My_List_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Pause.png
--------------------------------------------------------------------------------
/assets/icons/Play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Play.png
--------------------------------------------------------------------------------
/assets/icons/Playlists_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Playlists_Default.png
--------------------------------------------------------------------------------
/assets/icons/Playlists_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Playlists_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Poll_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Poll_Default.png
--------------------------------------------------------------------------------
/assets/icons/Poll_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Poll_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Profile.png
--------------------------------------------------------------------------------
/assets/icons/Profile_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Profile_Default.png
--------------------------------------------------------------------------------
/assets/icons/Profile_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Profile_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Search_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Search_Default.png
--------------------------------------------------------------------------------
/assets/icons/Search_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Search_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Seen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Seen.png
--------------------------------------------------------------------------------
/assets/icons/Shorts_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Shorts_Default.png
--------------------------------------------------------------------------------
/assets/icons/Shorts_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Shorts_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Testimony_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Testimony_Default.png
--------------------------------------------------------------------------------
/assets/icons/Testimony_Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Testimony_Selected.png
--------------------------------------------------------------------------------
/assets/icons/Theme_Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Theme_Default.png
--------------------------------------------------------------------------------
/assets/icons/Theme_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Theme_selected.png
--------------------------------------------------------------------------------
/assets/icons/Wait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/Wait.png
--------------------------------------------------------------------------------
/assets/icons/app_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/icons/app_icon.png
--------------------------------------------------------------------------------
/assets/icons/avatar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/headphones.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/play_alt.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/background.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/chromecast_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/assets/images/chromecast_bg.png
--------------------------------------------------------------------------------
/assets/images/line.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/devtools_options.yaml:
--------------------------------------------------------------------------------
1 | description: This file stores settings for Dart & Flutter DevTools.
2 | documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
3 | extensions:
4 |
--------------------------------------------------------------------------------
/docs/firebase_integration.md:
--------------------------------------------------------------------------------
1 | ## Flutterfire init new app
2 |
3 | ```
4 | flutterfire configure -i tv.brunstad.app -a tv.brunstad.app -o lib/env/prod/firebase_options.dart --project=btv-platform-prod-2
5 | ```
6 |
7 | ## Setting up push
8 |
9 | Firebase needs some keys.
10 |
--------------------------------------------------------------------------------
/firebase/dev/firebase_app_id_file.json:
--------------------------------------------------------------------------------
1 | {
2 | "file_generated_by": "FlutterFire CLI",
3 | "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
4 | "GOOGLE_APP_ID": "1:16643555326:ios:b69187d4529a7e1e4f8aaf",
5 | "FIREBASE_PROJECT_ID": "btv-platform-dev-2",
6 | "GCM_SENDER_ID": "16643555326"
7 | }
--------------------------------------------------------------------------------
/firebase/prod/firebase_app_id_file.json:
--------------------------------------------------------------------------------
1 | {
2 | "file_generated_by": "FlutterFire CLI",
3 | "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
4 | "GOOGLE_APP_ID": "1:617519323732:ios:8fd75bf6b4cd0f6d89ebc1",
5 | "FIREBASE_PROJECT_ID": "btv-platform-prod-2",
6 | "GCM_SENDER_ID": "617519323732"
7 | }
--------------------------------------------------------------------------------
/flutter_launcher_icons-prod.yaml:
--------------------------------------------------------------------------------
1 | flutter_launcher_icons:
2 | android: true
3 | ios: true
4 | remove_alpha_ios: true
5 | adaptive_icon_background: "assets/flavors/prod/ic_launcher_bg.png"
6 | adaptive_icon_foreground: "assets/flavors/prod/ic_launcher.png"
7 | image_path: "assets/flavors/prod/ic_launcher.png"
8 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 | build/
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 15.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 |
2 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
3 | #include "Generated.xcconfig"
4 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 |
2 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
3 | #include "Generated.xcconfig"
4 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-50x50@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-50x50@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-50x50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-50x50@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-57x57@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-57x57@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-57x57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-57x57@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-72x72@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-72x72@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-72x72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-72x72@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon-prod.appiconset/AppIcon-prod-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/172.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/216.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/216.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/66.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/66.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/88.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/AppIcon.appiconset/92.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchBackgroundProd.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "background.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchBackgroundProd.imageset/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/LaunchBackgroundProd.imageset/background.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x"
10 | },
11 | {
12 | "idiom" : "universal",
13 | "scale" : "3x"
14 | }
15 | ],
16 | "info" : {
17 | "author" : "xcode",
18 | "version" : 1
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImageProd.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "LaunchImage.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "LaunchImage@2x.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "LaunchImage@3x.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImageProd.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/LaunchImageProd.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImageProd.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/LaunchImageProd.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImageProd.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/Assets.xcassets/LaunchImageProd.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Entitlements/Entitlements-bccm.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | aps-environment
6 | development
7 | com.apple.developer.associated-domains
8 |
9 | applinks:brunstad.tv
10 | applinks:app.bcc.media
11 |
12 |
13 |
--------------------------------------------------------------------------------
/ios/Runner/Entitlements/Entitlements-kids.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | aps-environment
6 | development
7 | com.apple.developer.associated-domains
8 |
9 | applinks:app.biblekids.io
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 | #import "SchemePreActions.h"
3 |
--------------------------------------------------------------------------------
/ios/Runner/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/ios/Runner/logo.png
--------------------------------------------------------------------------------
/ios/RunnerUITests/RunnerUITests.m:
--------------------------------------------------------------------------------
1 | @import XCTest;
2 | @import patrol;
3 |
4 | PATROL_INTEGRATION_TEST_IOS_RUNNER(RunnerUITests)
5 |
--------------------------------------------------------------------------------
/kids/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .build/
9 | .buildlog/
10 | .history
11 | .svn/
12 | .swiftpm/
13 | migrate_working_dir/
14 |
15 | # IntelliJ related
16 | *.iml
17 | *.ipr
18 | *.iws
19 | .idea/
20 |
21 | # The .vscode folder contains launch configuration and tasks you configure in
22 | # VS Code which you may wish to be included in version control, so this line
23 | # is commented out by default.
24 | #.vscode/
25 |
26 | # Flutter/Dart/Pub related
27 | **/doc/api/
28 | **/ios/Flutter/.last_build_id
29 | .dart_tool/
30 | .flutter-plugins
31 | .flutter-plugins-dependencies
32 | .packages
33 | .pub-cache/
34 | .pub/
35 | /build/
36 |
37 | # Symbolication related
38 | app.*.symbols
39 |
40 | # Obfuscation related
41 | app.*.map.json
42 |
43 | # Android Studio will place build artifacts here
44 | /android/app/debug
45 | /android/app/profile
46 | /android/app/release
47 |
--------------------------------------------------------------------------------
/kids/.graphqlrc.yml:
--------------------------------------------------------------------------------
1 | schema: "../lib/graphql/schema/*.graphql"
2 | documents: "lib/graphql/queries/*.graphql"
3 |
--------------------------------------------------------------------------------
/kids/README.md:
--------------------------------------------------------------------------------
1 | # kids
2 |
3 | A new Flutter project.
4 |
5 | ## Getting Started
6 |
7 | This project is a starting point for a Flutter application.
8 |
9 | A few resources to get you started if this is your first Flutter project:
10 |
11 | - [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
12 | - [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
13 |
14 | For help getting started with Flutter development, view the
15 | [online documentation](https://docs.flutter.dev/), which offers tutorials,
16 | samples, guidance on mobile development, and a full API reference.
17 |
--------------------------------------------------------------------------------
/kids/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/kids/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | -dontwarn com.sun.jna.FunctionMapper
2 | -dontwarn com.sun.jna.JNIEnv
3 | -dontwarn com.sun.jna.Library
4 | -dontwarn com.sun.jna.Native
5 | -dontwarn com.sun.jna.Platform
6 | -dontwarn edu.umd.cs.findbugs.annotations.SuppressFBWarnings
7 | -dontwarn java.lang.instrument.ClassDefinition
8 | -dontwarn java.lang.instrument.UnmodifiableClassException
9 | -dontwarn java.lang.management.ManagementFactory
10 | -dontwarn java.lang.management.RuntimeMXBean
11 | -dontwarn org.mockito.internal.creation.bytebuddy.inject.MockMethodDispatcher
--------------------------------------------------------------------------------
/kids/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/kids/android/app/src/main/kotlin/media/bcc/kids_app/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package media.bcc.kids
2 |
3 | import io.flutter.embedding.android.FlutterFragmentActivity
4 |
5 | class MainActivity : FlutterFragmentActivity() {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/kids/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/kids/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/kids/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/kids/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/kids/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/kids/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/kids/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/kids/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/kids/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '2.1.0'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:8.10.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | mavenCentral()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | tasks.register("clean", Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/kids/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx6g
2 |
3 | android.useAndroidX=true
4 | android.enableJetifier=false
5 | android.nonTransitiveRClass=false
6 | android.nonFinalResIds=false
7 |
8 | kotlin.code.style=official
--------------------------------------------------------------------------------
/kids/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon May 26 09:03:23 CEST 2025
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
5 | networkTimeout=10000
6 | validateDistributionUrl=true
7 | zipStoreBase=GRADLE_USER_HOME
8 | zipStorePath=wrapper/dists
9 |
--------------------------------------------------------------------------------
/kids/android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | def flutterSdkPath = {
3 | def properties = new Properties()
4 | file("local.properties").withInputStream { properties.load(it) }
5 | def flutterSdkPath = properties.getProperty("flutter.sdk")
6 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
7 | return flutterSdkPath
8 | }
9 | settings.ext.flutterSdkPath = flutterSdkPath()
10 |
11 | includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
12 |
13 | repositories {
14 | google()
15 | mavenCentral()
16 | gradlePluginPortal()
17 | }
18 | }
19 |
20 | plugins {
21 | id "dev.flutter.flutter-plugin-loader" version "1.0.0"
22 | id "com.android.application" version '8.10.0' apply false
23 | id "org.jetbrains.kotlin.android" version "2.1.0" apply false
24 | }
25 |
26 | include ":app"
--------------------------------------------------------------------------------
/kids/assets/flavors/prod/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/flavors/prod/logo.png
--------------------------------------------------------------------------------
/kids/assets/flavors/prod/logo_anim.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/flavors/prod/logo_anim.mp4
--------------------------------------------------------------------------------
/kids/assets/flavors/prod/logo_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/flavors/prod/logo_icon.png
--------------------------------------------------------------------------------
/kids/assets/flavors/prod/logo_icon_square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/flavors/prod/logo_icon_square.png
--------------------------------------------------------------------------------
/kids/assets/flavors/prod/logo_neg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/flavors/prod/logo_neg.png
--------------------------------------------------------------------------------
/kids/assets/flavors/prod/onboarding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/flavors/prod/onboarding.png
--------------------------------------------------------------------------------
/kids/assets/fonts/ClashDisplay/ClashDisplay-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/ClashDisplay/ClashDisplay-Bold.otf
--------------------------------------------------------------------------------
/kids/assets/fonts/ClashDisplay/ClashDisplay-Extralight.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/ClashDisplay/ClashDisplay-Extralight.otf
--------------------------------------------------------------------------------
/kids/assets/fonts/ClashDisplay/ClashDisplay-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/ClashDisplay/ClashDisplay-Light.otf
--------------------------------------------------------------------------------
/kids/assets/fonts/ClashDisplay/ClashDisplay-Medium.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/ClashDisplay/ClashDisplay-Medium.otf
--------------------------------------------------------------------------------
/kids/assets/fonts/ClashDisplay/ClashDisplay-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/ClashDisplay/ClashDisplay-Regular.otf
--------------------------------------------------------------------------------
/kids/assets/fonts/ClashDisplay/ClashDisplay-Semibold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/ClashDisplay/ClashDisplay-Semibold.otf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-Black.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-BlackItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-BlackItalic.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-Bold.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-BoldItalic.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-ExtraBold.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-ExtraBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-ExtraBoldItalic.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-ExtraLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-ExtraLight.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-ExtraLightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-ExtraLightItalic.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-Italic.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-Light.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-LightItalic.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-Medium.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-MediumItalic.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-Regular.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-SemiBold.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-SemiBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-SemiBoldItalic.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-Thin.ttf
--------------------------------------------------------------------------------
/kids/assets/fonts/NotoSans/NotoSans-ThinItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/fonts/NotoSans/NotoSans-ThinItalic.ttf
--------------------------------------------------------------------------------
/kids/assets/sounds/button-1_push.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/sounds/button-1_push.wav
--------------------------------------------------------------------------------
/kids/assets/sounds/button-1_release.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/assets/sounds/button-1_release.wav
--------------------------------------------------------------------------------
/kids/build.yaml:
--------------------------------------------------------------------------------
1 | targets:
2 | $default:
3 | builders:
4 | graphql_codegen:
5 | options:
6 | assetsPath: lib/graphql/**
7 | clients:
8 | - graphql
9 | - graphql_flutter
10 |
--------------------------------------------------------------------------------
/kids/devtools_options.yaml:
--------------------------------------------------------------------------------
1 | description: This file stores settings for Dart & Flutter DevTools.
2 | documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
3 | extensions:
4 |
--------------------------------------------------------------------------------
/kids/firebase/default/firebase_app_id_file.json:
--------------------------------------------------------------------------------
1 | {
2 | "file_generated_by": "FlutterFire CLI",
3 | "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
4 | "GOOGLE_APP_ID": "1:617519323732:ios:66c2b6796bb6e59689ebc1",
5 | "FIREBASE_PROJECT_ID": "btv-platform-prod-2",
6 | "GCM_SENDER_ID": "617519323732"
7 | }
--------------------------------------------------------------------------------
/kids/flutter_launcher_icons.yaml:
--------------------------------------------------------------------------------
1 | flutter_launcher_icons:
2 | android: true
3 | ios: true
4 | remove_alpha_ios: true
5 | image_path: "assets/flavors/prod/logo_icon.png"
6 | image_path_ios: "assets/flavors/prod/logo_icon_square.png"
7 |
--------------------------------------------------------------------------------
/kids/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/kids/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 13.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/kids/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/kids/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/kids/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/kids/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/kids/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/kids/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/kids/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/kids/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/kids/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import FirebaseCore
2 | import Flutter
3 | import UIKit
4 |
5 | @main
6 | @objc class AppDelegate: FlutterAppDelegate {
7 | override func application(
8 | _ application: UIApplication,
9 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
10 | ) -> Bool {
11 | FirebaseApp.configure()
12 | GeneratedPluginRegistrant.register(with: self)
13 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "background.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "LaunchImage.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "LaunchImage@2x.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "LaunchImage@3x.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/kids/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/kids/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/kids/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/kids/ios/Runner/Runner.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | aps-environment
6 | development
7 | com.apple.developer.associated-domains
8 |
9 | applinks:app.biblekids.io
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/kids/ios/Runner/firebase_app_id_file.json:
--------------------------------------------------------------------------------
1 | {
2 | "file_generated_by": "FlutterFire CLI",
3 | "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
4 | "GOOGLE_APP_ID": "1:617519323732:ios:66c2b6796bb6e59689ebc1",
5 | "FIREBASE_PROJECT_ID": "btv-platform-prod-2",
6 | "GCM_SENDER_ID": "617519323732"
7 | }
--------------------------------------------------------------------------------
/kids/ios/RunnerTests/RunnerTests.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 | import XCTest
4 |
5 | class RunnerTests: XCTestCase {
6 |
7 | func testExample() {
8 | // If you add code to the Runner application, consider adding tests here.
9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/kids/lib/app_root_inner.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_core/bccm_core.dart';
2 | import 'package:bccm_core/platform.dart';
3 | import 'package:flutter/material.dart';
4 | import 'package:hooks_riverpod/hooks_riverpod.dart';
5 | import 'package:brunstadtv_app/components/misc/app_update_dialog.dart';
6 |
7 | class AppRootInner extends HookConsumerWidget {
8 | const AppRootInner({super.key, required this.child});
9 |
10 | final Widget child;
11 |
12 | @override
13 | Widget build(BuildContext context, WidgetRef ref) {
14 | ref.listen(appConfigProvider, (prev, next) {
15 | if (next == null) return;
16 | final packageInfo = ref.read(packageInfoProvider);
17 | if (isOldAppVersion(current: packageInfo.version, minimum: next.application.clientVersion)) {
18 | showDialog(
19 | context: context,
20 | builder: (context) => const AppUpdateDialog(),
21 | );
22 | }
23 | });
24 | return child;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/kids/lib/components/buttons/stack_close_button.dart:
--------------------------------------------------------------------------------
1 | import 'package:auto_route/auto_route.dart';
2 | import 'package:bccm_core/design_system.dart';
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_svg/svg.dart';
5 | import 'package:kids/helpers/svg_icons.dart';
6 | import 'package:responsive_framework/responsive_framework.dart';
7 |
8 | class StackCloseButton extends StatelessWidget {
9 | const StackCloseButton({
10 | super.key,
11 | });
12 |
13 | @override
14 | Widget build(BuildContext context) {
15 | final bp = ResponsiveBreakpoints.of(context);
16 | final design = DesignSystem.of(context);
17 | return Positioned(
18 | top: 0,
19 | left: 0,
20 | child: SafeArea(
21 | child: Padding(
22 | padding: EdgeInsets.all(bp.smallerThan(TABLET) ? 20 : 40),
23 | child: design.buttons.responsive(
24 | labelText: '',
25 | onPressed: () => context.router.maybePop(),
26 | image: SvgPicture.string(SvgIcons.close),
27 | ),
28 | ),
29 | ),
30 | );
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/kids/lib/helpers/animation.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter_animate/flutter_animate.dart';
2 |
3 | extension AnimationLoop on Animate {
4 | Animate loop(int count, Animate Function(Animate a) builder) {
5 | var temp = this;
6 | for (var i = 0; i < count; i++) {
7 | temp = builder(temp);
8 | }
9 | return temp;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/kids/lib/providers/unleash.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_core/bccm_core.dart';
2 | import 'package:bccm_core/platform.dart';
3 | import 'package:brunstadtv_app/providers/settings.dart';
4 |
5 | final unleashContextProviderOverride = unleashContextProvider.overrideWith((ref) async {
6 | final anonymousId = await ref.watch(analyticsProvider.select((value) => value.getAnonymousId()));
7 | return getStandardUnleashContext(
8 | userId: anonymousId,
9 | isBetaTester: ref.watch(settingsProvider.select((s) => s.isBetaTester)),
10 | appVersion: formatAppVersion(ref.watch(packageInfoProvider)),
11 | appBuildNumber: ref.watch(packageInfoProvider.select((pi) => pi.buildNumber)),
12 | appLanguage: ref.watch(settingsProvider.select((s) => s.appLanguage.languageCode)),
13 | );
14 | });
15 |
--------------------------------------------------------------------------------
/kids/lib/screens/settings/contact.dart:
--------------------------------------------------------------------------------
1 | import 'package:auto_route/auto_route.dart';
2 | import 'package:brunstadtv_app/screens/settings/contact_public.dart' as original;
3 |
4 | @RoutePage()
5 | class ContactScreen extends original.ContactPublicScreen {
6 | const ContactScreen({super.key});
7 | }
8 |
--------------------------------------------------------------------------------
/kids/lib/screens/settings/device_info.dart:
--------------------------------------------------------------------------------
1 | import 'package:auto_route/auto_route.dart';
2 | import 'package:brunstadtv_app/screens/settings/device_info.dart' as original;
3 |
4 | @RoutePage()
5 | class DeviceInfoScreen extends original.DeviceInfoScreen {
6 | const DeviceInfoScreen({super.key});
7 | }
8 |
--------------------------------------------------------------------------------
/kids/lib/screens/settings/extra_usergroups.dart:
--------------------------------------------------------------------------------
1 | import 'package:auto_route/auto_route.dart';
2 | import 'package:brunstadtv_app/screens/settings/extra_usergroups.dart' as original;
3 |
4 | @RoutePage()
5 | class ExtraUsergroupsScreen extends original.ExtraUsergroupsScreen {
6 | const ExtraUsergroupsScreen({super.key});
7 | }
8 |
--------------------------------------------------------------------------------
/kids/lib/screens/settings/privacy_policy.dart:
--------------------------------------------------------------------------------
1 | import 'package:auto_route/auto_route.dart';
2 | import 'package:brunstadtv_app/screens/settings/privacy_policy.dart' as original;
3 |
4 | @RoutePage()
5 | class PrivacyPolicyScreen extends original.PrivacyPolicyScreen {
6 | const PrivacyPolicyScreen({super.key});
7 | }
8 |
--------------------------------------------------------------------------------
/kids/lib/screens/settings/terms_of_use.dart:
--------------------------------------------------------------------------------
1 | import 'package:auto_route/auto_route.dart';
2 | import 'package:brunstadtv_app/screens/settings/terms_of_use.dart' as original;
3 |
4 | @RoutePage()
5 | class TermsOfUseScreen extends original.TermsOfUseScreen {
6 | const TermsOfUseScreen({super.key});
7 | }
8 |
--------------------------------------------------------------------------------
/l10n.yaml:
--------------------------------------------------------------------------------
1 | arb-dir: lib/l10n
2 | template-arb-file: bccm_en.arb
3 | output-localization-file: app_localizations.dart
4 | output-class: S
5 | output-dir: lib/l10n
6 | synthetic-package: false
7 | nullable-getter: false
--------------------------------------------------------------------------------
/lib/components/badges/offline_badge.dart:
--------------------------------------------------------------------------------
1 | import 'package:brunstadtv_app/components/badges/icon_badge.dart';
2 | import 'package:brunstadtv_app/helpers/svg_icons.dart';
3 | import 'package:brunstadtv_app/l10n/app_localizations.dart';
4 | import 'package:bccm_core/design_system.dart';
5 | import 'package:flutter/material.dart';
6 | import 'package:flutter_svg/flutter_svg.dart';
7 |
8 | class OfflineBadge extends StatelessWidget {
9 | const OfflineBadge({super.key});
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | final design = DesignSystem.of(context);
14 | return IconBadge(
15 | icon: SvgPicture.string(
16 | SvgIcons.play,
17 | height: 8,
18 | colorFilter: ColorFilter.mode(design.colors.onTint.withOpacity(0.3), BlendMode.srcIn),
19 | ),
20 | label: S.of(context).offline.toUpperCase(),
21 | color: design.colors.onTint.withOpacity(0.2),
22 | );
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/components/badges/watched_badge.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'package:bccm_core/design_system.dart';
4 |
5 | class WatchedBadge extends StatelessWidget {
6 | const WatchedBadge({super.key});
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Container(
11 | padding: const EdgeInsets.symmetric(horizontal: 2),
12 | decoration: BoxDecoration(
13 | color: DesignSystem.of(context).colors.background1.withOpacity(0.7),
14 | borderRadius: BorderRadius.circular(2),
15 | ),
16 | child: Image.asset('assets/icons/Seen.png'),
17 | );
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/lib/components/episode/episode_related.dart:
--------------------------------------------------------------------------------
1 | import 'package:brunstadtv_app/components/thumbnails/grid/thumbnail_grid.dart';
2 | import 'package:bccm_core/platform.dart';
3 | import 'package:brunstadtv_app/helpers/router/navigation_override.dart';
4 | import 'package:flutter/material.dart';
5 |
6 | class EpisodeRelated extends StatelessWidget {
7 | const EpisodeRelated({
8 | super.key,
9 | required this.episode,
10 | });
11 |
12 | final Query$FetchEpisode$episode episode;
13 |
14 | @override
15 | Widget build(BuildContext context) {
16 | return Column(
17 | crossAxisAlignment: CrossAxisAlignment.start,
18 | children: [
19 | Padding(
20 | padding: const EdgeInsets.all(16),
21 | child: NavigationOverride(
22 | pushInsteadOfReplace: true,
23 | child: ThumbnailGrid(
24 | gridSize: Enum$GridSectionSize.half,
25 | sectionItems: episode.relatedItems?.items ?? [],
26 | ),
27 | ),
28 | )
29 | ],
30 | );
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/lib/components/misc/app_version.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_core/bccm_core.dart';
2 | import 'package:flutter/material.dart';
3 | import 'package:flutter_hooks/flutter_hooks.dart';
4 | import 'package:package_info_plus/package_info_plus.dart';
5 |
6 | import '../../../l10n/app_localizations.dart';
7 | import 'package:bccm_core/design_system.dart';
8 |
9 | class AppVersion extends HookWidget {
10 | const AppVersion({super.key});
11 |
12 | @override
13 | Widget build(BuildContext context) {
14 | final snapshot = useFuture(useMemoized(() => PackageInfo.fromPlatform().then((value) => formatAppVersion(value))));
15 | if (snapshot.hasData) {
16 | return SelectableText(
17 | '${S.of(context).version}: ${snapshot.data!}',
18 | style: DesignSystem.of(context).textStyles.caption1,
19 | textAlign: TextAlign.center,
20 | );
21 | } else {
22 | return const Text('');
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/components/misc/see_more.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_svg/svg.dart';
3 |
4 | import '../../helpers/svg_icons.dart';
5 | import '../../l10n/app_localizations.dart';
6 | import 'package:bccm_core/design_system.dart';
7 |
8 | class SeeMoreSlot extends StatelessWidget {
9 | const SeeMoreSlot({super.key, required this.onTap});
10 |
11 | final void Function() onTap;
12 |
13 | @override
14 | Widget build(BuildContext context) {
15 | return GestureDetector(
16 | onTap: onTap,
17 | child: Align(
18 | alignment: Alignment.bottomRight,
19 | child: Row(
20 | mainAxisSize: MainAxisSize.min,
21 | children: [
22 | Text(S.of(context).seeMore, style: DesignSystem.of(context).textStyles.button2),
23 | SvgPicture.string(SvgIcons.right),
24 | ],
25 | ),
26 | ),
27 | );
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lib/components/player/custom_cast_player.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_player/bccm_player.dart';
2 | import 'package:flutter/material.dart';
3 | import 'package:flutter_svg/svg.dart';
4 |
5 | class CustomCastPlayerView extends StatelessWidget {
6 | const CustomCastPlayerView({super.key});
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return InkWell(
11 | onTap: () {
12 | BccmPlayerInterface.instance.openExpandedCastController();
13 | },
14 | splashColor: Colors.transparent,
15 | child: ClipRect(
16 | child: AspectRatio(
17 | aspectRatio: 16 / 9,
18 | child: Container(
19 | decoration: const BoxDecoration(color: Color.fromARGB(255, 29, 40, 56)),
20 | child: SvgPicture.asset('assets/images/chromecast_bg.svg', fit: BoxFit.cover, semanticsLabel: 'Casting'),
21 | ),
22 | ),
23 | ),
24 | );
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/components/shorts/short_scroll_view.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'short_scroll_view.dart';
4 |
5 | // **************************************************************************
6 | // RiverpodGenerator
7 | // **************************************************************************
8 |
9 | String _$wakeLockCountHash() => r'c1e1fc37ac3f770c568304e29ea863d971bebd3e';
10 |
11 | /// See also [WakeLockCount].
12 | @ProviderFor(WakeLockCount)
13 | final wakeLockCountProvider =
14 | AutoDisposeNotifierProvider.internal(
15 | WakeLockCount.new,
16 | name: r'wakeLockCountProvider',
17 | debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
18 | ? null
19 | : _$wakeLockCountHash,
20 | dependencies: null,
21 | allTransitiveDependencies: null,
22 | );
23 |
24 | typedef _$WakeLockCount = AutoDisposeNotifier;
25 | // ignore_for_file: type=lint
26 | // ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
27 |
--------------------------------------------------------------------------------
/lib/components/status/loading_generic.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_riverpod/flutter_riverpod.dart';
3 |
4 | import '../../l10n/app_localizations.dart';
5 | import 'package:bccm_core/design_system.dart';
6 | import 'loading_indicator.dart';
7 |
8 | class LoadingGeneric extends ConsumerWidget {
9 | const LoadingGeneric({super.key, this.text});
10 |
11 | final String? text;
12 |
13 | @override
14 | Widget build(BuildContext context, WidgetRef ref) {
15 | return Center(
16 | child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [
17 | Container(
18 | margin: const EdgeInsets.only(bottom: 12),
19 | child: const LoadingIndicator(),
20 | ),
21 | Text(
22 | text ?? S.of(context).loadingContent,
23 | style: DesignSystem.of(context).textStyles.body2,
24 | ),
25 | ]),
26 | );
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lib/components/status/loading_indicator.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class LoadingIndicator extends StatelessWidget {
4 | const LoadingIndicator({super.key, this.width, this.height});
5 |
6 | final double? width;
7 | final double? height;
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return RepaintBoundary(
12 | child: SizedBox(
13 | width: width ?? 32,
14 | height: height ?? 32,
15 | child: const CircularProgressIndicator(strokeWidth: 2),
16 | ),
17 | );
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/lib/components/thumbnails/misc/episode_duration.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'package:bccm_core/design_system.dart';
4 |
5 | class EpisodeDuration extends StatelessWidget {
6 | final String duration;
7 |
8 | const EpisodeDuration({super.key, required this.duration});
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Container(
13 | height: 12,
14 | padding: const EdgeInsets.symmetric(horizontal: 4),
15 | decoration: BoxDecoration(
16 | color: DesignSystem.of(context).colors.background1.withOpacity(0.7),
17 | borderRadius: BorderRadius.circular(2),
18 | ),
19 | child: Text(
20 | duration,
21 | style: DesignSystem.of(context).textStyles.caption3.copyWith(color: DesignSystem.of(context).colors.onTint),
22 | ),
23 | );
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/components/web/dialog_on_web.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/foundation.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | class DialogOnWeb extends StatelessWidget {
5 | const DialogOnWeb({super.key, required this.child});
6 |
7 | final Widget child;
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | if (!kIsWeb) return child;
12 | return Dialog(
13 | child: ClipRRect(
14 | borderRadius: BorderRadius.circular(8),
15 | child: SizedBox(
16 | width: 500,
17 | height: 800,
18 | child: child,
19 | ),
20 | ),
21 | );
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/env/.env.dart.template:
--------------------------------------------------------------------------------
1 | part of 'env.dart';
2 |
3 | class _Secrets {
4 | static const String npawAccountCode = "$NPAW_ACCOUNT_CODE"; // can be ''
5 | static const String rudderstackWriteKey = "$RUDDERSTACK_WRITE_KEY"; // Must not be empty. Anything goes, e.g. 'dev'
6 | static const String webUrl = "$WEB_URL"; // Can be ''
7 | static const bool enableStudy = $ENABLE_STUDY; // true for dev
8 | static const String unleashClientKey = "$UNLEASH_CLIENT_KEY"; // can be ''
9 | static const String unleashProxyUrl = "$UNLEASH_PROXY"; // can be ''
10 | static const String unleashAppName = "$UNLEASH_APP_NAME"; // can be ''
11 | static const bool forceFlutterControls = true;
12 | static const bool forceShorts = false;
13 | static const String sentryDsn = "$SENTRY_DSN"; // If it is '', Sentry will not send any events
14 | static const String sentryDsnKids = "$SENTRY_DSN_KIDS";
15 | static const String bmmApiUrl = "$BMM_API_URL";
16 | }
17 |
--------------------------------------------------------------------------------
/lib/helpers/analytics.dart:
--------------------------------------------------------------------------------
1 | import 'package:auto_route/auto_route.dart';
2 | import 'package:brunstadtv_app/helpers/constants.dart';
3 | import 'package:collection/collection.dart';
4 | import 'package:flutter/material.dart';
5 |
6 | class AnalyticsPageCodes {
7 | const AnalyticsPageCodes._();
8 | static const String signup = 'signup';
9 | static const String signupEmail = 'signup-email';
10 | static const String signupPassword = 'signup-password';
11 | static const String signupName = 'signup-name';
12 | static const String signupBirthdate = 'signup-birthdate';
13 | static const String signupDone = 'signup-done';
14 | static const String verifyEmail = 'verify-email';
15 | }
16 |
17 | String? analyticsNameForRouteName(BuildContext context, String pageName) {
18 | return context.router.matcher.collection.routes.firstWhereOrNull((element) => element.name == pageName)?.meta[RouteMetaConstants.analyticsName];
19 | }
20 |
--------------------------------------------------------------------------------
/lib/helpers/bmm/bmm_navigation.dart:
--------------------------------------------------------------------------------
1 | import 'package:url_launcher/url_launcher.dart';
2 |
3 | Future openBmmPage(String path) async {
4 | final url = Uri.https('bmm.bcc.media', path);
5 | if (await canLaunchUrl(url)) {
6 | await launchUrl(
7 | url,
8 | mode: LaunchMode.externalApplication,
9 | );
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/helpers/forms/range_input_formatter.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/services.dart';
2 |
3 | // Based on https://stackoverflow.com/a/68072967
4 | class RangeInputFormatter extends TextInputFormatter {
5 | final int min;
6 | final int max;
7 |
8 | RangeInputFormatter({required this.min, required this.max});
9 |
10 | @override
11 | TextEditingValue formatEditUpdate(
12 | TextEditingValue oldValue,
13 | TextEditingValue newValue,
14 | ) {
15 | if (newValue.text == '') {
16 | return newValue;
17 | }
18 | final newInt = int.tryParse(newValue.text);
19 | if (newInt == null || newInt < min) {
20 | return const TextEditingValue().copyWith(text: min.toString());
21 | } else {
22 | return newInt > max ? oldValue : newValue;
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/lib/helpers/permanent_cache_manager.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter_cache_manager/flutter_cache_manager.dart';
2 |
3 | class PermanentCacheManager extends CacheManager with ImageCacheManager {
4 | static const key = 'permanentCache';
5 |
6 | static final PermanentCacheManager _instance = PermanentCacheManager._();
7 |
8 | factory PermanentCacheManager() {
9 | return _instance;
10 | }
11 |
12 | PermanentCacheManager._()
13 | : super(
14 | Config(
15 | key,
16 | stalePeriod: const Duration(days: 365 * 10),
17 | ),
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/lib/helpers/router/navigation_override.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/widgets.dart';
2 |
3 | class NavigationOverride extends InheritedWidget {
4 | const NavigationOverride({super.key, required this.pushInsteadOfReplace, required super.child});
5 |
6 | final bool pushInsteadOfReplace;
7 |
8 | static NavigationOverride? of(BuildContext context) {
9 | final NavigationOverride? result = context.dependOnInheritedWidgetOfExactType();
10 | return result;
11 | }
12 |
13 | @override
14 | bool updateShouldNotify(NavigationOverride oldWidget) => pushInsteadOfReplace != oldWidget.pushInsteadOfReplace;
15 | }
16 |
--------------------------------------------------------------------------------
/lib/helpers/sections.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_core/platform.dart';
2 |
3 | bool sectionIsVertical(element) =>
4 | element is Fragment$Section$$ListSection ||
5 | element is Fragment$Section$$DefaultGridSection ||
6 | element is Fragment$Section$$IconGridSection ||
7 | element is Fragment$Section$$PosterGridSection;
8 |
--------------------------------------------------------------------------------
/lib/helpers/share_extension/share_extension.dart:
--------------------------------------------------------------------------------
1 | export 'share_extension_shim.dart' if (dart.library.html) 'share_extension_web.dart';
2 |
--------------------------------------------------------------------------------
/lib/helpers/share_extension/share_extension_shim.dart:
--------------------------------------------------------------------------------
1 | import 'dart:ui';
2 |
3 | import 'package:share_plus/share_plus.dart';
4 |
5 | extension ShareUrl on Share {
6 | Future shareUrl(
7 | String url, {
8 | String? title,
9 | Rect? sharePositionOrigin,
10 | }) async {
11 | await Share.share(
12 | url,
13 | sharePositionOrigin: sharePositionOrigin,
14 | );
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/lib/helpers/share_extension/share_extension_web.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: avoid_web_libraries_in_flutter
2 |
3 | import 'dart:html' as html;
4 | import 'dart:ui';
5 |
6 | import 'package:share_plus/share_plus.dart';
7 |
8 | extension ShareUrl on Share {
9 | Future shareUrl(
10 | String url, {
11 | String? title,
12 | Rect? sharePositionOrigin,
13 | }) async {
14 | html.window.navigator.share({
15 | 'url': url,
16 | if (title != null) 'title': title,
17 | });
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/lib/helpers/widget_keys.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/foundation.dart';
2 |
3 | typedef K = WidgetKeys;
4 |
5 | class WidgetKeys {
6 | const WidgetKeys._();
7 |
8 | static const privacyPolicyAgreeSwitch = Key('privacyPolicyAgreeSwitch');
9 | static const registerButton = Key('registerButton');
10 | static const exploreButton = Key('exploreButton');
11 | static const playPoster = Key('playPoster');
12 | static const backButton = Key('backButton');
13 | static const bottomSheetMiniPlayer = Key('bottomSheetMiniPlayer');
14 | static const episodePageEpisodeTitle = Key('episodePageEpisodeTitle');
15 | static const miniPlayerTitle = Key('miniPlayerTitle');
16 | static const signInButton = Key('signInButton');
17 | static const signUpButton = Key('signUpButton');
18 | static const liveTabButton = Key('liveTabButton');
19 | }
20 |
--------------------------------------------------------------------------------
/lib/l10n/bccm_bg.arb:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/lib/models/breakpoints.dart:
--------------------------------------------------------------------------------
1 | import 'package:responsive_framework/responsive_framework.dart';
2 |
3 | class BP {
4 | static const String sm = MOBILE;
5 | static const String md = TABLET;
6 | static const String lg = DESKTOP;
7 | static const String xl = 'extraLarge';
8 | static const String xxl = 'extraExtraLarge';
9 | }
10 |
11 | const breakpoints = [
12 | Breakpoint(start: 0, end: 450, name: BP.sm),
13 | Breakpoint(start: 451, end: 800, name: BP.md),
14 | Breakpoint(start: 801, end: 1024, name: BP.lg),
15 | Breakpoint(start: 1025, end: 1920, name: BP.xl),
16 | Breakpoint(start: 1921, end: double.infinity, name: BP.xxl),
17 | ];
18 |
--------------------------------------------------------------------------------
/lib/models/episode_thumbnail_data.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_core/platform.dart';
2 | import 'package:freezed_annotation/freezed_annotation.dart';
3 |
4 | part 'episode_thumbnail_data.freezed.dart';
5 |
6 | @freezed
7 | class EpisodeThumbnailData with _$EpisodeThumbnailData {
8 | const factory EpisodeThumbnailData({
9 | required String title,
10 | int? duration,
11 | String? image,
12 | required bool locked,
13 | int? progress,
14 | String? publishDate,
15 | int? number,
16 | String? showTitle,
17 | int? seasonNumber,
18 | }) = _EpisodeThumbnailData;
19 |
20 | factory EpisodeThumbnailData.fromFragment(Fragment$EpisodeThumbnail e) {
21 | return EpisodeThumbnailData(
22 | title: e.title,
23 | image: e.image,
24 | duration: e.duration,
25 | locked: e.locked,
26 | progress: e.progress,
27 | publishDate: e.publishDate,
28 | number: e.number,
29 | seasonNumber: e.season?.number,
30 | showTitle: e.season?.$show.title,
31 | );
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/lib/models/explore_category.dart:
--------------------------------------------------------------------------------
1 | class ExploreCategory {
2 | final String label;
3 | String image;
4 |
5 | ExploreCategory({required this.label, required this.image}) {
6 | image = 'assets/icons/$image';
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/lib/models/pagination_status.dart:
--------------------------------------------------------------------------------
1 | class PaginationStatus {
2 | bool reachedMax;
3 | int currentOffset;
4 | List items;
5 | PaginationStatus({required this.currentOffset, required this.items, this.reachedMax = false});
6 | }
7 |
--------------------------------------------------------------------------------
/lib/models/survey.dart:
--------------------------------------------------------------------------------
1 | import 'package:freezed_annotation/freezed_annotation.dart';
2 |
3 | part 'survey.freezed.dart';
4 | part 'survey.g.dart';
5 |
6 | @freezed
7 | class CompletedSurveys with _$CompletedSurveys {
8 | const factory CompletedSurveys(List completedSurveys) = _CompletedSurveys;
9 | factory CompletedSurveys.fromJson(Map json) => _$CompletedSurveysFromJson(json);
10 | }
11 |
12 | @freezed
13 | class CompletedSurvey with _$CompletedSurvey {
14 | const factory CompletedSurvey({
15 | required String id,
16 | required DateTime expiry,
17 | }) = _CompletedSurvey;
18 |
19 | factory CompletedSurvey.fromJson(Map json) => _$CompletedSurveyFromJson(json);
20 | }
21 |
--------------------------------------------------------------------------------
/lib/providers/me_provider.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_core/platform.dart';
2 | import 'package:flutter_riverpod/flutter_riverpod.dart';
3 |
4 | final meProvider = FutureProvider((ref) {
5 | return ref.read(bccmGraphQLProvider).query$me().then((value) {
6 | if (value.exception != null) {
7 | throw value.exception!;
8 | }
9 | return value.parsedData;
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/lib/providers/performance_class_provider.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_player/bccm_player.dart';
2 | import 'package:hooks_riverpod/hooks_riverpod.dart';
3 |
4 | final androidPerformanceClassProvider = FutureProvider((ref) {
5 | return BccmPlayerInterface.instance.getAndroidPerformanceClass();
6 | });
7 |
--------------------------------------------------------------------------------
/lib/providers/unleash.dart:
--------------------------------------------------------------------------------
1 | import 'package:bccm_core/bccm_core.dart';
2 | import 'package:bccm_core/platform.dart';
3 | import 'package:brunstadtv_app/providers/settings.dart';
4 |
5 | final unleashContextProviderOverride = unleashContextProvider.overrideWith((ref) async {
6 | return getStandardUnleashContext(
7 | userId: ref.watch(authStateProvider.select((value) => value.user?.bccPersonId)),
8 | gender: ref.watch(authStateProvider.select((value) => value.user?.gender)),
9 | birthDate: ref.watch(authStateProvider.select((value) => value.user?.birthdate)),
10 | isBetaTester: ref.watch(settingsProvider.select((s) => s.isBetaTester)),
11 | appVersion: formatAppVersion(ref.watch(packageInfoProvider)),
12 | appBuildNumber: ref.watch(packageInfoProvider.select((pi) => pi.buildNumber)),
13 | appLanguage: ref.watch(settingsProvider.select((value) => value.appLanguage.languageCode)),
14 | );
15 | });
16 |
--------------------------------------------------------------------------------
/lib/theme/design_system/bccmedia/colors.dart:
--------------------------------------------------------------------------------
1 | import 'dart:ui';
2 |
3 | import 'package:bccm_core/design_system.dart';
4 |
5 | class BccMediaColors extends DesignSystemColors {
6 | BccMediaColors()
7 | : super(
8 | tint1: const Color(0xff6EB0E6),
9 | tint1Dark: const Color(0xff6EB0E6),
10 | tint2: const Color(0xffE63C62),
11 | tint3: const Color(0xff71D2A4),
12 | onTint: const Color(0xffFFFFFF),
13 | label1: const Color(0xffFEFEFE),
14 | label2: const Color(0xffD9E0EB),
15 | label3: const Color(0xffB4C0D2),
16 | label4: const Color(0xff707C8E),
17 | background1: const Color(0xff0D1623),
18 | background2: const Color(0xff1D2838),
19 | separatorOnLight: const Color.fromRGBO(204, 221, 255, 0.1),
20 | separator2: const Color.fromRGBO(204, 221, 255, 0.1),
21 | );
22 | }
23 |
--------------------------------------------------------------------------------
/scripts/check_analytics.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Ensure the URL environment variable is set
4 | # https://analytics-test-webhook/get_data/prod?api_key=THE_API_KEY
5 | if [ -z "$ANALYTICS_WEBHOOK_URL" ]; then
6 | echo "Error: ANALYTICS_WEBHOOK_URL environment variable is not set."
7 | exit 1
8 | fi
9 |
10 | # Fetch data from the provided URL
11 | RESPONSE=$(curl -s "$ANALYTICS_WEBHOOK_URL")
12 |
13 | # Check if the response is empty
14 | if [ -z "$RESPONSE" ] || [ "$RESPONSE" = "[]" ]; then
15 | echo "Error: No data received or data is empty."
16 | exit 1
17 | fi
18 |
19 | # Check for specific events in the response
20 | if echo "$RESPONSE" | grep -q "Application Opened" && \
21 | echo "$RESPONSE" | grep -q "identify" && \
22 | echo "$RESPONSE" | grep -q "featureFlags"; then
23 | echo "Success: Required events found in the response."
24 | exit 0
25 | else
26 | echo "Error: Required events not found in the response."
27 | exit 1
28 | fi
29 |
--------------------------------------------------------------------------------
/submodules/build/.last_build_id:
--------------------------------------------------------------------------------
1 | 6f8190af5d6eca9415b19694c90f1da6
--------------------------------------------------------------------------------
/web-lib/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/web-lib/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/web-lib/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bccm-app-web-lib",
3 | "type": "module",
4 | "scripts": {
5 | "dev": "vite",
6 | "build": "tsc && vite build",
7 | "preview": "vite preview"
8 | },
9 | "devDependencies": {
10 | "@types/node": "^18.15.11",
11 | "typescript": "^4.9.3",
12 | "vite": "^4.2.0"
13 | },
14 | "dependencies": {
15 | "bccm-video-player": "^1.5.0"
16 | }
17 | }
--------------------------------------------------------------------------------
/web-lib/src/main.ts:
--------------------------------------------------------------------------------
1 | import * as bccmVideoPlayer from 'bccm-video-player';
2 | import 'bccm-video-player/css';
3 |
4 | (window as any).externalPackages = {
5 | bccmVideoPlayer
6 | };
7 |
8 | (window as any).bccmVideoPlayer = bccmVideoPlayer;
--------------------------------------------------------------------------------
/web-lib/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/web-lib/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "module": "ESNext",
6 | "lib": ["ESNext", "DOM"],
7 | "moduleResolution": "Node",
8 | "types": ["node"],
9 | "strict": true,
10 | "resolveJsonModule": true,
11 | "isolatedModules": true,
12 | "esModuleInterop": true,
13 | "noEmit": true,
14 | "noUnusedLocals": true,
15 | "noUnusedParameters": true,
16 | "noImplicitReturns": true,
17 | "skipLibCheck": true
18 | },
19 | "include": ["src"]
20 | }
21 |
--------------------------------------------------------------------------------
/web-lib/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/web-lib/vite.config.ts:
--------------------------------------------------------------------------------
1 | // vite.config.js
2 | import { resolve } from 'path'
3 | import { defineConfig } from 'vite'
4 |
5 | export default defineConfig({
6 | define: {
7 | 'process.env': {}
8 | },
9 | build: {
10 | lib: {
11 | entry: resolve(__dirname, 'src/main.ts'),
12 | name: 'BccmAppWebLib',
13 | fileName: 'bccm-app-web-lib',
14 | formats: ['es']
15 | },
16 | outDir: '../web/lib/generated',
17 | rollupOptions: {
18 | external: [],
19 | output: {
20 | globals: {},
21 | assetFileNames: "bccm-app-web-lib.[ext]",
22 | },
23 | },
24 | },
25 | })
--------------------------------------------------------------------------------
/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/favicon.png
--------------------------------------------------------------------------------
/web/firebase-messaging-sw.js:
--------------------------------------------------------------------------------
1 | //
2 | // To resolve error "The script has an unsupported MIME type ('text/html')" from firebase
3 | // https://stackoverflow.com/questions/66641382/the-script-has-an-unsupported-mime-type-text-html
4 | //
--------------------------------------------------------------------------------
/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/web/icons/Icon-maskable-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/icons/Icon-maskable-192.png
--------------------------------------------------------------------------------
/web/icons/Icon-maskable-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/icons/Icon-maskable-512.png
--------------------------------------------------------------------------------
/web/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "BCC Media",
3 | "short_name": "BCC Media",
4 | "start_url": ".",
5 | "display": "standalone",
6 | "background_color": "#0175C2",
7 | "theme_color": "#0175C2",
8 | "description": "BCC Media",
9 | "orientation": "portrait-primary",
10 | "prefer_related_applications": false,
11 | "icons": [
12 | {
13 | "src": "icons/icon-192.png",
14 | "sizes": "192x192",
15 | "type": "image/png"
16 | },
17 | {
18 | "src": "icons/icon-512.png",
19 | "sizes": "512x512",
20 | "type": "image/png"
21 | },
22 | {
23 | "src": "icons/icon-maskable-192.png",
24 | "sizes": "192x192",
25 | "type": "image/png",
26 | "purpose": "maskable"
27 | },
28 | {
29 | "src": "icons/icon-maskable-512.png",
30 | "sizes": "512x512",
31 | "type": "image/png",
32 | "purpose": "maskable"
33 | }
34 | ]
35 | }
--------------------------------------------------------------------------------
/web/splash/img/dark-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/splash/img/dark-1x.png
--------------------------------------------------------------------------------
/web/splash/img/dark-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/splash/img/dark-2x.png
--------------------------------------------------------------------------------
/web/splash/img/dark-3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/splash/img/dark-3x.png
--------------------------------------------------------------------------------
/web/splash/img/dark-4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/splash/img/dark-4x.png
--------------------------------------------------------------------------------
/web/splash/img/light-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/splash/img/light-1x.png
--------------------------------------------------------------------------------
/web/splash/img/light-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/splash/img/light-2x.png
--------------------------------------------------------------------------------
/web/splash/img/light-3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/splash/img/light-3x.png
--------------------------------------------------------------------------------
/web/splash/img/light-4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcc-code/bcc-media-app/c7b861f14d91c3d89ae2b07eacf90a8ce715b4bd/web/splash/img/light-4x.png
--------------------------------------------------------------------------------
/web/splash/splash.js:
--------------------------------------------------------------------------------
1 | function removeSplashFromWeb() {
2 | document.getElementById("splash")?.remove();
3 | document.getElementById("splash-branding")?.remove();
4 | document.body.style.background = "transparent";
5 | }
6 |
--------------------------------------------------------------------------------
/web/splash/style.css:
--------------------------------------------------------------------------------
1 | html {
2 | height: 100%
3 | }
4 |
5 | body {
6 | margin: 0;
7 | min-height: 100%;
8 | background-color: #0D1623;
9 | background-size: 100% 100%;
10 | }
11 |
12 | .center {
13 | margin: 0;
14 | position: absolute;
15 | top: 50%;
16 | left: 50%;
17 | -ms-transform: translate(-50%, -50%);
18 | transform: translate(-50%, -50%);
19 | }
20 |
21 | .contain {
22 | display:block;
23 | width:100%; height:100%;
24 | object-fit: contain;
25 | }
26 |
27 | .stretch {
28 | display:block;
29 | width:100%; height:100%;
30 | }
31 |
32 | .cover {
33 | display:block;
34 | width:100%; height:100%;
35 | object-fit: cover;
36 | }
37 |
38 | .bottom {
39 | position: absolute;
40 | bottom: 0;
41 | left: 50%;
42 | -ms-transform: translate(-50%, 0);
43 | transform: translate(-50%, 0);
44 | }
45 |
46 | .bottomLeft {
47 | position: absolute;
48 | bottom: 0;
49 | left: 0;
50 | }
51 |
52 | .bottomRight {
53 | position: absolute;
54 | bottom: 0;
55 | right: 0;
56 | }
57 |
--------------------------------------------------------------------------------