├── .github
└── ISSUE_TEMPLATE
│ ├── a-bug.md
│ └── feature_request.md
├── .gitignore
├── .metadata
├── README.md
├── android
├── .project
├── .settings
│ └── org.eclipse.buildship.core.prefs
├── app
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ └── org.eclipse.buildship.core.prefs
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── modatwenty
│ │ │ │ └── tunein
│ │ │ │ └── MainActivity.java
│ │ └── res
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── logo.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── logo.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── logo.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── logo.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── logo.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── fonts
├── LigatureSymbols-2.11.ttf
├── boxicons.ttf
└── fa.ttf
├── images
├── artist.jpg
├── blackbgUpnp.png
├── cover.png
└── track.png
├── ios
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ └── contents.xcworkspacedata
└── Runner
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── 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-60x60@2x.png
│ │ ├── Icon-App-60x60@3x.png
│ │ ├── Icon-App-76x76@1x.png
│ │ ├── Icon-App-76x76@2x.png
│ │ └── Icon-App-83.5x83.5@2x.png
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── main.m
├── lib
├── components
│ ├── Album
│ │ └── albumTags.dart
│ ├── AlbumSongCell.dart
│ ├── ArtistCell.dart
│ ├── Tune
│ │ └── songTags.dart
│ ├── albumCard.dart
│ ├── albumSongList.dart
│ ├── appbar.dart
│ ├── artistAlbumsList.dart
│ ├── bottomPanel.dart
│ ├── bottomnavbar.dart
│ ├── card.dart
│ ├── cards
│ │ ├── AnimatedDialog.dart
│ │ ├── PreferedPicks.dart
│ │ ├── expandableItems.dart
│ │ ├── genericItem.dart
│ │ └── optionsCard.dart
│ ├── common
│ │ ├── DefaultArtistWidget.dart
│ │ ├── ShowWithFadeComponent.dart
│ │ ├── selectableTile.dart
│ │ └── trackListDeck.dart
│ ├── controlls.dart
│ ├── customPageView.dart
│ ├── drawer
│ │ ├── DrawerControls.dart
│ │ └── sideDrawer.dart
│ ├── genericSongList.dart
│ ├── gridcell.dart
│ ├── itemListDevider.dart
│ ├── pageheader.dart
│ ├── pagenavheader.dart
│ ├── pagenavheaderitem.dart
│ ├── playing.dart
│ ├── playlistCell.dart
│ ├── scrollbar.dart
│ ├── slider.dart
│ ├── smallControlls.dart
│ ├── songInfoWidget.dart
│ ├── stageScrollingPhysics.dart
│ ├── threeDotPopupMenu.dart
│ ├── trackListDeck.dart
│ └── trackListDeckItem.dart
├── globals.dart
├── main.dart
├── models
│ ├── ContextMenuOption.dart
│ ├── playback.dart
│ └── playerstate.dart
├── pages
│ ├── collection
│ │ ├── collection.page.dart
│ │ ├── favorites.page.dart
│ │ └── playlists.page.dart
│ ├── library
│ │ ├── albums.page.dart
│ │ ├── artists.page.dart
│ │ ├── library.page.dart
│ │ └── tracks.page.dart
│ ├── management
│ │ ├── AddSongsToPlaylist.dart
│ │ └── EditPlaylist.dart
│ ├── metrics
│ │ └── metrics.page.dart
│ ├── search.dart
│ ├── settings
│ │ └── settings.page.dart
│ └── single
│ │ ├── AboutPage.dart
│ │ ├── LandingPage.dart
│ │ ├── playingQueue.dart
│ │ ├── singleAlbum.page.dart
│ │ ├── singleArtistPage.dart
│ │ └── singlePlaylistPage.dart
├── plugins
│ ├── AudioPluginService.dart
│ ├── AudioReceiverService.dart
│ ├── NotificationControlService.dart
│ ├── ThemeReceiverService.dart
│ ├── nano.dart
│ └── upnp.dart
├── root.dart
├── services
│ ├── castService.dart
│ ├── dialogService.dart
│ ├── fileService.dart
│ ├── http
│ │ ├── httpRequests.dart
│ │ ├── requests.dart
│ │ ├── server
│ │ │ └── httpOutgoingServer.dart
│ │ └── utilsRequests.dart
│ ├── isolates
│ │ ├── musicServiceIsolate.dart
│ │ ├── pluginIsolateFunctions.dart
│ │ └── standardIsolateFunctions.dart
│ ├── languageService.dart
│ ├── layout.dart
│ ├── locator.dart
│ ├── memoryCacheService.dart
│ ├── musicMetricsService.dart
│ ├── musicService.dart
│ ├── pageService.dart
│ ├── platformService.dart
│ ├── queueService.dart
│ ├── routes
│ │ └── pageRoutes.dart
│ ├── settingService.dart
│ ├── sideDrawerService.dart
│ ├── themeService.dart
│ └── uiScaleService.dart
├── utils
│ ├── ConversionUtils.dart
│ ├── MathUtils.dart
│ └── messaginUtils.dart
└── values
│ ├── contextMenus.dart
│ └── lists.dart
├── locale
├── en.json
└── es.json
├── pubspec.lock
├── pubspec.yaml
└── screenshots
├── 10.png
├── 11.png
├── 12.png
├── 13.png
├── 14.png
├── 2.jpg
├── 2.png
├── 3.png
├── 4.png
├── 6.png
├── 7.png
├── 8.png
└── 9.png
/.github/ISSUE_TEMPLATE/a-bug.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: A Bug
3 | about: Create and report a bug that was encountered when using the app
4 | title: 'BUG - '
5 | labels: bug
6 | assignees: moda20
7 |
8 | ---
9 |
10 | **Describe the bug**
11 |
12 | A clear and concise description of what the bug is.
13 |
14 | **To Reproduce**
15 |
16 | Steps to reproduce the behavior:
17 | 1. Go to '...'
18 | 2. Click on '....'
19 | 3. Scroll down to '....'
20 | 4. See error
21 |
22 | **Expected behavior**
23 |
24 | A clear and concise description of what you expected to happen.
25 |
26 | **Screenshots**
27 |
28 | If applicable, add screenshots to help explain your problem.
29 |
30 |
31 |
32 | **Smartphone (please complete the following information):**
33 | - Device: [e.g. iPhone6]
34 | - OS: [e.g. iOS8.1]
35 | - Version [e.g. 22]
36 | - App version (if applicable)
37 |
38 | **Additional context**
39 | Add any other context about the problem here.
40 |
41 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea that you want to be implemented or considered
4 | title: 'FEAT - '
5 | labels: enhancement
6 | assignees: moda20
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 |
12 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
13 |
14 | **Describe the solution you'd like**
15 |
16 | A clear and concise description of what you want to happen.
17 |
18 | **Describe alternatives you've considered**
19 |
20 | A clear and concise description of any alternative solutions or features you've considered.
21 |
22 | **Additional context**
23 | Add any other context or screenshots about the feature request here.
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # Visual Studio Code related
19 | .vscode/
20 |
21 | # Flutter/Dart/Pub related
22 | **/doc/api/
23 | .dart_tool/
24 | .flutter-plugins
25 | .packages
26 | .pub-cache/
27 | .pub/
28 | /build/
29 |
30 | # Android related
31 | **/android/**/gradle-wrapper.jar
32 | **/android/.gradle
33 | **/android/captures/
34 | **/android/gradlew
35 | **/android/gradlew.bat
36 | **/android/local.properties
37 | **/android/**/GeneratedPluginRegistrant.java
38 |
39 | # iOS/XCode related
40 | **/ios/**/*.mode1v3
41 | **/ios/**/*.mode2v3
42 | **/ios/**/*.moved-aside
43 | **/ios/**/*.pbxuser
44 | **/ios/**/*.perspectivev3
45 | **/ios/**/*sync/
46 | **/ios/**/.sconsign.dblite
47 | **/ios/**/.tags*
48 | **/ios/**/.vagrant/
49 | **/ios/**/DerivedData/
50 | **/ios/**/Icon?
51 | **/ios/**/Pods/
52 | **/ios/**/.symlinks/
53 | **/ios/**/profile
54 | **/ios/**/xcuserdata
55 | **/ios/.generated/
56 | **/ios/Flutter/App.framework
57 | **/ios/Flutter/Flutter.framework
58 | **/ios/Flutter/Generated.xcconfig
59 | **/ios/Flutter/app.flx
60 | **/ios/Flutter/app.zip
61 | **/ios/Flutter/flutter_assets/
62 | **/ios/ServiceDefinitions.json
63 | **/ios/Runner/GeneratedPluginRegistrant.*
64 |
65 | # Exceptions to above rules.
66 | !**/ios/**/default.mode1v3
67 | !**/ios/**/default.mode2v3
68 | !**/ios/**/default.pbxuser
69 | !**/ios/**/default.perspectivev3
70 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
71 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | #ThisfiletrackspropertiesofthisFlutterproject.
2 | #UsedbyFluttertooltoassesscapabilitiesandperformupgradesetc.
3 | #
4 | #Thisfileshouldbeversioncontrolledandshouldnotbemanuallyedited.
5 |
6 | version:
7 | revision:7a4c33425ddd78c54aba07d86f3f9a4a0051769b
8 | channel:stable
9 |
10 | project_type:app
11 |
12 |
13 |
14 | cherylreneeevans@gmail.com:robert
15 | jacilynn.ferris@yahoo.com:Brian0302
16 | dutch693@gmail.com:d1rrty
17 | kwarren@rochester.rr.com:cookie70
18 | fruffino44@gmail.com:heights29
19 | taylor.elizabeth1288@gmail.com:cubbies12
20 | taliscollier@rocketmail.com:gwernt
21 | duffy.collette@gmail.com:trojans09
22 | ryanknowles51@gmail.com:satie334
23 | nafesahm@gmail.com:shiloh79
24 | pomes1989@gmail:addy13
25 | msgt501@aol.com:millbrook
26 | venusrantoine@yahoo.com:Love2Read
27 | shavonda.snipes@gmail.com:roscoe01
28 | l0v3neena@yahoo.com:sagittarius12
29 | amynj2727@gmail.com:dancing11
30 | falguni24@gmail.com:Dhruvi2008
31 | brandohe@gmail.com:guitar123
32 | marymac66@verizon.net:Avalon15
33 | traceyupton1@gmail.com:tracey
34 | tlfoss@hotmail.com:Design518
35 | alanraulerson@gmail.com:nala0416
36 | pataline2real@gmailcom:september
37 | athomas2781@gmail.com:elaine1960
38 | smiles4fun1@gmail:foghorny
39 | cherne3@live.com:penguin3
40 | aaront22@me.com:Dallas88
41 | antboi256@yahoo.com:nike22
42 | agap71407@optonline..com:bastille
43 | mrbstyle86@yahoo.com:1hairspray
44 | kellyherwig@gmail.com:Cullin77
45 | tracyspaniol@getinshapeforwomen.com:emma2004
46 | ayhan.karagoz@hotmail.com:ayhankaragöz
47 | tarafitz000@gmail.com:Doherty4
48 | frankquiles55@gmail.com:Family1st
49 | delaney0119@gmail.com:spencer50
50 | tinacurry64@gmail.com:maddie73
51 | mfstrojny@yahoo.com:Ronnie10
52 | tlh440@aol.com:elmo1360
53 | ap17182@yahoo.com:Pink1green2
54 | alicianord@gmail.com:duke52
55 | ssblkn@yahoo.com:sammie
56 | joelm289@gmail.com:Killer66
57 | jessicarbackhaus@gmail.com:Back14Haus
58 | coachdbickford@yahoo.com:fatherof3
59 | meghan.jamie3@gmail.com:jamieray
60 | chellebelle2525@gmail.com:Broncos23
61 | latishablue@yahoo.com:Tyshawn1
62 | kjallen22@hotmail.com:mario1974
63 | hindyok05@gmail.com:Triangle05
64 | jbfredette@gmail.com:Garciaparra5
65 | jason.asay@gmail.com:carlos23
66 | jamesvernice@yahoo.com:Jehovah83
67 | eaglesown2036@aol.com:bunny12
68 | connorhealey@rocketmail.com:Olympia1
69 | zmmt7@goldmail.etsu.edu:sdhs2006
70 | wainesh03@gmail.com:Lovegood1
71 | ehawk400]@comcast.net:hawk4000
72 | jaaace421@yahoo.com:70mustang
73 | skipandcheryl57@yahoo.com:Blessed57
74 | ajklingler@me.com:Nathank1
75 | broughtondianne@yahoo.com:Cupcakes1
76 | fawadka@gmail.com:damon123
77 | edward.isaac73@gmail.com:Oscar717
78 | rie.ak\'s@ymail.com:pribadi88
79 | jroeber616@gmail.com:tylerm97
80 | jcutter1980@msn.com:007casino
81 | hobbs54956@gmail.com:hobbes
82 | erbamee@hotmail.com:moss123
83 | lexiemom@msn.com:Goldfish1
84 | theatreenglish1@gmail.com:Ryan123.
85 | mmitchell4553@@hotmail.com:jmichael2
86 | nab2253@gmail.com:cbl3brig
87 | leahreckman@yahoo.com:Annabelle1
88 | 4loveofmary.@gmail.com:sadiebug
89 | sawyeraw@gmail.com:Pickle16
90 | meisskater@gmail:duke1984
91 | skyangelgrace@charter.net:greenbear
92 | bschloffer1221@yahoo.com:Noelle1221
93 | deedgal@sbcglobal.net:deedgal
94 | ellentansey@aol.com:joey1012
95 | jmuncy23@hotmail.com:Cameron01
96 | dlharris189@yahoo.com:shaunny11
97 | charlesbthompson@gmail.com:Newyork21
98 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 🎧 Flutter Music Player [](http://makeapullrequest.com) [](https://codemagic.io/apps/5d29b3b3db951153a6ceef80/5d29b3b3db951153a6ceef7f/latest_build)
2 |
3 |
4 |
5 | ## Contact me
6 |
7 | *email:* kadhem03@gmail.com
8 |
9 | *Gitter:* https://gitter.im/Moda20TuneIn/community
10 |
11 | Thank you in advance 👍
12 |
13 |
14 |
15 | ## Getting Started 🚀
16 |
17 | - Clone the repo
18 | - Install the dependencies by running `flutter packages get`
19 | - Run it with `flutter run` or `flutter run -d android` for a specific platform
20 | - You can build using `flutter build --no-tree-shake-icons` : the tree shake icons argument is a temporary thing until a fix is added in the main channel.
21 |
22 |
23 |
24 | ## Todos
25 |
26 | - [x] Retrieve songs
27 | - [x] Retrieve from SD
28 | - [x] Play
29 | - [x] Pause
30 | - [x] Seek
31 | - [x] Shuffle
32 | - [x] Favorites
33 | - [x] Album list
34 | - [x] Playing queue
35 | - [x] Android X migration
36 | - [x] Notification and Lock Screen Controls
37 | - [x] System integration
38 | - [x] Artist list
39 | - [x] Playlists
40 | - [x] Search songs
41 | - [x] Adding support for artist thumbnail update via online service (Discog Only, for the moment)
42 | - [x] Finishing up the Settings page
43 | - [x] upgrading performance
44 | - [x] Adding Native Media Controls:
45 | - [x] Native Android Media Controls
46 | - [ ] Native iOS Media Controls
47 | - [ ] Adding UPnP Casting
48 | - [x] UPnP
49 | - [x] Basic Http only casting with stable UI integration
50 | - [x] Full Interface and integration and testing
51 | - [ ] Full integration with media keys (headphones, wireless earphones, ...)
52 | - [ ] Implementing private access to files and moving to a HTTPS-only option
53 | - [x] Adding a better landing page :
54 | - [x] Most Played & Random songs
55 | - [x] Top Albums
56 | - [x] Current Queue wheel
57 | - [x] Discover Artists/Albums
58 | - [ ] FTP song registry
59 | - [ ] Media Tags changing, Song and library management
60 | - [ ] adding proper UI scaling
61 | - [ ] Spotify integration
62 |
63 |
64 | ## 📸 ScreenShots
65 | | Track list | bottom panel playing | Main panel playing | Artist List |
66 | | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -----------------------------------------|
67 | |
|
|
|
|
68 |
69 | | Album song list | ALbums List | Home Page | Notification Big Layout Controls |
70 | | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -----------------------------------------|
71 | |
|
|
|
|
72 |
73 | ## Support me
74 |
75 | You can support me by:
76 |
77 | ⭐️ this repo if you like it.
78 |
79 | Buy me a cup of coffee ☕️:
80 |
81 | *NOT there yet*
82 |
83 |
84 |
--------------------------------------------------------------------------------
/android/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | android
4 | Project android created by Buildship.
5 |
6 |
7 |
8 |
9 | org.eclipse.buildship.core.gradleprojectbuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.buildship.core.gradleprojectnature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/android/.settings/org.eclipse.buildship.core.prefs:
--------------------------------------------------------------------------------
1 | arguments=
2 | auto.sync=false
3 | build.scans.enabled=false
4 | connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(5.4))
5 | connection.project.dir=
6 | eclipse.preferences.version=1
7 | gradle.user.home=
8 | java.home=
9 | jvm.arguments=
10 | offline.mode=false
11 | override.workspace.settings=true
12 | show.console.view=true
13 | show.executions.view=true
14 |
--------------------------------------------------------------------------------
/android/app/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/android/app/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | app
4 | Project app created by Buildship.
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.buildship.core.gradleprojectbuilder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.buildship.core.gradleprojectnature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/android/app/.settings/org.eclipse.buildship.core.prefs:
--------------------------------------------------------------------------------
1 | connection.project.dir=..
2 | eclipse.preferences.version=1
3 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion localProperties.getProperty('flutter.compileSdkVersion').toInteger()
30 | ndkVersion flutter.ndkVersion
31 |
32 | compileOptions {
33 | sourceCompatibility JavaVersion.VERSION_1_8
34 | targetCompatibility JavaVersion.VERSION_1_8
35 | }
36 |
37 | kotlinOptions {
38 | jvmTarget = '1.8'
39 | }
40 |
41 | sourceSets {
42 | main.java.srcDirs += 'src/main/kotlin'
43 | }
44 |
45 | defaultConfig {
46 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47 | applicationId "com.modatwenty.tunein"
48 | minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()
49 | targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()
50 | versionCode flutterVersionCode.toInteger()
51 | versionName flutterVersionName
52 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
53 | }
54 |
55 | buildTypes {
56 | release {
57 | // TODO: Add your own signing config for the release build.
58 | // Signing with the debug keys for now, so `flutter run --release` works.
59 | signingConfig signingConfigs.debug
60 | }
61 | }
62 | }
63 |
64 | flutter {
65 | source '../..'
66 | }
67 |
68 | dependencies {
69 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
70 | }
71 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
16 |
17 |
18 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/android/app/src/main/java/com/modatwenty/tunein/MainActivity.java:
--------------------------------------------------------------------------------
1 | package com.modatwenty.tunein;
2 | import io.flutter.embedding.android.FlutterActivity;
3 |
4 |
5 | public class MainActivity extends FlutterActivity {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | -
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-hdpi/logo.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-mdpi/logo.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-xhdpi/logo.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-xxhdpi/logo.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/android/app/src/main/res/mipmap-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 | #7A7A7A
5 | #0044AA
6 | #449DEF
7 | #2F6699
8 | #70C656
9 | #53933F
10 | #F3AE1B
11 | #BB6008
12 | #111111
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.6.10'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:7.1.2'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 |
13 | /*subprojects {
14 | project.configurations.all {
15 | resolutionStrategy.eachDependency { details ->
16 | if (details.requested.group == 'com.android.support'
17 | && !details.requested.name.contains('multidex') ) {
18 | details.useVersion "27.1.1"
19 | }
20 |
21 | if (details.requested.group == 'androidx.versionedparcelable'
22 | && !details.requested.name.contains('versionedparcelable') ) {
23 | details.useVersion "1.1.0"
24 | }
25 |
26 | if (details.requested.group == 'androidx.media'
27 | && !details.requested.name.contains('androidx') ) {
28 | details.useVersion "1.0.1"
29 | }
30 | if (details.requested.group == 'androidx.core'
31 | && !details.requested.name.contains('androidx') ) {
32 | details.useVersion "1.1.0"
33 | }
34 | if (details.requested.group == 'androidx.coordinatorlayout'
35 | && !details.requested.name.contains('androidx') ) {
36 | details.useVersion "1.0.0"
37 | }
38 | if (details.requested.group == 'androidx.arch'
39 | && !details.requested.name.contains('androidx') ) {
40 | details.useVersion "2.0.0"
41 | }
42 | if (details.requested.group == 'androidx.fragment'
43 | && !details.requested.name.contains('androidx') ) {
44 | details.useVersion "1.0.0"
45 | }
46 | }
47 | }
48 | }*/
49 | }
50 |
51 | allprojects {
52 | repositories {
53 | google()
54 | mavenCentral()
55 | }
56 | }
57 |
58 | rootProject.buildDir = '../build'
59 | subprojects {
60 | project.buildDir = "${rootProject.buildDir}/${project.name}"
61 | }
62 | subprojects {
63 | project.evaluationDependsOn(':app')
64 | }
65 |
66 | task clean(type: Delete) {
67 | delete rootProject.buildDir
68 | }
69 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.enableR8=true
3 | android.enableJetifier=true
4 | android.useAndroidX=true
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/fonts/LigatureSymbols-2.11.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/fonts/LigatureSymbols-2.11.ttf
--------------------------------------------------------------------------------
/fonts/boxicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/fonts/boxicons.ttf
--------------------------------------------------------------------------------
/fonts/fa.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/fonts/fa.ttf
--------------------------------------------------------------------------------
/images/artist.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/images/artist.jpg
--------------------------------------------------------------------------------
/images/blackbgUpnp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/images/blackbgUpnp.png
--------------------------------------------------------------------------------
/images/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/images/cover.png
--------------------------------------------------------------------------------
/images/track.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/images/track.png
--------------------------------------------------------------------------------
/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 | 8.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
31 |
32 |
33 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
56 |
58 |
64 |
65 |
66 |
67 |
68 |
69 |
75 |
77 |
83 |
84 |
85 |
86 |
88 |
89 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : FlutterAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.m:
--------------------------------------------------------------------------------
1 | #include "AppDelegate.h"
2 | #include "GeneratedPluginRegistrant.h"
3 |
4 | @implementation AppDelegate
5 |
6 | - (BOOL)application:(UIApplication *)application
7 | didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
8 | [GeneratedPluginRegistrant registerWithRegistry:self];
9 | // Override point for customization after application launch.
10 | return [super application:application didFinishLaunchingWithOptions:launchOptions];
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moda20/flutter-tunein/a6f6f608a6693083f2b26d69965a116ba9528965/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/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/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | music
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIViewControllerBasedStatusBarAppearance
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/ios/Runner/main.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import "AppDelegate.h"
4 |
5 | int main(int argc, char* argv[]) {
6 | @autoreleasepool {
7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/lib/components/albumCard.dart:
--------------------------------------------------------------------------------
1 | import 'dart:io';
2 |
3 | import 'package:Tunein/plugins/nano.dart';
4 | import 'package:Tunein/services/locator.dart';
5 | import 'package:Tunein/services/musicService.dart';
6 | import 'package:flutter/material.dart';
7 | import 'package:Tunein/models/playerstate.dart';
8 | import 'package:flutter/cupertino.dart';
9 | import 'package:Tunein/pages/single/singleAlbum.page.dart';
10 |
11 | import '../globals.dart';
12 |
13 | class AlbumCard extends StatelessWidget {
14 | final Album? _album;
15 | final VoidCallback? onTap;
16 |
17 | AlbumCard({Key? key, required Album album, this.onTap})
18 | : _album = album,
19 | super(key: key);
20 |
21 | @override
22 | Widget build(BuildContext context) {
23 | double paddingOnSide = 4;
24 | double cardHeight = 120;
25 | return Material(
26 | color: Colors.transparent,
27 | child: InkWell(
28 | child: Container(
29 | color: Colors.transparent,
30 | padding: EdgeInsets.symmetric(vertical: 5),
31 | child: Stack(
32 | children: [
33 | Padding(
34 | padding: EdgeInsets.all(paddingOnSide),
35 | child: FadeInImage(
36 | placeholder: AssetImage('images/track.png'),
37 | fadeInDuration: Duration(milliseconds: 200),
38 | fadeOutDuration: Duration(milliseconds: 100),
39 | image: _album!.albumArt != null
40 | ? FileImage(
41 | new File(_album!.albumArt!),
42 | )
43 | : AssetImage('images/track.png')
44 | as ImageProvider