AsteroidOS / AsteroidOSSync

Android application to synchronize a phone with a watch running asteroid-btsyncd.
GNU General Public License v3.0
101 stars 37 forks source link
android asteroidos hacktoberfest smartwatch

Contributors Stargazers Issues Good First Issues GPL License

AsteroidOS Sync


asteroidos logo

Synchronize the time, notifications and more with your AsteroidOS smartwatch.

Help us translate AsteroidOS Sync via Weblate

Explore the docs
Report Bug . Request Feature
Get it on F-Droid

Table of Contents

About The Project

AsteroidOS is an open-source operating system for smartwatches.

Freedom & Privacy

We believe that when it comes to wearable devices, users should have full control over their machines and data. AsteroidOS has been created from the ground-up with modularity and freedom in mind. For this reason, it is a free and open-source project.

Ready for your wrist

AsteroidOS unleashes the potential of your watch with up to 48 hours of autonomy and a set of apps including everything you need on a smartwatch: an agenda, an alarm clock, a calculator, a music controller, settings, a stopwatch, a timer and a weather forecast app.

Proven building blocks

AsteroidOS is built upon a rock-solid base system. Qt and QML are used for fast and easy app development. OpenEmbedded provides a full GNU/Linux distribution and libhybris allows easy porting to most Android and Wear OS watches.

Community-friendly

Since its creation in 2015, AsteroidOS has been led by Florent Revest, but is open towards external contribution and collaboration. The project is still in active development and if you want to help, make sure to check the Get Involved page.

Getting Started

AsteroidOSSync can be downloaded from f-droid here

If you don't have a device running AsteroidOS, instructions for installation can be found here

Development Instructions

To get started with a developing for AsteroidOSSync, fork and clone the project, and import into any Android IDE.

Architecture of AsteroidOSSync

The MainActivity manages the UI fragments based on the current IAsteroidDevice.ConnectionState and starts a backend that is responsible for communication with the watch.

The Bluetooth backend is the SynchronizationService. It is responsible for talking to the watch via the AsteroidBleManager and loading/unloading a service module that can talk to the watch.

A service, that implements IConnectivityService (e.g. the NotificationService), is a module that can send and receive data from a watch via a backend that implements the IAsteroidDevice interface.

Roadmap

See the open issues for a list of proposed features and known issues

Contributing

AsteroidOS is driven by a vibrant community. We would love your help!

Matrix

General discussions around AsteroidOS happen on the #asteroid:matrix.org channel on Matrix. Logs are available here.