1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-04 09:17:29 +01:00
Commit Graph

98 Commits

Author SHA1 Message Date
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
Davis Mosenkovs
cc5078332b TimeChangeReceiver: Ensure the alarm is set
Ensure TimeChangeReceiver alarm is scheduled when enabling
datetime_synconconnect and registering TimeChangeReceiver broadcast
receiver.

It is important to re-schedule the alarm after registering broadcast
receiver, because:
1. if broadcast receiver was unregistered while previous alarm arrived,
there is no alarm scheduled;
2. re-scheduling the alarm resets the periodic time sync timer when
first device is connected (which is desired).

It is important to re-schedule the alarm when datetime_synconconnect
gets enabled, because there might be no alarm scheduled.

Call onSetTime() when enabling datetime_synconconnect.
2024-02-18 19:12:30 +00:00
FYG_license_bot_ignore_me
4c7476845b Update license headers and CONTRIBUTORS file 2024-01-10 19:01:48 +01:00
José Rebelo
6f7fb261e7 Move Discovery activities to standalone package 2023-09-19 20:44:42 +01: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
Arjan Schrijver
c9bbc05674 Show warning when choosing dynamic theme but dynamic colors are not supported by Android 2023-08-12 10:52:12 +02:00
Arjan Schrijver
b6e252c4c1 Switch UI to Material 3 and support dynamic colors 2023-08-08 08:47:26 +00:00
José Rebelo
fe95d9aaa8 Fix disable log preference if log file not initialized
Regression introduced by 01b457895
2023-07-28 21:31:48 +01:00
José Rebelo
f3c74267c5 Set OpenTracks selection spinner to current package 2023-07-28 20:21:53 +00:00
José Rebelo
47a757bd91 Set default name for database export file 2023-07-28 20:21:53 +00:00
José Rebelo
f9ef3f47ab Extract Pebble and HPlus settings to standalone activities 2023-07-28 20:21:53 +00:00
José Rebelo
e068bfdb75 Fix crash when acquiring location 2023-07-28 20:21:53 +00:00
José Rebelo
12b5ec8415 Upgrade Settings to androidx
- Extend AbstractSettingsActivityV2
- Replace all checkbox preferences with switch preferences
- Add app:useSimpleSummaryProvider to all preferences that were in getPreferenceKeysWithSummary
- Add null checks on all prefs to fix crashes in nested preference screens
- Replace listeners with lambdas to reduce code indentation
- Set input type to number where relevant
2023-07-28 20:21:53 +00:00
José Rebelo
ba565df088 Xiaomi Smart Band 7: Initial support 2022-08-19 23:13:27 +02:00
José Rebelo
5d82030d49 Refactor file logging logic 2022-08-07 23:24:16 +01:00
José Rebelo
efdc4c434a Correctly disable file logging if initialization fails
If logging initialization failed, the file logger would not be removed
correctly, and it would log to a GB_LOGFILES_DIR_IS_UNDEFINED directory.

Remove the file logger from the root appender, regardless of it being
null or not.

The issue can be easily reproduced before the fix by throwing an
exception in FileUtils#getExternalFilesDir. Before the fix, it would
still log to the aforementioned directory.

Aditionally, update the Settings screen to reflect that writing log
files is not available in such cases.
2022-08-06 00:34:47 +01:00
José Rebelo
152f19575f Make calendar blacklist configurable per device 2022-07-05 19:58:21 +02:00
vanous
f44ff3ae69 AutoExporter changes for better operation and troubleshooting.
- Add more info about AutoExport into DataManagement activity
- Fix scheduleAlarm name
- Run AutoExporter in another thread
- Start AutoExporter on app startup if not running yet from AutoStartReceiver
- Save and show time of scheduled and last executed AutoExport
2022-03-06 13:03:59 +01:00
vanous
3ecc6519b0 Add selection dialog to set OpenTracks package name 2022-02-25 07:33:10 +01:00
vanous
682a26e56d Add Discovery setting to the Discovery Activity 2021-12-26 18:14:07 +01:00
vanous
d3d4130a95 Reworking notification management
- rename some methods to better indicate their functions.
- make the notification filter to be allow or deny list,
  solves #2256 and #336
- make app word filter to behave based on allow/deny settings.
- make Pebble notifications to honor the allow/deny settings.
- add generic "debug function" to Debug activity.
- add Message privacy mode settings, solves #2279
2021-10-10 11:49:13 +02:00
Anemograph
d088c3d63f Added ringtone preference setting. 2021-09-21 21:03:37 +02:00
vanous
c5aaaec7e3 Add black background to Dark Theme 2021-07-06 21:04:27 +02:00
vanous
6f0245a23c Data(base) Management screen clarifications
- rename to Data management in menu and activity
- expand texts and explain files meaning
- add confirmation screen to export
- change layout to Linear, rather then Grid
- add listing of file content in the /files directory
- allow Data management activity to rotate

