Skip to content

Commit f46162e

Browse files
committed
Some Bugs fixed of Notification.
1 parent a592613 commit f46162e

File tree

7 files changed

+28
-17
lines changed

7 files changed

+28
-17
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ android {
1111
applicationId "com.harshRajpurohit.musicPlayer"
1212
minSdkVersion 21
1313
targetSdkVersion 30
14-
versionCode 1
15-
versionName "1.0"
14+
versionCode 2
15+
versionName "2.0"
1616

1717
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1818
}

app/src/main/java/com/harshRajpurohit/musicPlayer/MainActivity.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.harshRajpurohit.musicPlayer
33
import android.annotation.SuppressLint
44
import android.content.Intent
55
import android.content.pm.PackageManager
6+
import android.content.res.Configuration
67
import android.graphics.Color
78
import android.net.Uri
89
import android.os.Build
@@ -60,6 +61,10 @@ class MainActivity : AppCompatActivity() {
6061
binding.root.addDrawerListener(toggle)
6162
toggle.syncState()
6263
supportActionBar?.setDisplayHomeAsUpEnabled(true)
64+
//checking for dark theme
65+
if(themeIndex == 4 && resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_NO)
66+
Toast.makeText(this, "Black Theme Works Best in Dark Mode!!", Toast.LENGTH_LONG).show()
67+
6368
if(requestRuntimePermission()){
6469
initializeLayout()
6570
//for retrieving favourites data using shared preferences

app/src/main/java/com/harshRajpurohit/musicPlayer/MusicService.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class MusicService: Service(), AudioManager.OnAudioFocusChangeListener {
1818
private lateinit var mediaSession : MediaSessionCompat
1919
private lateinit var runnable: Runnable
2020
lateinit var audioManager: AudioManager
21+
lateinit var playbackState: PlaybackStateCompat
2122

2223
override fun onBind(intent: Intent?): IBinder {
2324
mediaSession = MediaSessionCompat(baseContext, "My Music")
@@ -29,7 +30,7 @@ class MusicService: Service(), AudioManager.OnAudioFocusChangeListener {
2930
return this@MusicService
3031
}
3132
}
32-
fun showNotification(playPauseBtn: Int, playbackSpeed: Float){
33+
fun showNotification(playPauseBtn: Int){
3334
val intent = Intent(baseContext, MainActivity::class.java)
3435
val contentIntent = PendingIntent.getActivity(this, 0, intent, 0)
3536

@@ -69,13 +70,15 @@ class MusicService: Service(), AudioManager.OnAudioFocusChangeListener {
6970
.build()
7071

7172
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){
73+
val playbackSpeed = if(mediaPlayer!!.isPlaying) 0F else 1F
7274
mediaSession.setMetadata(MediaMetadataCompat.Builder()
7375
.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, mediaPlayer!!.duration.toLong())
7476
.build())
75-
mediaSession.setPlaybackState(PlaybackStateCompat.Builder()
77+
val playBackState = PlaybackStateCompat.Builder()
7678
.setState(PlaybackStateCompat.STATE_PLAYING, mediaPlayer!!.currentPosition.toLong(), playbackSpeed)
7779
.setActions(PlaybackStateCompat.ACTION_SEEK_TO)
78-
.build())
80+
.build()
81+
mediaSession.setPlaybackState(playBackState)
7982
}
8083

8184
startForeground(13, notification)
@@ -87,7 +90,7 @@ class MusicService: Service(), AudioManager.OnAudioFocusChangeListener {
8790
PlayerActivity.musicService!!.mediaPlayer!!.setDataSource(PlayerActivity.musicListPA[PlayerActivity.songPosition].path)
8891
PlayerActivity.musicService!!.mediaPlayer!!.prepare()
8992
PlayerActivity.binding.playPauseBtnPA.setIconResource(R.drawable.pause_icon)
90-
PlayerActivity.musicService!!.showNotification(R.drawable.pause_icon, 0F)
93+
PlayerActivity.musicService!!.showNotification(R.drawable.pause_icon)
9194
PlayerActivity.binding.tvSeekBarStart.text = formatDuration(mediaPlayer!!.currentPosition.toLong())
9295
PlayerActivity.binding.tvSeekBarEnd.text = formatDuration(mediaPlayer!!.duration.toLong())
9396
PlayerActivity.binding.seekBarPA.progress = 0
@@ -110,15 +113,15 @@ class MusicService: Service(), AudioManager.OnAudioFocusChangeListener {
110113
//pause music
111114
PlayerActivity.binding.playPauseBtnPA.setIconResource(R.drawable.play_icon)
112115
NowPlaying.binding.playPauseBtnNP.setIconResource(R.drawable.play_icon)
113-
showNotification(R.drawable.play_icon, 0F)
116+
showNotification(R.drawable.play_icon)
114117
PlayerActivity.isPlaying = false
115118
mediaPlayer!!.pause()
116119
}
117120
else{
118121
//play music
119122
PlayerActivity.binding.playPauseBtnPA.setIconResource(R.drawable.pause_icon)
120123
NowPlaying.binding.playPauseBtnNP.setIconResource(R.drawable.pause_icon)
121-
showNotification(R.drawable.pause_icon, 1F)
124+
showNotification(R.drawable.pause_icon)
122125
PlayerActivity.isPlaying = true
123126
mediaPlayer!!.start()
124127
}

app/src/main/java/com/harshRajpurohit/musicPlayer/NotificationReceiver.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ class NotificationReceiver:BroadcastReceiver() {
2020
private fun playMusic(){
2121
PlayerActivity.isPlaying = true
2222
PlayerActivity.musicService!!.mediaPlayer!!.start()
23-
PlayerActivity.musicService!!.showNotification(R.drawable.pause_icon, 1F)
23+
PlayerActivity.musicService!!.showNotification(R.drawable.pause_icon)
2424
PlayerActivity.binding.playPauseBtnPA.setIconResource(R.drawable.pause_icon)
2525
NowPlaying.binding.playPauseBtnNP.setIconResource(R.drawable.pause_icon)
2626
}
2727

2828
private fun pauseMusic(){
2929
PlayerActivity.isPlaying = false
3030
PlayerActivity.musicService!!.mediaPlayer!!.pause()
31-
PlayerActivity.musicService!!.showNotification(R.drawable.play_icon, 0F)
31+
PlayerActivity.musicService!!.showNotification(R.drawable.play_icon)
3232
PlayerActivity.binding.playPauseBtnPA.setIconResource(R.drawable.play_icon)
3333
NowPlaying.binding.playPauseBtnNP.setIconResource(R.drawable.play_icon)
3434
}

app/src/main/java/com/harshRajpurohit/musicPlayer/NowPlaying.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class NowPlaying : Fragment() {
3535
.apply(RequestOptions().placeholder(R.drawable.music_player_icon_slash_screen).centerCrop())
3636
.into(binding.songImgNP)
3737
binding.songNameNP.text = PlayerActivity.musicListPA[PlayerActivity.songPosition].title
38-
PlayerActivity.musicService!!.showNotification(R.drawable.pause_icon, 1F)
38+
PlayerActivity.musicService!!.showNotification(R.drawable.pause_icon)
3939
playMusic()
4040
}
4141
binding.root.setOnClickListener {
@@ -65,14 +65,14 @@ class NowPlaying : Fragment() {
6565
private fun playMusic(){
6666
PlayerActivity.musicService!!.mediaPlayer!!.start()
6767
binding.playPauseBtnNP.setIconResource(R.drawable.pause_icon)
68-
PlayerActivity.musicService!!.showNotification(R.drawable.pause_icon,1F)
68+
PlayerActivity.musicService!!.showNotification(R.drawable.pause_icon)
6969
PlayerActivity.binding.nextBtnPA.setIconResource(R.drawable.pause_icon)
7070
PlayerActivity.isPlaying = true
7171
}
7272
private fun pauseMusic(){
7373
PlayerActivity.musicService!!.mediaPlayer!!.pause()
7474
binding.playPauseBtnNP.setIconResource(R.drawable.play_icon)
75-
PlayerActivity.musicService!!.showNotification(R.drawable.play_icon, 0F)
75+
PlayerActivity.musicService!!.showNotification(R.drawable.play_icon)
7676
PlayerActivity.binding.nextBtnPA.setIconResource(R.drawable.play_icon)
7777
PlayerActivity.isPlaying = false
7878
}

app/src/main/java/com/harshRajpurohit/musicPlayer/PlayerActivity.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,10 @@ class PlayerActivity : AppCompatActivity(), ServiceConnection, MediaPlayer.OnCom
7373
binding.nextBtnPA.setOnClickListener { prevNextSong(increment = true) }
7474
binding.seekBarPA.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener{
7575
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
76-
if(fromUser) musicService!!.mediaPlayer!!.seekTo(progress)
76+
if(fromUser) {
77+
musicService!!.mediaPlayer!!.seekTo(progress)
78+
musicService!!.showNotification(if(isPlaying) R.drawable.pause_icon else R.drawable.play_icon)
79+
}
7780
}
7881
override fun onStartTrackingTouch(seekBar: SeekBar?) = Unit
7982
override fun onStopTrackingTouch(seekBar: SeekBar?) = Unit
@@ -196,14 +199,14 @@ class PlayerActivity : AppCompatActivity(), ServiceConnection, MediaPlayer.OnCom
196199

197200
private fun playMusic(){
198201
binding.playPauseBtnPA.setIconResource(R.drawable.pause_icon)
199-
musicService!!.showNotification(R.drawable.pause_icon, 1F)
202+
musicService!!.showNotification(R.drawable.pause_icon)
200203
isPlaying = true
201204
musicService!!.mediaPlayer!!.start()
202205
}
203206

204207
private fun pauseMusic(){
205208
binding.playPauseBtnPA.setIconResource(R.drawable.play_icon)
206-
musicService!!.showNotification(R.drawable.play_icon, 0F)
209+
musicService!!.showNotification(R.drawable.play_icon)
207210
isPlaying = false
208211
musicService!!.mediaPlayer!!.pause()
209212
}

app/src/main/java/com/harshRajpurohit/musicPlayer/PlaylistViewAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class PlaylistViewAdapter(private val context: Context, private var playlistList
2828

2929
override fun onBindViewHolder(holder: MyHolder, position: Int) {
3030
if(MainActivity.themeIndex == 4){
31-
holder.root.setStrokeColor(ContextCompat.getColor(context, R.color.white))
31+
holder.root.strokeColor = ContextCompat.getColor(context, R.color.white)
3232
}
3333
holder.name.text = playlistList[position].name
3434
holder.name.isSelected = true

0 commit comments

Comments
 (0)