crazysunj/CrazyDaily
42.2
Weak · 22 September 2026
27.2k
lines of production code
Java
primary language
7
measurements over time
What this system is
This is an Android application that aggregates and displays diverse content types, including news feeds, funny videos, and weather updates, while also supporting local note-taking and contact management. The system integrates multiple rendering engines—specifically Weex, Flutter, and native Android components—to deliver a hybrid user interface. It also provides utility features such as QR code scanning, file downloading, and media selection, all managed through a modular architecture that separates presentation, domain, and data layers.
How it got here
2017 — Initial architecture and feature implementation
20 changes.
This period established the application's multi-module architecture, introducing the data, domain, and presentation layers with comprehensive dependency injection and base classes. It also implemented core features such as note-taking, media handling, and Weex integration, while standardizing the build environment and UI components.
2018–2019 — UI expansion and Flutter integration
26 changes.
This period focused on significantly expanding the application's feature set by adding new modules for notes, contacts, and media handling, alongside custom UI components for scanning and web browsing. The team also integrated a Flutter module to enable cross-platform development, establishing two-way communication between native Android and Flutter screens.
Features
Add 3D cube reversal view component
A new custom view, CubeReversalView, has been added to the presentation layer. This component implements a 3D cube-reversal animation effect, managing the transitions between foreground and background views using Android's ValueAnimator and custom Animation classes. This introduces a new UI capability for displaying content with a 3D flipping transition.
presentation/src/main/java/com/crazysunj/crazydaily/view/threed · high confidence
Add Gradle wrapper scripts and update project documentation
The repository now includes the standard Gradle wrapper shell script (gradlew) and batch file (gradlew.bat) to ensure consistent build environments. The README.md has been significantly expanded to document the app's features, including Weex and Flutter support, and lists technical highlights such as the use of AndroidX, Material Design, and various custom UI components.
(repo-wide) · high confidence
Add QR code scanning capability
The app now supports scanning QR codes. Users can scan codes using the device camera or by selecting an image from their gallery to extract the encoded information.
presentation/src/main/java/com/crazysunj/crazydaily/ui/scan · high confidence
Add background download service with notification updates
A new DownloadService has been introduced to handle file downloads in the background. This service manages download tasks by displaying and updating progress in the system notification bar, supporting both pre-Android Oreo and Oreo+ notification channels. It integrates with a presenter to track progress and handles file saving and completion states, allowing users to monitor and interact with downloads via persistent notifications.
presentation/src/main/java/com/crazysunj/crazydaily/service · high confidence
Add browser activity with Sonic preloading and permission-managed downloads
A new BrowserActivity is introduced to handle web content, integrating Tencent's Sonic engine for preloading and faster page loads. The activity manages a custom WebView, handles back-navigation, and provides an option to open the URL in an external browser. Download functionality is gated behind explicit storage permission checks, ensuring users are prompted for access before initiating file downloads.
presentation/src/main/java/com/crazysunj/crazydaily/ui/browser · high confidence
Add contact list and detail screens with search and side-bar navigation
The app now includes a new Contact feature, introducing a contact list view and a detailed contact view. Users can browse contacts via a side-bar index, search for specific entries using the integrated search bar, and view individual contact details with options to call or send SMS. The contact list supports swipe-to-delete interactions.
presentation/src/main/java/com/crazysunj/crazydaily/ui/contact · high confidence
Add custom note editing component
A new \NoteEditText\ component has been added to the presentation layer, providing a custom text input view with dynamic height adjustment and a clear button. This component supports custom attributes for styling and exposes listener callbacks for text changes and keyboard events.
presentation/src/main/java/com/crazysunj/crazydaily/view/note · high confidence
Add customizable alert dialog component
A new customizable alert dialog (CrazyDailyAlertDialog) has been added to the presentation layer, allowing users to display styled confirmation or information popups with configurable message text, colors, and font sizes for both the main content and the positive/negative action buttons.
presentation/src/main/java/com/crazysunj/crazydaily/view/dialog · high confidence
Add splash screen with Lottie animation
A new splash screen has been added to the application, featuring a Lottie-based animation that plays on the initial launch. Upon completion of the animation, the user is automatically navigated to the main home screen, providing a branded entry point for the app.
presentation/src/main/java/com/crazysunj/crazydaily/ui/splash · high confidence
Added Charles Proxy CA certificate for SSL debugging
A new certificate file (crazydaily\_ca.pem) has been added to the app's raw resources. This file contains a Certificate Authority (CA) certificate generated by Charles Proxy, which is used for SSL proxying and debugging. This allows the application to trust the proxy's self-signed certificates, enabling network inspection tools to decrypt HTTPS traffic for development and testing purposes.
presentation/src/main/res/raw · high confidence
Added Weex integration for Android
The application now supports Weex, a cross-platform framework, by introducing a new \weex\ package within the presentation module. This includes a dedicated \WeexActivity\ to host Weex pages, custom components for tabs (\WXTabPagerComponent\), web views (\WXWebComponent\), and image loading (\WXImageAdapter\), along with modules for routing, logging, and HTTP handling. This change enables the app to render content using Weex alongside the existing native and web implementations.
presentation/src/main/java/com/crazysunj/crazydaily/weex · high confidence
Added Weex-based UI assets and city code data
The app now includes new presentation assets to support Weex-based UI components. This includes a JSON file mapping Chinese cities and towns to their respective codes, and several new Weex Vue components (aboutme, gankiolist, tabPager) that render web views and content lists. Additionally, a Lottie animation file (mtrva.json) has been added to the assets folder.
presentation/src/main/assets · high confidence
Added banner card view and swipe-refresh handling
The app now features a new banner card component on the home screen, displaying top stories with a title and background image that users can tap to view details. To ensure smooth interaction with the page swiping, a custom SwipeRefreshLayout has been implemented to resolve touch event conflicts between the banner and the main content area.
presentation/src/main/java/com/crazysunj/crazydaily/view/banner · high confidence
Added base classes for the presentation layer
Added a set of base classes to the presentation module to standardize the app's architecture. This includes \BaseActivity\, \BaseFragment\, and \BasePresenter\ to handle common lifecycle and dependency injection patterns, as well as \BaseAdapter\ and \BaseHelperAdapter\ to simplify RecyclerView implementation. The update also introduces \BaseViewHolder\ for efficient view binding and utility interfaces like \IView\ and \IPresenter\ to enforce a consistent structure across the application's UI components.
presentation/src/main/java/com/crazysunj/crazydaily/base · high confidence
Added domain layer with data models, database, and event bus
The domain layer was introduced, adding a comprehensive set of data models including GaoxiaoEntity, GankioEntity, Contact, and CommonHeader/Footer entities. It also includes a greenDAO-based database schema (DaoMaster, DaoSession) for persistent storage, an RxBus for event communication, and various constant classes for caching and error codes.
domain · high confidence
Added permission handling and web caching infrastructure
The app now includes new components to manage runtime permissions for camera and storage, providing structured callbacks for user responses (rationale, denied, or never-ask-again states). Additionally, a new web caching layer has been introduced, implementing a custom runtime and session client for the Sonic library to handle web content and cookies.
presentation/src/main/java/com/crazysunj/crazydaily/module/permission · high confidence
Added presenters and entities for home, download, contacts, and photo picker features
The presentation layer now includes new presenter classes to handle business logic for the home screen (loading Zhihu, Gankio, weather, and other content), a download manager, a contact list, a photo/video picker, and a splash screen. Supporting data models like CityEntity, ContactLoadingEntity, and ExpandCollapseFooterEntity have also been added to support these features.
presentation/src/main/java/com/crazysunj/crazydaily/presenter · high confidence
Added swipe and drag gesture support for list items
The presentation layer now includes a new \Extension\ interface and a custom \ItemTouchHelperExtension\ class that implements swipe and drag-and-drop interactions for RecyclerView items. This adds the ability for users to swipe or drag list items, with visual feedback provided by the \ItemTouchUIUtilImpl\ which handles the drawing and elevation changes during these gestures.
presentation/src/main/java/com/crazysunj/crazydaily/extension · high confidence
Added utility classes for caching, device detection, and screen adaptation
Added several new utility classes in the presentation layer to support application functionality. CacheUtil provides methods to clean external cache directories. DeviceUtil offers helpers to detect full-screen displays (including notch screens) and virtual navigation keys. ScreenAdapterManager implements a 'Toutiao-style' width/height adaptation scheme by dynamically modifying DisplayMetrics at the Activity lifecycle level. Additional utilities include DateUtil for time formatting, FileUtil for managing download and web cache directories, HandlerHelper for managing main-thread and idle handlers, HtmlUtil for generating HTML with CSS/JS tags, ScreenUtil for pixel/dp/pt conversions, and WeatherUtil for mapping weather codes to icons.
presentation/src/main/java/com/crazysunj/crazydaily/util · high confidence
Custom QR code scanning viewfinder with animated laser effect
The app now features a custom viewfinder for scanning QR codes, replacing the default overlay with a design that includes corner markers and an animated laser line that sweeps across the scanning area. This change is implemented in the new \CrazyDailyViewfinderView\ component, which extends the barcode scanning library's view to provide a branded visual experience during the scan process.
presentation/src/main/java/com/crazysunj/crazydaily/view/scan · high confidence
Initial Dagger 2 dependency injection modules for the presentation layer
The application's presentation layer now includes a complete set of Dagger 2 modules to manage object creation and dependency injection. New files have been added to the \di/module\ directory, including \ActivityModule\, \AppModule\, \EntityModule\, \FragmentModule\, and \ServiceModule\. These modules provide scoped bindings for Android components (Activity, Fragment, Service) and application-level singletons (Context, OkHttpClient, various data repositories like Zhihu, Gankio, Neihan, and Note). This establishes the foundational infrastructure for the app's architecture, enabling the injection of UI components and data sources throughout the presentation layer.
presentation/src/main/java/com/crazysunj/crazydaily/di/module · high confidence
Initial data layer implementation with repository and service interfaces
The data module introduces a new data layer that provides repository implementations for fetching and managing content from various sources. This includes data repositories for Gankio, Gaoxiao (funny videos), Neihan (humor), Zhihu news, weather, and contacts, each implementing their respective domain interfaces. The update also adds a download repository for handling file downloads, a photo picker repository for accessing local media, and a database helper for local storage. Additionally, it includes service interfaces for network communication, utility classes for logging and network status, and an AndroidManifest file to register the data module.
data · high confidence
Integrate Flutter module for Android with native communication support
The app now includes a new Flutter module (crazydaily\_flutter) that can be integrated into the Android application. This module provides a 'Gankio' feature that communicates with the native Android layer using MethodChannel and BasicMessageChannel for two-way interaction, allowing the Flutter UI to trigger native actions and receive updates.
_crazydaily\flutter · high confidence
Introduce the new Note module for creating and managing notes
The application now includes a new Note feature, allowing users to create, edit, and delete text-based notes. This update introduces a dedicated UI for note management, including a list view for existing notes, an editor for creating or modifying notes, and a preview mode for viewing note content. The implementation includes activities and fragments for the note list and editing interface, along with supporting components like a context menu dialog and a full-screen image previewer for any media attached to notes.
presentation/src/main/java/com/crazysunj/crazydaily/ui/note · high confidence
Introduced custom image loading and animation transition utilities
Added a new BezierTransition class to provide a custom curved-path animation for screen transitions, and introduced an ImageLoader utility to centralize image loading, placeholder handling, and file downloading via Glide, improving image handling and visual effects in the presentation layer.
presentation/src/main/java/com/crazysunj/crazydaily/module/image · high confidence
Introduces Dagger 2 dependency injection components and scopes
The app now uses a structured dependency injection architecture via Dagger 2. New component interfaces (AppComponent, ActivityComponent, FragmentComponent, ServiceComponent) and their corresponding lifecycle scopes (ActivityScope, FragmentScope, ServiceScope, AdapterScope) have been added to the presentation layer. This enables the app to manage object lifecycles and dependencies more effectively across different UI components.
presentation/src/main/java/com/crazysunj/crazydaily/di/component · high confidence
Introduces a new Notes feature with local storage and media support
Adds a new 'Notes' module allowing users to create, save, and manage text-based notes with support for images and video URLs. The change introduces a new \NoteEntity\ domain model and a GreenDAO-generated \NoteEntityDao\ for local SQLite persistence, along with a \NoteDataRepository\ to handle CRUD operations. This is supported by new use cases (\NoteSaveNoteUseCase\, \NoteDeleteNoteUseCase\, etc.) that encapsulate the logic for saving, retrieving, and deleting notes, as well as a \Flutter\ facade class to manage the Flutter engine lifecycle and view creation on Android.
. · high confidence
Introduces new presenter contracts for contacts, downloads, notes, and media selection
The app now defines explicit contract interfaces for several new or refactored features, including a contact list, a download manager, a note-taking module (with list and edit screens), a photo/video picker, and a splash screen. These contracts establish the data flow and presenter logic for these specific areas, enabling the corresponding UI components to interact with the application's core logic.
presentation/src/main/java/com/crazysunj/crazydaily/presenter/contract · high confidence
Native Android app integrates Flutter for new UI screens
The app now supports running Flutter-based screens, starting with a new 'CrazyDailyFlutterActivity' that embeds a Flutter view within the Android UI. This integration enables two-way communication between the native Android layer and the Flutter engine, allowing features like pull-to-refresh and scroll events to be handled by Flutter while coordinating with native components like the refresh layout.
presentation/src/main/java/com/crazysunj/crazydaily/flutter · high confidence
New 'Me' profile screen with update, feedback, and image selection
A new 'Me' screen has been added to the app, providing users with access to their profile settings. This includes an 'About App' and 'About Me' links, a cache clearing option, and a feature to select images from the device. Additionally, the screen integrates third-party services for online app updates and user feedback, with permission handling for storage access to support these features.
presentation/src/main/java/com/crazysunj/crazydaily/ui/me · high confidence
New CrazyDailyWebView component for web content display
A new \CrazyDailyWebView\ class has been added to the presentation layer, providing a custom Android WebView implementation. This component configures web settings for JavaScript, caching, and zooming, and integrates with a \WebViewSonicCallback\ to intercept and handle specific web resource requests, as well as a \DownloadCallback\ to manage file downloads initiated from web pages.
presentation/src/main/java/com/crazysunj/crazydaily/view/web · high confidence
New NeihanVideoPlayerController for video playback
Added NeihanVideoPlayerController, a new video player controller that extends NiceVideoPlayerController to provide a custom UI for video playback, including controls for play/pause, seek, fullscreen, and clarity selection.
presentation/src/main/java/com/crazysunj/crazydaily/view/video · high confidence
New UI components and behaviors for the 'My' page
Added three new presentation components to support the 'My' page: AppBarLayoutOverScrollViewBehavior, which handles scroll-based scaling of the app bar; ShowHideBottomBehavior, which manages the animated show/hide transitions of the bottom bar; and CommonItem, a reusable list item view featuring an icon, text, and an optional bottom line.
presentation/src/main/java/com/crazysunj/crazydaily/view/behavior · high confidence
New adapters and helper classes for contacts, home feed, notes, and photo picker
The adapter layer in the presentation module has been expanded with new RecyclerView adapters and their corresponding helper classes to support distinct UI components. ContactsAdapter and ContactAdapterHelper manage the contact list with header grouping and expand/collapse behavior. HomeAdapter and HomeAdapterHelper handle the main feed, supporting multiple content types (Zhihu, Gank.io, weather, video) with header/footer views and video playback. NoteAdapter and NoteEditAdapter support note items with embedded images and video playback, while PhotoPickerAdapter and PhotoPickerBucketAdapter manage media selection and bucket grouping. These changes introduce new data binding and view management logic for these specific features.
presentation/src/main/java/com/crazysunj/crazydaily/ui/adapter · high confidence
New contact view components for enhanced UI
Added new UI components for the contact section: a custom background view with blur effects (CoolBGView), data models for image resources and text (ImgResEntity, ImgTextEntity), and a satellite menu view (SatelliteMenuView) that supports animated expansion, image/text buttons, and configurable positioning.
presentation/src/main/java/com/crazysunj/crazydaily/view/contact · high confidence
New custom UI components for photo handling
Added PhotoDrawerLayout and PhotoPickerWrapLayout to the presentation layer. PhotoDrawerLayout extends DrawerLayout with custom edge size and margin settings, while PhotoPickerWrapLayout is a new RelativeLayout that maintains a 1:1 aspect ratio for photo selection.
presentation/src/main/java/com/crazysunj/crazydaily/view/photo · high confidence
New photo and video selection interface
Introduced a new photo and video selection interface, including a custom picker activity and a bucket dialog for organizing media. This change adds new UI components for selecting images and videos, with specific handling for media types and permissions.
presentation/src/main/java/com/crazysunj/crazydaily/ui/photo · high confidence
Behavioural changes
Added ProGuard rules for Tencent X5 WebView
The presentation module now includes a ProGuard configuration file that preserves the public APIs of the Tencent X5 WebView SDK (com.tencent.smtt.\*). This ensures that critical components such as the WebView, CookieManager, and related clients are not obfuscated or removed during the build process, which is necessary for the X5 web view to function correctly in the application.
presentation · high confidence
Added StatusBarView for consistent status bar height
A new StatusBarView component has been introduced to the presentation layer, providing a dedicated view that automatically measures to the device's status bar height. This change supports the broader AndroidX migration by ensuring consistent header spacing across the app's UI.
presentation/src/main/java/com/crazysunj/crazydaily/view/statusbar · high confidence
App initialization and crash recovery improvements
The app's core initialization and lifecycle management have been refactored. A new \App\ class centralizes the setup of Weex, X5 WebView, and Sonic, while \CrazyDailyActivityLifecycleCallbacks\ now tracks foreground state to trigger a forced restart if the app is killed. Additionally, \CrazyDailyCrashHandler\ implements a strategy to automatically restart the app 0.5 seconds after an uncaught exception, improving stability after crashes.
presentation/src/main/java/com/crazysunj/crazydaily/app · medium confidence
Home screen refactored to use a Fragment-based architecture
The Home screen has been refactored from a single Activity (HomeActivity) to a Fragment-based implementation (HomeFragment). This change introduces a new HomeFragment that manages the home feed, banner, and toolbar, while the previous HomeActivity is replaced. Users will experience the same home feed content but with an underlying architectural shift that likely improves navigation and modularity.
presentation/src/main/java/com/crazysunj/crazydaily/ui/home · medium confidence
Introduces constant definitions for activity navigation, general utilities, and Weex page routing
The application now defines explicit constants for passing data between activities (such as ID, URL, and video paths), general HTTP and string constants, and specific Weex page names and paths (including Gank.io and About Me). These additions support the integration of Weex-based web views and improve the structure for handling navigation parameters and UI state across the presentation layer.
presentation/src/main/java/com/crazysunj/crazydaily/constant · high confidence
Main activity adopts Jetpack Navigation for fragment management
The main activity now uses Jetpack Navigation to manage its internal fragments. The code introduces a NavHostFragment and configures the BottomNavigationView to work with the navigation controller, replacing the previous approach with a standard Android navigation component.
presentation/src/main/java/com/crazysunj/crazydaily/ui · high confidence
Native Android integration for Flutter modules
The Android module now includes the core Java classes and configuration required to host and communicate with Flutter. This adds a FlutterFragment to manage the FlutterView, a GeneratedPluginRegistrant to wire up plugins (including FlutterRouterMethodPlugin for deep linking and FlutterRefreshEventPlugin for event channels), and an AndroidManifest with internet permissions, enabling the app to run Flutter content and handle native-to-flutter interactions.
_crazydaily\_flutter/flutter\android/Flutter · medium confidence
Upgraded Gradle wrapper to version 5.4.1
The project now uses Gradle 5.4.1 for building, as specified in the gradle-wrapper.properties file. This update ensures that the build process relies on a specific, modernized version of the Gradle wrapper, which may improve build performance and compatibility with newer Android/Java tooling.
gradle · high confidence
Dependencies
Initial project structure with Flutter integration
The project is initialized with a multi-module Android architecture (presentation, data, domain) and integrates a Flutter module. The build configuration sets up Gradle 3.5.1, Kotlin 1.3.50, and AndroidX dependencies. The Flutter module is included via a custom Groovy script, and the main app links to it. The dependency list includes libraries for UI, networking, and state management, establishing the baseline for the application's functionality.
(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
Score
- CAI 43 → 42 (-0.4)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 82 → 89 (+7.5)
- Architecture 100 → 95 (-5.0)
- Maturity 41 → 41 (+0.0)
- Readiness 15 → 17 (+1.9)
- Security 93 → 95 (+1.8)
- Domain Modelling 100 → 77 (-23.1)
Resolved (56)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/base/BaseAdapter.java)
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/service/DownloadService.java)
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/note/NoteActivity.java)
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/view/contact/SatelliteMenuView.java)
- Duplicated block (11 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/base/BaseAdapter.java)
- Duplicated block (11 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/extension/ItemTouchHelperExtension.java)
- Duplicated block (11 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/presenter/HomePresenter.java)
- Duplicated block (11 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/contact/ContactActivity.java)
- Duplicated block (11 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/note/NoteActivity.java)
- Duplicated block (11 lines × 4) (presentation/src/main/java/com/crazysunj/crazydaily/view/contact/SatelliteMenuView.java)
- Duplicated block (12 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/home/HomeActivity.java)
- Duplicated block (12 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/home/HomeActivity.java)
- Duplicated block (13 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/util/CacheUtil.java)
- Duplicated block (14 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/presenter/HomePresenter.java)
- Duplicated block (14 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/presenter/HomePresenter.java)
- Duplicated block (14 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/presenter/HomePresenter.java)
- Duplicated block (14 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/presenter/HomePresenter.java)
- Duplicated block (14 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/presenter/HomePresenter.java)
- Duplicated block (5 lines × 2) (domain/src/main/java/com/crazysunj/domain/entity/contact/Contact.java)
- …and 36 more
New (76)
- ClassTooLong: ItemTouchHelperExtension (presentation/src/main/java/com/crazysunj/crazydaily/extension/ItemTouchHelperExtension.java)
- ClassTooLong: NeihanEntity (domain/src/main/java/com/crazysunj/domain/entity/neihan/NeihanEntity.java)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/extension/ItemTouchHelperExtension.java)
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/presenter/NoteEditPresenter.java)
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/note/NoteActivity.java)
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/view/contact/SatelliteMenuView.java)
- Duplicated block (10 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/view/threed/CubeReversalView.java)
- Duplicated block (10–11 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/contact/ContactActivity.java)
- Duplicated block (11 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/home/HomeActivity.java)
- Duplicated block (11 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/note/dialog/NoteEditDialog.java)
- Duplicated block (12 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/presenter/HomePresenter.java)
- Duplicated block (12 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/note/NoteActivity.java)
- Duplicated block (13 lines × 4) (presentation/src/main/java/com/crazysunj/crazydaily/view/contact/SatelliteMenuView.java)
- Duplicated block (14 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/base/BaseAdapter.java)
- Duplicated block (14 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/MainActivity.java)
- Duplicated block (14 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/ui/MainActivity.java)
- Duplicated block (16 lines × 2) (presentation/src/main/java/com/crazysunj/crazydaily/base/BaseAdapter.java)
- …and 56 more
Architecture
- Containers 0 added · 0 removed · contexts 4 added · 1 removed · edges 3 added · 0 removed
Added bounded contexts (4)
- Flutter
- data
- domain
- presentation
Removed bounded contexts (1)
- .
Added dependency edges (3)
- data → domain
- presentation → data
- presentation → domain
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
crazysunj/CrazyDaily 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 22 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 625a8151922baac08a3178d094709c48f8c7a2e8 — 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-90d5d2fe38ee.