1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-30 05:52:57 +01:00
Commit Graph

185 Commits

Author SHA1 Message Date
Andreas Shimokawa
ec4469a87b Testing with dummy onboarding activity
crashes
2016-08-24 20:15:26 +02:00
cpfeiffer
9772d8af06 Merge remote-tracking branch 'origin/master' into db-refactoring 2016-06-19 21:14:03 +02:00
Andreas Shimokawa
4b5969ef96 Merge branch 'master' into appmanager-fragments 2016-06-19 12:33:05 +02:00
cpfeiffer
7aa900ce82 Workaround crash in debug activity
(when progress dialog is visible and changing orientation)
2016-06-19 00:53:53 +02:00
Daniele Gobbetti
ad3f7e53b3 Try hard to hide the browser activity from the stack. 2016-06-18 21:08:51 +02:00
Daniele Gobbetti
7263307409 Merge remote-tracking branch 'origin/master' into appmanager-fragments 2016-06-18 19:00:23 +02:00
Daniele Gobbetti
966c3d4811 Various improvements to the configuration page:
- localstorage is now cleared at every launch: this prevents some clay configuration pages to send back to the watch a number of keys that were set by other configuration pages
- only execute JS on document ready: this prevents some race conditions
- added dummy getTimelineToken function to Pebble JS object
- corrected (hopefully!) a few logic errors in the JS code (this referenced where it wasn't)
- refactored the steps visualization in JS
- lifecycle changes to the java activity: now the configuration page gets closed as soon as the settings have been sent, and there is only one instance of it
2016-06-18 18:40:57 +02:00
Andreas Shimokawa
1d6a697000 playing around with fragments 2016-06-14 15:56:38 +02:00
Andreas Shimokawa
98a0774fc2 Merge branch 'master' into feature-weather 2016-06-07 22:53:40 +02:00
Andreas Shimokawa
7ef005f6a3 Allow getting the network location within pebble settings for sunrise/sunset calculation
It is also possible to set the location manually
On Android >=6 the required permission will be requested when pressing the button in settings.
2016-05-26 14:39:54 +02:00
Andreas Shimokawa
dafdb1008d Merge branch 'master' into feature-weather 2016-05-16 14:15:39 +02:00
danielegobbetti
1933e2bf10 Localize the title of the configuration activity.
Auto open local settings (e.g. clay)
2016-03-21 21:19:32 +01:00
Andreas Shimokawa
fa924ff9d8 Pebble: fix crash when navigating back from configuration activity 2016-03-03 13:05:51 +01:00
Daniele Gobbetti
089a59168e Initial support for using an external browser for configuring pebble apps. This allows existing configuration pages to work without having internet access ourselves.
This is a better approach as initially thought in #191.

What is missing is outlined in the (several) TODOs.
2016-03-02 21:07:27 +01:00
0nse
3babedf936 + Add Widget which allows quickly creating an alarm depending on the user's preferred sleep length (in hours). 2016-02-29 21:36:39 +01:00
danielegobbetti
11297cd855 Merge remote-tracking branch 'origin/master' into feature-weather 2016-01-22 20:48:26 +01:00
Andreas Shimokawa
a72373c17c move PebbleContentProvider.java 2016-01-22 20:38:44 +01:00
Andreas Shimokawa
b9c1332442 Testing content provdider 2016-01-22 20:21:18 +01:00
danielegobbetti
aa1014f51c Added dummy configuration file. This way we get data from the weather notification app.
Problem is we probably ned to add it as library, in order to unmarshal the intent. (That's why I commented the offending code in the receiver)
2015-12-28 17:46:16 +01:00
Andreas Shimokawa
483c435aa5 Commit old weather experiment - might be worth continuing 2015-12-27 19:44:33 +01:00
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