1583 Commits

Author SHA1 Message Date
Adrian Ulrich
6f898e7892 update translations 2016-12-22 18:57:06 +01:00
Adrian Ulrich
ddc38d1853 avoid deadlock while entering random mode from play-click
calling setSong(0); is not required as changing the mode will already broadcast a change which causes us to pick up a new song from scratch.

The old code caused 2 threads to touch the PlaybackService + SongTimeline at the same time, resulting in a deadlock in the worst case.

Trace for historical reasons:
DALVIK THREADS (21):
"main" prio=5 tid=1 Blocked
  | group="main" sCount=1 dsCount=0 obj=0x73d5b000 self=0xb4827800
  | sysTid=14357 nice=0 cgrp=default sched=0/0 handle=0xb6f74bec
  | state=S schedstat=( 321573745 82720575 681 ) utm=21 stm=11 core=3 HZ=100
  | stack=0xbe5a4000-0xbe5a6000 stackSize=8MB
  | held mutexes=
  at ch.blinkenlights.android.vanilla.SongTimeline.shiftCurrentSong(SongTimeline.java:669)
  - waiting to lock <0x30e74b87> (a ch.blinkenlights.android.vanilla.SongTimeline) held by thread 16
  at ch.blinkenlights.android.vanilla.PlaybackService.setCurrentSong(PlaybackService.java:1298)
  at ch.blinkenlights.android.vanilla.PlaybackService.play(PlaybackService.java:1184)
  - locked <0x3ce87ab4> (a java.lang.Object[])
  at ch.blinkenlights.android.vanilla.PlaybackService.playPause(PlaybackService.java:1221)
  - locked <0x3ce87ab4> (a java.lang.Object[])
  at ch.blinkenlights.android.vanilla.PlaybackActivity.playPause(PlaybackActivity.java:186)
  at ch.blinkenlights.android.vanilla.PlaybackActivity.onClick(PlaybackActivity.java:206)
  at ch.blinkenlights.android.vanilla.LibraryActivity.onClick(LibraryActivity.java:544)
  at android.view.View.performClick(View.java:4789)
  at android.view.View$PerformClick.run(View.java:19881)
  at android.os.Handler.handleCallback(Handler.java:739)
  at android.os.Handler.dispatchMessage(Handler.java:95)
  at android.os.Looper.loop(Looper.java:135)
  at android.app.ActivityThread.main(ActivityThread.java:5294)
  at java.lang.reflect.Method.invoke!(Native method)
  at java.lang.reflect.Method.invoke(Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

	"PlaybackService" prio=5 tid=16 Blocked
  | group="main" sCount=1 dsCount=0 obj=0x12d52900 self=0xb4a1c400
  | sysTid=14379 nice=0 cgrp=default sched=0/0 handle=0xb4929400
  | state=S schedstat=( 25323853 1519584 33 ) utm=2 stm=0 core=3 HZ=100
  | stack=0xaeafe000-0xaeb00000 stackSize=1036KB
  | held mutexes=
  at ch.blinkenlights.android.vanilla.PlaybackService.setCurrentSong(PlaybackService.java:1315)
  - waiting to lock <0x3ce87ab4> (a java.lang.Object[]) held by thread 1
  at ch.blinkenlights.android.vanilla.PlaybackService.activeSongReplaced(PlaybackService.java:1659)
  at ch.blinkenlights.android.vanilla.SongTimeline.broadcastChangedSongs(SongTimeline.java:906)
  at ch.blinkenlights.android.vanilla.SongTimeline.setFinishAction(SongTimeline.java:511)
  - locked <0x30e74b87> (a ch.blinkenlights.android.vanilla.SongTimeline)
  at ch.blinkenlights.android.vanilla.PlaybackService.processNewState(PlaybackService.java:1039)
  at ch.blinkenlights.android.vanilla.PlaybackService.handleMessage(PlaybackService.java:1543)
  at android.os.Handler.dispatchMessage(Handler.java:98)
  at android.os.Looper.loop(Looper.java:135)
  at android.os.HandlerThread.run(HandlerThread.java:61)
2016-12-02 15:23:36 +01:00
Adrian Ulrich
6eff4efde2 bump version code 2016-12-02 07:58:10 +01:00
Adrian Ulrich
d6b8cdbddc fix sd scanner
onAttach(Context) is an API23 function, this fixes the scanner to work on Android <=5
2016-12-02 07:56:53 +01:00
Adrian Ulrich
7caf2115a8 Fix crash in listview
setData() might get called late after a queue update. If the listview already started to draw, it might trigger a panic if a count mismatch was detected
2016-11-26 20:54:19 +01:00
Adrian Ulrich
b24648caac Use ArrayList instead of Vector 2016-11-26 17:24:43 +01:00
Adrian Ulrich
92cfa6f2ca target 1.0.46 2016-11-24 15:22:24 +01:00
Adrian Ulrich
331fbe94d9 improve performance of ShowQueueAdapter
Using a copy of the timeline and re-creating all entries on every view update scales very poorly (what was i thinking?!)
The new code holds a reference to the playback service where it can query the queue on demand
2016-11-22 10:04:53 +01:00
Adrian Ulrich
1e1fe4a375 fix fd-leak 2016-11-17 17:57:17 +01:00
Adrian Ulrich
2b885824c2 sync BASTP with f3ffdb930c57ab691b42d8ca9fbb9acf26073aad 2016-11-17 17:56:04 +01:00
Adrian Ulrich
ebf75fc683 Merge pull request #463 from CarbonROM/cr-5.1
Vanilla: Add Tools to build in Android tree
2016-11-11 17:47:34 +01:00
Christian Oder
e42ab04b54 Vanilla: Add Tools to build in Android tree
Also workaround build errors about missing localisation of empty strings

Change-Id: I359bee2019eee7bf1bf59107bbd68cc2a0ee1dc8

Vanilla: Cleanup Android.mk

Change-Id: Icac01fa7bc89b32ecc45ca8991fcb19d0db5baf3
2016-11-11 15:59:51 +01:00
Adrian Ulrich
e02e3cbc1b fix scrobble droid strings 2016-11-09 21:05:34 +01:00
Adrian Ulrich
bcd64a46d4 automatically remove last appended random song from queue if we are going out of RANDOM mode 2016-10-30 15:51:03 +01:00
Adrian Ulrich
0729e4d96a set FLAG_RANDOM for songs picked automatically 2016-10-30 14:32:42 +01:00
Adrian Ulrich
ca3ce0897c improve sorting of results returned by buildSongQuery() 2016-10-30 13:30:45 +01:00
Adrian Ulrich
b469cb6c0a allow sorting by artist, year, album 2016-10-29 21:46:10 +02:00
Adrian Ulrich
8632b4927f activate split screen feature for android 7 2016-10-29 19:34:42 +02:00
Adrian Ulrich
efa0b6f758 also update project.properties for sdk-24
was forgotten in 8beb95c79a4fd6e278ee6219444584df46f8b3fb
2016-10-29 19:16:35 +02:00
Adrian Ulrich
b316e202d8 sync translations 2016-10-29 11:24:16 +02:00
Adrian Ulrich
c81bcaa08f target 1.0.45 2016-10-23 14:11:16 +02:00
Adrian Ulrich
e9e131a575 crashfix: use getActivity() instead of getContext() to avoid crashes on Android <= 5.x 2016-10-23 14:04:40 +02:00
Adrian Ulrich
3e4efdb989 query androids artwork db by album id (just like the AOSP player does in getArtworkQuick()) 2016-10-23 13:58:06 +02:00
Adrian Ulrich
ca939650d4 sync with bastp git-head 2016-10-16 20:22:57 +02:00
Adrian Ulrich
95cd3b3329 sort file queries by path (aka: _data) 2016-10-02 10:36:50 +02:00
Adrian Ulrich
375a304573 Merge pull request #444 from xbao/dynamic-scanning-storage-dirs
Attempt to dynamically resolve storage dirs for scanning
2016-09-26 14:37:29 +02:00
Xiao Bao Clark
90f837fb63 Attempt to dynamically resolve storage dirs for scanning 2016-09-26 22:33:23 +10:00
Adrian Ulrich
26770c5697 target 1.0.44 2016-09-17 09:44:09 +02:00
Adrian Ulrich
8e4fad61ed Make genre expansion smarter
Jump to the next best tab
2016-09-17 09:41:20 +02:00
Adrian Ulrich
02e961581c only use a single wide character in coverbitmap 2016-09-17 09:32:16 +02:00
Adrian Ulrich
c8e4973d0f Update HALL-OF-SHAME.md 2016-09-14 18:50:20 +02:00
Adrian Ulrich
ff9b3d3251 Merge pull request #432 from lcremmer/audiofocus_bugfix
Found a couple of AudioFocus issues during our internal testing
2016-09-10 10:21:53 +02:00
Adrian Ulrich
5650e80941 get rid of unused global variable 2016-09-10 10:21:03 +02:00
Laurent Cremmer
ddf29c92af Fixed PlaybackService ignoring result of requestAudiFocus before (re-)starting playback, also fixed issue where getting loss_transient twice would prevent playback from resuming where audio_focus_gain is next received 2016-09-09 16:55:33 +01:00
Adrian Ulrich
a5776e3080 force soft keyboard to be visible for playlistdialog 2016-09-08 21:23:58 +02:00
Adrian Ulrich
0752f42644 implement triple-click-to-previous 2016-09-08 21:13:59 +02:00
Adrian Ulrich
b88a6f004b Cleanup playlist dialog code 2016-09-05 20:04:15 +02:00
Adrian Ulrich
bb3731f7ea Update HALL-OF-SHAME.md 2016-09-04 17:20:26 +02:00
Adrian Ulrich
d4747757bd implement skipcount 2016-09-04 17:07:34 +02:00
Adrian Ulrich
0c360bb5c2 add skipcount column 2016-09-04 16:48:19 +02:00
Adrian Ulrich
8beb95c79a target sdk version 24 2016-09-04 16:13:29 +02:00
Adrian Ulrich
826546bf72 use placeholder for singular version of second/hour/min 2016-09-04 16:09:09 +02:00
Adrian Ulrich
a940f0a4e9 replace song with track 2016-08-30 16:50:49 +02:00
Adrian Ulrich
94d699528f target 1.0.43 2016-08-15 11:42:54 +02:00
Adrian Ulrich
a7db7faa22 update translations 2016-08-15 11:41:12 +02:00
Adrian Ulrich
6f7c545c15 Update Hall-of-shame 2016-07-29 15:55:46 +02:00
Adrian Ulrich
89d7e6c213 get rid of divider view 2016-07-27 15:35:41 +02:00
Adrian Ulrich
d8fdd7fb64 force mPmark to consume space 2016-07-25 20:05:14 +02:00
Adrian Ulrich
0f5a496d76 call inflater with parent 2016-07-24 16:00:23 +02:00
Adrian Ulrich
9f0bcb6d18 reduce nesting of draggable row 2016-07-24 15:53:43 +02:00