amir a6d930415c
Build APK / build (push) Successful in 2m18s
Fix empty usage-history chart + externalize signing secrets
History chart: recordHistory() threw away the previous point whenever a
new reading landed within the 2-min de-dup window, but the foreground loop
refreshes every 30s — so history could never grow past one point while the
app was open and the chart stayed stuck on 'Collecting history…'. Now it
throttles by SKIPPING a too-soon reading instead of replacing the last one,
so points accumulate during normal use.

Security:
- Remove hardcoded release keystore passwords from build.gradle.kts; read
  from env vars / gitignored keystore.properties; CI injects from Gitea
  secrets (KEYSTORE_PASSWORD/KEY_PASSWORD). Signing identity unchanged.
- Make the cookie-never-plaintext invariant explicit on the read path.
- Drop custom ACTION_REFRESH from the exported widget intent-filter so other
  apps can't trigger refreshes; internal explicit PendingIntent still works.
- Gate an unguarded Log.w behind BuildConfig.DEBUG.
2026-06-10 10:28:37 +00:00

Claude Usage Widget

Claude Usage Widget

Android home screen widget that shows your Claude Pro usage at a glance.

Features

  • SESSION bar — current 5-hour window utilization with reset time
  • WEEKLY bar — 7-day rolling usage with reset time
  • Pace marker — a colored tick on each bar shows where you should be right now to finish at exactly 100% by reset. Tick color grades your projection: green (way under budget) → teal → yellow → orange → red → purple (burning way too fast), with an "X% over/under pace" label.
  • Peak-hours indicator — a Claude burst icon that lights up 🔥 during Anthropic's peak window (511 AM Pacific, MonFri), when tokens burn faster, with a countdown to the window close.
  • Usage history chart — the app plots your session and weekly utilization over the past 7 days, so you can see your consumption trend, not just the current snapshot.
  • Usage alerts — opt-in notifications when session or weekly usage crosses a threshold you set (sliders, 50100%). Each alert fires at most once per limit window, so you're never spammed.
  • Tap the widget to open the app; tap ⟳ to force-refresh
  • Responsive: works as 4×1 (compact) or 4×2 (full)
  • Auto-refreshes every 5 minutes in the background

Install

  1. Download claude-usage-widget.apk from the latest release
  2. On your Android phone: Settings → Apps → Install unknown apps → allow your browser/file manager
  3. Open the downloaded APK and tap Install
  4. Open the Claude Usage app and sign in with your Claude.ai session cookies
  5. Long-press your home screen → Widgets → Claude Usage → drag to place

Sign-in

The app uses your Claude.ai browser cookies (not a password). In the app, tap Sign In, then paste your cookies from a logged-in Claude.ai browser session.

To get cookies: open claude.ai in Chrome → DevTools (F12) → Application → Cookies → copy the Cookie header value.

Requirements

  • Android 8.0+ (API 26)
  • Active Claude Pro subscription
S
Description
No description provided
Readme 45 MiB
v1.20 Latest
2026-06-12 08:13:25 +00:00
Languages
Kotlin 98.1%
Shell 1.9%