Skip to content
CAI
Software that uses CAICheck a score

escapebranch/unfilter

68.3

Adequate · 21 September 2026

31.6k

lines of production code

Dart

with Kotlin

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

UnFilter is a Flutter-based Android application that provides deep system diagnostics and usage analytics for installed apps. It scans device applications to detect their underlying technology stacks, monitors real-time resource consumption via a task manager, and tracks detailed battery and storage usage patterns. The system also includes hardware sensor diagnostics and supports multi-language localization with a focus on privacy and local data processing.

Features

Added Fastlane configuration for automated Google Play Store deployment

This change introduces the initial Fastlane setup for the Android application, enabling automated deployments to the Google Play Store. The configuration includes an Appfile specifying the package name and service account key path, and a Fastfile defining a 'deploy' lane that uploads the Android App Bundle (AAB) to the production track. Additionally, changelog metadata files for versions 12, 13, and the default version have been added to support the release process.

android/fastlane · high confidence

Added German, Hindi, Indonesian, and Turkish language support

The app now supports German (de), Hindi (hi), Indonesian (id), and Turkish (tr) in addition to the existing English and Tamil locales. This update adds complete translation files for all app strings—including privacy policies, deep-link testing tools, task manager, and usage statistics—allowing users to switch their interface language via the new language selection dialog.

lib/l10n/arb · high confidence

Added support for German, Hindi, Indonesian, Tamil, and Turkish languages

The app now supports five new languages—German (de), Hindi (hi), Indonesian (id), Tamil (ta), and Turkish (tr)—in addition to English. This change introduces the generated localization files and delegates required for the app to display its interface, including the language selection dialog, privacy policy, and deep-link tester, in these languages.

lib/l10n/generated · high confidence

Added tech stack filter widget for search results

A new TechStackFilter widget has been introduced in the search presentation layer, allowing users to filter search results by specific technology stacks. The widget displays a button that opens a modal bottom sheet containing a grid of selectable tech stack options (including Flutter, React Native, Android, Unity, Cordova, and others), each represented by an SVG icon. Selection updates the app state via a Riverpod provider, enabling targeted filtering of the search results based on the chosen technology.

lib/features/search/presentation/widgets · high confidence

Users can now filter installed apps by their underlying technology stack (e.g., Flutter, Kotlin, Java, Unity) in addition to existing text and category filters. This is implemented via new Riverpod providers that manage the selected tech stack state and apply the filtering logic to the list of installed apps.

lib/features/search/presentation/providers · high confidence

Android native layer rewritten with new package namespace and expanded system diagnostics

The Android native code in the app module has been rewritten and migrated from the \com.rakhul.unfilter\ package to \com.escapebranch.unfilter\. This update introduces a comprehensive set of new native managers: \AppRepository\ for optimized, chunked app scanning with adaptive batching; \DeepAnalyzer\ for detecting app installation sources, signatures, and framework versions (Kotlin, Flutter, React Native); \ProcessManager\ for real-time CPU/memory process monitoring; \StorageAnalyzer\ for detailed per-app storage breakdowns; \SystemDetailReader\ for reading CPU temperature, GPU usage, and kernel info; and \SensorDiagnosticsManager\ for accessing device sensors including one-shot triggers. It also integrates Google Play Core libraries for in-app updates and in-app reviews, and enables Android's edge-to-edge display mode.

android/app/src/main/kotlin/com/rakhul · high confidence

App initialization, global crash recovery, and multi-language support

The app now initializes asynchronously with a native splash screen and integrates a global error-handling system that displays a dedicated crash recovery screen for both unhandled exceptions and framework errors. It supports six languages (German, English, Hindi, Indonesian, Tamil, and Turkish) with locale-aware theming, and uses Riverpod for state management alongside shared preferences for persistence.

lib · high confidence

App list management and usage history providers

The app list provider now supports a full scan, background revalidation with a 30-second cooldown to prevent excessive scanning, and a specific resync operation for individual apps. Additionally, a new provider has been added to fetch usage history for specific apps by package name.

lib/features/apps/presentation/providers · high confidence

Enhanced app usage tracking with detailed storage breakdown and sync logic

