diff --git a/app/src/main/java/com/example/mear/activities/MainActivity.kt b/app/src/main/java/com/example/mear/activities/MainActivity.kt index 0c004e0..e2d92a1 100644 --- a/app/src/main/java/com/example/mear/activities/MainActivity.kt +++ b/app/src/main/java/com/example/mear/activities/MainActivity.kt @@ -1,6 +1,7 @@ package com.example.mear.activities import android.Manifest +import android.content.Context import android.content.Intent import android.content.pm.PackageManager import android.graphics.Color @@ -12,6 +13,7 @@ import android.support.v4.content.ContextCompat import android.view.MenuItem import android.view.View import android.widget.PopupMenu +import android.widget.Toast import java.lang.Exception import java.lang.Runnable @@ -30,17 +32,23 @@ import com.example.mear.constants.ControlTypes import com.example.mear.listeners.TrackElaspingChange import com.example.mear.models.PlayControls 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.ShuffleRepository +import com.example.mear.repositories.TrackRepository import com.example.mear.util.ConvertByteArray import com.example.mear.util.ExtractCover +import kotlinx.coroutines.delay class MainActivity : BaseServiceActivity() { + private val ctx: Context? = this private var coverArtHandler: Handler? = Handler() private var musicHandler: Handler? = Handler() private var updateLibraryHandler: Handler? = Handler() + private var playCountUpdated: Boolean? = false private var serviceBinded: Boolean? = false private var repeatOn: Boolean? = false private var shuffleOn: Boolean? = false @@ -230,6 +238,7 @@ class MainActivity : BaseServiceActivity() { print(exMsg) } NextTrack.isEnabled = true + playCountUpdated = false } private fun playPreviousSongTrack() { PreviousTrack.isEnabled = false @@ -243,10 +252,12 @@ class MainActivity : BaseServiceActivity() { print(exMsg) } PreviousTrack.isEnabled = true + playCountUpdated = false } override fun configureTrackDisplay() { try { runOnUiThread { + playCountUpdated = false configurePlayControlsDisplay() val currTrack = musicService!!.getCurrentTrack() val trackTitle = currTrack.title @@ -335,6 +346,12 @@ class MainActivity : BaseServiceActivity() { R.id.action_song_view -> { 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 } diff --git a/app/src/main/java/com/example/mear/constants/Interval.kt b/app/src/main/java/com/example/mear/constants/Interval.kt new file mode 100644 index 0000000..ae787e8 --- /dev/null +++ b/app/src/main/java/com/example/mear/constants/Interval.kt @@ -0,0 +1,5 @@ +package com.example.mear.constants + +object Interval { + const val SONG_REWIND = 4 +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mear/playback/service/MusicService.kt b/app/src/main/java/com/example/mear/playback/service/MusicService.kt index c3876e6..b993feb 100644 --- a/app/src/main/java/com/example/mear/playback/service/MusicService.kt +++ b/app/src/main/java/com/example/mear/playback/service/MusicService.kt @@ -12,6 +12,7 @@ import java.lang.Exception import kotlin.random.Random import com.example.mear.constants.ControlTypes +import com.example.mear.constants.Interval import com.example.mear.management.MusicFiles import com.example.mear.management.TrackManager import com.example.mear.models.PlayControls @@ -37,7 +38,7 @@ class MusicService: Service() { private var shuffleOn: Boolean? = null private var repeatOn: Boolean? = null private val mBinder = LocalBinder() - private val seconds = 4 + private val seconds = Interval.SONG_REWIND inner class LocalBinder : Binder() { diff --git a/app/src/main/res/menu/popup_menu.xml b/app/src/main/res/menu/popup_menu.xml index 7c3c7ed..643c0ad 100644 --- a/app/src/main/res/menu/popup_menu.xml +++ b/app/src/main/res/menu/popup_menu.xml @@ -7,4 +7,7 @@ + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a9c9628..9b93fff 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -35,6 +35,7 @@ Settings Songs + Play Count About