Christopher Eby
7715ec7dde
Implement new randomization method to reduce repetition
...
randomSong() now draws from a shuffle list of all songs in the library. Each
time the end of this list is reached, it is shuffled. The list is updated when
the library changes.
2011-08-23 16:55:31 -05:00
Christopher Eby
d456821891
Move media content observer into ContextApplication
2011-08-23 16:55:23 -05:00
David Beswick
3fd61bcafe
Playback is stopped immediately on song change before further
...
processing, so the user has feedback on their input. Some operations in
this method can cause a delay on my phone.
2011-08-23 16:55:17 -05:00
Christopher Eby
b8f3e3819f
Handle corrupt/missing songs better
...
The old behavior would try to skip the song automatically and not tell the user
what was happening. The new behavior shows a Toast and stops playback.
2011-08-23 16:55:11 -05:00
David Beswick
bd0596cd9e
Fixed null pointer exception when no songs are present in the
...
device's library.
2011-08-23 16:54:55 -05:00
David Beswick
fc56df74a4
Fixed null pointer exception when no songs are present in the
...
device's library.
2011-08-20 00:06:03 -05:00
Christopher Eby
cce204e727
Use AUDIO_BECOMING_NOISY event; remove headset only option
...
The AUDIO_BECOMING_NOISY intent seems to be broadcast before the
HEADSET_PLUG intent. In some cases, the HEADSET_PLUG intent fires so
late that audio starts playing through the speaker..
AUDIO_BECOMING_NOISY also handles Bluetooth.
The headset only feature was useful to prevent accidental "noisy" playback,
however it is cumbersome to implement with the Android audio API being the mess
that it is. Thus I've removed it.
2011-08-19 03:01:12 -05:00
Christopher Eby
199a46a139
Switch to MIT license
2011-08-19 01:28:15 -05:00
Christopher Eby
4169dd05b3
Version 0.1 build 16
2011-01-11 17:06:15 -06:00
Christopher Eby
587dff0a75
Don't crash in CoverView with song ids of -1
2010-07-31 17:14:53 -05:00
Christopher Eby
2a1361b626
Add a new action for notification click: skip to next song
2010-07-25 17:00:51 -05:00
Christopher Eby
338974def5
Handle randomization of broken songs correctly
...
The old code didn't update the song in the timeline, which lead to some
interesting issues.
2010-07-25 14:03:00 -05:00
Christopher Eby
03ffdfbaf3
Add a 2x2 widget
2010-07-25 03:07:12 -05:00
Christopher Eby
0cf4e0e097
Tweak 1x4 widget layout
2010-07-25 01:06:05 -05:00
Christopher Eby
a43baab770
Change the appearance of the 1x4 widget
2010-07-25 00:30:29 -05:00
Christopher Eby
5f72dba0e4
Fix some crashers
2010-07-24 22:56:20 -05:00
Christopher Eby
4495daf234
Don't crash for null songs
2010-07-17 19:39:23 -05:00
Christopher Eby
e5b5870453
Query random songs in clusters
2010-07-01 01:38:39 -05:00
Christopher Eby
1524225657
Don't crash when moving before a repeating song
2010-07-01 01:18:34 -05:00
Christopher Eby
f6298a07c3
Cache the covers retrieved with getCover
2010-07-01 01:18:23 -05:00
Christopher Eby
435de332b8
Reuse bitmaps in CoverView
2010-07-01 01:18:12 -05:00
Christopher Eby
a85848c246
Refactor bitmap cache into a discrete class
2010-07-01 00:29:47 -05:00
Christopher Eby
4a120630b4
Fallback to offical cover art retrieval api
2010-06-03 21:34:41 -05:00
Christopher Eby
203fadccb4
Update song selector controls on the proper event only
2010-06-02 22:36:27 -05:00
Christopher Eby
5f53a5dbc2
Handle repeat/shuffle toasts in PlaybackService
...
Prevents toasts from being shown multiple times..
2010-06-02 22:33:53 -05:00
Christopher Eby
ae27040cd4
Better force state load
2010-06-02 22:29:06 -05:00
Christopher Eby
f43bb58a65
Only open the activity in certain areas on the widget
2010-06-02 00:30:39 -05:00
Christopher Eby
24f55f76f5
Toggle playback on long click of CoverView
2010-06-02 00:26:31 -05:00
Christopher Eby
d92c8a2638
Give CoverView its own Handler
2010-06-02 00:18:56 -05:00
Christopher Eby
9de092f7fb
Make Song.generateBitmap more clear
2010-05-31 23:12:10 -05:00
Christopher Eby
91b8d627a8
Create tab count constants in SongSelector
2010-05-31 22:33:54 -05:00
Christopher Eby
6234b402f2
Save state in song selector across orientation changes
2010-05-31 21:57:03 -05:00
Christopher Eby
21515a430e
Defer broadcasting
2010-05-26 22:48:07 -05:00
Christopher Eby
3d0aff0d38
Launch the appropriate activity for widget double tap
2010-05-26 22:27:51 -05:00
Christopher Eby
3e186a2307
Add a 1x4 widget
2010-05-26 22:25:00 -05:00
Christopher Eby
cf34354bba
Add an option to bring back the double-tap-widget-opens-activity behavior
2010-05-25 23:21:27 -05:00
Christopher Eby
aa07a5264c
Add a check for an empty cursor in Song.randomize
2010-05-24 15:45:58 -05:00
Christopher Eby
cea45b35e1
Show the shuffle/repeat Toasts after the flags have actually been changed
2010-05-23 22:06:55 -05:00
Christopher Eby
7b3bccd550
Don't enable repeat if we have no songs
2010-05-23 21:59:38 -05:00
Christopher Eby
5c470d270b
Modify the message overlay on the UI thread as is required
2010-05-23 21:48:16 -05:00
Christopher Eby
2273f77ab2
Improve widget response time
2010-05-23 14:41:18 -05:00
Christopher Eby
b80fe99875
Fix long press in SongSelector
2010-05-23 14:09:37 -05:00
Christopher Eby
25ed28af37
Give a bit more detail in the repeat enabled message
2010-05-23 13:50:21 -05:00
Christopher Eby
c90934c1a1
Fix playlist playback
...
Use the right column
2010-05-23 11:24:23 -05:00
Christopher Eby
0e8fb9cb29
Allow playlists to be renamed
2010-05-23 11:11:13 -05:00
Christopher Eby
ec017c8d46
Allow playlists to be edited with the default music player
2010-05-23 01:18:10 -05:00
Christopher Eby
7de65f6b92
Split out media button code into MediaButtonHandler singleton
...
This allows us to avoid starting up the service simply to check if a media
button event should be handled.
2010-05-23 00:45:05 -05:00
Christopher Eby
4ac3826277
Remove the unecessary layout from VolumePreference
2010-05-22 23:45:19 -05:00
Christopher Eby
1527a56b31
Allow playback to be halted after a set idle timeout
2010-05-22 23:43:41 -05:00
Christopher Eby
c7f33c2f61
Null checks are good
2010-05-22 17:28:09 -05:00