The analytics domain now supports more granular app usage tracking and storage analysis. A new StorageBreakdown entity captures detailed storage metrics (APK, code, cache, media, databases, etc.) along with confidence levels and limitations, enabling users to see exactly how app storage is utilized. Additionally, new domain services handle the synchronization and aggregation of usage statistics: UsageStatsSyncService manages the periodic fetching and local storage of daily usage snapshots, while UsageAggregationService combines historical snapshots with current system data to provide a continuous usage history, including detection of data gaps and formatted tracking periods.

lib/features/analytics/domain · high confidence

Introduce Home screen and App Logs viewer

Added the main Home page, which displays installed apps with a skeleton loading state, an end-drawer for navigation, and a floating action button to scroll to the top. Also added a View Logs page that allows users to view application logs, select and copy specific log entries, and export or clear the log history.

lib/features/home/presentation/pages · high confidence

Introduce Sensor Diagnostics feature with live streaming and hardware specs

Users can now access a new Sensor Diagnostics module to inspect device hardware sensors. The feature includes a main list view with search and category filtering (e.g., Motion, Environment, Pedometer), and a detailed view for each sensor that displays a live data stream chart (throttled to 60 FPS for performance) alongside a grid of hardware specifications such as power, resolution, and reporting mode. A 'BETA' badge marks the feature as experimental.

_lib/features/sensor\diagnostics · high confidence

Introduce Task Manager feature with real-time process monitoring and battery impact analysis

A new Task Manager feature has been added, providing a dedicated interface to monitor running Android processes and analyze battery consumption. The feature introduces domain entities for active applications, system processes, and battery impact metrics, alongside a view model that tracks CPU and memory history to display real-time resource trends. Users can view a system overview, filter processes, and access a detailed battery impact card that highlights top resource-draining apps and background 'vampires' via a bottom sheet. The implementation includes providers for fetching process lists and battery data, with optimizations for low-end devices to prevent out-of-memory crashes.

_lib/features/task\manager · high confidence

Introduction of the new Search page with filtering and category navigation

The app now features a dedicated Search page that allows users to filter applications by keyword and tech stack, and browse by category. The interface includes a search bar with clear functionality, a tech stack filter button, and a compact category slider at the bottom. Results are displayed as a list of app cards, with a specific empty state shown when no apps match the criteria.

lib/features/search/presentation/pages · high confidence

Local caching for app data added

A new local data source has been introduced to cache the list of device apps to persistent storage. This allows the application to retrieve previously loaded app information from a local JSON file on subsequent launches, improving performance and enabling offline access to the app list.

lib/features/apps/data/datasources · high confidence

The app now includes dedicated Analytics and Storage Insights pages. The Analytics page allows users to filter usage statistics by a custom time range and search for specific apps by name or package name. The Storage Insights page provides a breakdown of app storage usage (code, data, cache) with similar search capabilities and visual charts. Both pages feature a persistent app bar with shadow gradients and support for localizations.

lib/features/analytics/presentation/pages · high confidence

New analytics presentation widgets for storage, usage, and permission insights

This change introduces a suite of new UI components in the analytics feature to display device usage and storage data. The new widgets include a pie chart for app usage distribution, cards for storage statistics and usage roasts, and interactive list items for storage and usage details. It also adds a search bar, a top-count filter, and a permission request card to guide users through enabling usage access. These components provide the visual interface for the analytics feature, handling data visualization, user interaction, and localization support.

lib/features/analytics/presentation/widgets · high confidence

New app entry flow, crash recovery UI, and theme transition effects

The app now initializes with a new entry point that manages the onboarding flow, removes the native splash screen, and automatically starts usage tracking and review triggers. A new crash recovery screen allows users to view diagnostic traces, export logs, and report bugs directly from the error interface. Additionally, a theme transition wrapper provides a liquid-reveal animation when switching themes, and a top shadow gradient widget enhances the visual depth of scrolling content in both light and dark modes.

lib/core/widgets · high confidence

New battery, storage, and app-stack analytics capabilities

The app now includes detailed analytics for battery impact, storage usage, and application technology stacks. A new BatteryAnalyzer tracks foreground time, wakeups, and estimates CPU, wakelock, and network drain to identify background 'vampires'. Storage analysis has been enhanced with a DirectoryScanner that categorizes files by type (databases, logs, media) and a MediaAttributor that reports per-app media sizes on Android 10+. Additionally, a StackDetector identifies the underlying technology of installed apps (e.g., Flutter, React Native, Ionic, Unity, Kotlin, Java) by scanning APK contents, providing users with deeper insights into their device's resource consumption and app composition.

app · high confidence

