463 Commits

Author SHA1 Message Date
Christopher Eby
76b6fe134d Add widget display mode without zoomed cover art
This changes the id for the zoomed mode, just for consistency. Since this
feature hasn't been released yet that should be ok.
2011-08-30 18:44:36 -05:00
Christopher Eby
339a9fcf85 Make media button play/pause pause immediately.
It provides a faster response and there isn't any reason not to---a double
click will restart playback.
2011-08-30 01:53:50 -05:00
Christopher Eby
69bbfbb255 Run playback activity song/state change methods on UI thread
This allows CoverView and song info views to be updated in one go, rather than
in multiple posts to the UI thread.
2011-08-30 01:35:18 -05:00
Christopher Eby
cc1a5cb448 Handle notifications better
Don't update them when unecessary. Fix an edge case where the notification
wouldn't update from the paused to playing style.
2011-08-29 01:38:25 -05:00
Christopher Eby
a4ea3089f6 Move media button registration into MediaButtonHandler; only register when media buttons are enabled 2011-08-29 01:37:41 -05:00
Christopher Eby
fa63a36bbc Fix purge 2011-08-29 01:37:16 -05:00
Christopher Eby
f0abd282cc Fix the long press fix
Hmm...
2011-08-29 01:37:07 -05:00
Christopher Eby
07c29406e2 Handle text alignment in TextView rather than the layout
This allows the alignment to be updated immediately instead of in the background
2011-08-29 01:36:51 -05:00
Christopher Eby
13e30746ed Restructure play/pause and song change to update UI immediately
PlaybackService methods return the new song or state immediately, the calling
Activity updates with the result, the rest of the work is done in the
background, and inactive activities update with the broadcast.

Previously, everything was done in the background and the UI did
not update until the work was done and the update was broadcast, which took
forever.
2011-08-29 01:36:37 -05:00
Christopher Eby
7336b69e08 Fix duration improvement again 2011-08-28 04:56:57 -05:00
Christopher Eby
3c76f4359f Fix duration improvement 2011-08-28 04:36:01 -05:00
Christopher Eby
6ea6688a27 Fix dpad navigation.
Call super and update CoverView immediately
2011-08-28 04:34:15 -05:00
David Beswick
a2d8710ae8 Added ability to navigate songs by moving left and right on the dpad
when play controls are focused. Preference to come later.
2011-08-28 04:26:07 -05:00
Christopher Eby
df570d507c Use song duration data from MediaStore
Allows the duration to be displayed before the song starts playing.

Also add a missing synchronized around a call to wait()
2011-08-28 04:18:16 -05:00
Christopher Eby
b038af1ba2 Remove dead code 2011-08-28 03:29:10 -05:00
Christopher Eby
17ea717535 Update proguard.config 2011-08-28 03:28:35 -05:00
Christopher Eby
7bbe6184e9 Cleanup updateState()
Changes are mostly aesthetic. Was annoyed by the long conditionals.
2011-08-28 02:45:21 -05:00
Christopher Eby
83cdef201f Persist the visibility of the controls 2011-08-28 02:11:28 -05:00
Christopher Eby
33374c2ebd Add genre tab to library 2011-08-28 01:59:53 -05:00
Christopher Eby
d1d875fd5f Refector library limiters 2011-08-28 00:08:57 -05:00
Christopher Eby
444b7f588b Optimize isSongAvailable() 2011-08-27 18:07:54 -05:00
Christopher Eby
13f80aaca4 Fix MediaUtils.shuffle
Was ignoring the first element of the list.
2011-08-27 16:08:35 -05:00
Christopher Eby
09cf5a8930 Handle CoverView long-presses better.
This treats them the same way as normal presses: they can be activated with up
to a small amount of movement.

Also executes scroll-reset code even when a press is detected. Before small
movements were not being reset.
2011-08-27 16:02:48 -05:00
Christopher Eby
0303cfb08f Add a new style for FullPlaybackActivity 2011-08-27 15:29:17 -05:00
Christopher Eby
6e3c8e7580 Fix cover scaling 2011-08-27 15:29:04 -05:00
Christopher Eby
f65cb06978 Remove dead code 2011-08-25 00:15:10 -05:00
Christopher Eby
f54be18e5b Call userActionTriggered() in the correct places 2011-08-25 00:10:59 -05:00
Christopher Eby
9224095dba More detailed time display in IdlePreference 2011-08-24 16:37:55 -05:00
Christopher Eby
025c6e20f8 Include all image resources in app 2011-08-24 10:27:28 -05:00
Christopher Eby
c69f74a482 Rename Song Selector/Choose Songs to Library and change icon 2011-08-24 10:19:59 -05:00
Christopher Eby
17e8e400e4 Add option to disable cover art 2011-08-24 00:53:01 -05:00
Christopher Eby
a9db1f55fb Use Froyo registerMediaButtonReceiver API 2011-08-24 00:52:51 -05:00
Christopher Eby
a8bf7536ac Handle media keys in PlaybackActivities
Avoids the overhead of the broadcast when the activity has focus
2011-08-23 22:47:28 -05:00
Christopher Eby
e5d3053a44 Remove programming-created media button receiver
This was an optimization (since manifest-defined receivers have to be
constructed again for each broadcast) that doesn't seem to help all that much.
I mainly removed it because it makes using the Froyo registerMediaButton API
harder (impossible?) to use.

Also change receiver priority to 999, since apparently >=1000 should only be
used by the system.
2011-08-23 22:38:05 -05:00
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
2f69afc529 Update Android target version to 10 2011-08-19 02:35:29 -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
1423ce773c Increase shadow radius in widget 2010-07-25 22:06:01 -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
332d585961 Populate the widget ImageView initially 2010-07-25 16:22:17 -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
7156d11ea1 Increase padding on the long widget buttons 2010-07-25 03:07:25 -05:00