Working on playing a song from the song list

This commit is contained in:
amazing-username
2019-03-24 20:39:44 -04:00
parent 2f40523cfd
commit f99c4b797f
5 changed files with 21 additions and 20 deletions
-12
View File
@@ -118,38 +118,26 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/apk_list" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/apk_list" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundle_manifest" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundle_manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-apk" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_app_manifest" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_app_manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_app_info_output_file" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_merged_manifests" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_merged_manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_split_apk_resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint_jar" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint_jar" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_assets" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/metadata_feature_manifest" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/metadata_feature_manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/processed_res" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/processed_res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/signing_config" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/signing_config" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/validate_signing_config" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/validate_signing_config" />
@@ -10,13 +10,14 @@ import java.lang.Exception
import kotlinx.android.synthetic.main.activity_song_view.* import kotlinx.android.synthetic.main.activity_song_view.*
import kotlinx.android.synthetic.main.content_song_view.* import kotlinx.android.synthetic.main.content_song_view.*
import com.example.mear.activities.BaseServiceActivity
import com.example.mear.adapters.RecyclerAdapter import com.example.mear.adapters.RecyclerAdapter
import com.example.mear.models.TrackItems import com.example.mear.models.TrackItems
import com.example.mear.R import com.example.mear.R
import com.example.mear.repositories.TrackRepository import com.example.mear.repositories.TrackRepository
import com.example.mear.util.ExtractCover import com.example.mear.util.ExtractCover
class SongViewActivity : AppCompatActivity() { class SongViewActivity : BaseServiceActivity() {
private var trackListItems = arrayListOf<TrackItems>() private var trackListItems = arrayListOf<TrackItems>()
private lateinit var adapter: RecyclerAdapter private lateinit var adapter: RecyclerAdapter
private lateinit var linearLayoutManager: LinearLayoutManager private lateinit var linearLayoutManager: LinearLayoutManager
@@ -31,6 +32,7 @@ class SongViewActivity : AppCompatActivity() {
try { try {
window.statusBarColor = resources.getColor(R.color.track_seek) window.statusBarColor = resources.getColor(R.color.track_seek)
doBindService()
initializeAdapter() initializeAdapter()
} }
catch (ex: Exception) { catch (ex: Exception) {
@@ -57,9 +59,10 @@ class SongViewActivity : AppCompatActivity() {
trackListItems = retrieveTrackItems() trackListItems = retrieveTrackItems()
adapter = RecyclerAdapter(trackListItems) adapter = RecyclerAdapter(trackListItems)
adapter.musicService = musicService
trackList.adapter = adapter trackList.adapter = adapter
trackList.setHasFixedSize(true) trackList.setHasFixedSize(true)
//trackList.setItemViewCacheSize(20); trackList.setItemViewCacheSize(20);
//trackList.setDrawingCacheEnabled(true); //trackList.setDrawingCacheEnabled(true);
//trackList.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH); //trackList.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
} }
@@ -102,8 +105,9 @@ class SongViewActivity : AppCompatActivity() {
} }
*/ */
for (track in tracks) { for (track in tracks) {
val cover = ExtractCover(track.songPath) //val cover = ExtractCover(track.songPath)
var trackCover = ByteArray(0) var trackCover = ByteArray(0)
/**
if (cover.hasCover() && !done) { if (cover.hasCover() && !done) {
if (index < max ) { if (index < max ) {
trackCover = cover.retrieveCover() trackCover = cover.retrieveCover()
@@ -116,7 +120,7 @@ class SongViewActivity : AppCompatActivity() {
if (done) { if (done) {
return trackItems return trackItems
} }
*/
val trackItem = TrackItems(track.id, track.title, track.artist, trackCover!!) val trackItem = TrackItems(track.id, track.title, track.artist, trackCover!!)
trackItems.add(trackItem) trackItems.add(trackItem)
} }
@@ -15,9 +15,12 @@ import com.example.mear.constants.Filenames
import com.example.mear.inflate import com.example.mear.inflate
import com.example.mear.models.TrackItems import com.example.mear.models.TrackItems
import com.example.mear.R import com.example.mear.R
import com.example.mear.playback.service.MusicService
import com.example.mear.repositories.TrackRepository
class RecyclerAdapter( private val trackItemsSourceInit: ArrayList<TrackItems>) : class RecyclerAdapter( private val trackItemsSourceInit: ArrayList<TrackItems>) :
RecyclerView.Adapter<RecyclerAdapter.TrackItemsHolder>() { RecyclerView.Adapter<RecyclerAdapter.TrackItemsHolder>() {
var musicService: MusicService? = null
override fun getItemCount(): Int { override fun getItemCount(): Int {
return trackItemsSourceInit!!.size return trackItemsSourceInit!!.size
@@ -30,12 +33,13 @@ class RecyclerAdapter( private val trackItemsSourceInit: ArrayList<TrackItems>)
override fun onCreateViewHolder(parent: ViewGroup, position: Int): TrackItemsHolder { override fun onCreateViewHolder(parent: ViewGroup, position: Int): TrackItemsHolder {
val inflatedView = parent.inflate(R.layout.fragment_song_view, false) val inflatedView = parent.inflate(R.layout.fragment_song_view, false)
return TrackItemsHolder(inflatedView) return TrackItemsHolder(inflatedView, musicService!!)
} }
class TrackItemsHolder(v: View) : RecyclerView.ViewHolder(v), View.OnClickListener { class TrackItemsHolder(v: View, musicService: MusicService) : RecyclerView.ViewHolder(v), View.OnClickListener {
private var view: View = v private var view: View = v
private var musicService: MusicService = musicService
private var trackItem: TrackItems? = null private var trackItem: TrackItems? = null
private val imgWidth = 90 private val imgWidth = 90
private val imgHeight = 90 private val imgHeight = 90
@@ -50,6 +54,8 @@ class RecyclerAdapter( private val trackItemsSourceInit: ArrayList<TrackItems>)
val context = itemView.context val context = itemView.context
val showPhotoIntent = Intent(context, SongViewActivity::class.java) val showPhotoIntent = Intent(context, SongViewActivity::class.java)
//showPhotoIntent.putExtra(PHOTO_KEY, trackItem) //showPhotoIntent.putExtra(PHOTO_KEY, trackItem)
val id = trackItem!!.id
musicService.playTrack(id)
context.startActivity(showPhotoIntent) context.startActivity(showPhotoIntent)
} }
catch (ex: Exception) { catch (ex: Exception) {
@@ -65,6 +65,9 @@ class MusicService: Service() {
return super.onUnbind(intent) return super.onUnbind(intent)
} }
fun playTrack(id: Int) {
}
fun goToPosition(progress: Int) { fun goToPosition(progress: Int) {
trackPlayer!!.seekTo(progress) trackPlayer!!.seekTo(progress)
+2 -2
View File
@@ -4,5 +4,5 @@
# Location of the SDK. This is only used by Gradle. # Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the # For customization when using a Version Control System, please read the
# header note. # header note.
#Thu Mar 07 22:21:30 EST 2019 #Sun Mar 24 20:27:46 EDT 2019
sdk.dir=/home/phoenix/Android/Sdk sdk.dir=/home/brahmix/Android/Sdk