Releases: DavidNeurieder/ActivityTrace
Releases · DavidNeurieder/ActivityTrace
Release list
Removed network permission
Fixes:
- Unnecessary ACCESS_NETWORK_STATE permission removed
Fixed Natural Language Search
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
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 rewrite —
PendingIntentserialization and
deserialization completely overhauled. The fallback chain
(PendingIntent→IntentSender→getLaunchIntentForPackage→
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
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
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
Makefilewithbuild,test,full-testtargetsbuild_and_test.pyscript — 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/getLaunchIntentForPackagefallback chain inopenItem()- PNG/image files skipped by
resolveMimeType()— now accepted via extension map and SAF provider type
Technical
compileSdk/targetSdkbumped to 36 (Android 16)AGENTS.mdmaintained with full project context- App icon replaced
v0.3.0 File Indexing & Polish
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:
PendingIntent→IntentSender→getLaunchIntentForPackage→ACTION_MAIN - Swipe-to-delete with undo snackbar
Improvements
- Full screen text capture via
AccessibilityServicetree traversal (collectText()) - Dedicated
OpenInNewicon button for result deep links - Empty states with contextual messages
- Room migrations for
app_nameandcategorycolumns - FTS5 triggers include
app_nameandcategory
Fixes
PackageManagervisibility on API 30+ (<queries>manifest block)- Backwards-compatible
IntentSenderdeserialization for old notification deep links - App icon retry on transient failures (no longer permanently hidden)
- Accessibility
AccessibilityNodeInfolifecycle compliance on Android 14+ AdaptiveIconDrawablerendering (intrinsic size -1 handled)
Removed
- Clipboard capture service (passive clipboard monitoring)
- Dead code:
ScreenshotCaptureService,ContactMatcher,HistoryScreen,SearchOverlayActivity
Release v0.2.0
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 originalPendingIntent. 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
Initial Release, may not be stable yet