github NoWakeLock/NoWakeLock v3.0.3/80
v3.0.3 Build 80

3 months ago

Changelog

First version of version 3.x, completely refactored.

I have tried my best to ensure the reliability of upgrading from version 2.x, but it has not been fully tested. Please extract backup settings.
If possible, please uninstall v2.0.x -> reboot -> install v3.x active -> reboot and done

Compared to 2.x

  • md3 design, a huge change you can see
  • Compatible with Android versions 7-15 (currently known issues on Samsung devices, being resolved, please do not upgrade Samsung devices)
  • Full Android multi-user support
  • Wakelock/Alarm/Service event timeline
  • More accurate wakelock timing
  • Service added bindService should be able to capture all service startup information
  • English/Chinese/French support
  • Xposed hook state check
  • Other changes.

The version may have a series of problems, please make sure you know how to rescue your device. --> https://github.com/NoWakeLock/NoWakeLock/wiki/FAQ#wrong-operation-causes-the-device-to-fail-to-boot

Features

  • Add initial HTML prototypes for NoWakeLock app including home, alarm, wakelock, service, and settings pages (38142a4)
  • Add UI analysis and design documentation for NoWakeLock app, detailing current structure and Material Design 3 migration plans (8e32df6)
  • Integrate Jetpack Compose and update UI themes for NoWakeLock app (2cbda6d)
  • Refactor NoWakeLock app structure with new navigation components, screens, and view models for enhanced user experience (e08087c)
  • Update BottomNavBar icons and clean up NavGraph by removing commented code (1377738)
  • Add AppWithStats model and enhance DADao and AppDasAR with wakelock statistics retrieval methods (631424a)
  • Implement AppsScreen with filtering, sorting, and loading states; add AppListItem, AppsFilterSection, and AppsSortSection components (9a9bd4f)
  • Enhance AppsScreen with pull-to-refresh functionality, improve UI components, and update AppDasAR for better app info synchronization (9a87672)
  • Implement search functionality in AppsScreen with dedicated search bar and state management (61fc64f)
  • Enhance search functionality in NoWakeLockApp with state management and UI improvements in TopAppBar (b25b6eb)
  • Introduce InfoEvent entity and update database schema to version 10, enhancing event tracking with eventKey and improved data access methods (c5dbc17)
  • Implement Wakelocks feature with comprehensive UI components, including filtering, sorting, and summary statistics; enhance data management with WakelockRepository and ViewModel integration (dc04e8b)
  • Refactor WakelocksScreen layout to improve UI structure with a control panel for filtering and sorting; enhance WakelocksFilterSection and WakelocksSortSection for better consistency and usability (bf401a1)
  • Refactor WakelockListItem for improved UI consistency and functionality; redesign layout to match AppListItem, add time formatting, and enhance stats display with chips for count and time (c20e6f8)
  • Integrate ConstraintLayout in WakelockListItem for enhanced layout management and spacing; add ConstraintLayout dependencies in build.gradle (4198c39)
  • Update database schema to version 11, introducing new DAItem and DAInfo models; refactor Koin dependency injection for DAs, and enhance UI components for displaying DAs with filtering, sorting, and summary statistics (404c7db)
  • Enhance search functionality across multiple screens by maintaining search state and updating UI components; improve search handling in DAsScreen and related screens (ee01d30)
  • Add type parameter to DAsSortSection for conditional sorting; restrict TIME option to Wakelock type and update UI accordingly (2751abb)
  • Add new HTML prototypes for Alarm, App, Service, and WakeLock screens with comprehensive UI components, including filtering, sorting, and summary statistics; enhance layout consistency across screens. (2d933ee)
  • Update BottomNavBar and AppListItem components to use rounded icons and enhance UI with Surface for better visual hierarchy; improve layout consistency and interaction feedback. (0d0228d)
  • Revamp color scheme and theme management by introducing vibrant primary, secondary, and tertiary colors; implement extended color support for light and dark themes to enhance UI consistency and accessibility. (9baf34b)
  • Redesign DAListItem component using Card layout for improved presentation and information density; optimize layout with InfoSection and ControlSection for better user interaction and visual hierarchy. (303d8f0)
  • Introduce ServiceListItem component for displaying service-related DA items; enhance DAsScreen to conditionally render ServiceListItem or DAListItem based on item type, improving UI flexibility and user experience. (37183a0)
  • Conditionally display wake time in DAListItem component only for Wakelock type items, enhancing information relevance and UI clarity. (415f397)
  • Add comprehensive documentation for Android Wakelocks, including descriptions, recommendations, and sources for various services to enhance user understanding and management of device power consumption. (7c54ef6)
  • Update dependencies and enhance DAItem handling; replace Kotlin stdlib version, add immutable collections for performance, and implement isSameItemAs method for optimized UI updates. (3c72ac0)
  • Add Wakelock screen HTML template with detailed statistics, settings, and activity timeline for enhanced user interaction and management of device power consumption. (837a851)
  • Add detailed documentation for Wakelock screen design and implementation, outlining current status, future tasks, and visual design principles to guide development. (9d227d0)
  • Add comprehensive documentation for Wakelock information management system, detailing data storage, JSON structure, loading mechanisms, and community contribution processes to guide future development and integration. (8b0b67e)
  • Introduce RIPER-5 operational protocol for Claude 3.7 in Cursor IDE, defining strict modes for interaction and implementation to prevent unauthorized code modifications. (76a45eb)
  • Implement user management features in NoWakeLock app, including UserInfo data model, user switching functionality in the top app bar, and retrieval of distinct user IDs from the database for enhanced user experience. (daffb10)
  • Update database schema to version 12, adding new 'info_event' table and related DAO for event management; enhance repository implementations to support event synchronization from XProvider. (90322bc)
  • Replace RIPER-5 operational protocol with RIPER-6, introducing stricter guidelines for AI interaction, memory management, and mode transitions to enhance project context continuity and prevent unauthorized modifications. Additionally, add memory-bank files for project notes, progress tracking, and project overview documentation. (c8ee64d)
  • Introduce CursorRIPER Direct framework with comprehensive rules for project initialization, memory management, and development workflows. Add essential memory-bank files for project documentation, including architecture, progress tracking, and API specifications, to streamline development and enhance context continuity. (e6703cb)
  • Enhance CursorRIPER Direct framework by adding detailed descriptions and globs for core rules, ensuring consistent application across project initialization, memory management, and development workflows. Introduce new DAInfoEntry and DAStatistics models for improved data handling and user interaction in the NoWakeLock app, along with comprehensive documentation updates for better context continuity. (a1d9169)
  • Implement device automation detail screen with comprehensive UI components, including statistics, settings, and recent activities. Enhance navigation and data handling for improved user experience in the NoWakeLock app, along with new string resources for localization. (b6fed49)
  • Revise CursorRIPER framework by updating ignore patterns and introducing a new CodeProtection rule set. Remove outdated development workflow and memory management files, while adding comprehensive documentation for project context and protection management. Enhance project initialization and memory bank structure to streamline development processes. (9b1de34)
  • Enhance NoWakeLock app by adding detail title management in the TopAppBar. Implement state handling for detail screen titles and update navigation logic to clear titles on back navigation. Refactor DADetailScreen to remove the dedicated top bar, integrating title management directly into the main content for a streamlined user experience. (d4285e6)
  • Update NoWakeLock app to version 1.5, enhancing the DADetailScreen by refactoring it into a pure content component and removing nested Scaffold structures. Improve global TopAppBar to support detail page titles and back navigation. Update project progress to 68% completion, reflecting recent UI optimizations and navigation enhancements. (10027c4)
  • Enhance NoWakeLock app by integrating Kotlin serialization for type-safe navigation and updating dependencies. Refactor navigation logic to utilize a new DADetail data class, improving parameter handling and simplifying the navigation graph. Remove deprecated navigation code and streamline the DADetailScreen implementation for better maintainability. (e340b4c)
  • Refactor DADetail components in NoWakeLock app by introducing new UI elements for displaying device automation details. Add ActivityItem, DAHeaderSection, DAInfoCard, DARecentActivitiesCard, DASettingsCard, DAStatisticsCard, DATimelineCard, and TimelineChart to enhance user interaction and data visualization. Update DADetailViewModel for improved state management and streamline TopAppBar by removing unnecessary logging. (f08a8c7)
  • Refactor TopAppBar in NoWakeLock app to improve title management and search functionality. Simplify title assignment logic based on navigation routes and enhance search interface visibility. Update navigation actions to ensure consistent user experience across different screens, including dynamic handling of user switcher and refresh buttons. (afc434b)
  • Add previews for DADetail components in NoWakeLock app to enhance UI testing and development. Implement previews for DADetailContent, DAHeaderSection, DAInfoCard, DARecentActivitiesCard, DASettingsCard, DAStatisticsCard, DATimelineCard, and TimelineChart, allowing for better visualization of component states and interactions during development. (e8e0e25)
  • Enhance DAItem model in NoWakeLock app by adding blockCountTime property and formatting methods for time display. Implement logic to calculate blockCountTime based on count and countTime, improving data representation and usability in the DADetail components. (714da48)
  • Create initial project backup and update progress documentation. Add new backup files including active context, backup info, modified files list, and protection registry. Document recent changes and project status to ensure comprehensive tracking of development progress. (d66c143)
  • Enhance DAInfoRepositoryImpl by integrating kotlinx.serialization for JSON parsing and adding a new Type enum conversion method. Introduce DAInfoJsonModel and ReleaseNote data classes for structured data handling, improving multilingual support and data integrity. (cb0fee7)
  • Update DASettingsCard to conditionally enable settings based on fullBlocked state. Enhance TimeIntervalItem to adjust text color based on enabled status, improving user experience and accessibility. (cd10dd0)
  • Enhance PowerConnectionReceiver to clear event data and add InfoEventDao integration. Update EventItem to include type property for better event categorization. Introduce ActivityItem component for displaying individual event activities with status indicators. Adjust InfoCard layout for improved spacing. (c6586a7)
  • Introduce version 11 of InfoDatabase schema with new entities and fields for enhanced data management. Update AppDatabase and InfoDatabase to reflect schema changes and enable destructive migration. Enhance XProvider to handle event timestamps correctly, ensuring compatibility with legacy data. Improve code formatting and readability across multiple files. (8b2925a)
  • Update AndroidManifest.xml to enable onBackInvokedCallback for improved back navigation handling. Add tools:targetApi attribute for API level 33 compatibility and format activity declaration for better readability. (52534d1)
  • Implement user preferences management for theme and language settings. Introduce UserPreferencesRepository for handling preferences, and update SettingsScreen and SettingsViewModel to allow users to select their preferred theme and language. Enhance NoWakeLockApp to apply user preferences dynamically and ensure language changes are reflected in the UI. Add corresponding UI components for settings selection and update string resources for new settings options. (8faf1a4)
  • Enhance TopAppBar and SettingsScreen with improved UI components and functionality. Update TopAppBar to include dynamic search and navigation icons, and refine SettingsScreen to support theme and language selection dialogs. Introduce new preview functions for dialog components and adjust layout for better user experience. (3d6f55e)
  • Implement power connection and data management settings in the UI. Introduce UserPreferencesRepository for managing power and clear flags, and update SettingsScreen and SettingsViewModel to handle user preferences. Add new UI components for toggling settings and enhance string resources for localization. (b7d6c6e)
  • Add backup and restore functionality to Settings screen. Implement BackupManager for managing backup operations, update SettingsViewModel to handle backup processes, and enhance UI with new components for creating and restoring backups. Update string resources for backup-related messages. (5c2c86a)
  • Refactor SettingsScreen to utilize new UI components for better backup and data management settings. Replace existing components with SettingsValueItem and SettingsActionItem for improved user interaction. Add preview for BackupSettings component. (7839507)
  • Add experimental features section to SettingsScreen, including debug mode toggle. Update SettingsViewModel to manage debug mode state and enhance string resources for localization. Implement UI components for experimental settings and provide previews for new features. (bd8f84e)
  • Implement App Detail feature with detailed statistics and navigation. Add AppDetailScreen, AppDetailViewModel, and AppDetailRepository for managing app-specific data. Introduce StatisticCard component for displaying app statistics. Update navigation routes and remove unused Alarms and Services screens for a cleaner codebase. (344d3b7)
  • Enhance navigation and app detail handling by updating TopAppBar to support multiple detail routes and modifying navigation to include app labels. Remove unused components and clean up commented code in AppDetailScreen for improved readability. (13dcbde)
  • Add MCP Filesystem integration and protection rules for CursorRIPER. Introduce mcp.json configuration for filesystem commands, implement comprehensive CodeProtection rules, and establish MCP Services configuration for enhanced project management and security. (63084ef)
  • Introduce RIPER 1.0.4 configuration file with comprehensive permission and context management systems. Implement CRUD permission levels for various operational modes, establish a code protection system, and define context reference mappings for enhanced project management and security. This foundational setup supports structured interactions within the CursorRIPER framework. (be56ab5)
  • Enhance ViewModel and navigation structure by introducing typed navigation parameters for Apps, Wakelocks, Alarms, and Services screens. Update DAsViewModel and AppsViewModel to utilize SavedStateHandle for managing state and parameters. Refactor BottomNavBar to support dynamic navigation items and improve user experience with enhanced filtering and sorting capabilities. Additionally, update NoWakeLockApp to pass currentUserId to the BottomNavBar for better context management. (f3e79b5)
  • Implement SavedStateHandle in ViewModels for improved state management and navigation. Introduce parameter constant classes for type safety and enhance navigation system with type-based routing. Update documentation to reflect recent architectural changes and protection registry for critical components. (8fdc535)
  • Refactor TopAppBar to enhance route handling and UI state management. Introduce ScreenType and TopAppBarUiState for improved semantic clarity. Implement dynamic title and action display based on navigation state, and separate search and standard modes for better user experience. Add preview functions for UI testing. (cededc1)
  • Update documentation and progress tracking to reflect recent refactoring of TopAppBar and improvements in state management. Enhance architectural insights with new design patterns for component separation and centralized state management. Update completion metrics and recent changes in conversation history. (39bca85)
  • Enhance AppDetailScreen and navigation structure by adding support for search functionality across Wakelocks, Alarms, and Services tabs. Introduce dynamic loading indicators and improve state management for better user experience. Update TopAppBars to include AppDetail route in search criteria. (5f2d656)
  • Update DAsScreen to conditionally render summary card based on app detail screen state. Improve code readability by removing unnecessary blank lines and ensuring consistent formatting. (6781948)
  • Integrate AppDetailScreen Tab functionality with lazy loading and search state management. Update navigation to support dynamic content loading and enhance performance. Reflect changes in progress tracking and protection registry. (c7cbfb5)
  • Refactor AppDetailScreen to consolidate statistics display into a single ElevatedCard. Introduce StatItemHorizontal component for improved layout and readability. Remove redundant StatisticCard components for alarms and services, enhancing overall UI structure. (1fc8d2d)
  • Update RIPERsigma configuration to version 1.0.4. Introduce explicit user request detection for code generation, enhancing permission enforcement across modes. Modify prohibition rules to prevent code generation in non-execute modes, while allowing limited code generation under specific user requests. (212b558)
  • Enhance AppDetailScreen by introducing StatisticRowWithIcon component for improved statistics display. Refactor layout to consolidate statistics into a cleaner format, replacing previous StatItemHorizontal components. Update preview data for better representation of app statistics. (561cef5)
  • Update code protection rules across multiple MDC files to include descriptions and glob patterns for improved clarity and functionality. Ensure consistent application of rules with 'alwaysApply' set to true. (e436920)
  • Enhance AppDetailRepository and ViewModel to support app settings management. Introduce methods for retrieving and updating AppSt data, and refactor dependency injection in Koin. Update AppDetailViewModel to load app settings and manage user-defined patterns for wakelock, alarm, and service settings. (909bfb2)
  • Enhance AppDetailScreen with comprehensive app settings management. Introduce SettingsCard and PatternSettingsSection components for managing wakelock, alarm, and service patterns. Update AppDetailViewModel to reflect changes in block settings logic. Refactor UI elements for improved user experience and clarity. (0989194)
  • Implement AppTabContent settings UI for AppSt, integrating global block switch and regex pattern management. Update progress tracker to reflect 40% completion and document recent decisions on UI enhancements and state management practices. (f20c5f9)
  • Add calculateTime function to compute total wakelock duration from InfoEvent list. Update DAItem to utilize this function for accurate time calculations. Enhance DADetailRepository to combine event data with existing info and state for comprehensive DAItem retrieval. (3c81383)
  • Update DADao to return InfoWithSt for improved data handling. Add new queries for loading InfoWithSt sorted by name and count. Refactor DARepositoryImpl to utilize new data structure and sorting methods for DAItem retrieval. (62db913)
  • Introduce WakelockCounter and WakelockRegistry for managing wakelock instances and calculating non-overlapping durations. Update XProvider to utilize these classes for accurate duration tracking on wakelock acquire and release events, enhancing overall wakelock management. (005b267)
  • Update active context and progress tracker to reflect the implementation of WakelockCounter and WakelockRegistry for non-overlapping wakelock duration calculations. Addressed countTime calculation inconsistencies and enhanced project status to 41% completion. (7022a7a)
  • Add comprehensive unit tests for WakelockCounter and WakelockRegistry, including utility functions for test setup. Enhance test coverage with new test classes and mock implementations to ensure accurate wakelock management and duration calculations. (e98db74)
  • Enhance testing framework for WakelockCounter and WakelockRegistry with comprehensive unit tests and utility functions. Address singleton state management issues to ensure test isolation and accuracy in wakelock duration calculations. Update documentation to reflect recent changes and improvements. (ebe6b4f)
  • Introduce database schema updates for AppDatabase and InfoDatabase, including migration from version 12 to 13. Implement new table structures for event handling, enhance indexing for performance, and remove obsolete columns. Update InfoEvent entity to utilize instance ID for unique identification, improving data integrity and management. (ead7cdc)
  • Extend DADao and InfoEventDao with new queries for enhanced data retrieval. Add methods to load InfoWithSt sorted by time and to fetch all St entries as Flow. Update InfoEventDao to use instance ID for event identification, improving data consistency. (d80b638)
  • Enhance WakelockCounter and WakelockRegistry to support unique instance tracking for wakelock events. Update methods to include instance ID for accurate duration calculations and prevent double-counting. Modify XProvider to handle instance ID in event processing, improving data integrity and event management. (7630ada)
  • Update active context and progress documentation to reflect recent enhancements in XPosed settings and wakelock counting system. Addressed issues with XSharedPreferences loading mechanism and added user guidance for settings persistence. Improved project completion status to 45% and refined testing framework for wakelock management. (497add3)
  • Refactor AppDetailScreen to enhance UI consistency with Material Design 3. Replace Surface with ElevatedCard for statistics and settings sections, update toggle components to include subtitles, and improve layout and padding for better readability. Update string resources for clarity and consistency in descriptions. (653570c)
  • Update active context, progress tracker, and technical context to reflect recent improvements in the PatternSettingsSection component. Enhanced UI consistency with Material Design 3 principles, improved layout and state management, and updated project completion status to 46%. Documented changes in the technology stack regarding component implementations. (8f031c0)
  • Update string resources for improved clarity and consistency across AppsFilterSection, AppsSortSection, DAsFilterSection, and DAsSortSection components. Replace hardcoded strings with resource references and enhance localization support in strings.xml files for multiple languages. (ebef93c)
  • Enhance DARepositoryImpl and DAsScreen for improved UI performance and data handling. Introduce a custom comparator to optimize distinctUntilChanged calls, preventing unnecessary UI refreshes. Update key generation in DAsScreen to include all relevant fields, reducing recompositions and enhancing rendering efficiency. (f7edcf8)
  • Implement flexible service hooking mechanism in ServiceHook to support various Android versions. Enhance parameter extraction strategies for startServiceLocked method, including type-based and position-based approaches. Add logging for discovered methods to improve debugging and adaptability. (47a5034)
  • Enhance ServiceListItem layout by adding a label for the block switch and updating padding and width properties for improved UI consistency. Update sample DAItem name for better preview representation. (e943089)
  • Enhance AppDetailRepositoryImpl and AppDasAR to include event statistics in AppWithStats. Refactor appInfoToAppWithStats method to fetch and calculate wakelock, alarm, and service data, improving data handling and UI representation. Update AppListItem to display total counts for better user insight. (6465834)
  • Update icon assets to enhance visual representation and accessibility. Replace existing foreground drawable with a new vector icon, incorporating improved shadow effects and background elements. Modify adaptive icon configurations for both launcher and round launcher to utilize the updated icon. (a4ca2cd)
  • Update string resources for improved localization and UI consistency. Replace hardcoded labels in DADetailHeaderCard and DAsSortSection with string resources. Clean up strings.xml by removing unused entries and adding new translations for better support across languages. (d9772ff)
  • Implement BootResetManager to handle database table resets after device restarts. Update UserPreferencesRepository to manage boot-related preferences. Enhance BasicApp initialization to integrate Koin and log reset actions for improved app stability and user experience. (32675c0)
  • Add Boot Detection and Database Reset feature to ensure info and info_event tables are cleared after device restarts. Implement BootResetManager and integrate with UserPreferencesRepository for managing boot-related preferences, enhancing app stability and user experience. (89dcca0)
  • Add @serializable annotation to SortOption and FilterOption enums in AppsViewModel for improved serialization support. (8502c94)
  • Implement module check functionality with dedicated manager, repository, and UI components for enhanced module status verification (2402bc7)
  • Implement module detection functionality and fix navigation bar duplication, enhancing user experience and ensuring proper module status verification (9405da9)
  • Update module check UI component to use SettingsActionItem, enhancing user interaction with action text and icon for better clarity (13a93b8)
  • Enhance ModuleCheckScreen with improved padding, background previews, and update string resources for clarity and consistency across languages (19a89aa)
  • Optimize ModuleCheckScreen layout by addressing TopAppBar spacing issues, enhancing padding control, and ensuring consistent design with Material Design 3 principles (c17536c)
  • Update AppDetailScreen to use rememberSaveable for state management, improving state persistence across configuration changes (594dd25)
  • Improve AppDetailScreen state persistence by switching to rememberSaveable, ensuring tab state is retained when navigating back from DADetail, and update NavGraph for better navigation configuration (7d88047)
  • Implement in-memory caching for DAItems in DARepositoryImpl, enhancing data retrieval efficiency and adding cache management features. Update DAsScreen to optimize syncSt call, and refactor DAsViewModel for improved data loading and synchronization handling. (64d0564)
  • Implement comprehensive data loading and performance optimizations, including a unified data loading trigger, Flow chain enhancements, intelligent UI updates, and in-memory caching, significantly improving application responsiveness and reducing database load. (e7411bf)
  • Enhance application performance and user experience through comprehensive optimizations, including a unified data loading mechanism, Flow chain improvements, in-memory caching, and refined state management in AppDetailScreen, ensuring better responsiveness and reduced database load. (910c00b)
  • Introduce in-memory caching and optimized data loading in AppDasAR, enhancing performance and responsiveness. Implement cache management features, including expiration checks and updates, while refining data retrieval methods in AppsViewModel for improved user experience. (c009d02)
  • Optimize AppsScreen and DAsScreen with unified data loading, in-memory caching, and improved lifecycle management, significantly enhancing performance and responsiveness while reducing database access frequency. (294d731)
  • Implement caching mechanism for Content Provider calls in XpRecord, utilizing a thread-safe queue for request management and optimizing IPC call efficiency. Introduce immediate response handling for specific methods to enhance performance and reduce latency. (73ae64b)
  • Enhance DAsScreen and related components by adding onTopAppBarEvent parameter for improved event handling, enabling better interaction with the top app bar. Update NavGraph and view models to support new functionality, ensuring a more responsive user experience. (859be69)
  • Enhance Settings functionality by updating SettingsViewModel to load data time range and clear all data. Introduce new UI elements in SettingsScreen for data management, including a clear all data option, and update string resources for improved user feedback. (70dec77)
  • Add comprehensive design documentation for NoWakeLock's Magisk support and Wakelock information management system. Include detailed analysis, implementation strategies, and UI design principles to enhance project clarity and guide future development. (c313f0b)

