Age | Commit message (Collapse) | Author |
|
While "Save" (i.e. saving back to the original location)
doesn't make sense when editing is disabled (because the
doc cannot be changed) and the menu entry is therefore
not available when the experimental editing mode is
disabled, "Save As" does make sense, e.g. in order to
save a copy of a file opened from another app.
The menu entry was there, but not working as expected,
a 0-byte file was created.
This is because `LibreOfficeMainActivity#saveFileToOriginalSource`
would return early if experimental mode is disabled.
No longer do that, but save the file as requested.
Change-Id: I5785b6060c4ba9cdf3e9c3591b9f941ab987bf4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159857
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Set autofill hints for the address and formula
text edits in the Android Viewer Calc toolbar as
described at [1] to address warnings that Android
Studio shows about these not being specified.
[1] https://developer.android.com/reference/androidx/autofill/HintConstants
Change-Id: I1ac7a5babddf3c328145b9f2194d10bb701aa4f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159810
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Instead of hard-coding a toolbar height for the
cell address and formula bar in Calc, use
`android:layout_height="wrap_content"`, so the height
is determined based on the font size.
This avoids the text getting cut off when a large
font size has been selected in Android's accessibility
settings.
Change-Id: I9bfbe2b7a1db39ac11d9ed0ab15290f974782489
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159809
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Just as
commit 2105f638fa178f49210116bd914889599930b62a
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Nov 17 09:11:42 2023 +0100
android: Update app icon to new startcenter icon
updated the main icon for the Android app, also update the
MIME type icons that are shown in the "Recent files" section
in LibreOfficeUIActivity to the new ones meant to be used
for Calc/Draw/Impress/Writer since 7.5.
Change-Id: I1d969a290caa3c23589e78151cd5bf70144c3099
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159568
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Update the icon used for LibreOffice Viewer
with the new icon used since LibreOffice 7.5 [1].
Use the startcenter icon from `sysui/desktop/icons/hicolor/`
and export for the required resolutions where it doesn't exist
yet.
[1] https://wiki.documentfoundation.org/ReleaseNotes/7.5#Design
Change-Id: Ie9f59d42bbc9375e7ca433c6452223b7ba3033a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159554
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Instead of duplicating the icon as drawable,
just use the one from the mipmap folder that's
used for the app launcher.
Change-Id: Idd6691c4639fb570357280cec63636d07fe06b20
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159553
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
After
commit f9b9e702465b4de29153b49e077c70a0ad78c89d
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Nov 15 13:26:38 2023 +0100
android: Add button to open privacy URL
, Android Jenkins builds started to fail intermittently
(e.g. [1]) like this:
> Task :stripStrippedUIEditingDebugDebugSymbols
> Task :compileStrippedUIEditingDebugJavaWithJavac FAILED
/home/tdf/lode/jenkins/workspace/android_x86/android/source/src/java/org/libreoffice/AboutDialogFragment.java:93: error: cannot find symbol
final String privacyUrl = BuildConfig.PRIVACY_POLICY_URL;
^
symbol: variable PRIVACY_POLICY_URL
location: class BuildConfig
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
FAILURE: Build failed with an exception.
This seems due to the pre-existing issue of a missing
dependency of the `liboSettings.gradle` target on
`android/Bootstrap/Makefile.shared`, so a change
to the latter would not have caused the former
to be regenerated and any old one still around
that didn't set the new build config variable
would get used, resulting in the above error.
Issue reproducible locally:
* do a local Android master build
* `git revert f9b9e702465b4de29153b49e077c70a0ad78c89d`
* `rm android/source/liboSettings.gradle`
* `make`
* `git cherry-pick f9b9e702465b4de29153b49e077c70a0ad78c89d`
* `make`
[1] https://ci.libreoffice.org/job/gerrit_android_x86/33773/console
Change-Id: I87275fc71d93f460dfad4d75fc197b8ed8cd9922
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159497
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
In the About dialog, add a "Privacy Policy"
button when a privacy URL is set, i.e.
the `--with-privacy-policy-url=<URL>` autogen
option is used.
Clicking the button will fire an Intent
to open that URL.
Use a custom build config field as described at [1]
to make the privacy policy URL available to
the Java code.
[1] https://developer.android.com/build/gradle-tips#share-custom-fields-and-resource-values-with-your-app-code
Change-Id: I6e1a9aff885e4ce132284f49e722b3343fc51b79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159445
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Drop the "More Info" button from the dialog, which
opened a sample document with more information
about LibreOffice.
There's already a link to the website, and the
"neutral" button in that dialog will be reintroduced
to show the privacy policy instead, if set.
(An `AlertDialog` has at most 3 buttons.)
Change-Id: Ib760daba1ed6f8cfc26eefc7412553bf97c77d70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159444
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... and the getters and setters.
Change-Id: I14e69e2543d92dc63954bc3faf5a7456d2343fff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159200
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Robocop is a tool for UI-testing fore Firefox on Android [1],
but not used for LibreOffice Viewer, so drop the misleading
comment.
[1] https://wiki.mozilla.org/Auto-tools/Projects/Robocop
Change-Id: I270735b2258f18691f60865c683856d58a94bb04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159199
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
That member was never assigned a value but only read
from by code claiming to be "used by robocop for testing purposes".
[1] describes Robocop as a UI-level testing framework for Firefox
for Android, which we don't use, so drop the class member and
related test code.
[1] https://wiki.mozilla.org/Auto-tools/Projects/Robocop
Change-Id: I467296874d4295060cc9670d1f1c8b0dfeb77523
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159198
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
As the `eglChooseConfig` doc [1] says:
> eglChooseConfig returns in configs a list of all EGL frame buffer
> configurations that match the attributes specified
> [...]
> Attributes are matched in an attribute-specific manner. Some of the
> attributes, such as EGL_LEVEL, must match the specified value exactly.
> Others, such as, EGL_RED_SIZE must meet or exceed the specified minimum
> values.
The config/attribute list used for Android Viewer specifies
EGL_RED_SIZE=5, EGL_GREEN_SIZE=6, and EGL_BLUE_SIZE=5 and so
far, only configs using exactly those bit sizes were accepted,
causing 1 of the 11 devices used in automated tests in Google Play CI
crashing with this stack trace:
Exception org.mozilla.gecko.gfx.GLController$GLControllerException: No suitable EGL configuration found
at org.mozilla.gecko.gfx.GLController.chooseConfig (GLController.java:219)
at org.mozilla.gecko.gfx.GLController.initEGL (GLController.java:172)
at org.mozilla.gecko.gfx.GLController.initEGLContext (GLController.java:176)
at org.mozilla.gecko.gfx.GLController.initGLContext (GLController.java:57)
at org.mozilla.gecko.gfx.RenderControllerThread.doSurfaceCreated (RenderControllerThread.java:132)
at org.mozilla.gecko.gfx.RenderControllerThread.execute (RenderControllerThread.java:52)
at org.mozilla.gecko.gfx.RenderControllerThread.run (RenderControllerThread.java:30)
Since only configs fulfilling the minimium specification
have been returned, I don't see a reason to insist on
having one that uses exactly the specified amount of bits
for the individual color components.
I also didn't see any rendering issues in a quick test (also using
the colorful Calc sheet attachment 188343 from tdf#156182) forcing the
use of a configuration using EGL_RED_SIZE=8, EGL_GREEN_SIZE=8, and
EGL_BLUE_SIZE=8 with an x86_64 AVD and on a Fairphone 3+ (arm64)
using this temporary local change:
diff --git a/android/source/src/java/org/mozilla/gecko/gfx/GLController.java b/android/source/src/java/org/mozilla/gecko/gfx/GLController.java
index 45600e9f1e7c..9e7f348e9e72 100644
--- a/android/source/src/java/org/mozilla/gecko/gfx/GLController.java
+++ b/android/source/src/java/org/mozilla/gecko/gfx/GLController.java
@@ -171,7 +171,7 @@ public class GLController {
mEGL.eglGetConfigAttrib(mEGLDisplay, config, EGL10.EGL_RED_SIZE, red);
mEGL.eglGetConfigAttrib(mEGLDisplay, config, EGL10.EGL_GREEN_SIZE, green);
mEGL.eglGetConfigAttrib(mEGLDisplay, config, EGL10.EGL_BLUE_SIZE, blue);
- if (red[0] == 5 && green[0] == 6 && blue[0] == 5) {
+ if (red[0] == 8 && green[0] == 8 && blue[0] == 8) {
return config;
}
}
Therefore, fall back to using another config that fulfils the
specification.
(Leave the previously required config as preferred one for now,
maybe it still has advantages, e.g. might be more efficient due
to not wasting extra bits for the color components that are
not needed for the rendering in LibreOffice Viewer. (?))
[1] https://registry.khronos.org/EGL/sdk/docs/man/html/eglChooseConfig.xhtml
Change-Id: I953d292248004bc6f7e9384ceef78c8a88c21e9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159204
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Add a few content labels, so screen readers can
present these UI elements in a more meaningful way.
Reported by Google Play CI:
> This item may not have a label readable by screen readers.
> Learn more [1]
[1] https://support.google.com/accessibility/android/answer/7158690
Change-Id: Ic8e8885ed132367426207fad652e324ea4eb0790
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159206
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This comment was originally for the code
underneath, that has already been separated
into a separate method in gecko-dev commit [1]
commit 60ed20fee4095523ee498579c71fc17032d1004b
Author: Patrick Walton <pwalton@mozilla.com>
Date: Mon Feb 13 12:27:09 2012 -0800
Split out Java compositor shader program activation and deactivation into separate functions
, but the comment was left behind.
[1] https://github.com/mozilla/gecko-dev/commit/60ed20fee4095523ee498579c71fc17032d1004b
Change-Id: Ied0a4aaec4d8228665748b834026b54c8e9615bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159184
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ia9f313a1937d4d491b76e9e5d6e4689eeb20431b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159183
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Better have a clear method signature than callers
relying on implementation details.
Change-Id: I4532f67aee8f8eac723401e43d3b6856ba37b346
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159182
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
It's never used except where it's also previously
assigned, so use a local variable instead.
Even the getter `GLController#getGL` gets
it from the EGLContext instead of using the
member.
Change-Id: Icec909f6e3e508a16fb455e81474bb336dc09362
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159181
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
It's only used in this one place.
Change-Id: Ia11ebc2ea60c4015698ac00bbec6711a20c0a22e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159168
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Unused since
commit 96a498b44c0a0ca48ac9938d9414191850d47d18
Date: Fri Dec 19 16:24:02 2014 +0900
android: remove screenshot layer
Change-Id: I3b83596bb854cb4bdfc6281ca487c8be15bc61d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159167
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The member is assigned a value that is never used, so just drop it.
Might have been more useful before
commit 8734422b0b85b54c3fccc2b678171ed174c2b8bd
Date: Mon Feb 23 20:53:35 2015 +0900
android: remove DrawTimingQueue and PanningPerfAPI
Change-Id: Ieec958c0d5a75fc47af467c73b218d6150ceaab4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159166
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
No need for an extra method just to call the ctor,
and which is only used once.
Change-Id: Ide909ad81c78dc822a721771ee068e0240750089
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159165
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... to make clear that these are overriden methods from
the `GLSurfaceView.Renderer` interface.
Change-Id: I7ffc47ee8a7ca4b481f7d28c0a5084c89d9c7ae8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159164
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
These methods are not invoked via JNI for LibreOffice Viewer.
It might have been true for Fennec/Gecko, but isn't here, so
drop the misleading comments.
Change-Id: Ib3187b129f076f42706b3097f9535a7cca7ad55f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159163
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The comment saying it's called via JNI is not true
for LibreOffice Viewer, is probably from Gecko/Fennec
days like the ones for previously dropped methods.
Now that the method is gone, `mContext` no longer
needs to be static, so make it non-static and drop
the corresponding TODO comment.
Change-Id: I32db3728234715bc29af1ad757c715003c70ca4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159162
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... and the now also unused `mPaintState` member and
related constants.
Change-Id: Iefd40ca4a72d32807b136830833e88e250f8f38b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159161
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The method is unused, so drop it, and also the now never
read `mSurfaceValid` member.
Likely, the comment that the method is invoked via JNI
was never valid for LibreOffice Viewer, but is from Gecko/Fennec
days, similar to the case in the previous commit,
Change-Id I54dd33a2ce30ebdc375a7c1fefacca6e99d2f571
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Nov 8 15:10:19 2023 +0100
android: Drop unused GLController#resumeCompositorIfValid etc.
Change-Id: I165d2c7ebf5b9ce940b608d738d9a10d5bef69ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159160
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The comment claiming that this function is invoked
by JNI was true when the method was added upstream
in Fennec/Gecko in commit [1]
commit ae9420729da323d02a3f2f02d5a4b3043a619007
Author: Kartikaya Gupta <kgupta@mozilla.com>
Date: Fri Jul 13 10:19:46 2012 -0400
Bug 769269 - Update the graphics code to be able to deal with blowing away the layer controller, client, and view and creating them afresh. r=ajuma
, but it's not true for the copy here in
Android Viewer, so drop the unused method
and `RenderControllerThread#compositionResumeRequested`
that would only have been called from there and wouldn't
have done anything anyway.
[1] https://github.com/mozilla/gecko-dev/commit/ae9420729da323d02a3f2f02d5a4b3043a619007
Change-Id: I54dd33a2ce30ebdc375a7c1fefacca6e99d2f571
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159159
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
It was already unused when added in
commit a6ecd8b2a9f0f3eaa66388861a6dcc6260ec72b9
Date: Thu Jun 26 11:22:21 2014 +0200
LOAndroid3: ant/make for building, Bootstrap project
The method looks similar to the first half of
`GLController#provideEGLSurface` and is unused,
so drop it.
Change-Id: I0cabfddefcdcca97048cb6f494590afdde5c1dc7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159158
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Don't append "-editing" to the version string, which
would then end up to be something like
"24.2.0.0.alpha0+/7763190f7ec2/The Document Foundation-editing"
when the build was configured with
`--with-vendor="The Document Foundation"` and would result
in the "About" dialog/widget saying
"This release was supplied by The Document Foundation-editing."
(s. `AboutDialogFragment#onCreateDialog`).
While it's useful to have the different build flavors
(with or without the experimental editing support), I see no need
to have the build config reflected in the version string.
(Whether experimental editing support was enabled during the
build can easily be seen by checking whether the "Experimental
Mode" option is available in the settings.)
Change-Id: I48ddb3a842b9db4fc1f435683ed9d8e8e85898ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159079
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I529dc199c2cc20ce91b7181f650c36db8d81fc9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157098
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
... and gradle to 8.0, as suggested by Android Studio.
Also, as suggested, let the upgrade assistant set the following properties
to keep the previous behavior for these for now instead of applying the new
default behavior:
android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=false
android.nonTransitiveRClass=false
Those may be revisited in a follow-up step.
See the Android Gradle Plugin release notes [1]
for more details on the properties.
[1] https://developer.android.com/build/releases/past-releases/agp-8-0-0-release-notes
Change-Id: Iec2f5766c0888e0f38438290b8fd814494afd837
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155376
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I52b2060cbf1f8eb06a49c58b8d35461aec99f3a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155375
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Idee4fddd7fd2b610fef194b86ace88469c3124da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148749
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
maven central so far doesn't support ipv6 on the primary URL (see
https://issues.sonatype.org/browse/MVNCENTRAL-658 ), it is only enabled
on a dedicated ipv6.repo1.maven.org URL currently.
Add that one to the list of repositories so that ipv6-only hosts can also
fetch the dependencies.
(when using internal ipv4 as well, you'll also need to export
JAVA_OPTS="-Djava.net.preferIPv6Addresses=true"
since otherwise the gradle wrapper fails to download gradle)
Change-Id: I22f0e07fd4e6bb518396f76db20c174e45588372
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147917
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
Change-Id: I2e2049c5d832aa9ea82feaabf3a86fd8c87a9668
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147197
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
It's unused since
commit 3860bff1013f9608b934c4cdb9ddb8d2dbbc3e52
Date: Fri Dec 19 16:25:23 2014 +0900
android: never use TextureView for now (for performance reasons)
Get align with latest Fennec code which also has this disabled.
Change-Id: Ie4c27935bacd29218207e47593f073bdce0cf7e3
Change-Id: I808ce73928120c10f4e3721a11b1e74bac3a413c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147196
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... that always returns false anyway.
(And the `InputConnectionHandler#isIMEEnabled`
that would be called in the commented out code
doesn't exist either.)
Change-Id: I6031672ee2835c64a1efcab946574ca2ce94b6a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147195
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
While e.g. NDK 23.0.7599858 has both,
`$HOME/Android/Sdk/ndk/23.0.7599858/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so`
and
`$HOME/Android/Sdk/ndk/23.0.7599858/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/i686-linux-android/libc++_shared.so`
(with the same content), NDK 25.1.8937393 no longer
ships that under the former path scheme, just the latter.
Therefore, use that one when copying the library,
in preparation to add support for NDK 24 and 25.
Change-Id: I20894701f4f436f41781467b57ec4f5311a8317f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146133
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
When an Android API level is explicitly set with the
`--with-android-api-level` switch introduced in
commit 4c0bccbb21ba022fd9d630eb1d9ae34673b4dc11
Date: Thu Jul 4 09:06:49 2019 +0200
android: Allow specification of the API level.
, use that for the minSdkVersion for the Android Viewer app
and the API level for the NSS build, rather than leaving
that hard-coded at API level 16.
Building with a newer API level means that the
app won't run on devices with older API levels.
With this in place, this will be recognized at
install time (installation will fail: INSTALL_FAILED_OLDER_SDK)
rather than crashing at run time.
Change-Id: Id6047b768d265b965696f3a3161d7828e5f3696e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146127
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Using lld instead of hard-coding ld.gold speeds up
linking liblo-native-code.so from about 40 seconds
to about 10 seconds for my x86 debug Android build with
NDK 23.2.8568313.
lld was added in NDK 21, made default in NDK 22 [1].
lld doesn't know the `--no-keep-files-mapped` option,
so drop that as well.
ld.gold had previously been hard-coded in
commit c6dadf5035c8e1c31dbd3fccec167bd4a906bf54
Date: Fri Nov 1 17:57:17 2019 +0100
android: Fix linking of liblo-native-code.so on aarch64.
, but lld wasn't available yet back then.
To make sure that lld is used by default, NDK >= 22
has to be used.
In addition, due to a clang bug in NDK 22.1.7171670 [2]
("Misspelled -fnostack-clash-protection"), building for
aarch64 Android with that NDK version would fail as follows:
clang++: error: unknown argument '-fno-stack-clash-protection'; did you mean '-fnostack-clash-protection'?
clang++ version:
$ /home/michael.weghorn/Android/Sdk/ndk/22.1.7171670//toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --version
Android (7155654, based on r399163b1) clang version 11.0.5 (https://android.googlesource.com/toolchain/llvm-project 87f1315dfbea7c137aa2e6d362dbb457e388158d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/michael.weghorn/Android/Sdk/ndk/22.1.7171670//toolchains/llvm/prebuilt/linux-x86_64/bin
Rather than work around that bug on LO side, require
NDK 23.x right away, since that provides a clang where this is
fixed.
Both, non-debug as well as `--enable-dbgutil` builds
with NDK version 23.2.8568313 were successfully tested
for all 4 supported architectures and these devices:
* aarch64: Fairphone 3 Plus, LineageOS 19 (Android 12), API 31
* arm32: Samsung Galaxy S4 I9505, LineageOS 17.1 (Android 10), API 29
* x86:
* AVD: Nexus 4, API 16
* AVD: Pixel 2, API 30
* x86_64: AVD: Pixel 2, API 33
[1] https://developer.android.com/ndk/downloads/revision_history
[2] https://bugs.llvm.org/show_bug.cgi?id=47139
Change-Id: I9ea714255faf29d50bb5f8e206f13495637da867
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146119
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I2a709e27d3ba42f0d1c2ae9510d2cbf1f38c484d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146682
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I644947ca22f493bbc805c45334450db8d4b4808b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146137
Tested-by: Hossein <hossein@libreoffice.org>
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
Just like for the the case where editing is disabled
(s. Change-Id I2f8c86f5db96a5135ff8a66a7a7078b664d05a5e,
"android: Only offer creating docs when editing enabled"),
just hide the UI to create new files when running on devices
that don't support `Intent.ACTION_CREATE_DOCUMENT`, rather
than showing the button, but then showing a message that
creating files is not supported once the button is clicked.
Change-Id: Ifedf40e22dc8906557d5364ecf9ec3a9db2315e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145736
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Hide the UI to create new documents unless the
experimental editing mode is enabled. There is
little use in creating new empty documents when there
is no way to edit them...
Change-Id: I2f8c86f5db96a5135ff8a66a7a7078b664d05a5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145735
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... and gradle to 7.5.
Change-Id: If5156ab18dc500dafdfa4f8a0f6e6c2563acc4db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145711
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
So far, Android Viewer was using "fit page width"
as minimum zoom level, meaning that it was impossible
to zoom out to see the full page, e.g. when opening
a doc with page size A4 portrait and using
the device in landscape mode.
Change the minimum zoom level to take the page
height into account as well, i.e. adapt the minimum
zoom level to be "fit whole page" to allow doing that.
However, keep applying "fit page width" as
zoom level when double-tapping, by using
the "fit page width" zoom level as new
default zoom level and applying the default
instead of the minimum zoom level on
double-tap.
("Fit page width" is probably more desirable
than "fit whole page" at least when used on small
devices, at least in all cases where
writing is in horizontal direction, so the user
can see the current portion of text and scroll
down to continue reading/writing.)
Use on double-tap is currently the only use for the
default zoom level, the only previous occurence
was effectively unused since
commit 9ab43aebad67383057d2cc3f754ce2193fa78b4e
Date: Wed Dec 4 17:18:20 2019 +0100
android: Allow zooming for Calc as well
and finally dropped with
Change-Id I702874f1d9161e5cef660bb4c4a0b7864d6e3c09
("android: Drop superfluous ZoomConstraints#mAllow{,DoubleTap}Zoom").
Change-Id: Ica5d8207bc19a81173143fcb5c3747dc89f9fa81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145658
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Both members are always set to true since
commit 9ab43aebad67383057d2cc3f754ce2193fa78b4e
Date: Wed Dec 4 17:18:20 2019 +0100
android: Allow zooming for Calc as well
, so drop the two now superfluous members and
getters.
Change-Id: I702874f1d9161e5cef660bb4c4a0b7864d6e3c09
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145657
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
instdir/share/config/soffice.cfg/simpress/objectlist.xml
contains default positions for elements that are used
in new Impress presentations, but that file wasn't
included in the Android app/APK previously, so
couldn't be read from in `SdDrawDocument::InitObjectVector`.
As a result, the title and text were misplaced when creating a
new presentation in Android Viewer.
Include all of the related Impress XML files into the app to
make this work as expected.
(At least a failed attempt to read from `layoutlist.xml`
was also observed while debugging the issue mentioned
above.)
Change-Id: Iba1ac68c0b983d3e465515f07b3fc67162a0ee3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145621
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Set `BRAND_SHARE_SUBDIR=share` in the `fundamentalrc`
shipped with Android Viewer, as is the case for the
desktop variant as well. This implies that
the .ui files will be expected underneath the "config/share"
directory in the app's assets from now on instead of just
"config", since `BRAND_SHARE_SUBDIR` will be expanded accordingly
in the paths.
Therefore, put the .ui files there. Merge the block responsible
for copying UI files into into the existing block already copying to
that dir in the `copyTask` gradle task.
There seems to be no particular reason for omitting
the "share" subdirectory just for the .ui files in the Android
assets.
This is also in preparation of fixing tdf#153009:
Not having `BRAND_SHARE_SUBDIR` set on Android resulted
in
"vnd.sun.star.expand:$BRAND_BASE_DIR/$BRAND_SHARE_SUBDIR/config/soffice.cfg/simpress/objectlist.xml"
previously getting expanded to
file:///assets//config/soffice.cfg/simpress/objectlist.xml
in `SdDrawDocument::InitObjectVector`, and that would cause
failure to read object property settings (e.g. for the placeholder
text in a new Impress presentation) from that file, even
when `objectlist.xml` was put into the app's assets
(s. Change-Id Iba1ac68c0b983d3e465515f07b3fc67162a0ee3f,
"tdf#153009 android: Include more doc layout related XML files")
at "config/soffice.cfg/simpress/objectlist.xml" due to the
double-slash after "assets" not being treated the same way
as a single slash at that place.
Change-Id: Ia9d86e1f59daf8a41951cefb3a1e9f82f0e9f184
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145619
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|