Add missing widget string to strings
2021-01-03 15:46:12 +01:00
vanous
e3a5a63e08 Separate AboutUser and link to it from Charts Settings 2020-11-14 10:06:55 +01:00
vanous
e7b5053b13 Add Step length preference to About you
Add new distance icon
Distance in meters or km based on distance
Remove unnecessary definitions
Optimize new drawables
Map intensity to min steps
2020-10-16 21:07:57 +02:00
Andreas Shimokawa
0d49eaaf9e Pebble: move canned message to per-device settings (including migration)
This also cleans up some useless preferencehandlers that only change summary by
using app:useSimpleSummaryProvider="true" for EditText
2020-10-13 00:27:22 +02:00
TaaviE
22256030b5 Made items in the media receivers list more differentiable 2020-07-28 16:55:25 +02:00
License Bot
d6fa5d0dd5 Update license headers 2020-01-09 10:44:32 +01:00
License Bot
1dc8c26e2a Update license headers 2019-12-06 22:51:43 +01:00
dakhnod
f4a0f0ce8f Merge branch 'master' of github.com:Freeyourgadget/Gadgetbridge into fossil-q-hybrid 2019-12-04 00:48:26 +01:00
FYG_license_bot_ignore_me
8e5c4b4602 Update license headers 2019-11-23 21:53:22 +01:00
dakhnod
b20963348d Merge branch 'master' of github.com:Freeyourgadget/Gadgetbridge into fossil-q-hybrid 2019-09-25 00:22:57 +02:00
vanous
132e92041e Split preferences, add chart settings activity, add button 2019-09-14 00:24:40 +02:00
root
09f6cada87 Fossil Q hybrid and Skagen support added
Opening this branch for the second time inorder to purge certain files form the repo
2019-07-14 19:45:40 +02:00
Andreas Shimokawa
3440485a51 Mi Band 2: move settings to per-device settings 2019-05-23 21:33:35 +02:00
Andreas Shimokawa
038f101a12 Migrate more settings to per-device settings
Also add icons.
2019-05-22 10:49:59 +02:00
Andreas Shimokawa
9bfef4cf4f Make per-device settings more versatile, move more settings
This allows to construct per-device settings by device type very easily

device coordinators just do the following to declare which setting they support,
the settings activity is then composed at runtime.

@Override
public int[] getSupportedDeviceSpecificSettings(GBDevice device) {
     return new int[]{
            R.xml.devicesettings_miband3,
            R.xml.devicesettings_swipeunlock,
            R.xml.devicesettings_pairingkey
    };
}
2019-05-22 00:42:22 +02:00
Andreas Shimokawa
08e7d728c2 Huami: Migrate some settings to device specific settings
- Migrate language setting
- Migrate menu items setting
- Migrate lastsync timestamp from prefixed global shared prefercence

All settings should be automatically be converted (e.g. Amazfit Bip settings to all paired Amazfit Bip devices) and then deleted.

Cor Settings aleady completely vanished from the global settings menu.

When migration is done we will have a much cleaner settings menu. Will also remove confusion that some Cor settings have to be done in Bip settings.
2019-05-20 16:36:06 +02:00
License Bot
9aadb2f2fd Update license headers 2019-04-21 18:53:10 +02:00
Sebastian Kranz
6a04c78b0e Merge branch 'master' of https://github.com/Freeyourgadget/Gadgetbridge into zetime 2019-02-20 14:24:59 +01:00
License Bot
beedb653e6 Update license headers 2019-02-13 20:43:31 +01:00
Andreas Shimokawa
c66fade081 Amazfit Bip: Support disconnect notifications
Might also work with Cor, did not work with Mi Band 3
2019-02-13 13:06:42 +01:00
Daniele Gobbetti
75d3dffb14 Migrate to androidx support libraries and bump compile SDK version
"Optimize imports" has been run on all source files, there might be
unrelated changes, but these should be harmless.
2019-01-26 16:00:56 +01:00
Sebastian Kranz
6617c45fec Add setting heart rate alarm values. Make the settings of the wearside and screen on duration interactive - give them their own activity. Also make the auto heart rate measurement work. 2018-09-13 14:55:38 +02:00
License Bot
696653eabf Update contributors list and license headers. 2018-08-29 21:30:23 +02:00
José Rebelo
9fda67b297 Mi Band 3: Night Mode 2018-08-27 22:54:37 +02:00
José Rebelo
470efa3e51 Mi Band 3: Change display items 2018-08-12 00:00:38 +02:00
Pavel Elagin
76d704cb04 Misprints 2018-08-10 00:00:12 +02:00
José Rebelo
338251597b Mi Band 3: Band screen unlock 2018-08-09 23:41:25 +02:00