Bug fixes

  • Update filter menu strings for clarity and consistency in AppsScreen (0a237b4)
  • Suppress lint warning for modifier parameter in DAsSortSection to improve code quality and maintainability (9d39906)
  • Downgrade Datastore Preferences dependency to version 1.1.4 for compatibility. Update TopAppBar to improve route handling and search functionality, ensuring dynamic title and action display based on current navigation state. Refactor NavRoutes to use consistent naming conventions for better clarity. (0d410b1)
  • Resolve infinite loop issue in AppsScreen during language switch by implementing unidirectional sync approach. Update protection registry to reflect changes and ensure state recovery integrity. (4a80872)
  • Adjust icon dimensions in drawable resource to 64dp for both width and height, ensuring consistency with design specifications. (d05dd5a)
  • Update GitHub workflow to use correct input variable for publishing and enhance Fastfile to support prerelease tagging based on release status. (ffcfdf0)
  • Resolve DAsScreen TopAppBar refresh button issue by establishing event propagation, enabling proper data refresh through viewModel.refreshData(). Enhance user experience across related screens. (9e4441a)
  • Resolve message persistence issue in settings screen by implementing auto-clearing functionality. Enhance localization for data clearing and backup messages in English, Chinese, and French, improving user experience and internationalization support. (c42dded)
  • Address AppScreen double refresh issue by optimizing loading state management in AppsViewModel. Implemented a delayed loading state update to enhance user experience during navigation. Fixed message persistence in settings screen with auto-clearing functionality and improved localization for data clearing messages. (011d895)

