Skip to content

Releases: DavidNeurieder/ActivityTrace

Removed network permission

Choose a tag to compare

@DavidNeurieder DavidNeurieder released this 01 Jul 17:31

Fixes:

  • Unnecessary ACCESS_NETWORK_STATE permission removed

Fixed Natural Language Search

Choose a tag to compare

@DavidNeurieder DavidNeurieder released this 01 Jul 15:30

Improvements:

  • Search filters now use substring matching — type:accessibility, in:signal work
  • Type synonyms added: notif, access, folder, document, file and more

Fixes:

  • in:signal returning no results (now searches display name too)
  • type:accessibility returning no results (synonym maps to screen captures)
  • Exact-match requirement relaxed on content type and app package filters

App-name search & reliability

Choose a tag to compare

@DavidNeurieder DavidNeurieder released this 01 Jul 06:22

v0.6.0 — App-name search & reliability

Released: July 1, 2026

New features

  • Search by app name — Use app:signal, app:telegram, or any app
    label to filter notifications from a specific application. Works with
    wildcard and prefix matching just like the rest of the query language.
  • Date in notification results — The capture date is now displayed
    alongside the timestamp so you can see when something was captured
    without counting days.

Improvements

  • Deep link rewritePendingIntent serialization and
    deserialization completely overhauled. The fallback chain
    (PendingIntentIntentSendergetLaunchIntentForPackage
    ACTION_MAIN) now reaches the target app more reliably, even after
    process death.
  • Deduplication at ingestion — Identical consecutive notifications
    are discarded before they reach the database. This eliminates the
    "same notification twice" issue that occurred when both the
    Notification Listener and Accessibility Service captured the same
    event.
  • QueryParser cleanup — Internal logic simplified; tests expanded
    for app-name queries, date-range expressions, and edge cases.

Bug fixes

  • Search results were missing when the query matched a notification's
    app name but not its text body — now both fields are searched.
  • Duplicate notifications no longer appear when both capture services
    fire for the same event.
  • Deep links that worked immediately after capture but failed after
    the app was killed are now properly restored.

Search term highlighting

Choose a tag to compare

@DavidNeurieder DavidNeurieder released this 30 Jun 09:46

New features:

  • Search term highlighting — matched keywords highlighted in results
  • Screenshots added to F-Droid listing (search, settings, onboarding)

Improvements:

  • App icon updated with adjusted background color
  • Updated full description and short description
  • Performance: search highlighting uses single-pass scanning with 30-match cap, collapsed cards scan only first 250 chars
  • Performance: groupByDate and keyword parsing memoized (no redundant recomputation)
  • Performance: PackageManager calls (canOpen) moved off main thread to ViewModel
  • onDestroy handlers added to capture services (prevents coroutine leaks)
  • Unified resolveAppName in CaptureIngestor (removed duplication across services)
  • java.time replaces legacy SimpleDateFormat/Date (minSdk 26)
  • Release APK reduced further (removed unused navigation-compose dependency)
  • Queries: double-%% patterns eliminated, empty in:/type: filters ignored
  • Error handling in search pipeline, notification ingestion, and retention cleanup

Fixes:

  • Crash on Android 16+ when launching apps (StorageScopesActivity permission denial)
  • Off-by-one in search highlighting (last character now correctly highlighted)
  • NullAccessibilityEvent accessed before null check in AccessibilityCaptureService
  • Fragile keyword list modification during QueryParser iteration (last/this week parsing)
  • ProGuard isLoggable assumenosideeffects could break conditional logging
  • Release ABI filters aligned with docs (arm64-v8a only, was including armeabi-v7a)

Removed:

  • adb install --enable-all-features references from Settings and Onboarding (F-Droid only)

Fixes and automated Tests

Choose a tag to compare

@DavidNeurieder DavidNeurieder released this 31 May 10:26

v0.4.0 — 2026-05-31

