Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,12 @@ dependencies {
implementation kotlinStd7
implementation compat
implementation coreKts

// Exoplayer
implementation 'com.google.android.exoplayer:exoplayer:2.11.3'

implementation exoplayer
implementation constraintLayout
implementation circularImageView

implementation coroutines
implementation coroutinesAndroid
implementation livaDataKts
implementation viewModelKts
}
9 changes: 0 additions & 9 deletions app/src/main/java/com/worldsnas/starplayer/model/Music.kt

This file was deleted.

11 changes: 11 additions & 0 deletions app/src/main/java/com/worldsnas/starplayer/service/model/Music.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.worldsnas.starplayer.service.model

data class Music(
Comment thread
hosseiniSeyRo marked this conversation as resolved.
val id: Int,
val image: String,
val title: String,
val artist: String,
val album: String,
val genre: String,
val duration: Int
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.worldsnas.starplayer.service.repository

import com.worldsnas.starplayer.service.model.Music

object ProjectRepository {

suspend fun fetchMusicList(): List<Music>? {
var data: List<Music> = ArrayList<Music>()
//TODO fetch music list from device or server
data = getDummyData()
return data
}

private suspend fun getDummyData(): List<Music> {
return listOf(
Music(
1,
"https://www.google.com/imgres?imgurl=https%3A%2F%2Fd2uqwoe9jzxxtn.cloudfront.net%2Fimages%2Fmusic%2Fcover%2FReza-Bahram_Divaneh_1542873566.jpg&imgrefurl=https%3A%2F%2Fwww.bia2.com%2Fmusic%2F58424&tbnid=delorUWCaJIxVM&vet=12ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ..i&docid=QbgkPvan3RNPMM&w=640&h=640&q=reza%20bahram&ved=2ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ",
"Divaneh",
"reza bahram",
"album1",
"genre1",
152365
),
Music(
2,
"https://www.google.com/imgres?imgurl=https%3A%2F%2Fd2uqwoe9jzxxtn.cloudfront.net%2Fimages%2Fmusic%2Fcover%2FReza-Bahram_Divaneh_1542873566.jpg&imgrefurl=https%3A%2F%2Fwww.bia2.com%2Fmusic%2F58424&tbnid=delorUWCaJIxVM&vet=12ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ..i&docid=QbgkPvan3RNPMM&w=640&h=640&q=reza%20bahram&ved=2ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ",
"Divaneh",
"reza bahram",
"album2",
"genre2",
152365
),
Music(
3,
"https://www.google.com/imgres?imgurl=https%3A%2F%2Fd2uqwoe9jzxxtn.cloudfront.net%2Fimages%2Fmusic%2Fcover%2FReza-Bahram_Divaneh_1542873566.jpg&imgrefurl=https%3A%2F%2Fwww.bia2.com%2Fmusic%2F58424&tbnid=delorUWCaJIxVM&vet=12ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ..i&docid=QbgkPvan3RNPMM&w=640&h=640&q=reza%20bahram&ved=2ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ",
"Divaneh",
"reza bahram",
"album3",
"genre3",
152365
),
Music(
4,
"https://www.google.com/imgres?imgurl=https%3A%2F%2Fd2uqwoe9jzxxtn.cloudfront.net%2Fimages%2Fmusic%2Fcover%2FReza-Bahram_Divaneh_1542873566.jpg&imgrefurl=https%3A%2F%2Fwww.bia2.com%2Fmusic%2F58424&tbnid=delorUWCaJIxVM&vet=12ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ..i&docid=QbgkPvan3RNPMM&w=640&h=640&q=reza%20bahram&ved=2ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ",
"Divaneh",
"reza bahram",
"album4",
"genre4",
152365
),
Music(
5,
"https://www.google.com/imgres?imgurl=https%3A%2F%2Fd2uqwoe9jzxxtn.cloudfront.net%2Fimages%2Fmusic%2Fcover%2FReza-Bahram_Divaneh_1542873566.jpg&imgrefurl=https%3A%2F%2Fwww.bia2.com%2Fmusic%2F58424&tbnid=delorUWCaJIxVM&vet=12ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ..i&docid=QbgkPvan3RNPMM&w=640&h=640&q=reza%20bahram&ved=2ahUKEwjGjMmMn_7nAhXMGd8KHQ8sBfYQMygAegUIARDWAQ",
"Divaneh",
"reza bahram",
"album5",
"genre5",
152365
)
)
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.worldsnas.starplayer.view
package com.worldsnas.starplayer.view.ui

import android.os.Bundle
import androidx.fragment.app.Fragment
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.worldsnas.starplayer.viewModel

import androidx.lifecycle.*
import com.worldsnas.starplayer.service.model.Music
import com.worldsnas.starplayer.service.repository.ProjectRepository
import kotlinx.coroutines.launch

class MusicListViewModel(private val repository: ProjectRepository) : ViewModel() {

private val _musicList = MutableLiveData<List<Music>>()
val musicList: LiveData<List<Music>> = _musicList

fun fetchMusicList() {
viewModelScope.launch {
_musicList.value = repository.fetchMusicList()
}
}
}
2 changes: 1 addition & 1 deletion app/src/main/res/layout/fragment_player.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
android:layout_height="match_parent"
android:background="#C6C5C5"
android:padding="@dimen/fragment_padding"
tools:context=".view.PlayerFragment">
tools:context=".view.ui.PlayerFragment">

<ImageView
android:id="@+id/iv_musicImage"
Expand Down
11 changes: 8 additions & 3 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,12 @@ ext {

supportLibraryVersion = "1.1.0",
googleMaterialVersion = "1.0.0-rc01",
pagingComponentVersion = "1.0.0-alpha6",
constraintLayoutVersion = "1.1.3",
archComponentVersion = "2.0.0-rc01",
multidexVersion = "2.0.0",

androidKotlinExtVersion1 = "1.0.0",
androidKotlinExtVersion2 = "2.0.0",
androidKotlinExtVersion2 = "2.2.0",

daggerVersion = "2.24",
javaxVersion = "1.0",
Expand Down Expand Up @@ -148,6 +147,7 @@ ext {
cardView = "androidx.cardview:cardview:$supportLibraryVersion",
annotation = "androidx.annotation:annotation:$supportLibraryVersion",
vectorDrawable = "androidx.vectordrawable:vectordrawable:$supportLibraryVersion",
vectorDrawable = "androidx.vectordrawable:vectordrawable:$supportLibraryVersion",
recyclerView = "androidx.recyclerview:recyclerview:$supportLibraryVersion",
multiDex = "androidx.multidex:multidex:$multidexVersion",
constraintLayout = "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion",
Expand All @@ -165,7 +165,12 @@ ext {
coreKts = "androidx.core:core-ktx:$androidKotlinExtVersion1",
fragmentKts = "androidx.fragment:fragment-ktx:$androidKotlinExtVersion1",
collectionKts = "androidx.collection:collection-ktx:$androidKotlinExtVersion1",
viewModelKts = "androidx.lifecycle:lifecycle-viewmodel-ktx:$androidKotlinExtVersion2"
viewModelKts = "androidx.lifecycle:lifecycle-viewmodel-ktx:$androidKotlinExtVersion2",
livaDataKts = "androidx.lifecycle:lifecycle-livedata-ktx:$androidKotlinExtVersion2"
],

exoplayer = [
exoplayer = "com.google.android.exoplayer:exoplayer:2.11.3"
],

firebase = [
Expand Down