New common library for shared UI components and utilities

The app introduces a new \lib/common\ library that centralizes shared design tokens and UI components. This includes constants for border radius, durations, opacity, and spacing to ensure consistent styling. It also provides utility functions for formatting bytes and numbers, identifying Android SDK versions and app installers, and mapping tech stacks to specific colors and icons. Additionally, it adds reusable widgets such as a frosted-glass 'Back to Top' FAB, detail items with copy-to-clipboard support, external link tiles, section containers, section headers, and a premium snackbar utility with blur effects.

lib/common · high confidence

New connectivity and logging services introduced

The application now includes a new ConnectivityService that performs robust online checks by verifying reachability against multiple hosts (raw.githubusercontent.com, google.com, cloudflare.com) and specifically distinguishes between general offline status and update server unreachability. Additionally, a new LoggingService has been added to centralize debug output, providing structured log entries with levels (INFO, DEBUG, ERROR), automatic log rotation to prevent memory leaks, and the ability to export logs as zipped files for troubleshooting.

lib/core/services · high confidence

New core providers for locale, theme, logging, and shared preferences

The app now includes dedicated Riverpod providers to manage user preferences and system state. Users can have their language selection and theme mode (light, dark, or system) persisted across sessions via shared preferences. Additionally, a new logging system is available, exposing a stream of log entries for monitoring application activity.

lib/core/providers · high confidence

New dedicated info pages for About, Contributors, Sponsors, Privacy, How It Works, and Deep Link Tester

The app now replaces previous inline or dialog-based information views with dedicated, full-screen pages for About, Contributors, Sponsors, Privacy, How It Works, and Deep Link Testing. The About page displays the app logo, version, and an update banner; the Contributors and Sponsors pages fetch and display lists from GitHub with loading, empty, and error states; the Privacy page links to the external privacy policy and terms while outlining local processing and minimal permissions; the How It Works page explains the app's three-step process; and the Deep Link Tester page allows users to input, parse, and test URLs. All pages use a consistent premium app bar with scroll-based shadow effects and support localisation.

lib/features/home/presentation/pages/info · high confidence

New device apps repository with chunked data transfer and caching

A new DeviceAppsRepository has been introduced to manage device application data, featuring support for chunked native data transfer to handle large app lists without hitting platform limits, along with local caching of app details to improve performance. The repository also includes methods for checking and requesting usage and install permissions, and exposes a stream for scan progress updates.

lib/features/apps/data/repositories · high confidence

New domain entities for app usage tracking and detailed app metadata

The apps domain layer now includes \AppUsagePoint\ and \DeviceApp\ entities to support enhanced analytics and app details. \AppUsagePoint\ models discrete usage data points with date and duration, enabling time-range selection for analytics. \DeviceApp\ expands the app model to include usage statistics (total foreground time, last used), detailed metadata (SDK versions, installer store, signing hashes), and technical detection fields (Kotlin version, tech versions map, component counts), providing a richer data foundation for app information and deep search features.

lib/features/apps/domain · high confidence

New home screen data providers for contributors, stars, sponsors, and smart scan hints

The home screen presentation layer now includes four new Riverpod providers to fetch and manage specific data sets. The contributors provider retrieves and caches GitHub repository contributor statistics while filtering out known bot accounts. The GitHub stars provider fetches and caches the current stargazer count for the repository. The sponsors provider loads profiles for a configurable list of public sponsor usernames from GitHub. Additionally, the smart scan hint provider manages the visibility of an onboarding/intimation popover by tracking app open counts and respecting user dismissal preferences.

lib/features/home/presentation/providers · high confidence

New in-app update and review system

The app now includes a native in-app update system for Android, allowing users to receive and install updates directly through the Play Store without leaving the app. A new release notes provider fetches version details and changelogs from a remote configuration, while an automated review service prompts users to rate the app based on usage patterns, capped at three attempts to avoid annoyance. The UI features a dismissible update banner that guides users through flexible updates and displays download progress.

lib/core/version · high confidence

New language selection screen with search and translation progress

Users can now choose their preferred language from a dedicated screen that lists available locales (English, German, Tamil, Turkish, Indonesian, and Hindi) with their native names. The interface includes a search bar to filter languages by name, native name, or code, and displays a translation progress indicator (e.g., '90% translated') for non-English languages to show completeness. Selecting a language immediately updates the app's locale.

lib/features/language · high confidence

New scan page with progress tracking and error reporting

The scan feature now includes a dedicated UI for initiating and monitoring app scans. Users see a real-time progress indicator (percentage and count) via the new ScanProgressWidget, and the system automatically handles permission requests before starting. If a scan fails or encounters an error, the app provides a retry mechanism (up to 3 attempts) and displays a detailed ErrorReportDialog with a copy-to-clipboard option for troubleshooting.

lib/features/scan · high confidence

New storage analytics provider and usage time range selection

Added a new storage breakdown provider that manages caching, loading states, and batched prefetching of app storage details to improve performance on low-end devices. Introduced usage time range selection capabilities, allowing users to filter analytics data by daily, weekly, monthly, or custom date ranges, with corresponding state management providers to track the selected range and custom date selections.

lib/features/analytics/presentation/providers · high confidence

Redesigned app cards, category filtering, and customizable share posters

The Apps feature now displays usage duration directly on app cards alongside stack-specific icons and colors, and includes a new horizontal category slider for filtering apps by type. A new share system allows users to generate and share branded posters containing configurable app insights (such as size, source, tech stack, and usage stats) with a dark/light mode toggle, replacing the previous share flow.

lib/features/apps/presentation/widgets · high confidence

Redesigned app details page with deep insights and resync capability

The app details view has been completely overhauled to provide a richer user experience. The new layout includes dedicated sections for activity history, app information, and deep insights (such as technology stack detection). A manual resync feature allows users to refresh app data on demand, while an automatic resync triggers when initial data is incomplete. The UI also supports sharing app details via a preview dialog and integrates localized error handling and loading states.

lib/features/apps/presentation/pages · high confidence

Redesigned navigation drawer with new interactive cards and theme switcher

The home screen navigation drawer has been completely rebuilt with a modern UI, introducing several new interactive components. Users can now view a Contributors card that displays external GitHub contributors and their avatars, an Open Source card linking to the project repository with a live star count badge, a Sponsor card linking to the maintainer's profile, and a Rate App card that opens the Play Store directly. The drawer also features a new animated Theme Switcher allowing users to toggle between Light, Dark, and System modes with haptic feedback, alongside a redesigned header and navigation tiles that support badges and visual sashes.

lib/features/home/presentation/widgets/drawer · high confidence

Behavioural changes

Configured R8 resource shrinking and Play Core keep rules

A new ProGuard rules file has been added to configure R8 for optimized resource shrinking and to preserve essential classes. This ensures that the Flutter wrapper, the main activity, and custom internal logic (MethodChannels helpers) are not stripped or obfuscated incorrectly during release builds. It also explicitly keeps Google Play Core classes to support In-App Updates and Reviews, while suppressing harmless warnings for Android support and AndroidX libraries.

android/app · high confidence

Home screen and navigation drawer receive comprehensive UI redesign and new feature integrations

The home screen presentation layer has been significantly overhauled with a new \PremiumAppBar\ that features a fading shadow effect and an enhanced overlay menu, alongside a \HomeSliverDelegate\ that manages a sticky header with animated stats, search, and category slider sections. The navigation drawer (\AppDrawer\) has been restructured into distinct sections (Insights, Tools, Information, Community) and now includes direct access to the new Task Manager, Deep Link Tester, and Sensor Diagnostics (marked as BETA) features, as well as a dedicated language selection button. Additionally, new presentation widgets have been introduced to support these features, including a \ReportIssueModal\ for logging and bug reporting, a \ReleaseNotesSheet\ for in-app update integration, a \ScanButton\ with options dialog, and a \PermissionDialog\ with animated transitions.

lib/features/home/presentation/widgets · high confidence

Introduces unified theme configuration and custom page transitions

The app now uses a centralized theme setup in the core library, defining explicit light and dark color palettes and applying the 'UncutSans' font consistently across all components. It also implements dynamic, locale-aware typography scaling for Tamil, adjusting font sizes and letter spacing to improve readability. Additionally, standard page transitions are replaced with custom 'Pro' transitions that feature parallax sliding, scaling, and background dimming effects.

lib/core/theme · high confidence

New local usage stats storage and optimized storage analysis repository

The analytics data layer now includes a new local data source for persisting daily app usage snapshots and tracking metadata using shared preferences, enabling offline storage and merging of usage history. Additionally, a new storage repository has been introduced to handle native platform calls for app storage breakdowns, featuring a batched scanning mechanism with a concurrency limit of two to prevent timeouts and OutOfMemory issues on low-end devices, along with support for canceling and clearing analysis caches.

