1
0
Fork 0
forked from len0rd/rockbox
Commit graph

51 commits

Author SHA1 Message Date
Thomas Martitz
efe41e91c4 Android: When the backlight goes off, the RockboxFramebuffer/View isn't made invisible. Force that in order to disable screen updates while backlight is off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28569 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 22:09:27 +00:00
Thomas Martitz
0cf2cc1607 Android: Change how detecting call state (introduced in r27746) works, from polling to event based.
* For some reason, the polling methid is much more inefficient than I thought. According to htop it caused up to 15% CPU load on some phones (e.g. Galaxy S).
The event based causes no CPU load.
Rockbox' idle CPU load is now back to 0%, while it was previously dominated by polling the call state.

* Also stop on outgoing calls (no need to explicitely pause for making a call anymore).
* Factor out the detection mechanism to separate files.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28564 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 21:04:13 +00:00
Thomas Martitz
33af0dec28 Touchscreen: Improved scroll threshold
Remove the hardcoded (and way too small) scroll threshold (the distance moved in pixels before we think the users wants to scroll) and replace it with something based on the actual DPI of the screen.
On Android we call the API for that, on other touchscreens we reimplemented Android's formula (as of 2.2) and calculate it.

Flyspray: 11727

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28548 a1c6a512-1295-4272-9138-f99709370657
2010-11-10 15:25:15 +00:00
Jonathan Gordon
eab843f2c3 android: don't crash if the user presses HOME while the loading screen is showing, this shuld also be made canceleable later
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28530 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 21:10:17 +00:00
Maurus Cuelenaere
f20582442f Android: replace hardcoded strings with Android strings, allowing translations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28518 a1c6a512-1295-4272-9138-f99709370657
2010-11-06 02:02:58 +00:00
Thomas Martitz
739d76cfda Android: Use our translations for the yes/no/ok/cancel buttons in the yesno and keyboard dialog.
Second part of FS#11708.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28515 a1c6a512-1295-4272-9138-f99709370657
2010-11-06 01:40:24 +00:00
Maurus Cuelenaere
93640fc228 Android: only display progress dialog when extraction happens
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28514 a1c6a512-1295-4272-9138-f99709370657
2010-11-06 01:27:01 +00:00
Maurus Cuelenaere
c31a2f3bbb Android: greatly simplify Android YesNo and KeyboardInput widgets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28513 a1c6a512-1295-4272-9138-f99709370657
2010-11-06 01:18:32 +00:00
Thomas Martitz
988bdc1cc4 Android: Use wakeup objects instead of polling for the dialog results in the keyboard and yesno dialog, allowing a lot of code to be removed.
First part of FS#11708

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28512 a1c6a512-1295-4272-9138-f99709370657
2010-11-06 01:01:01 +00:00
Maurus Cuelenaere
be51be6a99 Android: prevent NullPointerException in RockboxService
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28511 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 23:55:20 +00:00
Maurus Cuelenaere
1b477de3cb Android: don't display the loading screen etc. when the library is already loaded
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28510 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 23:52:26 +00:00
Maurus Cuelenaere
fe2be33318 Android: clean up extracting a bit + add user-visible error-reporting
Also put ResultReceiver on the RockboxActivity UI thread.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28509 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 23:40:17 +00:00
Maurus Cuelenaere
4f747c1aaa Android: prevent loading the library twice
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28508 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 23:40:05 +00:00
Maurus Cuelenaere
7ccc78d084 Android port: replace waiting hack in AndroidActivity with a ResultReceiver, added bonus is unzip progress feedback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28506 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 23:39:56 +00:00
Maurus Cuelenaere
a83043274b Android port:
* decouple RockboxFramebuffer resume/suspend behaviour from RockboxActivity
 * make RockboxFramebuffer native methods private
 * refactor attaching the RockboxFramebuffer view to RockboxActivity

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28505 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 23:39:53 +00:00
Thomas Martitz
a4f112729b tabs -> spaces in the new Yesno java files and remove unused imports.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28422 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 15:40:43 +00:00
Thomas Martitz
49f1ec8e8a Add support multimedia keys/buttons to the core, and adapt Rockbox on android for it (multimedia buttons are found on wired headsets and the lock screen in cyanogenmod).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28421 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 15:32:57 +00:00
Thomas Martitz
50a9d50fde Factor out the start/stopForeground and notification icon management into a separate class, don't let RockboxService.java become a beast.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28416 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 14:13:52 +00:00
Jonathan Gordon
b92eabd38b Use a native yes/no dialog instead of rockbox's internal one on android
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28415 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 13:12:01 +00:00
Thomas Martitz
c8901b3506 Remove the use of the instance field in non-anymore-static methods
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28412 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 12:16:06 +00:00
Thomas Martitz
bf63f24168 Pass the framebuffer to the service in the constructor rather than later from native code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28411 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 12:11:14 +00:00
Thomas Martitz
2d05d2f9da Clean up r28408 coding style a bit to follow our guidelines with regard to
brace placement, tabs and 80 char line width.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28410 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 12:00:03 +00:00
Jonathan Gordon
eaff333bf5 Use a Native keyboard GUI instead of rockbox's internal one on android
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28407 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 10:35:55 +00:00
Jonathan Gordon
26f7ee13ce Clean up usage of RockboxService. Add a proper way to check if rockbox is actually running (checking RockboxService.fb != null was very very bad)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28406 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 10:35:42 +00:00
Thomas Martitz
4cbb16e86a Android: Delay the progress dialog so it's not shown until after 0.5s are over. This way it shouldn't show in a normal launch, but only if libmisc.so needs unzipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28387 a1c6a512-1295-4272-9138-f99709370657
2010-10-29 23:12:13 +00:00
Thomas Martitz
6bb7522852 Initialize (instantiate) RockboxFramebuffer from the C code like with the othe java objects.
Remove some @Override annotations to make the Java code build with certain javac versions.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28386 a1c6a512-1295-4272-9138-f99709370657
2010-10-29 23:12:08 +00:00
Jonathan Gordon
1a2851c298 Redo "r28369, Android load progress screen". git+svn lost the actual code changed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28372 a1c6a512-1295-4272-9138-f99709370657
2010-10-28 11:30:31 +00:00
Jonathan Gordon
db2a8ffd30 Android: Display a "Loading, please wait" dialog while we wait for the rockbox service to start
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28369 a1c6a512-1295-4272-9138-f99709370657
2010-10-28 09:19:15 +00:00
Jonathan Gordon
783421ddd7 Make sure the view always has focus and can be focused in touch mode so the front buttons work after a touch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28348 a1c6a512-1295-4272-9138-f99709370657
2010-10-24 13:34:28 +00:00
Thomas Martitz
51c91c599b Adhere to the 80-char line width limit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28067 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 20:10:05 +00:00
Thomas Martitz
c98f5845f6 Redo r28059, minBufferSize() turned out a bit more unstable on my Legend. Now use the MAX() of the old buffer and minBufferSize()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28066 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 20:00:27 +00:00
Thomas Martitz
282adacb54 Code style changes in the java part (whitespaces and braces) to match Rockbox coding style.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28065 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 19:56:13 +00:00
Thomas Martitz
54c838d2ae The rockbox header got lost at some point.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28064 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 17:48:25 +00:00
Thomas Martitz
6cf36810aa Android: Use an explicit 8k buffer for unzipping libmisc.so to remove a warning in logcat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28063 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 17:46:54 +00:00
Thomas Martitz
cbbbe60dbf Use getMinBufferSize instead of hardcoding a buffer size.
Seems to fix problems on Samsung Galaxy S, thanks to István Nagy.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28059 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 09:42:21 +00:00
Thomas Martitz
f05cdc46f2 Android: don't compile powermgmt-sim.c
Instead implement a bit of battery monitoring. Currently it only fetches the battery level (in %) every 30s,
but it could do more like battery status, charger connected, voltage...
Theoretically, we could also exit/quit after some time of inactivity too
(perhaps not a bad idea since Rockbox puts a slight but still non-zero CPU load even if doing nothing).

Ironically, Rockbox is now the only way to get the exact battery level (at least I haven't found anything yet) on my phone :-)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27974 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 23:36:15 +00:00
Maurus Cuelenaere
5068891477 Android port: simplify sending touch events from Java->C
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27833 a1c6a512-1295-4272-9138-f99709370657
2010-08-16 20:12:10 +00:00
Maurus Cuelenaere
934a5a5808 Android port: add support for hardware keys
* Forward Java KeyEvents to C layer and translate them to Rockbox BUTTON_*.
 * Add a basic Android keymap

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27832 a1c6a512-1295-4272-9138-f99709370657
2010-08-16 20:12:06 +00:00
Maurus Cuelenaere
e726e53da6 Android port: use Arrays.fill() instead of a for-loop for clearing a byte array
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27831 a1c6a512-1295-4272-9138-f99709370657
2010-08-16 20:12:01 +00:00
Thomas Martitz
4a3e6dbe8f A bit of cleanup.
Replace // with /* */ style comments
Cleanup copy&paste from the doc examples.
Don't pretend to handle exception we don't handle actually.
cleanup imports

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27754 a1c6a512-1295-4272-9138-f99709370657
2010-08-08 16:44:06 +00:00
Thomas Martitz
4aa3d01066 Run the pcm callback from a separate OS thread, that seems to make audio playback
much more reliable. Especially on the broken HTC phones. Now it recovers from
stuttering instead of simply stopping playback on my phone.

Previously it was run on the main/UI thread (the docs lie in that regard), which
I suspect happened to be blocked if it's in the background and tries to
get too much CPU.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27753 a1c6a512-1295-4272-9138-f99709370657
2010-08-08 15:53:02 +00:00
Thomas Martitz
8978b2bafa Android port: The RockboxService introduction broke 1.5/1.6 compability. This should bring it back (heaviliy based on the example given in the Android docs).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27748 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 22:29:54 +00:00
Thomas Martitz
ca4439ff65 Android port: handle incoming calls.
Stop explicitely if a call comes in, and resume playback (if it was playing before the call) upon hang up.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27746 a1c6a512-1295-4272-9138-f99709370657
2010-08-07 21:30:22 +00:00
Thomas Martitz
9dd48db22c Remove faulty reference to inexistent resource.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27730 a1c6a512-1295-4272-9138-f99709370657
2010-08-05 22:34:24 +00:00
Thomas Martitz
bd9c0b21d6 A bit of work in the pcm driver. Should be a bit more efficient, but more importantly more dependable. Stopping playback now properly recovers if playback crashed for some reason (shouldn't happen of course).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27698 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 18:34:32 +00:00
Thomas Martitz
546cd48504 Show/hide notification area icon when starting/stopping playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27694 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 14:34:26 +00:00
Thomas Martitz
04dc00b7ca Add a few forgotten files, Fix potential startup problem. Fix absolute touchscreen mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27693 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 12:25:25 +00:00
Thomas Martitz
594110e962 Implement HAVE_LCD_ENABLE and lcd_update_rect(). When Rockbox runs in the background
this greatly reduces CPU load. lcd_update_rect shoves a bit as well.

CPU usage with Rockbox in background is between 3% (with a 200kbps vbr mp3) and 12% (320kbps cbr mp3), so it's low but still dependent on codecs and even particular files.
Driving a WPS with peakmeter, e.g. the builtin one, adds about 30% cpu usage.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27689 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 01:03:25 +00:00
Thomas Martitz
f66a233bdb Ignore screen orentiation changes and force portrait mode. We cannot handle it any time soon anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27688 a1c6a512-1295-4272-9138-f99709370657
2010-08-03 23:23:33 +00:00
Thomas Martitz
9dd0158ffb Run Rockbox as a service, which allows for music decoding&playback in the background,
the activity only attaches to the framebuffer for displaying it. An icon
in the notification area is displayed (it could be prettier I guess).

Note: Some HTC phones won't, includng mine, get enough CPU time to do background decoding
fluently, see: http://code.google.com/p/android/issues/detail?id=9663

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27686 a1c6a512-1295-4272-9138-f99709370657
2010-08-03 22:56:24 +00:00