Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
e
os
android_packages_apps_Eleven
Commits
78e67f2f
Commit
78e67f2f
authored
Dec 13, 2014
by
Rajesh Yengisetty
Committed by
Gerrit Code Review
Dec 13, 2014
Browse files
Merge "Eleven: Fix crash when launching a song from file manager" into cm-12.0
parents
c39e47d7
42ed49a6
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/com/cyanogenmod/eleven/MusicPlaybackService.java
View file @
78e67f2f
...
...
@@ -1089,7 +1089,7 @@ public class MusicPlaybackService extends Service {
return
c
;
}
private
void
closeCursor
()
{
private
synchronized
void
closeCursor
()
{
if
(
mCursor
!=
null
)
{
mCursor
.
close
();
mCursor
=
null
;
...
...
@@ -2735,89 +2735,92 @@ public class MusicPlaybackService extends Service {
return
;
}
switch
(
msg
.
what
)
{
case
FADEDOWN:
mCurrentVolume
-=
.
05
f
;
if
(
mCurrentVolume
>
.
2
f
)
{
sendEmptyMessageDelayed
(
FADEDOWN
,
10
);
}
else
{
mCurrentVolume
=
.
2
f
;
}
service
.
mPlayer
.
setVolume
(
mCurrentVolume
);
break
;
case
FADEUP:
mCurrentVolume
+=
.
01
f
;
if
(
mCurrentVolume
<
1.0f
)
{
sendEmptyMessageDelayed
(
FADEUP
,
10
);
}
else
{
mCurrentVolume
=
1.0f
;
}
service
.
mPlayer
.
setVolume
(
mCurrentVolume
);
break
;
case
SERVER_DIED:
if
(
service
.
isPlaying
())
{
service
.
gotoNext
(
true
);
}
else
{
service
.
openCurrentAndNext
();
}
break
;
case
TRACK_WENT_TO_NEXT:
service
.
setAndRecordPlayPos
(
service
.
mNextPlayPos
);
service
.
setNextTrack
();
if
(
service
.
mCursor
!=
null
)
{
service
.
mCursor
.
close
();
}
service
.
updateCursor
(
service
.
mPlaylist
.
get
(
service
.
mPlayPos
).
mId
);
service
.
notifyChange
(
META_CHANGED
);
service
.
updateNotification
();
break
;
case
TRACK_ENDED:
if
(
service
.
mRepeatMode
==
REPEAT_CURRENT
)
{
service
.
seek
(
0
);
service
.
play
();
}
else
{
service
.
gotoNext
(
false
);
}
break
;
case
LYRICS:
service
.
mLyrics
=
(
String
)
msg
.
obj
;
service
.
notifyChange
(
NEW_LYRICS
);
break
;
case
RELEASE_WAKELOCK:
service
.
mWakeLock
.
release
();
break
;
case
FOCUSCHANGE:
if
(
D
)
Log
.
d
(
TAG
,
"Received audio focus change event "
+
msg
.
arg1
);
switch
(
msg
.
arg1
)
{
case
AudioManager
.
AUDIOFOCUS_LOSS
:
case
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT
:
if
(
service
.
isPlaying
())
{
service
.
mPausedByTransientLossOfFocus
=
msg
.
arg1
==
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT
;
}
service
.
pause
();
break
;
case
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
:
removeMessages
(
FADEUP
);
sendEmptyMessage
(
FADEDOWN
);
break
;
case
AudioManager
.
AUDIOFOCUS_GAIN
:
if
(!
service
.
isPlaying
()
&&
service
.
mPausedByTransientLossOfFocus
)
{
service
.
mPausedByTransientLossOfFocus
=
false
;
mCurrentVolume
=
0
f
;
service
.
mPlayer
.
setVolume
(
mCurrentVolume
);
service
.
play
();
}
else
{
removeMessages
(
FADEDOWN
);
sendEmptyMessage
(
FADEUP
);
}
break
;
default
:
}
break
;
default
:
break
;
synchronized
(
service
)
{
switch
(
msg
.
what
)
{
case
FADEDOWN:
mCurrentVolume
-=
.
05
f
;
if
(
mCurrentVolume
>
.
2
f
)
{
sendEmptyMessageDelayed
(
FADEDOWN
,
10
);
}
else
{
mCurrentVolume
=
.
2
f
;
}
service
.
mPlayer
.
setVolume
(
mCurrentVolume
);
break
;
case
FADEUP:
mCurrentVolume
+=
.
01
f
;
if
(
mCurrentVolume
<
1.0f
)
{
sendEmptyMessageDelayed
(
FADEUP
,
10
);
}
else
{
mCurrentVolume
=
1.0f
;
}
service
.
mPlayer
.
setVolume
(
mCurrentVolume
);
break
;
case
SERVER_DIED:
if
(
service
.
isPlaying
())
{
service
.
gotoNext
(
true
);
}
else
{
service
.
openCurrentAndNext
();
}
break
;
case
TRACK_WENT_TO_NEXT:
service
.
setAndRecordPlayPos
(
service
.
mNextPlayPos
);
service
.
setNextTrack
();
if
(
service
.
mCursor
!=
null
)
{
service
.
mCursor
.
close
();
service
.
mCursor
=
null
;
}
service
.
updateCursor
(
service
.
mPlaylist
.
get
(
service
.
mPlayPos
).
mId
);
service
.
notifyChange
(
META_CHANGED
);
service
.
updateNotification
();
break
;
case
TRACK_ENDED:
if
(
service
.
mRepeatMode
==
REPEAT_CURRENT
)
{
service
.
seek
(
0
);
service
.
play
();
}
else
{
service
.
gotoNext
(
false
);
}
break
;
case
LYRICS:
service
.
mLyrics
=
(
String
)
msg
.
obj
;
service
.
notifyChange
(
NEW_LYRICS
);
break
;
case
RELEASE_WAKELOCK:
service
.
mWakeLock
.
release
();
break
;
case
FOCUSCHANGE:
if
(
D
)
Log
.
d
(
TAG
,
"Received audio focus change event "
+
msg
.
arg1
);
switch
(
msg
.
arg1
)
{
case
AudioManager
.
AUDIOFOCUS_LOSS
:
case
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT
:
if
(
service
.
isPlaying
())
{
service
.
mPausedByTransientLossOfFocus
=
msg
.
arg1
==
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT
;
}
service
.
pause
();
break
;
case
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
:
removeMessages
(
FADEUP
);
sendEmptyMessage
(
FADEDOWN
);
break
;
case
AudioManager
.
AUDIOFOCUS_GAIN
:
if
(!
service
.
isPlaying
()
&&
service
.
mPausedByTransientLossOfFocus
)
{
service
.
mPausedByTransientLossOfFocus
=
false
;
mCurrentVolume
=
0
f
;
service
.
mPlayer
.
setVolume
(
mCurrentVolume
);
service
.
play
();
}
else
{
removeMessages
(
FADEDOWN
);
sendEmptyMessage
(
FADEUP
);
}
break
;
default
:
}
break
;
default
:
break
;
}
}
}
}
...
...
@@ -3058,7 +3061,6 @@ public class MusicPlaybackService extends Service {
* Releases resources associated with this MediaPlayer object.
*/
public
void
release
()
{
stop
();
mCurrentMediaPlayer
.
release
();
mSrtManager
.
release
();
mSrtManager
=
null
;
...
...
src/com/cyanogenmod/eleven/utils/SrtManager.java
View file @
78e67f2f
...
...
@@ -61,16 +61,13 @@ public abstract class SrtManager implements Handler.Callback {
}
public
synchronized
void
release
()
{
reset
();
mHandlerThread
.
quit
();
mHandlerThread
=
null
;
}
@Override
protected
void
finalize
()
throws
Throwable
{
super
.
finalize
();
mHandlerThread
.
quit
();
mHandlerThread
=
null
;
if
(
mHandlerThread
!=
null
)
{
mHandler
.
removeMessages
(
POST_TEXT_MSG
);
mHandler
.
removeCallbacks
(
mLoader
);
mHandler
=
null
;
mHandlerThread
.
quit
();
mHandlerThread
=
null
;
}
}
public
synchronized
void
initialize
(
final
MediaPlayer
player
,
final
File
f
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment