Skip to content

Commit c5108e7

Browse files
committed
Improve user README and fix release lint for listener service
1 parent c8e1ec1 commit c5108e7

2 files changed

Lines changed: 51 additions & 35 deletions

File tree

README.md

Lines changed: 46 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,62 @@
1-
# Wessage
1+
# Wessage (Wear OS Companion)
22

3-
Wear OS messaging app focused on fast glance-and-reply workflows with a modern glass style.
3+
Wessage is a modern, minimal Wear OS messaging companion focused on:
44

5-
## Stack
5+
- fast glance + reply on watch
6+
- clean glass-style UI
7+
- local-first sync with your phone app
68

7-
- Kotlin `2.2.10`
8-
- AGP `9.1.0`
9-
- Wear Compose Foundation `1.5.6`
10-
- Wear Compose Material 3 `1.5.6`
11-
- Compile SDK `36`, min SDK `29`
9+
## For Most Users
1210

13-
## Architecture Notes
11+
Download from the **Releases** page:
1412

15-
- Wear-native scaffolding: `AppScaffold -> ScreenScaffold -> ScalingLazyColumn`
16-
- Swipe-back navigation with `BasicSwipeToDismissBox`
17-
- Single source of truth in `MessagingViewModel` with `StateFlow`
18-
- Lifecycle-aware state collection via `collectAsStateWithLifecycle()`
13+
- https://github.com/celestialtaha/Wessage/releases
1914

20-
## Releases (Maintainers)
15+
Install the latest watch APK, open the app once, and keep Bluetooth enabled.
2116

22-
Releases are generated from tags matching `v*` (for example `v1.1.0`) via GitHub Actions.
17+
## What You Need
2318

24-
Typical assets:
19+
- Android phone with the companion phone app installed
20+
- A Wear OS watch paired to that phone
21+
- Bluetooth enabled on both devices
2522

26-
- `app-debug.apk`
27-
- `app-release-signed.apk` (when signing secrets are configured)
28-
- `app-release-unsigned.apk` (fallback)
29-
- `SHA256SUMS.txt`
23+
Internet is not required for normal phone-watch message sync once pairing is active.
24+
25+
## Setup in 2 Minutes
26+
27+
1. Install the latest phone app release (from `celestialtaha/Messages`).
28+
2. Install the latest watch app release from this repo.
29+
3. Open the phone app, then open Wessage on the watch.
30+
4. Grant permissions on phone/watch when prompted.
31+
5. Wait a few seconds for initial thread sync.
32+
33+
## Privacy
34+
35+
- No separate cloud account is required.
36+
- Sync is phone <-> watch over Wear OS data layer.
37+
- Data is not sent to third-party servers by this app for core sync.
3038

31-
Release flow:
39+
## Troubleshooting
3240

33-
1. Bump version in `app/build.gradle.kts`.
34-
2. Push changes to `main`.
35-
3. Tag and push:
41+
- No messages on watch:
42+
- Open both apps once (phone first, then watch).
43+
- Confirm watch is paired and connected.
44+
- Keep Bluetooth on.
45+
- Slow first sync:
46+
- Initial sync can take longer than incremental updates.
47+
48+
## Maintainers: Release Process
49+
50+
Tag any commit with `v*` (example `v1.0.0`) to trigger release workflow:
3651

3752
```bash
38-
git tag v1.1.0
39-
git push origin v1.1.0
53+
git tag v1.0.0
54+
git push origin v1.0.0
4055
```
4156

42-
4. Workflow creates a GitHub Release and uploads APK assets.
43-
44-
### Optional Signing Secrets
57+
Workflow outputs:
4558

46-
- `ANDROID_SIGNING_KEY_BASE64`
47-
- `ANDROID_ALIAS`
48-
- `ANDROID_KEYSTORE_PASSWORD`
49-
- `ANDROID_KEY_PASSWORD`
59+
- `app-debug.apk`
60+
- `app-release-signed.apk` (if secrets exist)
61+
- `app-release-unsigned.apk` (fallback)
62+
- `SHA256SUMS.txt`

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools">
34

45
<uses-feature android:name="android.hardware.type.watch" />
56

@@ -44,7 +45,9 @@
4445
android:name=".sync.WearSyncListenerService"
4546
android:exported="true">
4647
<intent-filter>
47-
<action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
48+
<action
49+
android:name="com.google.android.gms.wearable.BIND_LISTENER"
50+
tools:ignore="WearableBindListener" />
4851
</intent-filter>
4952
</service>
5053

0 commit comments

Comments
 (0)