Commit Graph

78 Commits (962720145e3678f5ffd17ea6c4a9e277a665b144)

Author SHA1 Message Date
Andreas Shimokawa 1d41f2f8e4 Refactoring
The notfification APIs now use NotificationSpec as their only parameter, which
contains all information (required and optional ones).
We no longer have separate methods and actions for SMS/EMAIL/GENERIC anymore.
The type of notification is important now, not how we received them technically.
2015-09-24 14:45:21 +02:00
cpfeiffer 05ee6e46c6 Display battery label in RED when battery is LOW #40 2015-09-02 23:49:48 +02:00
cpfeiffer 41d8bcf634 Make firmware and app installation a bit more user friendly #30 2015-08-30 00:21:51 +02:00
Daniele Gobbetti 7923e153e6 Moved the enum to standalone in the model package. 2015-08-27 11:50:31 +02:00
Daniele Gobbetti dcc988139f Merge remote-tracking branch 'origin/master' into low_battery_notification 2015-08-21 17:34:11 +02:00
Daniele Gobbetti eb39ce9367 Further improvements:
- append a string on the control center when the device is charging
- battery status string is no more, welcome battery state enum
- the notification will not be shown when the device is charging, even if the level is below threshold
2015-08-21 08:41:57 +02:00
cpfeiffer a1cb246e27 Add and use a "client interface" for the actions of the service
Previously, the DeviceCommunicationService was invoked directly,
via
Intent intent = new Intent(foo, bar);
intent.setExtra(EXTRA_BAZ, baz);
startService(...);

and this was scattered throughout GadgetBridge.
Now there is a "frontend" available, so that you can call
the service more easily, like
GBApplication.deviceService().connect();

For a start, this client interface (DeviceService) actually
implements the same interface (EventHandler) as the receiving side
(DeviceSupport). This may change in the future.

This will also make testing much easier, because we can use
this client interface to invoke the test service as well.
2015-08-21 01:03:57 +02:00
cpfeiffer 7c597b325a Big refactoring: move classes and packages around to get a better structure
- model package contains mostly shared interfaces (UI+service), not named GB*
- impl package contains implementations of those interfaces, named GB*
  the impl classes should not be used by the service (not completely done)
- the service classes should mostly use classes inside the service and deviceevents
  packages (tbd)

Every device now has two packages:
- devices/[device name] for UI related functionality
- service[device name] for lowlevel communication
2015-08-03 23:09:49 +02:00
Andreas Shimokawa b25d771ee9 reformat code 2015-06-30 12:09:29 +02:00
Daniele Gobbetti 3068d687bf Adressed some of the observations made re the last commits. 2015-06-30 06:40:46 +02:00
Daniele Gobbetti 900511760c further improvements:
- the day of week are evenly spread across the screen in the alarms detail activity
- the alarms are stored in a single shared preference (as a set) NB: you'll have to reset your alarms if you used a previous version (and also manually clean the shared preferences, but this is not needed)
- the list of alarms gets correctly updated after editing a specific alarm
- the actionbar back button saves the alarm status, the device back button doesn't. I'm not sure if it's a bug or a feature :)
2015-06-30 06:40:46 +02:00
Daniele Gobbetti dc3ed1659c use parcelable for passing alarms around 2015-06-30 06:40:46 +02:00
Daniele Gobbetti 1caca1439a Initial implementation of setting alarms to the Mi Band.
The code basically works, but there a lot of things to fix / improve.
* The alarms are stored to and read from the Shared Preferences, but there is no persistence within the app (basically they are read and stored at every access)
* The alarm list is not updated when coming back from the alarm detail view (probably related to the point above), but the actual alarm is
* The alarms preference names is sometimes built by concatenating strings, which is not really safe
* There is no check in the alarm constructor whether the stored string is a valid alarm representation
* Even though only 3 alarms can be stored on the device, we could have more in the app and let the user choose which to sync
* In the alarm detail view XML some material* drawables are used, it's possible that these break on android version < 5
* ...
2015-06-30 06:40:14 +02:00
Andreas Shimokawa 4f8a7ea64d Misuse device_candidate_item insead of device_item for AppManager 2015-06-07 22:02:40 +02:00
cpfeiffer 020d8d74d6 Added "Fetch Activity Data" to the context menu.
With some kind of progress reporting during the fetching #45
2015-06-06 19:39:04 +02:00
Andreas Shimokawa 1b2f20160a fix some lint warnings, mostly simplifications 2015-05-12 20:09:35 +02:00
cpfeiffer 39d84831ed Unset dynamic device state (like battery level, etc.) when disconnected 2015-05-10 00:05:29 +02:00
Andreas Shimokawa 3e85efa898 Display battery level if known. Should work on Miband, untested. 2015-05-05 22:52:25 +02:00
Andreas Shimokawa d09b5442cf Put FW/HW info inside its own TextView to cleanup the device list 2015-05-05 11:16:57 +02:00
cpfeiffer 9df661bd96 Initial (ugly) support for device discovery and pairing (#3) 2015-05-05 00:48:54 +02:00
Andreas Shimokawa f143c9ec54 androidstudio vs. eclipse :/ 2015-05-01 01:49:43 +02:00
cpfeiffer 8b3b4d0882 #46 make all strings localizable 2015-05-01 01:26:30 +02:00
Andreas Shimokawa 4a697edced add icon for activity tracker type apps. Thanks xphnx! 2015-04-10 22:26:52 +02:00
Andreas Shimokawa 2c50f95a92 update Pebble icon, add Miband icon 2015-04-01 22:12:49 +02:00
Andreas Shimokawa 9d74cee093 add icons for pebble and watchfaces. Store app type in GBDeviceApp. Store device type in GBDevice. 2015-03-31 23:34:19 +02:00
Andreas Shimokawa 0ccb818f58 Added AppManager, does not do anything useful yet. Only lists installed Apps. 2015-03-25 22:23:45 +01:00
Andreas Shimokawa 2e7f45433a display connection status in the device list 2015-03-22 23:38:51 +01:00
Andreas Shimokawa 4e465928e6 List all suported devices and connect on tap. Remove the connect button. 2015-03-21 18:18:07 +01:00