Skip to content

[codex] Add Android Tauri app with native blocker plugin#41

Closed
kasnder wants to merge 2 commits into
mainfrom
codex/android-tauri-blocker
Closed

[codex] Add Android Tauri app with native blocker plugin#41
kasnder wants to merge 2 commits into
mainfrom
codex/android-tauri-blocker

Conversation

@kasnder

@kasnder kasnder commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Migrate the Android blocking engine into the Tauri app so Android can share the same web UI as desktop and iOS.

Keep Android enforcement in native Kotlin rather than moving it into Rust: the Rust plugin is a thin IPC bridge, while blocking decisions, Accessibility events, WorkManager jobs, package/app integration, and device-protected preferences remain on the Android side. This preserves Android lifecycle integration and avoids introducing a long-running Rust enforcement loop.

Changes

  • Add Android Tauri config, capabilities, generated Gradle project, and build scripts.
  • Add tauri-plugin-android-blocker to bridge frontend/Rust IPC to Kotlin blocking code.
  • Wire Android onboarding, Accessibility permission flow, schedule sync, manual blocks, friction gate, and app picker into the shared UI.
  • Gate desktop-only commands/modules away from Android builds.
  • Keep package id net.kollnig.reddblockandroid for migration continuity.
  • Update Android icons and document generated-project manual edits.
  • Update README with Android architecture, setup, build, and debugging notes.

Validation

  • node --check src/app.js
  • git diff --check

Full desktop cargo check was not completed locally because the macOS Safari bridge build step failed before Rust checking due to local Swift/SDK/cache setup.

ulyngs and others added 2 commits May 24, 2026 13:53
Migrate the Android blocking engine into the Tauri app so Android can share the same web UI as desktop and iOS.

Keep Android enforcement in native Kotlin rather than moving it into Rust: the Rust plugin is a thin IPC bridge, while blocking decisions, Accessibility events, WorkManager jobs, package/app integration, and device-protected preferences remain on the Android side. This preserves Android lifecycle integration and avoids introducing a long-running Rust enforcement loop.

- add Android Tauri config, capabilities, generated Gradle project, and build scripts

- add android-blocker plugin bridging frontend/Rust IPC to Kotlin blocking code

- wire Android onboarding, Accessibility permission flow, schedule sync, manual blocks, friction gate, and app picker into the shared UI

- gate desktop-only commands/modules away from Android builds

- keep package id net.kollnig.reddblockandroid for migration continuity

- update Android icons and document generated-project manual edits

- update README with Android architecture, setup, build, and debugging notes
@kasnder

kasnder commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #45, which is rebased on the latest main and includes the app.js module split plus several follow-up fixes. Closing this in favor of that branch (codex/android-tauri-blocker-clean).

@kasnder kasnder closed this Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants