Commit Graph

83 Commits (e1992f43e59cdbfb9f10c8f217c0838cdd31eda8)

Author SHA1 Message Date
Andreas Shimokawa 6a18d90fee Vibratissimo: add simple and buggy activity with a slider for vibration control
Also includes some fixes and "find your device" support ;)
2016-09-20 20:28:52 +02:00
Daniele Gobbetti 6a2043eeb7 Create DB management activity by taking the existing functionalities from the debug activity. 2016-08-31 15:12:26 +02:00
Andreas Shimokawa c93186cc56 fix name of onboading activity 2016-08-29 00:23:48 +02:00
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 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
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
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
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