Code refactoring

  • Update design documentation for NoWakeLock app, correcting primary color from purple to blue and streamlining content structure (60c5e6a)
  • Revamp AppListItem layout to improve UI consistency and add system app indicator (2128b9d)
  • Update DAItem model to use default timeWindowSec value of 0; adjust DAListItem component logic for time window handling and enhance preview functionality (f563b19)
  • Simplify DAListItem component by extracting status color logic into a separate function; optimize layout with SubcomposeLayout for better performance and maintainability. (01a977a)
  • Replace LaunchedEffect with DisposableEffect for navigation state management; improve search state handling on destination changes in NoWakeLockApp component. (77c0391)
  • Replace DAHeaderSection with DADetailHeaderCard in DADetailContent for improved UI structure. Update typography styles in SwitchItem and DAInfoCard for consistency. Remove unused DAStatisticsCard and related imports, streamlining component dependencies. (f566e94)
  • Clean up imports in KoinDSL.kt and add protection comments in XposedModule.kt and WakelockHook.kt. Introduce GUARDED, CRITICAL, and PROTECTED comments to enhance code clarity and maintainability. (37104b2)
  • Update memory bank files to reflect project initialization phase and enhance documentation. Revise active context, progress tracker, project brief, protection registry, and technical context to align with current project status and goals. Introduce symbol reference guide for improved clarity on file and protection symbols. (4dae931)
  • Remove redundant description and globs from CodeProtection.mdc to streamline configuration. Simplify the file structure while maintaining essential protection rules. (176f44f)
  • Transition project phase from initialization to active development. Update active context, progress tracker, and protection registry to reflect current focus on feature implementation and optimization. Revise next steps and development guidelines to align with ongoing tasks and priorities. (a79d9e5)
  • Update DADetailRepositoryImpl to use combine for merging flows and streamline DAItem creation. Add type property to DAItem and clean up import statements for improved code clarity. (4cf7f82)
  • Update typography styles across various components for consistency and improved readability. Adjust layout in DATimelineCard to enhance visual alignment and add new string resource for "Now" to support dynamic labeling in the timeline chart. (81d77f0)
  • Remove obsolete cursorignore and CodeProtection.mdc files, and introduce new riper5sigma.mdc for enhanced project management and memory system integration. Streamline configuration and improve clarity in protection and context handling. (eb86a18)
  • Simplify type references in DARepository implementations and remove unnecessary logging in DARepositoryImpl. Enhance DAListItem to include userId handling and improve package name display with a user badge for better visual representation. (ddf43a5)
  • Remove unused AppDaR and DaR classes along with their associated interfaces and dependencies. Update Koin module to reflect these changes and improve code clarity by removing commented-out code. (de0b0f9)
  • Clean up AppDetailScreen by removing commented-out code and unnecessary blank lines. Improve formatting for better readability and maintainability. (b57f083)
  • Clean up glob patterns in multiple MDC files for code protection and MCP filesystem rules. Enhance AppWithStats class by adding getFormattedBlockedTime method for improved statistics display in AppDetailScreen. (ed5443d)
  • Improve AppDetailScreen tab loading logic by utilizing derivedStateOf for better state management. Update DAsViewModel to streamline savedStateHandle interactions and enhance data filtering based on package name and user ID. (f91af1a)
  • Update context usage in AppDasAR and improve UI components by replacing Divider with HorizontalDivider for consistent styling. Adjust icon imports to use AutoMirrored variants for better compatibility across different screen orientations. (63c79da)
  • Update typography styles in Settings UI components for improved readability and consistency. Adjust color scheme handling in Theme.kt for better compatibility with system UI. (491b28d)
  • Update comments in SettingsScreen.kt for clarity and consistency, translating Chinese comments to English for better accessibility. Adjust typography styles in dialog components for improved readability. (516ea39)
  • Add @SuppressLint annotation to set preference methods in SPTools for improved linting and code clarity. (d8b2dd1)
  • Rename snackbarHostState to snackBarHostState for consistency and update currentUserId to use mutableIntState for better state management. (6015ac3)
  • Update user change notification logic in AppsScreen to prevent unnecessary updates and improve state handling. (c347346)
  • Improve AlarmHook, ServiceHook, and WakelockHook for better readability and maintainability. Introduce instance ID generation for wakelock events, enhance event recording methods in XpRecord, and streamline method calls for hooking system services. Update logging for clarity on event handling. (0abdfdc)
  • Comment out @SuppressLint annotations in SPTools for improved code clarity and maintainability. (1e17e74)
  • Simplify data retrieval methods in DARepositoryImpl by removing sorting parameters and ensuring consistent mapping of DAItems. Update loadISs methods to streamline data processing and enhance readability. (591c381)
  • Comment out logging statements in XProvider, WakelockHook, and XpRecord to reduce log clutter and improve performance during event processing. (d1df69d)
  • Update DARepositoryImpl to sort DAItems in descending order by count and countTime for improved data handling. Refactor ServiceHook to implement flexible service hooks for both startServiceLocked and bindServiceLocked methods, enhancing parameter extraction strategies and logging for better debugging. (cb0f55c)
  • Update active context and progress documentation to reflect the recent restructuring of ServiceHook. Split flexibleServiceHook into independent methods for startServiceLocked and bindServiceLocked, enhancing modularity and support for Android 16+. Improve parameter extraction strategies and logging for better debugging and adaptability. (479ec37)
  • Simplify hour label formatting in DADetailRepositoryImpl by extracting logic into a dedicated method. Update TimelineChart to remove unused key hour for improved clarity in displayed labels. (92dc495)
  • Comment out logging statements in ServiceHook to reduce verbosity during service parameter extraction. This change aims to streamline the logging output while maintaining functionality. (e0be8aa)
  • Comment out logging statements in ServiceHook to reduce verbosity during service parameter extraction, maintaining functionality while streamlining output. (170fceb)
  • Comment out test cases in WakelockCounterTest, WakelockRegistryBasicTest, and WakelockRegistryProblemTest to streamline test execution while maintaining code structure for future use. (e3f814f)
  • Update text styles in AppListItem and DAListItem components for improved readability and consistency across the UI. (8af8e3b)
  • Remove MODIFIED filter option from AppsScreen and AppsViewModel, and update related UI components for consistency in filtering applications. (6c0592d)
  • Update text styles in AppDetailScreen and DASettingsCard components for improved consistency and readability across the UI (fc48bd2)
  • Comment out debug logger in BasicApp and update text styles in ServiceListItem for improved consistency and readability across the UI (255a986)
  • Add @serializable annotation to DASortOption and DAFilterOption enums for improved serialization support (3f635fd)
  • Optimize time calculation in calculateTime function by filtering completed events and improving segment duration logic (d18d57c)
  • Rename parameter 'id' to 'name' in findBestMatch function for clarity and consistency in matching logic (7de34fe)
  • Implement unified service hooking strategy with parameter caching for startServiceLocked and bindServiceLocked methods (a5b42ec)
  • Enhance ServiceHook performance with unified parameter caching and adaptive strategies for improved efficiency across Android versions (9178bef)
  • Implement unified alarm hooking strategy with parameter extraction caching and adaptive handling for improved compatibility across Android versions (752e60b)
  • Update active context and progress tracker with unified alarm hooking strategy, enhancing performance and compatibility across Android versions (fd6e3a2)
  • Implement unified wakelock hooking strategy with adaptive parameter extraction and caching for improved compatibility across Android versions (07207e5)
  • Update active context, progress tracker, and protection registry with enhancements to WakelockHook, including unified hooking strategy, adaptive parameter extraction, and improved error handling for better performance across Android versions (130ea5a)
  • Enhance database migration strategy by implementing shared migration logic for info_event table across AppDatabase and InfoDatabase, improving maintainability and consistency in version upgrades (779ca1b)
  • Optimize Room database migration strategy by implementing multi-path migration for AppDatabase and InfoDatabase, ensuring atomic operations and resolving version jump issues, including comprehensive logging and error handling (e38b9ea)
  • Extract boot detection logic into dedicated hookBootCompletedMethods method in XposedModule, enhancing code maintainability and modularity while preserving existing functionality (4055264)
  • Restructure boot detection logic in XposedModule by extracting it into a dedicated hookBootCompletedMethods method, improving code organization and maintainability while ensuring compatibility across various Android versions (5f6bfc4)
  • Optimize AppDasAR by removing outdated caching logic and implementing parallel processing for app statistics retrieval. Enhance data flow management and improve performance by utilizing coroutine-based asynchronous queries, ensuring a more efficient user experience. (30bc715)
  • Comment out initial data load trigger in AppsViewModel to streamline initialization process and improve code clarity. (59d7c3a)
  • Implement structured concurrency across multiple components to enhance performance and responsiveness. Utilize coroutineScope and async for parallel processing in PowerConnectionReceiver, AppDasAR, DARepositoryImpl, DAsViewModel, and SettingsViewModel, improving data synchronization and cache management. (f78adef)

Don't miss a new NoWakeLock release

NewReleases is sending notifications on new releases.