With this, these apps can be used even if /data is something like 128MB,
e.g. on normal phones, not tablets / emulators.
Change-Id: I7c8f2787b6395e98e8065e2e207aa09d9a2f39b3
Acked-by: Tor Lillqvist <tml@iki.fi>
I got scrolling to respond to the JNI scroll method call. (This is not yet
the gesture I want to implement (scroll by pixels), but at least it’s a
start.)
At first I tried to do some hacking in the C++ part, then found the problem
was in the Java parameters, which set the mouse whell delta too big. When
passed the value 1 or -1 to the Y value of AppSupport.scroll(int x, int y),
the scrolling is reasonable.
Change-Id: Id8fa0ada1a035760b7b05bf21325d0e51ef28fdc
Not sure why I used to store it as images.zip. Probably just a mistake. The
code uses the images_tango.name.zip when trying to open it.
Sure, no toolbar with images is displayed currently anyway, so having this
file in the .apk is pointless, but there has been talk of reverting the
disabling of toolbars, sigh.
Change-Id: I12dfd3abe8f329d660b518f6b37904aa00423bc2
The old bin/ure/types.rdb was just a duplicate of bin/udkapi.rdb. There is no
bin/types.rdb any more either. We have just udkapi.rdb, offapi.rdb and
oovbaapi.rdb now.
Change-Id: Idd0911f1d4d48f172af159b852918d429f17cc92
Move the native methods out to a separate AppSupport class so that they aren't
in our "experimenal" Desktop app's namespace. Don't hardcode the name of that
class in the native code, but have the app register the class to which the
damage callbacks should be done.
Possibly the AppSupport and Bootstrap classes should be combined. Later.
Also, the "android" part of the package name is superfluous; it is
Android-specific code, no information gained by having an "android" part in
the package name.
Change-Id: Iddf55c8034ead7693887ace8438deb002c5eea9f
Now it does work nicely during the gesture when all the action is on the Java
side (translating and scaling the pre-rendered bitmap). Looks a bit sad, of
course, that nothing scrolls in to replace the parts of page(s) scrolled out
during the gesture, and correspondingly for zooming.
To then get the stuff down in the murky depths of the LO code to do what I
want still is beyond me.
Change-Id: I9ce33ed482013d18a877d1798de3bce5ac608e5e
In the damaged() method do a callback up to Java code in Desktop that
invalidates the view. For now store the view in a static field, but need to do
that in a cleaner way eventually. There might in some circumstancest be
several instances of the Desktop activity present. Obviously should also run
just one LO thread.
Get rid of the temporary self-invalidattion in onDraw() silliness.
Start the LO thread that runs soffice_main() from Java, not from native
code. Apparently only threads created from Java have proper class loaders in
Android.
No need for an own DoReleaseYield() in AndroidSalInstance, the one in the
SvpSalInstance base class does what needs to be done.
Change-Id: I4cb85b352fca1f1375f726620ec8c93d2047f113
Don't ask the LO code to zoom while scaling in progress. That is way too
slow. Return to the idea of just scaling the already rendered bitmap
containing the "top-level window" from LO's perspective, UI elements and
all. (Obviously if we continue to work on thie demo app, the desktop style UI
elements need to disappear from the sides of the LO "window", so that the only
thing LO renders is the actual viewport of the document contents.)
This time, instead of scaling the View, which for some reason causes horrible
flickering glitches at least on my device, draw the bitmap scaled in
onDraw. Much smoother for some reason.
Of course when we then in onScaleEnd() ask LO to do the actual zoom, what
eventually results (remember that the LO code runs asynchronously in a
separate thread, and the zoom request only gets posted to that thread) is not
at all the same as what just drawing the bitmap at scale produced. (Especially
not as there is no way yet to have LO zoom centred on a specific pivot point.)
Change-Id: Id80576c99a03f5f8bf0d8039c6c7406322581956
No need to call defaultBootstrap_InitialComponentContext() etc on the Java
side in this app. The full SVMain() etc will do all that anyway.
Change-Id: I555ccd8efbd0260a72fa5904bb6dcd255eed37d4
Added a new "mode" for the CommandWheelData, COMMAND_WHEEL_ZOOM_SCALE, where
the "delta" is the scale percentage to multiply the curent zoom factor
with. Implement in Writer and Calc.
But actually, I am more and more startng to think that live scaling of the
document view during the pinch/spread gesture will never perform fast
enough. Need to go back to the (simple) trick to just scale the BitmapView,
and do the actual LO re-zoom only when the gesture finishes. But in order for
that to look nicer, need to get rid of the LO UI element clutter around the
document, scrollbars, buttons etc. Plus of course need to make sure the LO
zooming happens around the gesture center position.
Change-Id: I20dfcb4c2a97aacbf7e5b6ea5c24816b237fe687
Using the autocorrect list of LibreOffice
extras/source/autotext/lang/en-US/acor/DocumentList.xml
Change-Id: I8b93969bc0742c2e95b8b7db3c4c37691e8d3657
Script: http://pastebin.ca/2327716
Would work nicely if only it wasn't so compute intensive. Or is it the
(temporary hack) constant redrawing that is killing performance?
Change-Id: I0b152411a413a818fba7a0f41a3462e423c6ab54
For now, we want to keep being able to just say for instance "make run" in the
android app directories.
Change-Id: I1898d5466c0df6007fa32b202888bed644fa9489
Note that the listener doesn't do anything with the scale gestures yet,
though. I guesss either a new type of VCL event is needed for zooming, or then
we could fake entering of Control-+ and Control-- key events (or whatever the
default bindings for zoom in and out are).
Change-Id: Ib2ba138dd3e7874f85e9fc9fb7ac7198fa6212d3
The package is org.libreoffice.experimental.desktop so put the source file in
src/org/libreoffice/experimental/desktop.
Change-Id: I08660962dbd44eb48da0c966e218f49287ab5ca7
If the property log.tag.LODesktopSleepOnCreate is set to "VERBOSE" then sleep
after liblo-native-code.so has been loaded to give the developer a chance to
start ndk-gdb and set breakpoints. Yeah, a bit silly to overload a logging
property like this, but it was the first idea I came up with.
Change-Id: I665f87778d083d2d167a5d16f24e2d50b1fba042
The View size is available only after the view has been connected to the
activity, it seems, so move the Bitmap creation to onDraw().
Note that the code in SvpSalFrame::SvpSalFrame() in vcl/headless/svpframe.cxx
still hardcodes another (!) size, 800x600. This affcects the size of the
desktop-style "top-level window" displayed by the android/experimental/desktop
app. I didn't yet figure out the right way to pass the actual view size to the
SvpSalFrame. And there is also a hardcoded third (!) size, 1280x750, in
AndroidSalInstance::GetWorkArea(), although I don't know what that affects, if
anything.
Change-Id: I042bf764cd66efa7069c36601170b90d57fa174c
It used the same package name as DocumentLoader and the same .apk name as the
eary sc cppunit test app. Probably having two unrelated apps with the same
package name causes some confusion somewhere.
Change-Id: I11414b9cd59694eb97d39bfaeac4ed1066ae3aab