1657 Commits

Author SHA1 Message Date
Adrian Ulrich
604930f807 target 1.0.47 2017-01-16 18:15:22 +01:00
Adrian Ulrich
553d32ef60 update translations 2017-01-15 17:20:33 +01:00
Adrian Ulrich
d2b5f931d2 improve quickscan 2017-01-15 17:16:16 +01:00
Adrian Ulrich
bb2e707844 add option to abort a scan 2017-01-15 16:00:06 +01:00
Antic1tizen One
c270b13296 Add CI smoke build, fix Gradle Lint warnings, fixes #451 (#504)
- Added CI smoke build config that spawns a build for pull-requests
- Removed extra translations that have no base strings anymore
- Added skip MissingTranslation option to lint as there are missing strings that are not filled in Transifex
2017-01-12 19:01:19 +01:00
Adrian Ulrich
882c03274b Update HALL-OF-SHAME.md 2017-01-11 19:10:59 +01:00
Antic1tizen One
58b40d862c Plugin subsystem. Shown as a last option in song context menu. Part of #407 (#442) 2017-01-08 19:52:07 +01:00
Adrian Ulrich
091d711ff9 change accent of blue theme 2017-01-08 19:04:44 +01:00
Adrian Ulrich
76996605c8 Show every album where the artist has at least one song for album lookups
the old code just used the inherited primary artist which is pretty confusing
2017-01-08 18:45:32 +01:00
Adrian Ulrich
c15b98bdc7 move media library header in settings 2017-01-08 17:55:50 +01:00
Adrian Ulrich
039a6821b6 improve handling of changed and updated files 2017-01-08 17:54:26 +01:00
Adrian Ulrich
364a08b3bc set disc_num to 1 if unset 2017-01-03 21:22:11 +01:00
Adrian Ulrich
e4cbf3e4fe fix sql layout to store disc_num on song
The album id is hashed from the string, so joining it from the shared album entry doesn't make much sense
2017-01-02 13:01:30 +01:00
Adrian Ulrich
e92e24ec00 fix regexp for year-fallback extraction
Java regexp's are always automatically enclosed by ^$
2017-01-01 18:13:49 +01:00
Adrian Ulrich
294a670607 tune progress icon 2016-12-31 17:23:12 +01:00
Adrian Ulrich
2e958ec285 update notification at most twice per second 2016-12-31 14:07:02 +01:00
Adrian Ulrich
e747f1ee37 use notification instead of toast to display scan progress 2016-12-31 13:54:17 +01:00
Adrian Ulrich
fc167c08c7 remove debugging leftovers 2016-12-31 12:45:34 +01:00
Adrian Ulrich
01ee099cef disable database debugging 2016-12-31 12:38:39 +01:00
Adrian Ulrich
d26d10570b import old playlists 2016-12-31 12:38:05 +01:00
Adrian Ulrich
2a562230da make delay in startQuickScan an argument 2016-12-31 11:12:12 +01:00
Adrian Ulrich
19ae36c3a2 update translations 2016-12-31 10:52:46 +01:00
Adrian Ulrich
c55860d56d s/songs/tracks/ 2016-12-28 18:06:19 +01:00
Adrian Ulrich
08f79a84ae implement media scanner UI 2016-12-27 21:44:42 +01:00
Adrian Ulrich
447059150e Revert "fix some layout errors with the white widget"
This looks bad on Android 5 :-/

This reverts commit 37652c8b92196afdd996ff3634ff8925573821b6.
2016-12-27 19:39:32 +01:00
Adrian Ulrich
46deaf25e7 crashfix: correctly check sort mode bounds
A sort mode of -6 means '6 reversed', so we must check if '6' is in-bounds (instead of -6)
2016-12-26 21:06:05 +01:00
Adrian Ulrich
70b8119365 add blue theme 2016-12-26 20:50:32 +01:00
Adrian Ulrich
2f0fe7586b Revert "add blue theme"
This reverts commit 8f670897ddc85570163ac62e1896e95db0886111.
2016-12-26 20:50:06 +01:00
Adrian Ulrich
1fa70a00bf use centerCrop for notification 2016-12-26 20:13:29 +01:00
Adrian Ulrich
37652c8b92 fix some layout errors with the white widget 2016-12-26 20:13:05 +01:00
Adrian Ulrich
8f670897dd add blue theme 2016-12-26 19:51:58 +01:00
Adrian Ulrich
6c85a11743 Merge branch 'medialibrary' 2016-12-26 19:33:08 +01:00
Adrian Ulrich
dcd7df4f66 first version of automatic media scanner 2016-12-26 19:31:12 +01:00
Adrian Ulrich
6f898e7892 update translations 2016-12-22 18:57:06 +01:00
Adrian Ulrich
8abdf25d38 Implement getLibrarySize() 2016-12-18 19:59:46 +01:00
Adrian Ulrich
16aa6440f8 implement externally triggerable scanner 2016-12-18 18:55:41 +01:00
Adrian Ulrich
57b88bfef2 fix code style errors 2016-12-18 18:27:59 +01:00
Adrian Ulrich
2e9de29921 fix comment typo 2016-12-18 11:53:10 +01:00
Adrian Ulrich
4ed4cd0fab implement startNativeLibraryScan() 2016-12-18 11:50:59 +01:00
Adrian Ulrich
5782e295eb implement startUpdateScan() 2016-12-18 11:36:17 +01:00
Adrian Ulrich
4429c50dec improve handling of file updates 2016-12-18 10:58:15 +01:00
Adrian Ulrich
da159cace2 Reduce visibility of functions 2016-12-18 10:12:46 +01:00
Adrian Ulrich
72d8c65211 UGLY: our SQL optimizer is pretty silly and uses a regexp to parse SQL.
Instead of fixing the root issue (parsing sql by regexp), we are going to pass
a 'nicer' query to the 'optimizer' so that it is able to catch our intent.
2016-12-18 10:09:48 +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
012f0538f8 remove orphaned playlist entries during delete 2016-11-28 21:06:42 +01:00
Adrian Ulrich
055effb976 support for file updates 2016-11-28 21:05:02 +01:00
Adrian Ulrich
69b8636c60 get rid of unused recursive flag 2016-11-28 20:05:08 +01:00
Adrian Ulrich
3d49310a9d move observer notifications into MediaLibrary from MediaLibraryBackend 2016-11-28 20:03:47 +01:00