The old way actually mis-used the API (I misunderstood the docs) because
it specified the marker position as a "low buffer watermark" but instead of a
future playback head position.
The replacement is a simple thread that writes the data regardless of the
filling level of the buffer (write() will just block) and polls the playback
state periodically.
Change-Id: If29237cee4ce78dc42f5a8320878bab0cafe78f7
Reviewed-on: http://gerrit.rockbox.org/422
Tested-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Sometimes (and perhaps only on some devices) Android's YesNo dialog
loses focus and is put to the background. Since the native code waits on the
result (which is then impossible to happen) it would become impossible
to further control Rockbox. This is an attempt to fix as I cannot reproduce
the problem on my device(s).
Change-Id: Iff849ff4be5e8f41922fb7d36491d860486c6441
This fix the "jarsigner error: java.security.SignatureException: private
key algorithm is not compatible with signature algorithm" when compiling
Android builds using OpenJDK7. This patch explicit how keytools make a
debug key so it is compatible with the changes in jarsigner made on
OpenJDK7. It is still working with OpenJDK6.
For those who already have a debug key, it will be necessary to remove
the previous key located on ~/.android.
Change-Id: Ifa4d37d0bda76e8937dc18572a7e8586c1a18a63
Reviewed-on: http://gerrit.rockbox.org/359
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
3f4be75 introduced this regression where the back button stopped working
as intended. Explicitely request the focus on the RockboxFramebuffer
object to fix.
Change-Id: Ibc67e3d02e076674a086d43c5967370c4524fd14
libs in $ROOT/lib now add to $(CORE_LIBS) and $(EXTRA_LIBS) and are
automatically linked by the core and codecs/plugins respectively.
Change-Id: Iff482c792a8c8142718f6a16a450c6e2f1497c9a
* rename some java methods (to update(), initialize())
* re-create the ByteBuffer object from the framebuffer on every update.
This is needed now since 2c71aa9 added the possiblity for lcd_framebuffer to change.
* do so, along with the creation of the dirty Rect object, in native code.
Change-Id: Id39ea8e4b6148987c5f216a87e0ff3c8e7babe92
Simplified stack unwinder for ARM. This is port of
http://www.mcternan.me.uk/ArmStackUnwinding/
backtrace() is called from UIE() on native targets
and from panicf() on both native and ARM RaaA.
Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
As a result, the java parts can now be build using ant (in the android dir).
Just issue "ant debug" after "make libs". Building the java parts from eclipse
also still works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31543 a1c6a512-1295-4272-9138-f99709370657
Otherwise we could only build under r6. As r7 is the latest and can't build
rockbox don't break peoples installed ndks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31369 a1c6a512-1295-4272-9138-f99709370657
The new menu is very helpful on RaaA, but also shown in the sim. It shows
the process cpu usage, process' time stats (user,sys,real) and the cpu
frequency stats.
It uses a thread to sample the data, however the thread is not created
until the menu is visited for the first time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31364 a1c6a512-1295-4272-9138-f99709370657
BitmapFactory.decodeFile() fails when called outside the main thread.
Work around by running the code on the main thread. This also has the advantage
of off-loading from the Rockbox thread which should improve track skipping
delays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30825 a1c6a512-1295-4272-9138-f99709370657
Instead of showing the small Rockbox clef logo show the Album Art if available.
If no Album Art is available show the clef logo about the same size as the
Album Art.
- The notification area process doesn't have permissions to access the SD card.
Therefore the image needs to be read and set as Bitmap instead of simply
setting the Uri to it as done in the widget.
- Passing a full sized image to the Notification Manager can cause issues
(Rockbox UI hanging, notification not updating anymore, force closes). Scale
down the image to the same size the launcher icon has to avoid this. This
also makes the logo shown when no Album Art is available have the same size
which looks nicer than having different sizes. Album Art images are allowed
to be wider since there is enough room.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30629 a1c6a512-1295-4272-9138-f99709370657
The filter for platform-tools is platform-tool, in contrast to the folder it
installs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30483 a1c6a512-1295-4272-9138-f99709370657
On the first start Rockbox extracts libmisc.so which in fact is a zip file
holding resource files like theme bitmaps. Those can requires quite a bit of
memory.
As extended version of FS#12063 resources will now be extracted to SD card if
the file /sdcard/rockbox/rockbox-info.txt is found. This file is part of the
extracted resources and can therefore safely be used for checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30430 a1c6a512-1295-4272-9138-f99709370657
Automatically discover the latest and greatest version of the Android SDK and
NDK by fetching it from the index.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30334 a1c6a512-1295-4272-9138-f99709370657
Making a JNI call from tick tasks is not permitted as the underlying thread
is not attached to the Java VM. This is an error and crashes in the emulator
(which has stricter JNI checks enabled by default).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30173 a1c6a512-1295-4272-9138-f99709370657
Restore pre-r29562 way of doing compatibility and adapt
it to what MediaButtonReceiver looks like. I.e. assume the new API is there,
and fall back to the old API if an exception is raised because the API isn't there.
The old API still needs to be discovered through reflection because it's removed
entirely from Honeycomb.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30165 a1c6a512-1295-4272-9138-f99709370657
* Cleanup RockboxService.java by moving the battery and
headphone monitors to separate classes and detaching their instances
* Move those monitors and RockboxTelephony.java into a new
monitors subdirectory
* Call those monitors all the same from native code by creating
the objects there
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30160 a1c6a512-1295-4272-9138-f99709370657
Android restarts services that are killed during memory pressure.
The intent parameter is null then. This caused a null pointer exception.
Now replace this null intent with one saying we've been restarted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30156 a1c6a512-1295-4272-9138-f99709370657
Update the download URLs to the most recent versions of SDK and NDK, the
previously used r09 of the SDK isn't available at that location anymore, and
differentiate between host platforms.
Note: while the script now can install the toolchain on Cygwin building for
Android on Cygwin does not work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29993 a1c6a512-1295-4272-9138-f99709370657
It's not enterly clear what fixed it but it seems to be a combination of
increasing the buffer size and reducing the amount of code run in the callback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29961 a1c6a512-1295-4272-9138-f99709370657
This event is sent before the audio is routed back to the speaker so we
get the information about the unplugged headphone notably earlier.
Decrease the debouncing of the headphone status from 1s to 0.5s to work
around audio still getting played back via the speaker due to the pause
delay by debouncing. On Android we shouldn't need the debouncing at all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29957 a1c6a512-1295-4272-9138-f99709370657
Listen to headphone plug events. There are currently two glitches with this:
- Android takes a while until it reports the unplug event, so there will be
some delay until playback gets paused. This is an Android limitation.
- Rockbox debounces headphone state changes for one second. Therefore playback
will shortly be routed to the speaker on unplug until Rockbox does the actual
pause.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29956 a1c6a512-1295-4272-9138-f99709370657
If the screen size specified is wider than higher specify the orientation as
landscape in AndroidManifest.xml. This usually applies to tablets where Rockbox
in portrait mode feels unnatural.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29951 a1c6a512-1295-4272-9138-f99709370657