Andreas Shimokawa
f0789cc147
Pebble 2/LE: fix another bug when reconnecting
2016-12-01 00:28:23 +01:00
Andreas Shimokawa
2993bb6b5c
Pebble 2/LE: fix potential NPE
2016-12-01 00:20:21 +01:00
Andreas Shimokawa
74c20f3a82
Pebble 2/LE: More fun with reconnect
2016-11-30 23:56:58 +01:00
Andreas Shimokawa
b878fa5eda
Pebble LE/Pebble 2: Fix reconnect not working when first attempt fails
2016-11-30 22:28:34 +01:00
Andreas Shimokawa
95ec1fb44c
Pebble LE/Pebble 2: Improve reconnect
2016-11-30 19:54:21 +01:00
cpfeiffer
09ff95eb34
Support for continuous hr readings (live activity) #323
2016-11-29 23:25:11 +01:00
cpfeiffer
49acde118d
Do not log heartrate separately during miband 1s sync
2016-11-29 23:25:11 +01:00
cpfeiffer
011646b097
Fix activity data on Mi Band 1 #440
2016-11-29 22:22:54 +01:00
Andreas Shimokawa
2677dad873
Fix a recent regression that caused the database migration dialog to never pop up
2016-11-27 22:50:21 +01:00
Andreas Shimokawa
109a032f1e
Pebble: fix Pebble LE address not being propery added to device attributes
2016-11-27 22:45:57 +01:00
Daniele Gobbetti
84327a5b86
Pebble: use also the device address as seed to store app configuration
...
This is not needed as long as one GB instance is used to manage a single pebble device, if multiple devices are managed the stored watchapp configuration could be messed up.
2016-11-27 11:31:03 +01:00
Andreas Shimokawa
fa8df9f552
add missing migration script
2016-11-27 10:52:43 +01:00
Andreas Shimokawa
16b4bfd0e7
Pebble LE: also return to control center if successfully initialized
2016-11-27 10:38:16 +01:00
Andreas Shimokawa
723ad53588
Call getDevice always when connected
...
This fixes a longstanding bug where device attributes where ONLY updated when fetching activity data or when pairing a new device
2016-11-27 10:32:56 +01:00
Andreas Shimokawa
24752d3455
Pebble: try harder to get LE address into the database, does not work
2016-11-27 10:10:50 +01:00
Andreas Shimokawa
34ad088b88
Pebble: Experimental support for BLE on all models via dev option in Pebble Settings
...
HOWTO:
1) Pair you normal Pebble (not necessary if already done), make sure it was connected once
2) Unpair your LE pebble if already paired
3) Switch on "Always prefer BLE" in Pebble Settings
4) Tap on the + in Control Center to add a new device
5) Pair your Pebble-LE XXXX or Pebble Time LE XXXX inside Gadgetbridge's Device Discovery actibity
Now Gadgetbridge will connect to your LE Pebble when tapping on Pebble XXXX if "Always Prefer BLE" option is enabled.
You can easily switch back to classic LE by turning that option off again
2016-11-27 09:49:28 +01:00
cpfeiffer
2f7eb9ef23
Some more improvements to discovery
...
- pass service uuids to GBDeviceCandaidate so that DeviceCoordinators
can detect devices by their services.
Note: they should not rely on service uuids being available
2016-11-27 02:46:07 +01:00
cpfeiffer
b9ff2cd468
A few improvements to discovery
...
- display the right icon for found device candidates
- scan for specific LE services
2016-11-27 01:09:20 +01:00
Andreas Shimokawa
352fc1a030
fix wrong return value
2016-11-25 14:53:12 +01:00
Andreas Shimokawa
a5263141d7
Pebble 2: Ignore all GATT communication with all other that the current device
...
Fixes a bad bug where disconnecting from another BLE device caused the Pebble2 to disconnect
2016-11-25 14:28:04 +01:00
cpfeiffer
2d4645f6cc
Fix only the first day label being displayed in Week Steps charts
2016-11-24 23:35:10 +01:00
Andreas Shimokawa
84caf22479
fix weekly charts to start y axis at 0
2016-11-24 22:27:44 +01:00
cpfeiffer
7da328d5db
Fix an invalid leftover check for array length
...
Also removed a method invocation that did not belong there.
2016-11-24 22:16:04 +01:00
Andreas Shimokawa
9d083e2330
Pebble: add Kickstart Watchface to app manager on FW 4.X
...
I know it only exist on 4.3+, but I am lazy
2016-11-24 22:10:32 +01:00
cpfeiffer
3fdfb7d172
Mi2: Support for setting the fitness goal (steps)
2016-11-24 21:58:32 +01:00
cpfeiffer
9bebf1d32f
When memory is really low, free up some memory #436
...
(although we probably can't save much)
2016-11-24 21:15:27 +01:00
cpfeiffer
60cb67c3c8
Some cleanup
2016-11-24 21:15:27 +01:00
cpfeiffer
cc0fbff297
Set the sample provider in getLatestActivitySample()
2016-11-24 21:15:27 +01:00
Andreas Shimokawa
381323011e
Pebble 2: work around FW installation problems
...
Wait a 0.5s after each complete Pebble packet and do not longer wait at all after a completed GATT package chunk (was 0.1s)
Big outgoing messages will be now much faster such as firmware installations but smaller take more time than before.
(This is not the proper fix but I could update the firmware this way, failed 10 times before after a few percent)
2016-11-24 18:52:58 +01:00
cpfeiffer
67d89ce1b9
Create the correct start-sync timestamp #323
2016-11-22 22:52:26 +01:00
cpfeiffer
dfbaba4cb6
Make sure that the charts display the requested time range
...
(instead of only the range with available samples)
2016-11-22 15:53:58 +01:00
cpfeiffer
a8a7d8db31
Mi2: WIP synchronize only new data since last sync
...
(#323 )
2016-11-22 00:05:41 +01:00
cpfeiffer
0c51f86afc
Mi2: more work on activity data #323
2016-11-22 00:05:41 +01:00
cpfeiffer
82cd06f4c1
Mi2: WIP: initial support for activity data
...
(#323 )
2016-11-22 00:05:41 +01:00
Andreas Shimokawa
eb052cead3
Pebble 2: Also honor the mtu when client gets a change reported
...
Should help older LE Pebbles
2016-11-21 17:29:16 +01:00
Andreas Shimokawa
647b67cfca
Pebble 2: call both requestMTU and use the characteristic write
2016-11-21 15:17:03 +01:00
Andreas Shimokawa
fce86482b9
Pebble 2: try an alternative way of setting the MTU (might revert)
2016-11-21 14:54:01 +01:00
Andreas Shimokawa
e8da301da3
Pebble 2: fix a few crashes with disconnect/ reconnect
2016-11-20 22:04:49 +01:00
Andreas Shimokawa
4f3c46f704
Pebble 2: only add second service if first one was added sucessfully
2016-11-20 00:12:41 +01:00
Andreas Shimokawa
3b250a4568
Pebble 2: initial hacky reconnect support
...
Works sometimes, at least less crashes
(#432 )
2016-11-19 23:53:07 +01:00
Andreas Shimokawa
029cc02a29
Pebble: Add Pebble specific pairing activity mainly useful for Pebble 2 since it properly pairs the Pebble after connecting with BLE
...
Fixes #433
2016-11-19 22:13:00 +01:00
Andreas Shimokawa
ddfab1cdae
Pebble 2: use requestMTU() on Android 5+ instead of characteristics write.
...
This actually fixes MTU problems with older Pebbles (Time, OG)
2016-11-18 23:47:48 +01:00
Andreas Shimokawa
4dc085de57
Pebble 2: React to MTU notifications, fixes LE for older pebbles also
...
It seems that setting the MTU on older pebbles does not work, so just use what we can use.
Maybe old pebbles need setMTU() which only works on Android 5+, we could use that conditionally...
2016-11-18 23:47:48 +01:00
cpfeiffer
51fa31aa66
Fix BLE type conversions problems
2016-11-18 23:36:22 +01:00
Andreas Shimokawa
66e3de9168
Pebble 2: improve connection problems (at least for me)
2016-11-18 22:38:39 +01:00
cpfeiffer
96a16245df
Update to MPAndroidChart 3.0.1
2016-11-18 21:31:55 +01:00
Andreas Shimokawa
d41848014b
fix database schema migration from 13 to 14
2016-11-16 11:37:36 +01:00
Andreas Shimokawa
485cda52a8
Pebble 2: actually report HRM feature to Charts Activity
2016-11-15 23:41:35 +01:00
Andreas Shimokawa
d7256d172e
I hate java
2016-11-15 23:23:21 +01:00
Andreas Shimokawa
163a7bdf15
Pebble 2: save heart rate values to database (hopefully)
2016-11-15 23:21:13 +01:00
Andreas Shimokawa
82a47022fa
Pebble 2: allow to disable/enable HRM in context menu of Workout app
...
Okay this might be stupid since Workout seems to work also works without HRM!
I assumed (wrongly) that I will disable Workout by disabling HRM
anyway, better than not being able to toggle it at all!
2016-11-15 12:17:51 +01:00
Andreas Shimokawa
4b7f47ba6c
Pebble 2: add Workout system app to app manager on P2 and hexdump incoming HRM datalog
2016-11-15 11:56:14 +01:00
Daniele Gobbetti
1a22752b98
Pebble: enable localStorage
...
LocalStorage native functions are overridden to keep each watchface's settings separated. It's possible the bind method do not work on older versions of android.
2016-11-14 17:51:33 +01:00
cpfeiffer
d8145a52f9
Activate the display when lifting the wrist #323
...
Configurable, defaults to true
2016-11-13 21:47:54 +01:00
Andreas Shimokawa
00a71f53b3
Pebble 2: add not yet working code (at least not without weird workarounds)
...
This is is a pain because of tons of weird pairing issues
2016-11-13 21:29:58 +01:00
cpfeiffer
d89899557c
Mi2: Add config option to configure date/time display
...
(added a new EventHandler method to set a specific configuration option)
2016-11-13 20:47:24 +01:00
cpfeiffer
ddaf51768d
Improved logging
2016-11-13 20:24:25 +01:00
cpfeiffer
3cc8d887ca
Mi2: Initial support for wear location, hr during sleep and date format #323
...
- wear location from prefs is sent to the band
- hr measurement during sleep is sent to the band
- date format is sent to the band (date+time or just time)
(TODO: needs preference option)
2016-11-13 01:44:52 +01:00
Andreas Shimokawa
f68bbe453b
Pebble: bump flags and version we report
...
Plus some small preparations for P2 support which do not hurt in master
2016-11-10 11:05:32 +01:00
Andreas Shimokawa
eb7646d26a
Pebble: Fix vanished Health system apps (for affected users)
...
This code also allows us to add new system apps which will then appended to the current list of previous Gadgetbridge users.
2016-11-09 19:20:37 +01:00
Andreas Shimokawa
837dfd5917
Pebble: fix Pebble Health vanishing when deactivating
2016-11-09 12:06:13 +01:00
cpfeiffer
3b474bb5a9
Move another notify registration to after initialization #408
2016-11-08 22:55:31 +01:00
Daniele Gobbetti
16c4f1a5ca
Pebble: add toggle to use last known location for sunrise and sunset
...
This adds the feature discussed in #415 , the used location is the last recorded by the network location provider, if it's not available then the stored location is used.
2016-11-06 15:42:52 +01:00
cpfeiffer
55f036c104
Move heart rate notification enamblement to after authentication
...
Might fix #408 and #425
2016-11-04 22:11:07 +01:00
Andreas Shimokawa
14ef5202e1
some internal testing which does not hurt in master
2016-11-03 11:07:44 +01:00
cpfeiffer
0076bbf572
Remove all Mi2 DeviceInfo stuff -- they're not used together #365
...
This might fix firmware downgrading on certain Mi1A devices
with hw revision 8
2016-10-30 23:04:21 +01:00
Daniele Gobbetti
b9bfb8c93a
Use attr resources to enable theme dependent colors for the charts.
2016-10-29 20:29:35 +02:00
Andreas Shimokawa
f755d99023
Pebble: Add context menu option in app manager to search a watchapp in the pebble appstore
2016-10-29 11:41:08 +02:00
cpfeiffer
cea5f5fa36
Remove duplicate case here as well
2016-10-29 00:01:56 +02:00
cpfeiffer
1cadb692fe
Wild guess at trying to fix spontaneous reboots during discovery #412
2016-10-28 23:48:13 +02:00
cpfeiffer
a941a6cd5f
Make some strings translatable
2016-10-28 23:47:39 +02:00
cpfeiffer
3db9748136
Mi2: Attempt to support non-repetitive alarms #323
2016-10-28 23:18:10 +02:00
cpfeiffer
e5ade5c0ef
Add Alamr.isRepetitive() convenience method
2016-10-28 22:40:34 +02:00
cpfeiffer
1352403089
Mi2: Allow for disabling alarms #323
2016-10-28 22:26:07 +02:00
Andreas Shimokawa
300d0466af
Merge pull request #422 from roidelapluie/fcb
...
Mark 3rd party facebook apps notifications as Facebook
2016-10-28 10:45:40 +02:00
Andreas Shimokawa
55daaf247c
Merge pull request #420 from atkyritsis/master
...
Removed duplicate if statement.
2016-10-28 10:45:09 +02:00
Julien Pivotto
67937dd6ee
Mark 3rd party facebook apps notifications as Facebook
...
- Toffeed: https://f-droid.org/repository/browse/?fdid=me.jakelane.wrapperforfacebook
- Slimsocial: https://f-droid.org/repository/browse/?fdid=it.rignanese.leo.slimfacebook
- MaterialFBook: https://f-droid.org/repository/browse/?fdid=me.zeeroooo.materialfb
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2016-10-28 07:23:54 +02:00
Andreas Shimokawa
d6b9e6d64b
Pebble: Support sending byte arrays from app configuration data
...
Also add debug output if trying to encode unknown classes in PebbleProtocol
(Fixes #421 )
2016-10-28 00:32:45 +02:00
Andreas Shimokawa
bdf403210e
Pebble: Fix configuration of certain pebble apps
...
for appkeys with index 0 it was assumed they were not found becaus JSONObject.getOpt() returns 0 if not found.
Use the getOpt() method variant with a fallback parameter instead and set that to -1 fixes the problem.
(Also fixes a missing debug output)
Fixes #419
2016-10-28 00:03:50 +02:00
atkyritsis
45cf4e5396
Removed duplicate if statement.
2016-10-27 18:44:27 +02:00
Andreas Shimokawa
d3571d53b2
Mi Band: allow to remove mac address from preferences
...
(this allows to clear an extra mi band from the control center)
Evil hack...
2016-10-26 00:03:54 +02:00
Daniele Gobbetti
1f77e3e84f
Coordinator: add explicit methods to determine if the device supports app management and which class is responsible for it.
2016-10-25 17:39:11 +02:00
cpfeiffer
a39e3a035c
Move device deletion logic to DeviceCoordinator and subclasses
2016-10-24 20:02:44 +02:00
cpfeiffer
de46555e37
Mi2: display heart rate result from Debug screen as a toast #323
2016-10-24 00:23:59 +02:00
cpfeiffer
b20a9c9ccc
Some initial hacky support for hr readings (Debug activity only)
...
My Mi2 stopped reporting hr values a while ago though, even on-device.
2016-10-23 23:53:48 +02:00
cpfeiffer
17b70a1b82
Support for more than one alarm #323
...
Smart alarms not supported yet.
2016-10-23 23:05:54 +02:00
cpfeiffer
3a12ffd42d
Mi2: Fix for alarm enablement. Was too late, apparently.
2016-10-23 22:38:57 +02:00
Daniele Gobbetti
503bcee7b4
Support record version 13 (firmware 4.2)
2016-10-21 13:07:07 +02:00
cpfeiffer
ee24443b6a
Make it really clear, that only the first alarm works #323
2016-10-21 01:01:30 +02:00
cpfeiffer
15954d4561
Initial support for alarms (one, atm) #323
...
(repetitinos not tested yet)
2016-10-21 00:50:41 +02:00
cpfeiffer
839da4f06a
Shuffle some logging things around
2016-10-21 00:50:41 +02:00
cpfeiffer
c87d08bf4b
Small refactoring for initial support for Mi2 Alarms #323
2016-10-21 00:50:41 +02:00
Andreas Shimokawa
cc2b22cfc7
prefer BIG_TEXT extra from notification only for email
...
(Some messengers accumulate messages in BIG_TEXT)
2016-10-19 18:38:26 +02:00
Andreas Shimokawa
336ffd5bf7
Extract EXTRA_BIG_TEXT instead of EXTRA_TEXT if available.
...
This makes K9 Mail usable with only using generic notifcations on Android >=5
(It shows the message preview now)
2016-10-18 23:44:00 +02:00
cpfeiffer
4122e0c20c
Add button "Test New Functionality"
2016-10-11 23:35:58 +02:00
Daniele Gobbetti
21fc5c7498
Integrate Daniele's live-sensor-data support
2016-10-11 23:13:40 +02:00
cpfeiffer
713989ef38
Add event "test new function" for the debug screen
2016-10-11 23:06:59 +02:00
cpfeiffer
344f6bcaa0
Use separate AppCompatPreferenceActivity from Android samples
...
(instead of mixing it with our code)
2016-10-11 22:07:56 +02:00
cpfeiffer
363b7cbf28
@Override
2016-10-11 21:47:45 +02:00
cpfeiffer
7c3dc741d2
Send vibration off-commands to Mi2 ( #323 )
...
Far from perfect, but a little better.
2016-10-11 21:38:17 +02:00
cpfeiffer
a559140f67
Fix the previous fix ;-)
2016-10-11 21:35:45 +02:00
cpfeiffer
1fc44034f0
Also use getGenericType() for the "summary" types
2016-10-11 21:28:28 +02:00
cpfeiffer
e7c0afa603
Cleanup onNotification()
2016-10-11 21:18:43 +02:00
cpfeiffer
f1243f52c1
Deactivate some unsupported things for Mi2
2016-10-11 20:23:25 +02:00
Andreas Shimokawa
c65a0a16de
fix mi band try vibration buttons
2016-10-11 17:57:50 +02:00
Andreas Shimokawa
a094f0cc76
Mi Band: for vibration settings, group navication types (email, sms, chat, social network, navigation)
2016-10-11 15:20:55 +02:00
Andreas Shimokawa
cd195a5969
map more apps to notification types (icons and colors on the pebble)
2016-10-11 11:54:52 +02:00
cpfeiffer
92c629c351
Ranem NotificationType.UNDEFINED to UNKNOWN
2016-10-10 23:06:44 +02:00
cpfeiffer
62828e5158
Remove ORIGIN_ notification constants, clean up
...
- MI preferences now use NotificationType.getFixedName() for preference
keys
2016-10-10 22:45:26 +02:00
cpfeiffer
5c8525c5d0
Don't rely on File.canWrite() for directories, closes #406
2016-10-10 21:01:41 +02:00
cpfeiffer
f57fec25f8
Remove the coordinator instance #323
...
For now, always iterate over the available coordinators instead.
Should fix MiBandSupport occasionally being used in place of MiBand2Support.
2016-10-10 20:52:40 +02:00
cpfeiffer
db034a246c
Add 'Try' button to vibration profile preferences, closes #405
2016-10-09 00:10:53 +02:00
cpfeiffer
9e32e7d0d3
Remove some Mi2 testing code, only use Mild Alerts for Mi1 (fow now)
2016-10-08 22:43:41 +02:00
cpfeiffer
c2ff05e849
Make timestamp to mpandroidchart float x-value explicit
2016-10-08 21:27:32 +02:00
cpfeiffer
125c0092cb
Storage and improved way of realtime data (hr, steps so far)
2016-10-08 01:35:58 +02:00
cpfeiffer
5a2ddaaec0
Use x-values instead of x indices for the charts
2016-10-08 01:35:03 +02:00
cpfeiffer
558c9e4664
Fiix visal glitch in weeksteps chart (first and last bar only partly visible)
2016-10-07 21:46:00 +02:00
cpfeiffer
7479c3d420
Whitelist 4.16.4.22 #369
2016-10-05 23:17:02 +02:00
cpfeiffer
713e9426b9
Re-enable UUID_PAIR again, when keeping data on device is configured) #250
...
This should fix data sharing with Mi Fit
2016-10-05 23:01:35 +02:00
cpfeiffer
e5d178b315
Fix crash with mpandroidchart 3.0pre (master)
2016-10-04 23:39:14 +02:00
cpfeiffer
75bca1b924
Update to latest master in mpac and fix labels for sleep chart as well
2016-10-04 00:09:56 +02:00
cpfeiffer
f35f76a42b
Fix extraneous space at the bottom of the week steps chart
2016-10-04 00:04:04 +02:00
cpfeiffer
eccf9164f6
No need to have a separate xLabelsFormatter
2016-10-03 23:48:32 +02:00
cpfeiffer
dee492bc4f
Fixes regarding xlabels -- must set them at the correct point in time
...
(otherwise we get ArrayIndexOutOfBoundsException when the chart
refreshes and the wrong xLabels, potentially with fewer entries are used)
2016-10-03 23:36:04 +02:00
cpfeiffer
827c99f620
Fix weekday charts, closes #403
2016-10-03 22:42:25 +02:00
Daniele Gobbetti
bbecfbeace
Check if the bluetoothReceiver is still valid before unregistering it.
...
Do not set the scan tipe as BT classic if the discovery action has been set by BLE scans.
2016-10-03 22:31:33 +02:00
cpfeiffer
dd590528dc
Add back the x-labels
2016-10-03 21:53:06 +02:00
cpfeiffer
f23ed5ce69
Mi2: declare to always support hr #323
2016-10-03 21:17:58 +02:00
Andreas Shimokawa
ed343778ee
cleanup Debug activity a bit, add Spinner and remove a lot of buttons
2016-10-03 20:51:28 +02:00
cpfeiffer
5bdc7933b3
Somewhat hacky support for Mi2 notification icons #323
2016-10-02 23:04:59 +02:00
cpfeiffer
2a0d97b39a
Improved error handling, display errors when deleting device
2016-09-30 23:07:30 +02:00
cpfeiffer
09502f96c9
AlertDialog.show() is non-modal, so put code into callback. Also added unpairing.
2016-09-30 22:58:28 +02:00
cpfeiffer
2e7fb57172
Display device name to delete, and use different API to delete device
2016-09-30 22:58:28 +02:00
cpfeiffer
b890242c4f
Only refresh when deletion of device was confirmed
2016-09-30 22:58:28 +02:00
Andreas Shimokawa
5e63b7ce04
Vibratissimo: do not show database migration activity
2016-09-30 21:43:44 +02:00
cpfeiffer
f44974c215
Use findDevice() instead of getDevice() when you want to delete it
2016-09-30 21:27:33 +02:00
cpfeiffer
1fd6b59bf8
Fix logic error
2016-09-30 20:19:06 +02:00
cpfeiffer
27c83604d3
Update DeviceManager after deleting a device
2016-09-30 20:17:20 +02:00
Andreas Shimokawa
56d8a49d5b
only disconnect device when confirming delete dialog
2016-09-30 19:20:04 +02:00
Andreas Shimokawa
5c0618d43d
show confirm dialog before actually delete device
...
Also delete device last (after associated data), so that we do not leak if something fails
(#401 )
2016-09-30 19:04:44 +02:00
Daniele Gobbetti
42f622af85
Support record version 12 (firmware 4.1)
2016-09-30 17:28:46 +02:00
Andreas Shimokawa
30d686fa50
support deleting devices and associated data
...
(#401 )
TODO:
- remove device from list after deleting (needs changes to DeviceManager)
- confirmation dialog!!!
2016-09-30 13:41:06 +02:00
cpfeiffer
e3f15f7bd8
Sort devices lexicographically
2016-09-29 22:56:16 +02:00
cpfeiffer
fbfc9ed97f
Workaround for https://github.com/PhilJay/MPAndroidChart/issues/2317
2016-09-29 22:45:17 +02:00
cpfeiffer
f58b1f33c6
Fix parameter order for mpandroidchart 3.0
2016-09-29 22:45:17 +02:00
cpfeiffer
1b5bc23981
Initial port to mpandroidchart 3.0
...
does not quite work yet
2016-09-29 22:45:17 +02:00
cpfeiffer
0a4eefcf11
Use device information from the database for GBDevices
...
fixes offline charts not displaying heartrate for Mi1S
2016-09-29 22:40:16 +02:00
cpfeiffer
8f36712342
WIP: A little more Alert Notification Profile
...
I think we should rather focus on a code generator, though.
2016-09-29 20:32:15 +02:00
Daniele Gobbetti
fabc52fdad
Don't forward group summary notifications to the wearable, they are meant for the android device only
...
Possibly also related to #395
2016-09-27 17:33:10 +02:00
cpfeiffer
dbdd7366ed
Reenable the lollipop LE scanner, but after the plain BT scanner
2016-09-26 22:30:15 +02:00