New features

  • Indexed files (images, text, PDFs) open in their default viewer via ACTION_VIEW
  • File names and extensions searchable — PNGs, JPEGs, and other images now appear in results
  • Makefile with build, test, full-test targets
  • build_and_test.py script — builds debug+release, runs unit tests, boots emulator, runs instrumented tests
  • File indexing schedule persisted and restored on app startup (Never/Daily)

Improvements

  • Compact 40dp uniform circular icons for all search result types
  • Edge-to-edge rendering with enableEdgeToEdge() — proper system bar colors for day/night
  • .systemBarsPadding() and .navigationBarsPadding() added across all screens
  • Minimum text length requirement removed from file indexing (short filenames now accepted)
  • File indexing schedule setting now properly saved to SharedPreferences

Size

  • Release APK reduced from 21 MB → 12 MB (43% reduction)
  • Arm64-only native libs (abiFilters) — dropped x86/x86_64/armeabi-v7a
  • No new dependencies added

Fixes

  • File indexing schedule not persisted (selection reset on process death)
  • PendingIntent / IntentSender / getLaunchIntentForPackage fallback chain in openItem()
  • PNG/image files skipped by resolveMimeType() — now accepted via extension map and SAF provider type

Technical

  • compileSdk / targetSdk bumped to 36 (Android 16)
  • AGENTS.md maintained with full project context
  • App icon replaced

v0.3.0 File Indexing & Polish

Choose a tag to compare

@DavidNeurieder DavidNeurieder released this 30 May 11:55

v0.3.0 — 2026-05-30

New features

  • App icons in search results (40dp circle, loaded via PackageManager)
  • Expandable result cards — tap to show full text, long-press to copy
  • Filter and search query persisted across app restarts (SharedPreferences)
  • App name shown in results (resolved at capture time)
  • Settings page with file indexing (SAF multi-folder, PDF via PDFBox)
  • Schedule file indexing (Daily/Never) with manual scan button
  • Deep link fallback chain: PendingIntentIntentSendergetLaunchIntentForPackageACTION_MAIN
  • Swipe-to-delete with undo snackbar

Improvements

  • Full screen text capture via AccessibilityService tree traversal (collectText())
  • Dedicated OpenInNew icon button for result deep links
  • Empty states with contextual messages
  • Room migrations for app_name and category columns
  • FTS5 triggers include app_name and category

Fixes

  • PackageManager visibility on API 30+ (<queries> manifest block)
  • Backwards-compatible IntentSender deserialization for old notification deep links
  • App icon retry on transient failures (no longer permanently hidden)
  • Accessibility AccessibilityNodeInfo lifecycle compliance on Android 14+
  • AdaptiveIconDrawable rendering (intrinsic size -1 handled)

Removed

  • Clipboard capture service (passive clipboard monitoring)
  • Dead code: ScreenshotCaptureService, ContactMatcher, HistoryScreen, SearchOverlayActivity

Release v0.2.0

Choose a tag to compare

@DavidNeurieder DavidNeurieder released this 29 May 10:10

v0.2.0 — Accessibility Service & notification click-through

Released: May 29, 2026

New features

  • Accessibility Service capture — Android 14+ users can now use the
    Accessibility Service as an alternative capture path. This bypasses
    Restricted Settings that often block Notification Access on F-Droid /
    sideloaded installs.
  • Notification click-through — Captured notifications now preserve
    their original PendingIntent. Tapping a captured notification in
    search results opens the original app screen (not just the launcher).

UI changes

  • Onboarding — Added "Accessibility Service" grant button alongside
    "Notification Access", plus a note explaining the Restricted Settings
    workaround.
  • Settings — Permission status cards now show both Notification
    Access and Accessibility Service grant state, with guidance on which
    to use.

Bug fixes

  • Fixed notification link pointing to accessibility settings
  • Accessibility capture now correctly handles notifications with
    title/text extras

Release Version 0.1.0

Choose a tag to compare

@DavidNeurieder DavidNeurieder released this 28 May 07:05

Initial Release, may not be stable yet