Commit Graph

161 Commits

Author SHA1 Message Date
tomFlowee 646df54da9 Make clickable notifications auto hide
So when the user clicks it to open Pay, the notification doesn't need
attention later again.
2025-09-16 13:54:21 +02:00
tomFlowee 2057e4035c Improving stability of background runner 2025-09-15 21:42:02 +02:00
tomFlowee 9aa4028f37 Add log section to Android Log Bridge.
Android doesn't have a direct equivalent of our sections, and the tag is
really meant to be the same for the entire application.
As such this simply prefixes the section to our log message. Not ideal,
but at least the information is there.
2025-09-15 21:42:02 +02:00
tomFlowee 5a1e6828d6 Add Android Log Bridge
Tie the Android logging system (and transport) into the Flowee logging
system, allowing all C++ calls to end up in Androids LogCat.
This makes remote debugging even simpler by using their multiple
transports like wifi and usb and tools.
2025-09-15 21:42:02 +02:00
tomFlowee f1ba1b0401 Add support for opening the app on planned payments. 2025-09-15 21:42:02 +02:00
tomFlowee cfb23b58df Improve background notifications
This adds things like the notification being unique, avoiding many duplicates.
We add a title and the ability to click on the notification to open Flowee Pay.
2025-09-10 13:57:39 +02:00
tomFlowee da16eddea5 Cleanup old code 2025-09-10 13:57:39 +02:00
tomFlowee 89ce639070 Show notifications for repeat payments.
Repeat payments are handled in the background process and issues and
indeed successes need to be shared to the user via notifications.

We now have notifications for:
∙ successfully sending a repeat payment
∙ when a payment is due soon, but not approved.
∙ when a payment is due soon, but not enough funds are in wallet.
2025-09-09 20:22:57 +02:00
tomFlowee b36e3df6b2 New version 2025-09-05 17:38:31 +02:00
tomFlowee c436b12bcb Fix Periodic to quit when done
The checkFinished slot is not executed based on a timer instead of based
on progress.
This avoids problems when the downloads were all done but we were still
waiting for something. Now we notice that all is done since we keep
calling the slot because it is on a timer.
2025-09-02 23:38:12 +02:00
tomFlowee dc094bcdea Separate features to avoid confusion
The net log is useful without the quick deploy and indeed the quick deploy
will create problems on first install, so according to the law of fewest
surprises these features should not be combined "magically".
2025-09-02 23:14:49 +02:00
tomFlowee 38f969629e From Android 15 we support Insets
The default changed there and the application at full screen is actually
fully full screen. Meaning we need to make space for the statusbar and
menu.

This code fetches the relevant insets from Android and the GUI honers
them in a couple of choice widgets.
2025-08-31 19:28:51 +02:00
tomFlowee 5fb7cd9256 Use Adaptive icons.
This replaces the bitmap logos with xml ones.
2025-08-29 14:42:16 +02:00
tomFlowee ef2b1cb61e Make on-boot and reinstall (Android) work.
On those events we re-schedule the background runner properly now.
2025-08-08 19:38:09 +02:00
tomFlowee 19b98ca29e Fix start time of interval
Add the current time to the interval.
2025-08-08 15:00:56 +02:00
tomFlowee 3ce0c4d8bc Add labels and docs 2025-08-02 15:04:47 +02:00
tomFlowee c9a1d89aa6 Update version to new month 2025-08-02 14:32:56 +02:00
tomFlowee f1b4fccbb5 Move to new build env docker 2025-08-02 14:32:31 +02:00
tomFlowee fa600058db Update build env to latest Qt and Android NDK/SDK
This upgrades to the latest stable Qt (6.8.3) to my surprise the
translator patch still is required and they didn't fix that bug
for 2 bugfix releases now.
2025-08-02 13:45:24 +02:00
tomFlowee 2192d3c1b4 WIP; new build env versions 2025-07-12 17:27:09 +02:00
tomFlowee 927d0c14b6 New month 2025-07-10 16:40:06 +02:00
tomFlowee 185e74beae New month 2025-06-19 15:09:36 +02:00
tomFlowee 9a69ee3914 New version 2025-05-27 08:18:04 +02:00
tomFlowee e20c77bbcf Fix fiat service in background
When running in the background on Android the user selected locale
information turns out to not be available. Which, to be honest, I won't
qualify as a bug, just unfortunate.

We now always store the data in our app config which makes the
notifications show a fiat price as expected.
2025-05-24 21:56:15 +02:00
tomFlowee 25e91abca9 New month, new version 2025-05-02 22:18:33 +02:00
tomFlowee ef674547f3 Make the on background service restart on reboot.
The on boot complete android feature is tricky, it allows
very little in the actual callback and the strategy that works
best now is to make that callback schedule a single background
run, which will in turn plan the normal schedule.
Or insta-exit if the user had no wish to do background running.

