ActivityWatch / ActivityWatch/aw-android

BackgroundService not starting when Usage Access is granted during onboarding (requires re-launch)

未關閉
#170 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Kotlin
星號
265
分支
57
平均合併
2 天 21 小時
30 天內合併 PR
19

描述

## Summary

When a user grants the Usage Access permission **during** the onboarding flow (via the Permissions screen), the `BackgroundService` and `aw-server-rust` do not start after FINISH is tapped. The user sees the home screen but no tracking is active.

## Steps to Reproduce

1. Fresh install of aw-android
2. Launch app → OnboardingActivity → Permissions screen
3. Grant Usage Access permission (either via the system settings dialog or programmatically)
4. Tap FINISH
5. App returns to home screen

**Expected**: BackgroundService starts, aw-server-rust comes up on 127.0.0.1:5600, sync scheduler starts.

**Actual**: Process gets frozen/backgrounded. No BackgroundService, no aw-server-rust, no sync scheduler. Logcat shows:
```
ActivityManager: freezing net.activitywatch.android.debug
```

## Workaround

Re-launching the app after granting usage access works correctly. On second launch, `MainActivity` detects that usage access is now granted and starts BackgroundService normally.

## Root Cause (Suspected)

In `MainActivity`, the check `if (firstTime || !isUsageAllowed())` runs at activity creation. When usage access is granted _during_ the onboarding flow (after `MainActivity` has already started `OnboardingActivity`), the `OnboardingActivity.FINISH` callback doesn't re-check permissions and doesn't start the service — it just finishes.

Suggested fix: in `OnboardingActivity`'s FINISH callback (or the activity result handler in `MainActivity`), call `startService(BackgroundService)` explicitly if usage access is now granted.

## Environment

- Tested via Android emulator (Pixel 6, android-34, x86_64) on aw-android built from PR #139
- Debug APK, installed via `adb install`

## Related

- Discovered during [aw-android sync dogfood](https://github.com/ErikBjare/bob/issues/aw-android-sync-dogfood)

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。