Start work on Play Count. Able to display the play count but the count numbering is off. #9
This commit is contained in:
@@ -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() {
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user