Commit graph

30 commits

Author SHA1 Message Date
Jan Mulder
6ea50fcfb7 Android build: set newer versions and parameterize ANDROID_PLATFORM
Hard coding desired ANDROID_PLATFORM on multiple places is simply bad.
Fix this. Further, set the variables to a much newer state.

CAVEAT: this will likely break android build, so be careful on
bisecting. All fixed in next, related commits.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-12-30 11:20:34 -08:00
Jan Mulder
09a9fa1ae5 Android build: use our own gradle build spec
At this point in time there seems something wrong with jcenter that
is used to download all Android build artifacts from. It simply does
not find the needed stuff on there and our build fails. Its unclear
if this is a temporary issue at jcenter, or its just an intended change.

This fix is a bit of a hack. It provides our own gradle build spec
instead of the one that is provided from Qt (which is pulled in using
androiddeployqt). Added is a working download link to maven, and a
newer com.android.tools.build:gradle is used compared to Qt.

All this makes Travis happy again.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-12-12 12:25:35 +09:00
Dirk Hohndel
ce4e0d3276 Use hex USB VID/PID
Except of course that the Android intent does give us these values in
decimal.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-12 15:37:21 -07:00
Dirk Hohndel
9f94aaf450 Whitespace cleanup, extra braces, and null checks
Thanks to Lubomir for the review.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11 11:14:22 -07:00
Dirk Hohndel
67fae6185d Android: fix function signature in java code
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11 11:14:22 -07:00
Dirk Hohndel
fd58441b08 Android: only handle Intents after the app is initialized
The old code happened to work because this function only got called if
the app was already running, but the correct thing to do is to always
wait until we have first called back from C++ code, indicating that the
app is indeed fully initialized.

This way we only process the Intent in one place in the Java code.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11 11:14:22 -07:00
Dirk Hohndel
c10a63ce01 Android: add another FTDI product id to recognized IDs
We don't know for sure if this is Aqualung specific, though.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11 11:14:22 -07:00
Dirk Hohndel
aed7528443 Android: add callback from Intent
Right now all this does is add the device string to the log.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11 11:14:22 -07:00
Dirk Hohndel
d27777790e Android: add Java class to receive Intents
We want to be able to respond to a USB device being plugged in.
This simply logs the information we get from the device. Sadly the
really useful getProductName and getManufacturerName require API level
21 (so Android 5.0 or newer) and we still have a couple hundred users on
4.1-4.4.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-11 11:14:22 -07:00
Dirk Hohndel
5047e90857 Android: set target API level to 26
This doesn't affect the minimum we support, but a target level of at
least 26 will be required starting in August in order to be able to
upload to the Google app store. This is equivalent to targeting Android
8.0. Google plans to bump this target API level every year.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 14:15:11 -07:00
Dirk Hohndel
2700f02dcd Android: add Atomics Aquatics Cobalt as device
This way plugging in a Cobalt should pop up a question if the
user wants to open Subsurface-mobile.

Unfortunately, this, too, fails on my Android devices, so I can't test
it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-02 13:37:38 -07:00
Anton Lundin
cd759a3b1e Correct the ftdi pid for Cressi devices
Way back in time there was a copy paste error in the Cressi pid. This
corrects it.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-01-29 14:09:05 -08:00
Anton Lundin
00e3346835 android: Add new usb vid/pid's to manifest
This adds vid/pid of the recently added usb devices.

* EON Steel core
* Scubapro G2
* Scubapro Aladin Square

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-28 11:25:55 -08:00
Jan Mulder
35194c7002 mobile: black and white backgrounds on starting
This very simple commit has a long story. See the mailing list
subject "mobile: android splash screen (and issue 513) opacity
weirdness".

There is even more. I found the following deccription on Internet:
https://falsinsoft.blogspot.nl/2017/07/qml-show-android-native-splash-screen.html
and tried to implement this with the potentially nice Qt functionality
(since 5.8) to manually get rid of the splash screen. Unfortunately,
this does not work. Notice that there are subtile differences in
the here found internet page, and the method originally implemented
in commit 04e994b575.