lib/features/analytics/data · high confidence

New onboarding flow with usage-permission gating

A new onboarding experience has been added to the app, featuring a three-page interactive flow that introduces the app's capabilities and privacy stance. The final page requires users to grant the 'Usage Activity' permission before proceeding; if this permission is not granted, the user is blocked from completing onboarding and cannot access the main scan functionality. The flow includes animated visuals and a permission card UI, with the completion state persisted locally so returning users skip the process.

lib/features/onboarding · high confidence

New premium navigation system with liquid transitions and active route tracking

The app now uses a new navigation infrastructure in lib/core/navigation that replaces standard page transitions with premium, gesture-aware animations. Users will see a 'liquid' bubble-reveal effect when navigating between screens, anchored to the exact point where they tapped. This system includes a centralized route registry (AppRoutes) that defines paths for all major features (onboarding, search, sensor diagnostics, logs, etc.) and a navigator observer that tracks the currently active route for analytics or state management. Additionally, a 'PremiumNavigation' utility allows for screenshot-based liquid transitions that capture the current screen state before swapping to the new page, providing a smoother, more cohesive visual experience.

lib/core/navigation · high confidence

Project rebrand to UnFilter and license switch to GPLv3

The project has been renamed from 'findstack' to 'UnFilter' and the license has been updated from MIT to GNU General Public License v3.0. This change is reflected in the new LICENSE file, the updated README.md which now features the UnFilter branding and Google Play badge, and the version\_config.json which points to the new 'unfilter' GitHub repository for APK downloads. Additionally, new documentation files (AGENTS.md, DESIGN.md, CODE\_OF\_CONDUCT.md, CONTRIBUTING.md, SECURITY.md) and localization/build scripts (l10n.yaml, rename\_apks.sh) have been added to support the project's new structure and standards.

(repo-wide) · high confidence

Redesigned app details screen with usage analytics and deep insights

The app details view has been completely rebuilt with a new modular widget structure, introducing a dedicated Activity Section that displays total foreground usage time and a granular usage history chart. The header now features a tappable tech stack badge that opens a descriptive bottom sheet with framework information, while the Deep Insights section provides comprehensive technical details including SDK versions, component counts, and native library detection. Additional sections for developer packages, permissions, and app info have been added, all fully localized and styled with consistent design constants.

_lib/features/apps/presentation/widgets/app\details · high confidence

Removal of Android MainActivity entry point

The Android \MainActivity\ class, which previously extended \FlutterActivity\, has been removed from the application. This indicates a shift in how the Android native entry point is handled, likely delegating activity management to the Flutter engine or a different native component.

android/app/src/main/kotlin/com/example · high confidence

iOS project structure reset to default Flutter template

The iOS directory has been completely cleared of all custom configuration and source files, reverting the project to a pristine Flutter template state. This removal includes the Xcode project and workspace files, the main application entry point (AppDelegate), storyboards, and the Info.plist (which previously identified the app as 'Findstack'). Additionally, all custom app icons and launch screen assets have been deleted, meaning the app will now use the default Flutter placeholder graphics until new assets are added.

ios · high confidence

Test coverage

Added tests for Smart Scan hint session logic and sensor diagnostics stub

Added a new test file \smart\_scan\_hint\_test.dart\ that verifies the \SmartScanHintNotifier\ triggers the hint strictly on the 2nd, 4th, and 8th app opens, and correctly records dismissal sessions. Also updated \widget\_test.dart\ to include a basic stub test for sensor diagnostics.

test · high confidence

Dependencies

App rebranded to Unfilter with enhanced build, signing, and dependency updates

