Commit Graph

431 Commits

Author SHA1 Message Date
Martin.JM 4c4ba623c4 Add camera implementation
This is to support watches with remote shutter applets that do not
act as remote triggers for other apps automatically.
2024-05-13 21:28:43 +00:00
José Rebelo c0d0b4dfbe Update hamcrest-library to 2.2 2024-04-15 23:45:55 +01:00
José Rebelo bf01d9b346 Update protobuf dependencies 2024-04-15 22:04:45 +01:00
Alik Aslanyan f0a9ab7f98 Add Armenian transliteration 2024-04-15 19:58:27 +04:00
Arjan Schrijver 6f103b2897 Dashboard: Implement horizontal swiping and fix fragment related crashes 2024-04-10 21:53:03 +02:00
José Rebelo 75dc546aa9 Update threetenabp to the latest 2024-04-07 14:39:03 +01:00
Arjan Schrijver 43fddd0110 Dashboard view (#3478)
This adds a new dashboard-type view to Gadgetbridge. The new dashboard activity displays several widgets with aggregated statistics from multiple devices. New preferences are added to allow configuration of the dashboard and its widgets. A new bottom navigation bar is added to switch between the Dashboard and Devices views.

Some issues that prompted this feature and provided inspiration for the implementation:
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/301 (More Intuitive User Interface)
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3074 (Ability to merge historical data from several devices)

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3478
Reviewed-by: José Rebelo <joserebelo@noreply.codeberg.org>
Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Co-committed-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
2024-04-04 19:28:04 +00:00
José Rebelo c85a0edace Update roboelectric to 4.12, org.json to 20240303 2024-03-30 23:02:31 +00:00
Andreas Shimokawa 668ed5ab71 update changelogs, bump version 2024-03-25 09:46:40 +01:00
Andreas Shimokawa 59dcea5d94 bump version, update changelogs 2024-02-22 13:38:22 +01:00
MrYoranimo fa1f99642a Move build variant-specific strings from build.gradle to separate resource files 2024-02-18 20:52:53 +00:00
Andreas Shimokawa 5b804bfb17 update changelogs, bump version 2024-02-12 15:36:50 +01:00
José Rebelo 61116c5fc8 Upgrade to gradlew 7.6, mockito-core 2.28.2
Fixes the unit tests after the AGP upgrade from 1a92bcf8a
2024-01-29 18:50:40 +00:00
José Rebelo 1a92bcf8a5 Upgrade to Android Gradle Plugin 7.4.2
Rename "main" flavor to "mainline", since that breaks the build.

https://stackoverflow.com/questions/72775247/productflavors-main-gradle-error-multiple-entries-with-same-key-main-and
2024-01-22 20:18:49 +00:00
MrYoranimo 25dcba23c3 Upgrade build-tools (33.0.0 -> 33.0.1)
This fixes a segfault in the aidl utility on Windows.
2024-01-17 20:16:38 +00:00
Andreas Shimokawa aae820a6e7 make changelog smaller, bump version 2024-01-14 22:42:05 +01:00
Andreas Shimokawa c58d45423e bump version, update fastlane and xml changelog 2023-12-16 18:28:01 +01:00
José Rebelo e91ad80d27 Xiaomi: Cleanup code and comments 2023-11-25 22:18:34 +00:00
José Rebelo 543c8b28d0 Rename org.bouncycastle package
Fixes roboelectric in unit tests.
2023-11-25 21:16:53 +00:00
José Rebelo 08eb22b4cb Mi Band 8: Import Bouncy Castle 1.76 classes 2023-11-25 21:16:33 +00:00
José Rebelo fda3b53657 Mi Band 8: Initial support (WIP) 2023-11-25 21:16:31 +00:00
rany 59b83b92c7 Update protobuf to 3.21.7
Required for building on M1 Macs.

Signed-off-by: rany <ranygh@riseup.net>
2023-11-02 17:17:50 +00:00
Arjan Schrijver 8cf8ca7395 Update dependencies 2023-10-09 09:53:36 +02:00
José Rebelo b12ac00bb8 Lint: Ignore missing and extra translations 2023-10-08 21:46:37 +01:00
Ganblejs 2c5b687cef Bump main targetSdkVersion to 33 2023-10-04 11:12:17 +00:00
José Rebelo f6ff357a6b Reduce number of git commits on nightly changelog
- Include last 100 commits
- Ignore weblate commits

The changelog_git is still being accidentally included into release
builds. It currently takes 6kb compressed.
2023-09-17 15:40:16 +01:00
Andreas Shimokawa c86c7c59f4 bump version, update changelogs 2023-09-16 22:58:50 +02:00
Arjan Schrijver 557bfea35c Add lint baseline, enable linting on CI, fix some reported errors (#3291)
This PR:
- fixes some errors reported by `gradlew lint` and the Android Studio "Code Inspection" tool
- adds a snapshot file `lint-baseline.xml` of the remaining lint errors and warnings to be used by the linter as baseline
- adds a job for CI to run `gradlew lint` on every build

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3291
Reviewed-by: José Rebelo <joserebelo@noreply.codeberg.org>
Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Co-committed-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
2023-09-11 09:17:04 +00:00
Andreas Shimokawa 21be98ab23 update changelogs 2023-09-02 12:28:24 +02:00
José Rebelo 7fb34eb262 Build nightly changelog from git 2023-08-09 20:00:47 +01:00
Arjan Schrijver b6e252c4c1 Switch UI to Material 3 and support dynamic colors 2023-08-08 08:47:26 +00:00
mormegil 8f5c32fbee Fix PineTime firmware upload for Android 12 target
Now that the target SDK was changed to 31, the `no.nordicsemi.android:dfu`
library needs to be updated, as the current version dies on Android 12+.

However, the fixed version (1.12.0) also fixed MTU handling: The previous
versions ignored the MTU settings completely for legacy DFU.
<https://github.com/NordicSemiconductor/Android-DFU-Library/pull/260>

And while our `PineTimeJFSupport` code always tried to set MTU to 517, it was
ignored. Which was good because PineTime does not support larger MTUs. So that
we need to set the correct low MTU now the library really applies it.

Note that the current version of the DFU library cannot be used right now, it
does not even compile because of androidx dependency mismatch.

Fixes #3203
2023-07-22 09:54:45 +00:00
Andreas Shimokawa 932249f148 bump version, add changelog 2023-07-07 21:08:53 +02:00
José Rebelo ef99674eea Bump main targetSdkVersion to 31 2023-07-04 09:59:03 +01:00
Andreas Shimokawa 0f7fa75931 add changelogs, bump version 2023-06-30 13:06:00 +02:00
Ganblejs 7d1de4a5e8 Bangle.js: Bump flavor targetSdkVersion to 31
This also touches parts of the app not only used for bangle.js.
E.g. pending intents gets new flags from SDK 23 inclusive.
Bluetooth permissions are updated to work on SDK 31.
Permission handling is updated to the new way for doing it with
introduction of a new function. This is called for newer sdk versions.

bump Bangle.js flavor targetSdkVersion to 31

update comments re SDK 31

set the 'exported=true' I introduced to false instead - except for three places

add uses-permission for handling bluetooth in order to work on api >30

add if-blocks adding FLAG_IMMUTABLE to PendingIntents on api >30

add link to bluetooth documentation

Add comment to banglejs manifest. Add requirement annotation to ControlCenterv

bump compileSdkVersion to 31

add "OpenAppSettings" permission popup while working out individual permission popups on android 13

if SDK < 31 do permissions one by one, else send user to app info page to switch permissions manually

working solution, but needs cleaning

do some cleaning, not done though

remove some logging

remove import Log

tweak and remove toasts in new permissions handling

Change conditions `> Build.VERSION_CODES.Q` to `>= Build.VERSION_CODES.R` matching the style used everywhere else

Revert "Change conditions `> Build.VERSION_CODES.Q` to `>= Build.VERSION_CODES.R` matching the style used everywhere else"

This reverts commit 2929629ff43fbb685eb3d15e42459f321f68fa11.

Revert "add if-blocks adding FLAG_IMMUTABLE to PendingIntents on api >30"

This reverts commit ed8e1df7bb8b71fee745fbf9d10747d47c8f6cb8.

Pending intents gets `PendingIntent.FLAG_IMMUTABLE` if `(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)`.

Bangle.js: undo `@RequiresApi` code R

... to remove error in Android Studio where declared required api was
higher then minSDK version.

Use FLAG_MUTABLE for reply to test notification

This should fix Gadgetbridge crashing when replying to the test
notification from the debug activity. As reported here:
https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2924#issuecomment-917282

Change to use FLAG_IMMUTABLE/_MUTABLE from SDK 23

... as suggested by Android Studio. This is supposed to make the app
more secure by not allowing certain changes to pending intents where
they are not expected. If I understood correctly.

Add PendingIntentUtils class to manage mutability
2023-05-30 00:25:20 +02:00
Andreas Shimokawa a61c9391a4 bump version, update changelogs 2023-05-10 15:27:31 +02:00
Andreas Shimokawa 4f34725656 add changelog, bump version 2023-02-21 16:39:30 +01:00
Andreas Shimokawa 6b25281a71 draft changelog, bump version 2022-12-12 16:25:04 +01:00
Andreas Shimokawa 5e040a6dd5 bump version, update changelog 2022-10-18 09:22:45 +02:00
José Rebelo 26999c863b Fix Android Studio generated source directories 2022-10-15 10:20:42 +01:00
Andreas Shimokawa d5fcac6114 bump version, update changelog 2022-10-06 10:29:36 +02:00
Andreas Shimokawa 25d0d262bf Revert "Introduce app shortcuts"
This reverts commit b4b153c62d.
2022-10-06 10:22:41 +02:00
Andreas Shimokawa 7d516a9c96 update changelog and version 2022-10-05 11:58:51 +02:00
Andreas Shimokawa 857a9bf229 Try to exclude non-free stuff from shortcuts library (#2918) 2022-10-04 07:23:40 +02:00
Daniele Gobbetti b4b153c62d Introduce app shortcuts
This adds the functionality of long-pressing the launcher icon for directly connecting a device.
The devices are automatically added as shortcuts when they are being connected.
The helper library handles the maximum number of shortcuts automatically.
2022-10-02 17:18:41 +02:00
José Rebelo d1ae6cf225 Zepp OS: Implement workout fetching 2022-10-02 16:07:21 +02:00
Andreas Shimokawa a0ba977cde Revert "remove AndroidThreeTen library, since we have java8 in this branch"
This reverts commit 43eb6bfe0e.

The reason was not only Java8 but this also requires Android 8!
2022-09-28 07:51:10 +02:00
Andreas Shimokawa e85d5dc741 bump version, update changelog 2022-09-27 18:40:36 +02:00
Andreas Shimokawa 6732bab481 Dirty port tinyECDH to Java, remove ndk dependencies
This has some advantages:
- Less stuff to download for building Gadgetbridge (CI Speedups)
- Shorter build time (no need to build shared library for all supported architectures)
- Easier debugging
- etc :P

What I did:
 - remove all curves except B163 to make porting easier
 - port to java with brain switched off
 - fix the "java has no unsigned" bugs
 - add some helpers to convert int[] to byte[] and back because java has no casts

The result is ugly, no one would write such crappy code from scratch, but I tried to
keep it as close to the C code as possible to prevent bugs. Since I did not know what
2022-09-27 10:51:14 +02:00