This fix is as mimimalistic as it can be. Just do not set black but
white for the initial background. Unfortunately, there is still
a small position change of the icon. It is known why, but solving
is left as an exercise to the reader.

Fixes: #513

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-11-17 15:45:45 +01:00
Dirk Hohndel
8467e53f11 Android: add Suunto EON Steel as device
This way plugging in an EON Steel should pop up a question if the
user wants to open Subsurface-mobile. Unfortunately, the download
doesn't work, yet, and worse, if the phone goes to sleep while an
EON Steel is plugged in, this appears to trigger a hard crash on
the EON Steel.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-03 15:05:45 -07:00
Dirk Hohndel
c05fe9fc9b Subsurface-mobile on Android: add USB intent filter
With this a few FTDI based dive computers should be visible from the app.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-29 20:37:18 -07:00
Jan Mulder
3d8c0b2771 Android build: remove references to ministro stuff
First, Ministro (an app to help installing Qt dependencies on
the mobile platform) is not needed in Subsurface context, as all
dependencies are part of the distribution. Secondly, it breaks the
build as the strings (removed here) are also defined in Qt, and
apparently the Gradle build is detecting this double define.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-05-27 07:09:27 -07:00
Dirk Hohndel
11f7e18139 QML UI: support extreme widescreen Android devices
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-06 21:22:56 -07:00
Anton Lundin
56b518d956 android: Rework build.sh
This reworks build.sh for proper argument parsing and variable quoting.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:16:10 -08:00
Dirk Hohndel
54b97ec848 Qt 5.7 requires at least Android SdkVersion 16
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-22 13:22:06 -07:00
Dirk Hohndel
68bb49e4ca Fix Android keyboard issue as recommended by Kirigami
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-21 11:40:02 -07:00
Dirk Hohndel
e9e453b009 Android build: pass in build nr
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-05 21:23:27 -08:00
Dirk Hohndel
a64eef7f82 Android build: automate setting the right version number
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-05 17:14:33 -08:00
Dirk Hohndel
04e994b575 Subsurface-mobile on Android: change the splash screen methodology
This is based on post by Ben Laud
https://medium.com/@benlaud/complete-guide-to-make-a-splash-screen-for-your-qml-android-application-567ca3bc70af

It creates a theme that uses a splash drawable that Android will show
immediately when the application is launched. And then starts the QML
application with visibility set to false adn only makes it visible (and replace
the splash screen) once initialization is finished.

We still get a little flicker with the switch from splash to start page to dive
list, but over all the experience is hugely improved. And the bug that the
splash screen stays around when starting Subsurface-mobile in landscape also
appears to be fixed.

Fixes #994

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-19 12:42:58 -08:00
Rick Walsh
4ad090565a Subsurface-mobile: add title to splash
Add "Subsurface-mobile" to base of splash screen

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-30 07:41:52 -08:00
Rick Walsh
0aecb12ab1 Subsurface-mobile: capitalization of app name
We call the app Subsurface-mobile most of the time, let's do so for the app
name too

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>

../android-mobile/res/drawable-xhdpi/subsurface_mobile_splash.9.png
../android-mobile/res/drawable-xxhdpi/subsurface_mobile_splash.9.png
../android-mobile/res/drawable-xxxhdpi/subsurface_mobile_splash.9.png
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-29 17:30:54 -08:00
Rick Walsh
0624e882e4 Subsurface-mobile: Add 9-patch splash images
Adds 9-patch splash images, so that will not be distorted on different sized
and oriented displays.

Created with guidance from
https://software.intel.com/en-us/xdk/articles/android-splash-screens-using-
nine-patch-png

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-29 09:54:32 -08:00
Miika Turkia
bcdd5645a6 Add splash screen for android-mobile
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-28 14:03:48 -08:00
Anton Lundin
c78e4fb92d Use a different package for the mobile app
Now we produce two different android apps, and to be able to have both
installed at once, we need to put them in different packages.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 18:41:06 -07:00
Dirk Hohndel
cbda93ce11 Add different icon for mobile app
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 16:37:43 -07:00