The application has been rebranded from 'findstack' to 'unfilter', including a new description, updated package namespace (com.escapebranch.unfilter), and regenerated app icons and splash screens. The Android build configuration now supports secure release signing via environment variables or key.properties, enables R8 resource shrinking, and integrates Google Play Core libraries for in-app updates and reviews. Additionally, the project has upgraded to Flutter SDK 3.10, added localization support, and updated numerous dependencies including battery\_plus, device\_info\_plus, and fl\_chart.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 63 → 68 (+5.4)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 98 → 84 (-13.6)
  • Architecture 98 → 99 (+1.4)
  • Maturity 58 → 60 (+2.3)
  • Readiness 53 → 64 (+10.9)
  • Security 68 → 79 (+11.7)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (21)

  • Change coupling clique: about_page.dart, how_it_works_page.dart, privacy_page.dart (lib/features/home/presentation/pages/info/about_page.dart)
  • Change coupling: analytics_page.dart ↔ storage_insights_page.dart (lib/features/analytics/presentation/pages/analytics_page.dart)
  • Change coupling: device_apps_repository.dart ↔ scan_page.dart (lib/features/apps/data/repositories/device_apps_repository.dart)
  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • No exposed public API
  • Off-boarding risk: anonymized user #1
  • Test reliability not included
  • The body is clipped mid-sentence ('…' ends body), so the full feature list (Gallery, Installation, Download, Development, Privacy, Project Documents) and any architecture or usage notes are not visible; only a high-level description and links are presentable. (README.md)
  • …and 1 more

New (189)

  • AnalyticsPieChart._generateSections (cognitive 16) (lib/features/analytics/presentation/widgets/analytics_pie_chart.dart)
  • AppRepository.convertPackageToMap (cognitive 49) (android/app/src/main/kotlin/com/rakhul/unfilter/AppRepository.kt)
  • AppRepository.convertPackageToMap (cyclomatic 37) (android/app/src/main/kotlin/com/rakhul/unfilter/AppRepository.kt)
  • AppRepository.getInstalledApps (cognitive 21) (android/app/src/main/kotlin/com/rakhul/unfilter/AppRepository.kt)
  • AppRepository.processBatchedWithDetails (cognitive 50) (android/app/src/main/kotlin/com/rakhul/unfilter/AppRepository.kt)
  • AppRepository.processBatchedWithDetails (cyclomatic 25) (android/app/src/main/kotlin/com/rakhul/unfilter/AppRepository.kt)
  • AppTheme.getTheme (cognitive 22) (lib/core/theme/app_theme.dart)
  • AppTheme.getTheme (cyclomatic 23) (lib/core/theme/app_theme.dart)
  • BatteryAnalyzer.getBatteryImpactData (cognitive 30) (android/app/src/main/kotlin/com/rakhul/unfilter/BatteryAnalyzer.kt)
  • BatteryAnalyzer.getBatteryImpactData (cyclomatic 24) (android/app/src/main/kotlin/com/rakhul/unfilter/BatteryAnalyzer.kt)
  • Change coupling: home_page.dart ↔ search_page.dart (lib/features/home/presentation/pages/home_page.dart)
  • ClassTooLong: AppRepository (android/app/src/main/kotlin/com/rakhul/unfilter/AppRepository.kt)
  • ClassTooLong: MainActivity (android/app/src/main/kotlin/com/rakhul/unfilter/MainActivity.kt)
  • ClassTooLong: _AnalyticsPageState (lib/features/analytics/presentation/pages/analytics_page.dart)
  • ClassTooLong: _DeeplinkTesterPageState (lib/features/home/presentation/pages/info/deeplink_tester_page.dart)
  • ClassTooLong: _LiveSensorStreamWidgetState (lib/features/sensor_diagnostics/presentation/widgets/sensor_stream_chart.dart)
  • CustomizableSharePoster._buildStatsGrid (cognitive 16) (lib/features/apps/presentation/widgets/customizable_share_poster.dart)
  • CustomizableSharePoster.build (cognitive 18) (lib/features/apps/presentation/widgets/customizable_share_poster.dart)
  • CustomizableSharePoster.build (cyclomatic 17) (lib/features/apps/presentation/widgets/customizable_share_poster.dart)
  • DeviceAppsRepository.getInstalledApps (cognitive 27) (lib/features/apps/data/repositories/device_apps_repository.dart)
  • …and 169 more

Changes since last survey

  • 2 commits — 2 feature/other, 0 fixes

By area

  • android/app — 1 commit
  • android/gradle.properties — 1 commit

Notable commits

  • change: build(android): configure R8 optimized resource shrinking flags
  • change: feat(android): enable edge-to-edge support with enableEdgeToEdge

Architecture

  • Containers 0 added · 0 removed · contexts 1 added · 1 removed · edges 0 added · 0 removed

Added bounded contexts (1)

  • app

Removed bounded contexts (1)

  • android

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

escapebranch/unfilter was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 579eec38e72d2f6af69b924c09139522d2d7c631 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.