Commit Graph

115 Commits (ac07ddc9326f5a3749a77d1d94ba57d7d0d136e2)

Author SHA1 Message Date
Andreas Shimokawa 15436c59e5 reformat AndroidManifest.xml 2015-12-23 22:01:26 +01:00
Daniele Gobbetti 19afe23703 Read events from android calendars, one week in the future.
- Needs new permission.
- Stores the details needed for the pebble timeline and the miband
- Device support to be done
2015-12-16 14:45:01 +01:00
Andreas Shimokawa dfa85745e8 Send out SMS when replying with a canned response
Closes #121
2015-12-15 00:26:06 +01:00
cpfeiffer fe60d6aaf0 Avoid popping up the keyboard when entering the debug activity 2015-12-08 23:41:45 +01:00
cpfeiffer accb055307 Use parentActivityName instead of android.support.PARENT_ACTIVITY
(the latter doesn't work here)
2015-12-07 01:26:58 +01:00
cpfeiffer 365ce61cb6 Support for firmware upgrade/downgrade on Mi 1A.
I hope I didn't break firmware upgrades on some Mi 1 models
other than mine (my hardware revision is 2).

Upgrades for Mi 1S are currently disabled, we need some brave
souls who can help us test this.

Closes #173
Also see: #169
2015-12-07 01:14:06 +01:00
cpfeiffer 4622b384f2 Add comment regarding commented out internet permission
(Pebble Emulator)
2015-11-23 21:42:35 +01:00
cpfeiffer c1d9777047 Remove superfluous minSDKVersion in AndroidManifest.xml 2015-11-23 21:41:06 +01:00
Andreas Shimokawa a9186791dc register/unregister receivers at runtime instead of enabling/disabling them via packagemanger 2015-10-16 00:23:16 +09:00
Andreas Shimokawa 85777f99e4 bump version to 0.6.3, allow up to ten dots in .pbl file names 2015-10-11 20:51:24 +09:00
Andreas Shimokawa 3410e90fb0 Set allowBackup to false (trying prevent BackupManager from killing us)
This could help #134
2015-10-11 10:52:01 +09:00
Andreas Shimokawa 5860c4f4f9 Pebble: WIP support for flashing language files (.pbl)
NOTES:
- YOU SHOULD NOT TRY THIS YET ;)
- This was only tested with the unoffical japansese language pack
- Problably needs proper crc calculation (I just hardcoded the one for the japanese language pack)
2015-10-06 23:56:01 +09:00
Daniele Gobbetti 502c005a0e Add a further intent filter to grab the firmware/apps from the download content provider. Tested to work with miband firmware on android 5. 2015-09-17 16:56:24 +02:00
Andreas Shimokawa 6e3c839608 Allow to select preferred music player in preferences, closes #112 2015-09-16 00:53:54 +02:00
Andreas Shimokawa de74a033f6 Try to support controlling multiple music players
This tries to control the last player that played a (new) song.
It is very limited since we cannot get the source of an intent.
Instead we try to guess from the Action.
The problem is that we cannot support players that use only the action "com.android.music.XXXX" and not something own.
Also try to blindly support getting spotify metadata (for testing #112)
2015-09-15 01:36:33 +02:00
Andreas Shimokawa 0ad758fbca WIP blacklist activity (currently does nothing except listing apps) 2015-09-10 13:48:54 +02:00
Andreas Shimokawa e30379e77d target SDK Version 23, fix new errors in AndroidManifest.xml 2015-08-29 00:12:51 +02:00
Andreas Shimokawa ba6bdad057 try to make telephony optional 2015-08-22 22:52:29 +02:00
Andreas Shimokawa ff6d28cdc8 Remove INTERNET permission
Accidentially commited my local change to make the emulator connection work.
(Yes I know I had been warned)
2015-08-20 22:41:38 +02:00
Andreas Shimokawa faaa04b670 App Installation: various improvements
- make FwAppInstallerActivity wait for a completely initialized device
- check basalt/aplite compatibility with pbw to be installed and report intead of crashing
- fix crash when trying to install pbw with all app slots full
2015-08-20 18:55:22 +02:00
Andreas Shimokawa a7796ecbc6 Pebble: Emulator support
NOTE:
- supports aplite and basalt emulator
- needs recompilation of Gadgetbridge with INTERNET permission

TODO:
- fix disconnect issues
- emulator special packet support
- string localization
- ...
2015-08-19 00:06:15 +02:00
cpfeiffer c407ed1a76 Last refactoring for now: BluetoothCommunicationService
- rename to DeviceCommunicationService
- move all bluetooth related bits into separate DeviceSupportFactory
  class
2015-08-04 01:01:14 +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
Daniele Gobbetti 0a6dc8f7a0 Double the filter sections for opening pebble apps/firmwares and miband firmwares
There are some inconsistencies across ROMs: some need the mimetype filter to be present in order to match the file extension, other refuse to do so if the filter is present. Current strategy is to satisfy both requirements by duplicating the filter element.
2015-07-30 17:14:44 +02:00
Andreas Shimokawa 9f591ef8b5 Refactoring: Merge Pebble app/fw installer activity and Miband firmware update Activity 2015-07-28 17:30:20 +02:00
Daniele Gobbetti f16a96e9b2 Initial support for upgrading firmware of the MiBand.
This release seems to be working quite well with respect to the firmware upgrading itself. The user facing part needs more work.

In order to update the firmware one has to:
- open a file ending with .fw
- switch from the firmware upgrade activity to the main one
- connect to the miband
- return to the firmware upgrade activity
- press the "install" button (that became active when the device connection was established)

Caveats:
There are almost no check wrt. the integrity of the firmware files.
2015-07-23 17:14:51 +02:00
cpfeiffer a6e26e5ddc Cleanup, use fragment based charts (WIP #45)
Known issue: scrolling a zoomed-in chart interferes with swiping to the
next/previous chart (so far there's just one, but...)
Workaround: Swipe down and then left or right in one go, this will let
you scroll the zoomed chart
2015-07-11 00:03:41 +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 07d59322bd Pebble: Preparations for taking screenshots
This commit also includes some cleanups and removal of unused code/strings
2015-06-24 00:23:38 +02:00
cpfeiffer 4b241ca9eb Initial work on supporting multiple charts.
- one fragment per chart screen
- common chart code should move to fragment baseclass and the host
  Activity (ChartsActivity)

Currently it's not used, change ControlCenter to invoke ChartsActivity
instead of SleepChartActivity to test it.

WIP for #79
2015-06-23 23:03:05 +02:00
Andreas Shimokawa bffd7f332f remove SleepChartActivityOld, as the new one is usable now ;) 2015-06-17 08:18:24 +02:00
Andreas Shimokawa 73187431b2 Use old Sleep Monitor Activity for Pebble/Morpheuz
The new one does not look good with Morpheuz data yet (samples every 10 minutes)
2015-06-13 20:37:53 +02:00
cpfeiffer 8aef92026c A new sleep chart based on MPAndroidChart 45
- supports zooming an panning
- displays labels for all x-values (= time of day)
- fix deep vs. light sleep constants
- increase activity data buffer size for Mi Band
2015-06-11 23:37:00 +02:00
Andreas Shimokawa 7d86396e30 Support CM 12.1 Music App 2015-06-02 21:48:21 +02:00
Andreas Shimokawa 41207516b1 Move BluetoothChangeReceiver to externalevents 2015-05-30 21:40:42 +02:00
Andreas Shimokawa 68b76aa5c5 Pebble: Get Morpheuz sleep data visualize through SleepMonitorActivity
This very very experimental, and needs a complete overhaul.
But it is a start ;)
2015-05-21 18:17:39 +02:00
cpfeiffer 1a7c3c42e4 Do both BT and BTLE discovery (one after another) #33 2015-05-09 23:54:47 +02:00
Andreas Shimokawa 157deff237 Send current time to device if time/timezone changes. Closes #51. 2015-05-07 23:46:18 +02:00
cpfeiffer a23690c8e1 Initial support for Mi Band specific settings
(User info for now).

TODO: We need to have that information *before* starting a connect
2015-05-07 01:32:17 +02:00
cpfeiffer 9df661bd96 Initial (ugly) support for device discovery and pairing (#3) 2015-05-05 00:48:54 +02:00
Andreas Shimokawa e859ece7c6 Add Support for notifications send to Pebble from 3rd party applications
This enables support for Conversations without using generic notificaion support.
Other applications could also work partly but are untested.

This commit also changes the SettingsActivity to use Comboboxes instead of two
Checkboxes for each notification source.
2015-05-04 01:03:56 +02:00
cpfeiffer 8b3b4d0882 #46 make all strings localizable 2015-05-01 01:26:30 +02:00
Andreas Shimokawa 33d86de923 move external receivers to externalevents/ directory 2015-04-20 22:39:35 +02:00
cpfeiffer 09914e6da0 #15 Initial support for MI Band
1) The MAC address has to be added manually for now (Settings -> Debug) 
2) Configure other notifications as desired
3) After doing that, restart Gadgetbridge, after that, the device should
be visible.
4) Tap it to connect
5) Try the Debug activity via the Menu to send some dummy notifications
=> Your MI should vibrate and blink