This additionally also triggers on the my-package-replaced
signal in order to ensure that an upgrade doesn't disrupt the
background running schedule.
2025-05-01 21:40:24 +02:00
tomFlowee d692c31a5b Fixes to make the android notifications work. 2025-04-24 19:09:24 +02:00
tomFlowee 31a8abce10 Tie tx-notifications to Android system.
We re-introduced a checkbox to enable notifications.
We now have a second type of notification, one for incoming transactions
that may happen when the app isn't in the foreground.
2025-04-24 11:29:29 +02:00
tomFlowee a1b18d3f02 Replace block notifications with confirmations
We remove the block notification feature, as that was nice but useless.
This instead introduces a way for a transaction we created to be marked
as needing monitoring and when a block comes in we create a notification
explaining it has been mined.
2025-04-23 17:52:09 +02:00
tomFlowee b450d613bc New version 2025-04-08 13:01:26 +02:00
tomFlowee dffcda40d8 Use a serious name 2025-04-08 12:17:21 +02:00
tomFlowee 18b446d6e0 Don't request permissions unless needed 2025-04-08 12:15:56 +02:00
tomFlowee 58f2f8dd18 not a foreground service afterall 2025-04-08 12:13:18 +02:00
tomFlowee fc9f6f2658 Fix java string compare
Probably the oldest gotcha on Java, strings can not be compared with
the == sign.
It's been several decades, so I have a bit of an excuse ;-)
2025-04-08 12:00:05 +02:00
tomFlowee 3f7cdc7dac Add onBoot Android notification
The background timer stops when the device reboots, as such we
need to re-start the periodic service timer at device boot.
2025-04-06 12:55:26 +02:00
tomFlowee 9a8809fc70 Improve the background-running Android stuff
After setting, check if it was approved by the user, and if not
unset the checkbox again.

Bugfix:
On some Android implementations, setting this value opens a screen
even if the value is already set, while on many others that is a no-op
as you'd expect.
So for those phones we check first before we set.
2025-04-01 10:50:34 +02:00
tomFlowee a69a2a2096 Set the statusbar text to be light on Android 2025-03-13 21:22:13 +01:00
tomFlowee 539381ce21 Make Camera work the first time again
This removes the Qt middle-man for requesting the camera permissions
and we just code this in our own Java class.

This solves the issue we observed where after the approval of the
user we didn't actually manage to start the camera on some phones.
2025-03-13 15:55:05 +01:00
tomFlowee e9fc0c1551 Re-enable the powermanagement feature for Android
This avoids using the Qt intermediate and just directly uses
the Android side, including some extra checks like "screen off".

Rework the various methods in a class.

This makes the various android support features be less hacky and instead
are based on a single class with Qt signals and slots.

We also remove the ping feature for checking online state, since Android
seems to throw a random exception (calling virtual method on null pointer
java.lang.String.size) somewhere in the OS libs when you call it the
second time.

This also implements the AIRPLANE_MODE_CHANGED listener to instantly turn
off internet the moment the user enables flight mode.
2025-03-11 23:25:24 +01:00
tomFlowee 99adaa0a92 Lets start a new version 2025-03-10 23:46:35 +01:00
tomFlowee 0ebc04a054 Add titlebar color setting on Android 2025-03-09 21:42:24 +01:00
tomFlowee b5936d3ca0 New version 2025-03-09 16:16:19 +01:00
tomFlowee a204561557 Check Android powersave mode.
The background service is turned off when the phone is in powersave
mode.
Additionally we don't run any sync in background if the app isn't
active.
2025-03-07 18:31:57 +01:00
tomFlowee d5a632170f Drop the foreground service requirements 2025-03-06 21:17:10 +01:00
tomFlowee 3381e9910c Lower the notification level of blocks being mined 2025-03-06 15:46:19 +01:00
tomFlowee e59eda5050 Seems QtCore doesn't (any longer) requires this 2025-03-04 11:23:50 +01:00
tomFlowee 66f1812cd4 new version 2025-03-03 21:50:43 +01:00
tomFlowee c3a993f45c Add request for block notifications.
This is the only useful notification type we have today,
but at least it allows the user to explicitly go and request
notifications from the Android OS.
2025-03-03 21:35:00 +01:00
tomFlowee 3991869dfa Stop the service afterwards 2025-03-03 13:42:36 +01:00
tomFlowee 16ef0e568a Move package name 2025-03-02 20:28:04 +01:00