1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-14 05:59:26 +01:00
Commit Graph

412 Commits

Author SHA1 Message Date
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
Andreas Shimokawa
0f44d8cbf2 add cbor dependency 2022-09-19 21:45:58 +02:00
José Rebelo
10265ad697 Remove multidex dependency 2022-09-11 16:14:18 +02:00
José Rebelo
83a2b10c03 Fix tests after SDK bump 2022-09-11 16:13:29 +02:00
Andreas Shimokawa
43eb6bfe0e remove AndroidThreeTen library, since we have java8 in this branch 2022-09-10 12:04:16 +02:00
Andreas Shimokawa
969164ba5d Remove KitKat support 2022-09-10 12:04:16 +02:00
Andreas Shimokawa
127fec1013 Use build tools version 31, bump protobuf-lite to 3.10
These changes where necessary to build on ARM64, hope it does not break anything
protobuf-lite 3.0 said the architecture aarch64 is unsupported for the protobuf compiler,
build tools 30 could not be installed via sdkmanager for an unknown reason.
2022-09-09 08:15:38 +02:00
Andreas Shimokawa
3e030eb131 draft changelog, bump version 2022-09-06 16:13:47 +02:00
Andreas Shimokawa
51c7a1f202 update changelog, bump version 2022-08-19 23:32:21 +02:00
José Rebelo
ba565df088 Xiaomi Smart Band 7: Initial support 2022-08-19 23:13:27 +02:00
vanous
3ae20b3929 add Banglejs Nightly release config 2022-08-11 01:03:40 +02:00
José Rebelo
5d82030d49 Refactor file logging logic 2022-08-07 23:24:16 +01:00
Andreas Shimokawa
e77149f7e1 bump version update changelog 2022-07-22 12:22:08 +02:00
Gordon Williams
6bea0af9e0 Bangle.js flavor - move to SDK 30 as we need it for Play Store 2022-06-15 13:39:11 +01:00
Andreas Shimokawa
8a6c0ddbfe update changelog - bump version 2022-05-30 13:28:21 +02:00
Andreas Shimokawa
603d56c7aa update changelog, bump version 2022-05-18 10:45:44 +02:00
José Rebelo
5c6edea233 Mi Band 5: Add support for World Clocks 2022-05-10 13:59:25 +02:00
vanous
d386b01169 Allow string resources for build variants to be customized via gradle 2022-05-01 14:12:40 +02:00
vanous
3b9e13cfc5 bump cmake to 3.18.1 2022-04-02 12:09:05 +02:00
gfwilliams
2cb5844020 Bangle.js build flavor (#2621)
This PR adds build flavors to `build.gradle`. The default is called `main`, but we also add `banglejs` which allows the building of an app called `Bangle.js Gadgetbridge`.

This will have internet connectivity, allowing Bangle.js watches to request data directly from the internet - and it's named so as hopefully not to be confused with the normal offline Gadgetbridge, while still giving credit.

Eventually the plan is to put this on the Google Play store, and to have additions in it which are good for Bangle.js users but would otherwise negatively impact normal Gadgetbridge users (a build flavor is used so we can keep the same codebase and not fork).

About naming - I'd mentioned `Gadgetbridge for Bangle` to @ashimokawa but thinking about how it would appear in the app store and Android apps list, it probably makes sense to call it `Bangle.js Gadgetbridge` so it's listed under `B...`. Happy to change or use something else if you have strong opinions though.

**Note:** adding build flavors seems to add the flavor name to existing builds. As a result, *all other builds will now have `main` in the name*. Unfortunately I didn't see another way around this, but hopefully it won't break anything.

Co-authored-by: Gordon Williams <gw@pur3.co.uk>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2621
Co-authored-by: gfwilliams <gfwilliams@noreply.codeberg.org>
Co-committed-by: gfwilliams <gfwilliams@noreply.codeberg.org>
2022-03-31 11:36:26 +02:00