asteroidos / asteroidossync Goto Github PK
View Code? Open in Web Editor NEWAndroid application to synchronize a phone with a watch running asteroid-btsyncd.
License: GNU General Public License v3.0
Android application to synchronize a phone with a watch running asteroid-btsyncd.
License: GNU General Public License v3.0
Currently, data are only synchronized on connection.
Some data should be synchronized daily (for instance weather data), I guess we could use an AlarmManager for that.
Some data should be synchronized only when changed (for instance, time and date), I guess we could filter ACTION_TIME_CHANGED and ACTION_TIMEZONE_CHANGED intents for that.
Phone: Motorola Moto E 2015 LTE
Phone OS: CyanogenMod 14.1-20161216-NIGHTLY-surnia (Android 7.1.1)
Watch: LG G Watch (dory) running the official AsteroidOS alpha 1.0 build
How to reproduce:
Expected result:
The watch stays connected and everything works without issue.
Actual result:
AsteroidOS Sync instantly crashes with the following log (I have hidden the app ID to make it less easy to scrape for bots and the uuid for my privacy):
12-17 15:26:07.700 10131 10162 D OkHttp : --> GET http://api.openweathermap.org/data/2.5/forecast?appid=<hidden>&q=NewYork http/1.1
12-17 15:26:07.700 10131 10162 D OkHttp : --> END GET
12-17 15:26:07.709 10131 10131 D BluetoothManager: getConnectionState()
12-17 15:26:07.709 10131 10131 D BluetoothManager: getConnectedDevices
12-17 15:26:07.714 10131 10131 D BluetoothGatt: setCharacteristicNotification() - uuid: <hidden> enable: true
12-17 15:26:07.754 10131 10162 D OkHttp : <-- 200 OK http://api.openweathermap.org/data/2.5/forecast?appid=<hidden>&q=NewYork (53ms)
12-17 15:26:07.754 10131 10162 D OkHttp : Server: openresty
12-17 15:26:07.754 10131 10162 D OkHttp : Date: Sat, 17 Dec 2016 14:26:07 GMT
12-17 15:26:07.754 10131 10162 D OkHttp : Content-Type: application/json; charset=utf-8
12-17 15:26:07.754 10131 10162 D OkHttp : Transfer-Encoding: chunked
12-17 15:26:07.754 10131 10162 D OkHttp : Connection: keep-alive
12-17 15:26:07.754 10131 10162 D OkHttp : X-Cache-Key: /data/2.5/forecast?q=newyork
12-17 15:26:07.754 10131 10162 D OkHttp : Access-Control-Allow-Origin: *
12-17 15:26:07.754 10131 10162 D OkHttp : Access-Control-Allow-Credentials: true
12-17 15:26:07.754 10131 10162 D OkHttp : Access-Control-Allow-Methods: GET, POST
12-17 15:26:07.754 10131 10162 D OkHttp : OkHttp-Sent-Millis: 1481984767728
12-17 15:26:07.755 10131 10162 D OkHttp : OkHttp-Received-Millis: 1481984767752
12-17 15:26:07.761 10131 10162 D OkHttp : {"city":{"id":5128581,"name":"New York","coord":{"lon":-74.005966,"lat":40.714272},"country":"US","population":0,"sys":{"population":0}},"c
od":"200","message":0.0209,"cnt":27,"list":[{"dt":1481986800,"main":{"temp":272.1,"temp_min":272.1,"temp_max":274.318,"pressure":1028.82,"sea_level":1032.36,"grnd_level":1028.82,"hum
idity":100,"temp_kf":-2.22},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":4.43,"deg":216.502},"rain":{"3h":0.05},"s
now":{"3h":3.7875},"sys":{"pod":"d"},"dt_txt":"2016-12-17 15:00:00"},{"dt":1481997600,"main":{"temp":273.91,"temp_min":273.91,"temp_max":275.578,"pressure":1024.33,"sea_level":1027.8
,"grnd_level":1024.33,"humidity":100,"temp_kf":-1.67},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":2.58,"deg":220.
5},"rain":{"3h":2.67},"snow":{"3h":1.6025},"sys":{"pod":"d"},"dt_txt":"2016-12-17 18:00:00"},{"dt":1482008400,"main":{"temp":274.72,"temp_min":274.72,"temp_max":275.834,"pressure":10
22.84,"sea_level":1026.44,"grnd_level":1022.84,"humidity":100,"temp_kf":-1.11},"weather":[{"id":501,"main":"Rain","description":"moderate rain","icon":"10d"}],"clouds":{"all":92},"wi
nd":{"speed":2.52,"deg":229.505},"rain":{"3h":3.43},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-12-17 21:00:00"},{"dt":1482019200,"main":{"temp":275.21,"temp_min":275.21,"temp_max":27
5.763,"pressure":1022.36,"sea_level":1025.88,"grnd_level":1022.36,"humidity":100,"temp_kf":-0.56},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds
":{"all":92},"wind":{"speed":1.82,"deg":207.503},"rain":{"3h":0.4},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-18 00:00:00"},{"dt":1482030000,"main":{"temp":278.275,"temp_min":278.
275,"temp_max":278.275,"pressure":1020.43,"sea_level":1023.96,"grnd_level":1020.43,"humidity":98,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10
n"}],"clouds":{"all":88},"wind":{"speed":3.31,"deg":199.502},"rain":{"3h":0.1},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-18 03:00:00"},{"dt":1482040800,"main":{"temp":281.632,"te
mp_min":281.632,"temp_max":281.632,"pressure":1018.25,"sea_level":1021.76,"grnd_level":1018.25,"humidity":94,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain
","icon":"10n"}],"clouds":{"all":92},"wind":{"speed":4.66,"deg":210},"rain":{"3h":0.25},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-18 06:00:00"},{"dt":1482051600,"main":{"temp":28
3.605,"temp_min":283.605,"temp_max":283.605,"pressure":1016.56,"sea_level":1020,"grnd_level":1016.56,"humidity":92,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"ligh
t rain","icon":"10n"}],"clouds":{"all":92},"wind":{"speed":5.67,"deg":214.505},"rain":{"3h":0.59},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-18 09:00:00"},{"dt":1482062400,"main":
{"temp":286.175,"temp_min":286.175,"temp_max":286.175,"pressure":1015.49,"sea_level":1018.91,"grnd_level":1015.49,"humidity":89,"temp_kf":0},"weather":[{"id":500,"main":"Rain","descr
iption":"light rain","icon":"10n"}],"clouds":{"all":100},"wind":{"speed":6.57,"deg":217.001},"rain":{"3h":0.35},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-18 12:00:00"},{"dt":1482
073200,"main":{"temp":287.366,"temp_min":287.366,"temp_max":287.366,"pressure":1016.63,"sea_level":1020.04,"grnd_level":1016.63,"humidity":90,"temp_kf":0},"weather":[{"id":500,"main"
:"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":6.91,"deg":223.505},"rain":{"3h":0.69},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-12-18 15:00:00
"},{"dt":1482084000,"main":{"temp":287.055,"temp_min":287.055,"temp_max":287.055,"pressure":1018.94,"sea_level":1022.32,"grnd_level":1018.94,"humidity":89,"temp_kf":0},"weather":[{"i
d":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":5.45,"deg":249.502},"rain":{"3h":0.72},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-1
2-18 18:00:00"},{"dt":1482094800,"main"
12-17 15:26:07.761 10131 10162 D OkHttp : :{"temp":282.446,"temp_min":282.446,"temp_max":282.446,"pressure":1023.58,"sea_level":1027.02,"grnd_level":1023.58,"humidity":97,"temp_kf":
0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":5.44,"deg":279.5},"rain":{"3h":2.93},"snow":{},"sys":{"pod":"d"},"
dt_txt":"2016-12-18 21:00:00"},{"dt":1482105600,"main":{"temp":279.553,"temp_min":279.553,"temp_max":279.553,"pressure":1029.88,"sea_level":1033.4,"grnd_level":1029.88,"humidity":97,
"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":92},"wind":{"speed":5.11,"deg":327.507},"rain":{"3h":0.52},"snow":{},"sys":{
"pod":"n"},"dt_txt":"2016-12-19 00:00:00"},{"dt":1482116400,"main":{"temp":275.766,"temp_min":275.766,"temp_max":275.766,"pressure":1035.07,"sea_level":1038.65,"grnd_level":1035.07,"
humidity":100,"temp_kf":0},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}],"clouds":{"all":88},"wind":{"speed":4.76,"deg":336.502},"rain":{},"snow
":{},"sys":{"pod":"n"},"dt_txt":"2016-12-19 03:00:00"},{"dt":1482127200,"main":{"temp":273.785,"temp_min":273.785,"temp_max":273.785,"pressure":1039.01,"sea_level":1042.67,"grnd_leve
l":1039.01,"humidity":100,"temp_kf":0},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}],"clouds":{"all":92},"wind":{"speed":4.26,"deg":346},"rain":
{},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-19 06:00:00"},{"dt":1482138000,"main":{"temp":272.258,"temp_min":272.258,"temp_max":272.258,"pressure":1042.25,"sea_level":1045.8,"gr
nd_level":1042.25,"humidity":100,"temp_kf":0},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}],"clouds":{"all":32},"wind":{"speed":4.37,"deg":358.
004},"rain":{},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-19 09:00:00"},{"dt":1482148800,"main":{"temp":269.614,"temp_min":269.614,"temp_max":269.614,"pressure":1045.21,"sea_level
":1048.91,"grnd_level":1045.21,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wind":{"speed":4.65,"deg":
6.50052},"rain":{},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-19 12:00:00"},{"dt":1482159600,"main":{"temp":269.846,"temp_min":269.846,"temp_max":269.846,"pressure":1047.99,"sea_l
evel":1051.52,"grnd_level":1047.99,"humidity":100,"temp_kf":0},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"clouds":{"all":24},"wind":{"speed":3.82
,"deg":15.0016},"rain":{},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-12-19 15:00:00"},{"dt":1482170400,"main":{"temp":271.084,"temp_min":271.084,"temp_max":271.084,"pressure":1047.12
,"sea_level":1050.67,"grnd_level":1047.12,"humidity":100,"temp_kf":0},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"clouds":{"all":12},"wind":{"spee
d":3.01,"deg":6.5007},"rain":{},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-12-19 18:00:00"},{"dt":1482181200,"main":{"temp":270.833,"temp_min":270.833,"temp_max":270.833,"pressure":1
047.98,"sea_level":1051.67,"grnd_level":1047.98,"humidity":100,"temp_kf":0},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"clouds":{"all":24},"wind":
{"speed":2.77,"deg":356.007},"rain":{},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-12-19 21:00:00"},{"dt":1482192000,"main":{"temp":269.512,"temp_min":269.512,"temp_max":269.512,"pres
sure":1049.59,"sea_level":1053.29,"grnd_level":1049.59,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wi
nd":{"speed":3.42,"deg":11.5001},"rain":{},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-20 00:00:00"},{"dt":1482202800,"main":{"temp":268.748,"temp_min":268.748,"temp_max":268.748,"
pressure":1049.66,"sea_level":1053.33,"grnd_level":1049.66,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0}
,"wind":{"speed":2.95,"deg":32.0122},"r
12-17 15:26:07.761 10131 10162 D OkHttp : ain":{},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-20 03:00:00"},{"dt":1482213600,"main":{"temp":268.25,"temp_min":268.25,"temp_max":268
.25,"pressure":1049.55,"sea_level":1053.32,"grnd_level":1049.55,"humidity":100,"temp_kf":0},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"clouds":{"
all":20},"wind":{"speed":2.62,"deg":19.0007},"rain":{},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-20 06:00:00"},{"dt":1482224400,"main":{"temp":268.425,"temp_min":268.425,"temp_ma
x":268.425,"pressure":1049.37,"sea_level":1053.1,"grnd_level":1049.37,"humidity":100,"temp_kf":0},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}]
,"clouds":{"all":48},"wind":{"speed":2.51,"deg":17.5004},"rain":{},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-20 09:00:00"},{"dt":1482235200,"main":{"temp":267.975,"temp_min":267.
975,"temp_max":267.975,"pressure":1049.69,"sea_level":1053.44,"grnd_level":1049.69,"humidity":100,"temp_kf":0},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":
"02n"}],"clouds":{"all":24},"wind":{"speed":2.45,"deg":16.502},"rain":{},"snow":{},"sys":{"pod":"n"},"dt_txt":"2016-12-20 12:00:00"},{"dt":1482246000,"main":{"temp":271.103,"temp_min
":271.103,"temp_max":271.103,"pressure":1049.89,"sea_level":1053.52,"grnd_level":1049.89,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","ic
on":"02d"}],"clouds":{"all":8},"wind":{"speed":1.88,"deg":26.5005},"rain":{},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-12-20 15:00:00"},{"dt":1482256800,"main":{"temp":273.519,"temp
_min":273.519,"temp_max":273.519,"pressure":1046.98,"sea_level":1050.59,"grnd_level":1046.98,"humidity":99,"temp_kf":0},"weather":[{"id":803,"main":"Clouds","description":"broken clo
uds","icon":"04d"}],"clouds":{"all":56},"wind":{"speed":1.61,"deg":23},"rain":{},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-12-20 18:00:00"},{"dt":1482267600,"main":{"temp":273.41,"t
emp_min":273.41,"temp_max":273.41,"pressure":1045,"sea_level":1048.55,"grnd_level":1045,"humidity":97,"temp_kf":0},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds
","icon":"04d"}],"clouds":{"all":88},"wind":{"speed":1.21,"deg":355.501},"rain":{},"snow":{},"sys":{"pod":"d"},"dt_txt":"2016-12-20 21:00:00"}]}
12-17 15:26:07.761 10131 10162 D OkHttp : <-- END HTTP (10285-byte body)
12-17 15:26:07.807 10131 10131 D AndroidRuntime: Shutting down VM
12-17 15:26:07.807 10131 10131 E AndroidRuntime: FATAL EXCEPTION: main
12-17 15:26:07.807 10131 10131 E AndroidRuntime: Process: org.asteroidos.sync, PID: 10131
12-17 15:26:07.807 10131 10131 E AndroidRuntime: java.lang.ArrayIndexOutOfBoundsException: length=27; index=27
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at org.asteroidos.sync.ble.WeatherService$2.success(WeatherService.java:84)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at github.vatsal.easyweather.WeatherMap$3.onResponseWeatherObject(WeatherMap.java:141)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at github.vatsal.easyweather.WeatherMap$3.onResponseWeatherObject(WeatherMap.java:122)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at github.vatsal.easyweather.retrofit.api.WeatherRetrofitCallback.onResponse(WeatherRetrofitCallback.java:33)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:751)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6126)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
12-17 15:26:07.807 10131 10131 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
12-17 15:26:07.809 1073 2801 W ActivityManager: Force finishing activity org.asteroidos.sync/.DeviceDetailActivity
This crash does not occur when I disallow AsteroidOS internet access through AFWall+.
The app seems to constantly ask the OS for the location if set weather location automatically is turned on. This causes significant battery drain. Especially because the weather info itself doesn't update every second, the location checks should probably be about as common as the weather updates.
I suggest adding a (probably orange) background to the watch name (eg. "anthias") when it's found while scanning, as it can sometimes be hard to notice and at first it took me a while to see that.
I know this is a device problem, but it's something AsteroidOS could work around. Sometimes (and with that I mean quite often), my Android phone decides to kill the connection with all Bluetooth devices. My Bluetooth headset automatically reconnects, yet AsteroidOS switches to disconnected state and doesn't seem to try to reconnect. It would be great if AsteroidOS could automatically reconnect when this happens.
Hello!
I was wondering if there was any plans to get the events app to sync using caldav to sync events with nextcloud?
Not sure if I should be making this issue on the events app, or here (or both!), but it would be really useful!
With Android Pie (9) there was the introduction of AndroidX as a replacement for the support libraries. Android Q is (if you believe the annotations in Android Studio) the last version of Android that supports the use of support libraries.
What we have to/should do in my opinion:
If someone has any additional things that we have to/should address for Q (API 29, Android 10) please feel free to comment.
Currently, there is no incoming call notification. (At least on Lineage 16 [Android 9])
For this, we need theREAD_PHONE_STATE
and the READ_CALL_LOG
permission.
"If the receiving app has Manifest.permission.READ_CALL_LOG
and Manifest.permission.READ_PHONE_STATE
permission, it will receive the broadcast twice; one with the EXTRA_INCOMING_NUMBER
populated with the phone number, and another with it blank." Source: TelephonyManager - developer.android.com
Should be fairly simple to implement. This issue serves primarily as a reminder for myself however, if someone has nothing to do, feel free to implement.
I should add that in combination with the "auto silence phone" feature ( #68 ) you can miss calls. So I would categorize this issue as very important.
Once I connect the watch I will get the first text notification, every text after the first though will not trigger a notification on the watch.
This is with the stock Messaging app on LineageOS.
If I have my watch connected and wander too far from my phone the watch disconnects. Then when I get back in range the phone seems to have a hard time reconnecting. I can open the app and it will say connecting, then I get a notice on the watch saying they are connected, but the phone doesn't register the connection. So my phone will be left saying disconnected and my watch saying it is connected.
If i build app on minSdk 19 i have crash
E/AndroidRuntime: FATAL EXCEPTION: main Process: org.asteroidos.sync, PID: 25870 java.lang.NoClassDefFoundError: org.asteroidos.sync.ble.MediaService at org.asteroidos.sync.services.SynchronizationService$SynchronizationHandler.handleMessage(SynchronizationService.java:99) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5299) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) at dalvik.system.NativeStart.main(Native Method)
Phone: Moto E4, Android 7.1.2 (LineageOS 14.1)
Watch: Sony Smartwatch 3, AsteroidOS 1.0
When I try to pair my watch with the sync app, the watch is spammed with notifications saying Connected, then saying Disconnected, then Connected, Disconnected, etc. This loop goes on forever unless I tap Unpair in the app.
If I try to pair it from the phone's Bluetooth settings it says, "Couldn't pair with tetra because of an incorrect PIN or passkey."
can you please create a link for translating app using weblate on README or contributing page.
Greetings team,
After pairing dory to One Plus 5 (android 9.0.5) the watch is spammed with pairing requests with PIN mostly when trying to reconnect (after disconnection) or sometimes when being shown as connected (on watch, but disconnected on the phone app).
Expected behaviour is for the watch to re-connect without asking for pairing each time.
Let me know if you would be needing logs.
I think it would be great if you could sync your asteroidOS watch with a sailfish os phone. Two alternatives to android working together.
Phone: Pixel 2 XL
Android 8.1.0 (OPM1.171019.013)
Watch: LG G Watch (Dory)
Asteroid OS Alpha 1.0
Application: AsteroidOS Sync
Version 0.8
Upon syncing my watch with my Android device via Bluetooth, the watch will work as intended, sharing messages, weather, time etc. as expected.
However, if I close the AsteroidOS Sync application (Recent Applications menu -> Swipe away) the watch will disconnect and stop communicating with the watch.
For comparison, with applications like Android Wear, if the phone-side application is closed it will still run as a background service and continue to communicate with the watch.
Since Android 10 java.io.file
API is deprecated. This results in screenshots not being stored on the phone.
According to Androids storage options summary table we should pick the MediaStore API. This has two benefits:
It would be nice if I could get a notification on my phone when new Asteroid builds with significant changes (bug fixes, new features) are available for download. That way I won't have to go through the IRC logs or GitHub commit history every few days.
The asteroid OS sync app doesn't seem to see I have signal messenger installed, therefore no notifications are sent.
I'm happy to help test this if you let me know what is required.
Thanks for the app and all the work you have done.
Hi there,
I have just installed AsteroidOS (1.1-nightly) on my LG G Watch R Lenok and AsteroidOS Sync (version 0.14) on my Fairphone 2 (running on LinneageOS version 16.0-20200107-MicroG-FP2).
Directly after installing Sync, I can find my Lenok and connect to it. That seems to work for a short while: I can already fiddle with some settings within the Sync-app, before I have to enter a PIN (I'm not sure if that's supposed to be possible). After entering the PIN and clicking the ok-icon on the phone, the connection between the devices drops a few seconds later. Any attempt to reconnect is met with a message "cannot communicate with lenok". I tried it again a few minutes later, at wich point the message had changed to "cannot communicate with AA:AA:AA:AA:AA:AA", which might indicate an issue with the MAC-address. If I uncouple the device, the Lenok is still in my list of devices, but reconnection is again met with the fist message. I have already uninstalled Wear OS, as that seemed to have worked for J0SH1X in #100, but that didn't change anything for me.
Any idea what might cause this?
Kind regards,
Bombatomba
Thanks to the ubports community Ubuntu touch is still alive. Ubuntu touch and asteroid should be a good team.
if i open the asteroidos sync app and pair my watch my phone will ask me to pair it without a need to enter a pin afterwards a 2nd pair popup comes up and asks for a pin then after a minute the connection to my watch is dropped and will never be able to connect again
App should request to be excluded from battery optimization. I noticed notifications would not come to my watch if phone was asleep. Once I woke the phone they would all sync.
I found the setting in the OS and told it to allow the app to run all the time and this fixed the issue.
Currently with AsteroidOSSync, if a notification is received, the watch and phone will both vibrate.
Conversely, Wear OS (Former Android Wear) has options to "Silence phone while wearing watch", with toggles to:
Such options could be added under the existing "Notification settings" menu of AsteroidOSSync, as an alternative to per-app settings for the watch.
Note: This can likely be implemented using the setRingerMode API, with either RINGER_MODE_SILENT
or the depreciated VIBRATE_SETTING_OFF
flags.
Hi.
I have a problem connecting my watch with my phone. It does not seems to be on the watch side because I successfully sync it with my girl friend phone. So I assume that the Android phone side is to blame.
When I try to pair the watch using AsteroidOSSync, the app detect the phone and try to connect to it. The Watch write "Connected", the phone give me options to sync with the watch and then both devices gives me a confirmation pairing key. I confirm the key on both device. The phone then write "Connecting..." and after some time, it give me a "Can't connect to Bass" toast alert and write "Disconnected" on both device.
You can see the logcat at https://nuage.libreti.net/index.php/s/69LnwGQWWyPQXzf and the bluetooth snooping log file at https://nuage.libreti.net/index.php/s/RcKdbFarDyebAwS . For the log, the watch is called "bass" and the address is "43:43:A0:12:1F:AC".
Whenever you go to the app using the notification the app will crash and exit. I will attach some logs that hopefully will help track down the issue.
SweetBlue, the BLE library we use, is deprecated.
SweetBlue v3 is expensive, proprietary and closed source.
Although the code has some entertaining value (unnecessary code, code styling issues, deprecated APIs all over the place,...) I don't have any sentimental thoughts about it and we should replace it.
We have the following options:
I think the best option would be to write a new library that uses the same interface to make it a 'drop-in' replacement.
After compile AsteroidOSSync spanish Is not being shown
The app will connect to the watch then after a few seconds it will crash and close out. If you open it back up it will connect back to the watch for a few seconds before crashing again. I am including what looks like relevant part of the log.
See title. When I select weather settings in the app, the app crashes. I use a Motorola Moto G and a Lenovo G Watch.
As the title suggests, an iOS app for iPhone users would be great!
Would be very nice to have Asteroid on the watch to sync with Calendar on the phone.
Not specially with Android Stock Calendar, for example with Calendar on Fdroid as it is possible to use it without any external services and where it is possible to import .ics
Using 0.14 from F-Droid, I was able to pair the harmony watch (a Kingwear 88 Pro, using an MT6580 chipset) with AsteroidOS Sync exactly once, to look at the options. Every subsequent attempt to connect the watch via Bluetooth has the app find the watch (it displays "harmony"), but attempting to connect to the watch has the app say that it has trouble connecting to the watch. The watch does not show up in the list of connected bluetooth devices on my Android phone (a Pixel running Android 10), and when I ask the watch to try connecting through bluetoothctrl in a ceres session, I get back the error "Failed to pair: org.bluez.Error.AuthenticationRejected"
The watch has stored the phone's bluetooth address and indicates that it is a paired device, so I believe the initial pairing procedure worked correctly, but it won't connect, and it won't display in the list of previously paired Bluetooth devices on my phone.
I'm not sure what the problem is, or even how to investigate further to try and figure out why the connection isn't working.
Hello, I have an LG G Watch (Dory) with bluetooth and the AsteroidOS Sync (installed from F-Droid).
Every second, a notification pops up on the watch with the notification from orbot. Orbot uses a persistent notification that updates with the speed over the tor network. How can I make it so that the watch ignores this notification or stops displaying it on the watch? At present it does not allow for the watch screen to turn off.
As the subject the app does not open (crash on start)
Thanks
Luca
Hello,
I usually keep my phone in vibrate-only mode.
But since 0.13, everytime I start AsteroidOSSync, it automatically enables my ringtone.
It is probably a side-effect of #68.
F-Droid will update how we display summary text in our next app release. Summary text will now always be highlighted and prepended to the long app description.
Your long description text starts with the same text you've got in your summary. This will look redundant. I recommend to remove the summary text from your long description.
here are more infos/screenshots about this update: fdroidclient!855
Phone: Motorola Moto E 2015 LTE
Phone OS: CyanogenMod 14.1-20161216-NIGHTLY-surnia (Android 7.1.1)
Watch: LG G Watch (dory) running the official AsteroidOS alpha 1.0 build
I see the following crash when I tap the notification (which often still says "Connected to dory"):
12-17 15:58:56.670 11527 11527 E AndroidRuntime: FATAL EXCEPTION: main
12-17 15:58:56.670 11527 11527 E AndroidRuntime: Process: org.asteroidos.sync, PID: 11527
12-17 15:58:56.670 11527 11527 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toUpperCase()' on a null object r
eference
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at com.idevicesinc.sweetblue.utils.Utils_String.normalizeMacAddress(Utils_String.java:37)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at com.idevicesinc.sweetblue.BleManager.normalizeMacAddress(BleManager.java:3362)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at com.idevicesinc.sweetblue.BleManager.getDevice(BleManager.java:2235)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at org.asteroidos.sync.services.SynchronizationService$SynchronizationHandler.handleMessage(SynchronizationService.java:78)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6126)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
12-17 15:58:56.670 11527 11527 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
12-17 15:58:56.693 1073 6207 W ActivityManager: Force finishing activity org.asteroidos.sync/.DeviceDetailActivity
12-17 15:58:56.702 1073 6207 W ActivityManager: Force finishing activity org.asteroidos.sync/.DeviceDetailActivity
This never seemed to happen on me on Android 6, it may have to do with bugs in the new CyanogenMod 14.1 nightlies, but most other apps remain stable.
Hello all,
I tried running the sync app on my phone (quite old, no BLE support). My watch (tetra) connects on Android Wear normally, but AsteroidOSSync fails to find my watch (recently received a backported BT subsystem). Is BLE mandatory for connecting my watch to my phone?
Thanks!
When trying to pair the watch, the same PIN appears on both screens, but when I accept, the devices don't pair. On the phone appears an error message, that the PIN is incorrect and the device cannot be paired.
This happens when using the sync app or the bluetooth settings on the phone.
When I try to take a screenshot of my watch, it takes many many screenshots and the screenshot notification keeps coming back every time I swipe it away.
Hello,
i have a moto z2 play with android 7
when trying to pair with an asteroidOS install on my smartwatch 3 it crashes
Do you need any log? how can i get them?
Thanks
Hello,
It would be nice to have an option to launch the app when Android starts, so we don't have to remember to launch it after a reboot.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.