Also: add some extra files necessary to support Eclipse ADT. To be
migrated to Andmore, later.
2015-04-19 02:37:29 +02:00
Andreas Shimokawa 7c60e4b595 Pebble: Firmware upgrade support 2015-04-17 12:23:19 +02:00
Andreas Shimokawa 2c1cacedb3 Pebble: working on app installation (WIP, do not use) 2015-04-06 20:58:35 +02:00
Andreas Shimokawa 4117444c26 Display app name, company and version when opening a .pbw file from a filemanager 2015-03-28 23:23:10 +01:00
Andreas Shimokawa d4ff94da4a Back button for SettingsAvtivity. Remove tablet specific code. 2015-03-28 20:39:46 +01:00
Andreas Shimokawa 0dacc1f9c7 make sure Intent broadcasts do not leave Gadgetbridge, add missing xml file 2015-03-27 12:13:19 +01:00
Andreas Shimokawa b20aaf59a8 enable back navigaton in AppManager and Debug activitys ActionBar 2015-03-27 11:23:30 +01: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 c56194c0e5 * Add option to start Gadgetbridge and connect automatically when bluetooth is turned on.
This closes #9
2015-03-17 21:41:58 +01:00
Andreas Shimokawa 6fa99082ab Support for rejecting/ending calls via Pebble buttons 2015-03-07 17:44:39 +01:00
Andreas Shimokawa 85ccafc922 Experiment with styling. 2015-03-07 15:32:34 +01:00
Andreas Shimokawa df8c290442 Implement music control (play, pause, next, previous). Try to make code a bit less Pebble centric. 2015-02-12 16:00:45 +01:00
Andreas Shimokawa 20b3dffba6 initial support for music playback information (artist, album, track), fix encoding of empty strings in PebbleProtocol 2015-02-08 23:53:40 +01:00
Andreas Shimokawa a47ba3c96f Cleanup main Activity, move debug code to DebugActivity, added Call related debug buttons, add state tracking to PhoneCallReceiver, support in-call display of incoming calls (untested) 2015-02-07 12:58:18 +01:00
Andreas Shimokawa ab233279e1 enable/disable BroadcastReceivers via PackageManager when Socket is connected/disconnected
This does not work with NotificationListener unfortunately.
2015-02-02 21:16:42 +01:00
Andreas Shimokawa 8e69723931 Added quit button to Service notification, removed unneccessary ACTION_STOP form Service 2015-01-30 11:59:36 +01:00
Andreas Shimokawa 2880e4dac9 Native support for K-9 Mail, bugfixes for generic notifications 2015-01-26 18:52:19 +01:00
Andreas Shimokawa 94c73ef20e Receive SMS the proper way, filter them out in the generic NotificationListener. 2015-01-24 12:21:15 +01:00
Andreas Shimokawa 070c6db5ed Resolve caller names by phone number before sending to Pebble 2015-01-23 11:32:58 +01:00
Andreas Shimokawa bf6abe9672 Quick and dirty support for incoming calls notification the Pebble way
Incoming calls are no longer send as simple notifications but properly as
incoming calls. The Pebble will vibrate until the call is taken or dismissed.

It is not yet possible to dismiss the call using the Pebble button.
2015-01-22 22:49:50 +01:00
Andreas Shimokawa 85fcdb208a Put Bluetooth communication into a foreground service and keep socket open. 2015-01-12 00:35:15 +01:00
Andreas Shimokawa dada70e92c First checkin of actual code 2015-01-07 14:00:18 +01:00