aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordaneren2005 <daneren2005@gmail.com>2013-04-12 14:52:36 -0700
committerdaneren2005 <daneren2005@gmail.com>2013-04-12 14:52:36 -0700
commit81851c01b909ef2e683ea4ca1d2e4d69efcb7c3d (patch)
treea63c3f0c0aa2b6f868bd3c010a5785c68c476af4
parent83f9da3766d579dd9cb8f7bed6f46c6706534c3a (diff)
downloaddsub-81851c01b909ef2e683ea4ca1d2e4d69efcb7c3d.tar.gz
dsub-81851c01b909ef2e683ea4ca1d2e4d69efcb7c3d.tar.bz2
dsub-81851c01b909ef2e683ea4ca1d2e4d69efcb7c3d.zip
Force stop of PositionCache thread immediately after onComplete
Samsung Galaxy S3 appears to hang indefinitely on mediaPlayer.getCurrentPosition() when using media player chaining
-rw-r--r--subsonic-android/src/github/daneren2005/dsub/service/DownloadServiceImpl.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/subsonic-android/src/github/daneren2005/dsub/service/DownloadServiceImpl.java b/subsonic-android/src/github/daneren2005/dsub/service/DownloadServiceImpl.java
index c775da11..1dfc0708 100644
--- a/subsonic-android/src/github/daneren2005/dsub/service/DownloadServiceImpl.java
+++ b/subsonic-android/src/github/daneren2005/dsub/service/DownloadServiceImpl.java
@@ -868,13 +868,19 @@ public class DownloadServiceImpl extends Service implements DownloadService {
private class PositionCache implements Runnable {
boolean isRunning = true;
+ Thread thread;
public void stop() {
isRunning = false;
+ if(thread != null) {
+ // Make it stop right NOW
+ thread.interrupt();
+ }
}
@Override
public void run() {
+ thread = Thread.currentThread();
while(isRunning) {
try {
// Add a monitor for not running while mediaPlayer state is changing