BOOT / KERNEL HANDOFF
SHELL / PROOT UBUNTU AARCH64
STREAM / DOCUMENT CHANNEL OPEN
MODULES / PROJECT INDEX 09 NODES
READY / PAGE INTERFACE
0%
PARTICLES /
> dreamucxe
BACK / HOMEROOT

PROJECT / 01 / README LINKED NODE / PROCESSLENS STATUS / SHIPPED

processlens

A process observatory for Android that refuses to make things up — live processes, threads, CPU, memory, wake locks, network and battery, recorded into an investigation you can scrub back through.

  • KOTLIN
  • HILT
  • KSP
  • AGP 8.5.2
  • COMPOSE
PROCESSLENS // OBSERVATORY ACTUAL / UI
CAPTURE / PENDING PROC / MEM / WAKELOCK
REMOTE DOCUMENT / README.md

Project documentation

SYNC / FETCHING

The idea

Every system monitor on Android runs into the same wall. Since Android 7 an app can no longer read /proc for processes it does not own, and each release since has closed more of what was left. Most apps respond by guessing. ProcessLens does not — a value it cannot source, it does not show.

Architecture

Everything observable is expressed as Observed<T>, a sealed interface that makes provenance part of the type. A reading is Live, Derived, Elevated or Unavailable, and the UI cannot render one without stating which it got. SystemObserver resolves each capability through three tiers in order — public API, then Shizuku/ADB elevation, then root — and reports the tier that actually answered.

sealed interface Observed<out T> {
    data class Live<T>(val value: T, val at: Long) : Observed<T>
    data class Derived<T>(val value: T, val from: String) : Observed<T>
    data class Elevated<T>(val value: T, val tier: Tier) : Observed<T>
    data object Unavailable : Observed<Nothing>
}

Scope

  • 19 feature screens covering 37 capabilities across 9 capability groups.
  • Recorded investigations — scrub back through a captured window rather than watching live only.
  • No INTERNET permission is declared, so nothing can leave the device.
  • 396 unit tests passing, focused on the observation and provenance layer.
KOTLIN
2.0.21
UI
JETPACK COMPOSE / MATERIAL 3
DI
HILT + KSP
TESTS
396 PASSING