Start work on Play Count. Able to display the play count but the count numbering is off. #9

This commit is contained in:
amazing-username
2019-04-20 19:45:37 -04:00
parent 45d2d7d420
commit 4c20a9c319
5 changed files with 28 additions and 1 deletions
@@ -1,6 +1,7 @@
package com.example.mear.activities package com.example.mear.activities
import android.Manifest import android.Manifest
import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.Color import android.graphics.Color
@@ -12,6 +13,7 @@ import android.support.v4.content.ContextCompat
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.PopupMenu import android.widget.PopupMenu
import android.widget.Toast
import java.lang.Exception import java.lang.Exception
import java.lang.Runnable import java.lang.Runnable
@@ -30,17 +32,23 @@ import com.example.mear.constants.ControlTypes
import com.example.mear.listeners.TrackElaspingChange import com.example.mear.listeners.TrackElaspingChange
import com.example.mear.models.PlayControls import com.example.mear.models.PlayControls
import com.example.mear.R import com.example.mear.R
import com.example.mear.models.PlayCount
import com.example.mear.repositories.PlayCountRepository
import com.example.mear.repositories.RepeatRepository import com.example.mear.repositories.RepeatRepository
import com.example.mear.repositories.ShuffleRepository import com.example.mear.repositories.ShuffleRepository
import com.example.mear.repositories.TrackRepository
import com.example.mear.util.ConvertByteArray import com.example.mear.util.ConvertByteArray
import com.example.mear.util.ExtractCover import com.example.mear.util.ExtractCover
import kotlinx.coroutines.delay
class MainActivity : BaseServiceActivity() { class MainActivity : BaseServiceActivity() {
private val ctx: Context? = this
private var coverArtHandler: Handler? = Handler() private var coverArtHandler: Handler? = Handler()
private var musicHandler: Handler? = Handler() private var musicHandler: Handler? = Handler()
private var updateLibraryHandler: Handler? = Handler() private var updateLibraryHandler: Handler? = Handler()
private var playCountUpdated: Boolean? = false
private var serviceBinded: Boolean? = false private var serviceBinded: Boolean? = false
private var repeatOn: Boolean? = false private var repeatOn: Boolean? = false
private var shuffleOn: Boolean? = false private var shuffleOn: Boolean? = false
@@ -230,6 +238,7 @@ class MainActivity : BaseServiceActivity() {
print(exMsg) print(exMsg)
} }
NextTrack.isEnabled = true NextTrack.isEnabled = true
playCountUpdated = false
} }
private fun playPreviousSongTrack() { private fun playPreviousSongTrack() {
PreviousTrack.isEnabled = false PreviousTrack.isEnabled = false
@@ -243,10 +252,12 @@ class MainActivity : BaseServiceActivity() {
print(exMsg) print(exMsg)
} }
PreviousTrack.isEnabled = true PreviousTrack.isEnabled = true
playCountUpdated = false
} }
override fun configureTrackDisplay() { override fun configureTrackDisplay() {
try { try {
runOnUiThread { runOnUiThread {
playCountUpdated = false
configurePlayControlsDisplay() configurePlayControlsDisplay()
val currTrack = musicService!!.getCurrentTrack() val currTrack = musicService!!.getCurrentTrack()
val trackTitle = currTrack.title val trackTitle = currTrack.title
@@ -335,6 +346,12 @@ class MainActivity : BaseServiceActivity() {
R.id.action_song_view -> { R.id.action_song_view -> {
startActivity(Intent(this, SongViewActivity::class.java)) startActivity(Intent(this, SongViewActivity::class.java))
} }
R.id.action_song_play_count-> {
val trk = musicService!!.getCurrentTrack()
val pc = PlayCountRepository(this).getPlayCount(trk.id)
val playCount = pc.playCount
Toast.makeText(this, "Song played $playCount times", Toast.LENGTH_LONG).show()
}
} }
true true
} }
@@ -0,0 +1,5 @@
package com.example.mear.constants
object Interval {
const val SONG_REWIND = 4
}
@@ -12,6 +12,7 @@ import java.lang.Exception
import kotlin.random.Random import kotlin.random.Random
import com.example.mear.constants.ControlTypes import com.example.mear.constants.ControlTypes
import com.example.mear.constants.Interval
import com.example.mear.management.MusicFiles import com.example.mear.management.MusicFiles
import com.example.mear.management.TrackManager import com.example.mear.management.TrackManager
import com.example.mear.models.PlayControls import com.example.mear.models.PlayControls
@@ -37,7 +38,7 @@ class MusicService: Service() {
private var shuffleOn: Boolean? = null private var shuffleOn: Boolean? = null
private var repeatOn: Boolean? = null private var repeatOn: Boolean? = null
private val mBinder = LocalBinder() private val mBinder = LocalBinder()
private val seconds = 4 private val seconds = Interval.SONG_REWIND
inner class LocalBinder : Binder() { inner class LocalBinder : Binder() {
+3
View File
@@ -7,4 +7,7 @@
<item android:id="@+id/action_song_view" <item android:id="@+id/action_song_view"
android:title="@string/song_view" android:title="@string/song_view"
app:showAsAction="never" /> app:showAsAction="never" />
<item android:id="@+id/action_song_play_count"
android:title="@string/song_play_count"
app:showAsAction="never" />
</menu> </menu>
+1
View File
@@ -35,6 +35,7 @@
<!-- Music Player popup strings --> <!-- Music Player popup strings -->
<string name="settings">Settings</string> <string name="settings">Settings</string>
<string name="song_view">Songs</string> <string name="song_view">Songs</string>
<string name="song_play_count">Play Count</string>
<!-- Popups --> <!-- Popups -->
<string name="popup_about_header">About</string> <string name="popup_about_header">About</string>