• Stars
    star
    152
  • Rank 244,685 (Top 5 %)
  • Language
    Kotlin
  • License
    Mozilla Public Li...
  • Created almost 6 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ActivityWatch for Android, using aw-server-rust as backend.

aw-android

GitHub Actions badge

A very work-in-progress ActivityWatch app for Android.

Available on Google Play:

Usage

Install the APK from the Play Store or from the GitHub releases.

For Oculus Quest

Note At some point a Quest system upgrade broke the ability to allow ActivityWatch access to usage stats. This can be fixed by manually assigning the needed permission using adb: adb shell appops set net.activitywatch.android android:get_usage_stats allow

It's available on SideQuest.

Building

To build this app you first need to build aw-server-rust and aw-webui (which is placed in aw-server-rust/aw-webui).

If you haven't already, initialize the submodules with: git submodule update --init --recursive

Building aw-server-rust

Note If you don't want to go through the hassle of getting Rust up and running, you can download the jniLibs from aw-server-rust CI artifacts and place them in mobile/src/main/jniLibs manually instead of following this section.

Note You need to use NDK r21e (21.4.7075529).

To build aw-server-rust you need to have Rust nightly installed (with rustup). Then you can build it with:

export ANDROID_NDK_HOME=`pwd`/aw-server-rust/NDK  # The path to your NDK
pushd aw-server-rust && ./install-ndk.sh; popd    # This configures the NDK for use with Rust, and installs the NDK if missing
env RELEASE=false make aw-server-rust             # Set RELEASE=true to build in release mode (slower build, harder to debug)

Note The Android NDK will be downloaded by install-ndk.sh to aw-server-rust/NDK if ANDROID_NDK_HOME not set. You can create a symlink pointing to the real location if you already have it elsewhere (such as /opt/android-ndk/ on Arch Linux).

Building aw-webui

To build aw-webui you need a recent version of node/npm installed. You can then build it with make aw-webui.

Putting it all together

Once both aw-server-rust and aw-webui is built, you can build the Android app as any other Android app using Android Studio.

More info

For more info, check out the main ActivityWatch repo.

More Repositories

1

activitywatch

The best free and open-source automated time tracker. Cross-platform, extensible, privacy-focused.
Python
10,927
star
2

aw-watcher-web

Browser watcher for ActivityWatch
JavaScript
280
star
3

aw-watcher-vscode

TypeScript
172
star
4

aw-server-rust

High-performance implementation of the ActivityWatch server, written in Rust
Rust
164
star
5

aw-watcher-vim

Vim Script
105
star
6

aw-webui

Webapp for visualizing and browsing ActivityWatch data, built with Vue.js.
Vue
99
star
7

aw-watcher-input

Track your keypresses and mouse movements with ActivityWatch
Python
95
star
8

aw-server

ActivityWatch server for storage of all your Quantified Self data.
Python
83
star
9

aw-watcher-window

Cross-platform window watcher (for use with ActivityWatch)
Python
80
star
10

aw-watcher-spotify

Logs what you listen to on Spotify
Python
65
star
11

aw-watcher-window-wayland

WIP window and afk watcher for wayland
Rust
55
star
12

aw-core

Core library for ActivityWatch
Python
47
star
13

aw-watcher-afk

Watches keyboard and mouse activity to determine if you are AFK or not (for use with ActivityWatch)
Python
42
star
14

aw-client

Client library for ActivityWatch
Python
40
star
15

aw-import-screentime

Import data from Apple's Screen Time on macOS and iOS to ActivityWatch
Python
28
star
16

aw-client-js

Client library for ActivityWatch in JavaScript
TypeScript
28
star
17

aw-qt

Tray icon that manages ActivityWatch processes, built with Qt.
Python
27
star
18

awesome-activitywatch

A list of awesome ActivityWatch resources
27
star
19

aw-research

Tools to analyse and experiment with ActivityWatch data
Python
25
star
20

docs

Documentation for ActivityWatch
Python
24
star
21

activitywatch-old

[DEPRECATED] โŒš Logs your computer activities, a RescueTime replacement.
Python
16
star
22

aw-import-ical

Python
13
star
23

aw-tauri

WIP ActivityWatch distribution using Tauri
Rust
10
star
24

activitywatch.github.io

Official website for ActivityWatch
HTML
10
star
25

aur-activitywatch-bin

AUR/Arch package for precompiled versions of ActivityWatch
Shell
9
star
26

aw-watcher-tmux

Basic bash-based tmux watcher
Shell
7
star
27

aw-watcher-network

This watcher should watch current networks, starting with ping
Python
7
star
28

stats

A repo for collecting stats about the project
Python
7
star
29

aw-notify

Desktop notifications for ActivityWatch
Python
6
star
30

aw-fakedata

A minimal activitywatch client that generates fakedata
Python
6
star
31

aw-watcher-openvr

[WIP] Watcher for OpenVR
Python
6
star
32

activityscraper

Scrapes the activity the user is experiencing
6
star
33

contributor-stats

Generating contributor stats for the ActivityWatch project
Python
5
star
34

aw-watcher-chromecast

[WIP] Chromecast watcher for Activitywatch
Python
4
star
35

slides

A brief overview of ActivityWatch
JavaScript
4
star
36

aw-importer-smartertime

Convert an export file from SmarterTime to an ActivityWatch bucket
Python
3
star
37

aw-detector

A simple client to aw-server that checks if the latest event in some bucket matches a pattern.
Python
3
star
38

aw-leaderboard-rust

Public leaderboard for ActivityWatch stats
Rust
3
star
39

aw-watcher-sway

Prototype window+afk watcher for the Sway window manager
Rust
3
star
40

deb-activitywatch-bin

.deb package generation for Debian/Ubuntu
Shell
3
star
41

aw-leaderboard-firebase

Prototype of aw-leaderboard using Firebase
TypeScript
2
star
42

wheels

A repository containing wheels used by build scripts
2
star
43

aw-rust

An experiment implementing aw-server in Rust
Rust
2
star
44

media

Images and fonts used in ActivityWatch projects
Shell
2
star
45

aw-syncthing

[ABANDONED] Syncs your aw-server data with Syncthing
Python
2
star
46

aw-client-rust

[DEPRECATED] aw-client written in rust
Rust
2
star
47

aw-watcher-macos

[DEPRECATED] Window watcher for macOS
Python
2
star
48

setup-action

GitHub Action for setting up ActivityWatch, optionally with generated fake data
Shell
1
star
49

aw-watcher-x11

[DEPRECATED] Watches which windows you have open in X11 (Linux)
Python
1
star