summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/android (follow)
Commit message (Collapse)AuthorAge
...
* Android: Switch to pthread_cond+SIGEV_THREAD for tick task handling.Thomas Martitz2011-03-11
| | | | | | The implementation wasn't really safe (sem_post from signal handler), and the new one simplifies things a bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29575 a1c6a512-1295-4272-9138-f99709370657
* Create GlobalRef in surfaceCreated, in accordance to r29572.Thomas Martitz2011-03-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29574 a1c6a512-1295-4272-9138-f99709370657
* Android: delete the global reference in surfaceDestroyedMaurus Cuelenaere2011-03-11
| | | | | | This gets rid of the lcd_deinit() boilerplate. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29572 a1c6a512-1295-4272-9138-f99709370657
* Android: no need to keep RockboxPCM_class aroundMaurus Cuelenaere2011-03-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29571 a1c6a512-1295-4272-9138-f99709370657
* Partly revert "Android: use NewGlobalRef for references that are used globally"Maurus Cuelenaere2011-03-11
| | | | | | | The added complexity wasn't needed for most subsystems, as main() never returns so local references can't be freed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29570 a1c6a512-1295-4272-9138-f99709370657
* Android: Don't share the JNI environment across threads, but obtain it theMaurus Cuelenaere2011-03-11
| | | | | | correct way git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29569 a1c6a512-1295-4272-9138-f99709370657
* Android: use NewGlobalRef for references that are used globallyMaurus Cuelenaere2011-03-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29568 a1c6a512-1295-4272-9138-f99709370657
* Enable volume keys in Android.Björn Stenberg2011-03-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29559 a1c6a512-1295-4272-9138-f99709370657
* Bring idle poweroff to RaaA and the simThomas Jarosch2011-03-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29543 a1c6a512-1295-4272-9138-f99709370657
* Android: Fix black display after unzipping libmisc.so.Thomas Martitz2011-03-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29527 a1c6a512-1295-4272-9138-f99709370657
* Introduce "power" thread for RaaAThomas Jarosch2011-03-02
| | | | | | | | | | | | I tried to move the #ifdefs and the code in firmware/powermgmt.c around and it was still a big mess for hosted applications (RaaA/sim builds). Create our own "power" thread as recently discussed on IRC. Fixes the sleep timer for RaaA. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29501 a1c6a512-1295-4272-9138-f99709370657
* Move sleep timer code outside of PLATFORM_NATIVE ifdef so RaaA can access itThomas Jarosch2011-02-28
| | | | | | Also remove redundant RaaA stubs for it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29467 a1c6a512-1295-4272-9138-f99709370657
* Android:Thomas Martitz2011-02-23
| | | | | | | | | * Re-create RockboxFramebuffer instance with every time there's a new Activity. * Also, allow Rockbox to be started via multimedia buttons, immediately starting playback if wanted. We don't need to keep the fb instance around when it backround, and it makes us less depending on it and the activity (less race conditions). And this is how you usually do it in Android apps. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29384 a1c6a512-1295-4272-9138-f99709370657
* Android: Rewrite lcd subsystem to use the SurfaceView API.Thomas Martitz2011-02-19
| | | | | | | | That enables drawing from outside the apps UI thread, i.e. from within the Rockbox native thread, without needing synchronization means, and adds determinism as to when the draw happens. It simplifies the drawing routines and adds a convinient way of detecting whether drawing should happen or not (surfaceCreated/Destroyed). It also restores max. fps on my phone which went down drastically with the gingerbread(CM7) update. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29333 a1c6a512-1295-4272-9138-f99709370657
* Implement cooperative threads on hosted platforms using C code.Thomas Martitz2011-02-18
| | | | | | | | This replaces SDL threads with real cooperative threads, which are less cpu intensive and allow priority scheduling. The backend for context switching is dependant on the host (sigaltstack/longjmp on Unix, Fibers on Windows). configure has options to force or disallow SDL threads. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29327 a1c6a512-1295-4272-9138-f99709370657
* Add widgets to android port.Antoine Cellerier2011-01-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29170 a1c6a512-1295-4272-9138-f99709370657
* RaaA: Improve tagcache search to make the database built.Thomas Martitz2010-12-23
| | | | | | | | | | First, it add the ability to tagcache to walk through multiple search roots. Second, it adds symlinks targets to the search roots if they're are not inside any of the current search roots, otherwise the symlink is ignored (unless it's a file). The default search root is still /, so no search root will be actually added. But the tagcache now isn't trapped by recursive symlinks anymore and successfully builds, and it's prepared for a future music directory setting. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28884 a1c6a512-1295-4272-9138-f99709370657
* Android: Protect lcd updates with a mutex.Thomas Martitz2010-12-13
| | | | | | The scrolling engine could lock out the main thread which may be waiting for its update to finish (wakeups are not reentrant). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28821 a1c6a512-1295-4272-9138-f99709370657
* Android: Replace the java based tick timer implemented with a not as bloated ↵Thomas Martitz2010-12-10
| | | | | | and more accurate linux hrtimer based one. Further reduces idle cpu usage (0% on my phone but still 1-2% on a Samsung Galaxy S). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28784 a1c6a512-1295-4272-9138-f99709370657
* Get rid of get_user_file_path and do the path handling in wrappers for ↵Thomas Martitz2010-12-06
| | | | | | open() and friends. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28752 a1c6a512-1295-4272-9138-f99709370657
* Android: Fix yellowThomas Martitz2010-12-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28734 a1c6a512-1295-4272-9138-f99709370657
* Android: Make lcd updates synchronous, doesn't make it faster but smoother ↵Thomas Martitz2010-12-02
| | | | | | | | (no updates are skipped) and guaranteed to be glitch free. test_fps can also now report reasonable numbers: ~62 fps for both 1/1 and 1/4 updates (was 300-400 previously). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28728 a1c6a512-1295-4272-9138-f99709370657
* Android: Change how detecting call state (introduced in r27746) works, from ↵Thomas Martitz2010-11-12
| | | | | | | | | | | | | 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
* Touchscreen: Improved scroll thresholdThomas Martitz2010-11-10
| | | | | | | | | 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
* remove an unused variable and #includeJonathan Gordon2010-11-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28526 a1c6a512-1295-4272-9138-f99709370657
* Remote android button handling (again). do the press/unpress more like other ↵Jonathan Gordon2010-11-03
| | | | | | | | targets (i.e correctly). The DPAD is special in that the press/unpress happens too quickly, so always post it with the BUTTON_REL. This means all keymaps using the dpad need to remember it will always have a BUTTON_REL (which also means they cant do repeats, which are impossible anyway). Also make the back button go back to the OS home from the rockbox main menu git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28475 a1c6a512-1295-4272-9138-f99709370657
* Add support multimedia keys/buttons to the core, and adapt Rockbox on ↵Thomas Martitz2010-10-31
| | | | | | 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
* Pass the framebuffer to the service in the constructor rather than later ↵Thomas Martitz2010-10-31
| | | | | | from native code. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28411 a1c6a512-1295-4272-9138-f99709370657
* Clean up usage of RockboxService. Add a proper way to check if rockbox is ↵Jonathan Gordon2010-10-31
| | | | | | 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
* Initialize (instantiate) RockboxFramebuffer from the C code like with the ↵Thomas Martitz2010-10-29
| | | | | | | | 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
* Fix android hardware button handling so it actually works.Jonathan Gordon2010-10-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28345 a1c6a512-1295-4272-9138-f99709370657
* Redirect (L)DEBUGFs to adb logcat in DEBUG enabled builds.Thomas Martitz2010-09-20
| | | | | | Exclude compilation of firmware/debug.c for hosted platforms. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28125 a1c6a512-1295-4272-9138-f99709370657
* Extend lc_open() to also being able to load overlay plugins.Thomas Martitz2010-09-09
| | | | | | | For this it needs to look at the plugin header. Since lc_open() doesn't know it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
* Fix sdl application buildThomas Martitz2010-09-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28004 a1c6a512-1295-4272-9138-f99709370657
* Android: don't compile stubs.c and kill off libuisimulator entirely.Thomas Martitz2010-09-02
| | | | | | | Seperate make rules in a almost empty android.make. Also add forgotten powermgmt-android.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27977 a1c6a512-1295-4272-9138-f99709370657
* Android: Fix two warningsThomas Martitz2010-09-01
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27975 a1c6a512-1295-4272-9138-f99709370657
* Android: don't compile powermgmt-sim.cThomas Martitz2010-09-01
| | | | | | | | | | | 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
* Ged rid of uisimulator/common/io.c for android builds.Thomas Martitz2010-09-01
| | | | | | | | | | | Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants. Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know). For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one, the values can be retrieved via the new dir_get_info(). Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
* Android port: simplify sending touch events from Java->CMaurus Cuelenaere2010-08-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27833 a1c6a512-1295-4272-9138-f99709370657
* Android port: add support for hardware keysMaurus Cuelenaere2010-08-16
| | | | | | | * 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
* Android port: handle incoming calls.Thomas Martitz2010-08-07
| | | | | | 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
* A bit of work in the pcm driver. Should be a bit more efficient, but more ↵Thomas Martitz2010-08-04
| | | | | | 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
* Add a few forgotten files, Fix potential startup problem. Fix absolute ↵Thomas Martitz2010-08-04
| | | | | | touchscreen mode. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27693 a1c6a512-1295-4272-9138-f99709370657
* Implement HAVE_LCD_ENABLE and lcd_update_rect(). When Rockbox runs in the ↵Thomas Martitz2010-08-04
| | | | | | | | | | | 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
* Run Rockbox as a service, which allows for music decoding&playback in the ↵Thomas Martitz2010-08-03
| | | | | | | | | | | | 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
* system-android: cast void* to uintptr_t*Rafaël Carré2010-08-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27682 a1c6a512-1295-4272-9138-f99709370657
* Rockbox as an application: Commit current Android port progress.Thomas Martitz2010-08-02
General state is: Rockbox is usable (plays music, saves configuration, touchscreen works too). Problems: - Playing music in the background (i.e. when switching to another app) doesn't work reliably, but I'm working on that now. - no cabbiev2 (only some preliminary files for it), no other default theme. - screen flickers sometimes if the updates are too frequent - no multi screen apk/package - strange behavior when a phone call comes in The java files (and the eclipse project) resides in android/, which is also supposed to be the build folder. I've put a small README in there for instructions. There are some steps needed after the make part, which are described there, and which eclipse mostly handles. But there ought to be some script/makefile rules which do that instead in the future. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27668 a1c6a512-1295-4272-9138-f99709370657