Commit Graph

102 Commits

Author SHA1 Message Date
4fba047244 Update Gradle execution and file hash binaries 2026-01-11 21:53:25 +00:00
623bf273c3 stuff 2026-01-11 21:53:08 +00:00
ef7a374bf1 Refactor code structure for improved readability and maintainability 2026-01-11 21:43:54 +00:00
4842b570a5 stuff 2026-01-11 21:42:29 +00:00
a2e5749cb1 stuff 2026-01-11 21:41:20 +00:00
82d9152746 stuff 2026-01-11 21:33:37 +00:00
4bedc7cd6a stuff 2026-01-11 21:30:39 +00:00
89317fbc21 Refactor documentation and consolidate scripts
- Deleted `IMPLEMENTATION_SUMMARY.md` as its content is now integrated into other documentation.
- Added `INDEX.md` for quick navigation of the scripts folder.
- Created `MARKDOWN_STYLE.md` to establish a consistent markdown style guide for documentation.
- Updated `README.md` to reflect the new documentation structure and provide links to additional resources.
- Introduced `README_SCRIPTS.md` detailing the consolidation of scripts into `tustu_tools.py`.
- Added `REORGANIZATION_SUMMARY.md` to summarize the changes made during the scripts reorganization.
- Removed `TEST_DATA_GENERATOR_FEATURE.md` as its content is now covered in `README_SCRIPTS.md`.
- Updated `scripts/README.md` to include links to new documentation files and improve clarity.
2026-01-11 21:09:51 +00:00
db8eac5a02 feat: Add unified command-line utility for TunerStudio project
- Introduced `tustu_tools.py` to consolidate various scripts into a single command-line tool.
- Implemented key generation functionality with multiple algorithms.
- Added dummy data generation and email formatting capabilities.
- Included structure analysis and constructor fixing for Java files.
- Created wrapper script `tustu-tools` for easy access to the utility.
- Developed test scripts for dummy data and email generation.
- Added a script for reorganizing the app directory structure.
2026-01-11 21:05:10 +00:00
84f4e09289 feat: Add scripts for renaming obfuscated Java files, reorganizing structure, and testing dummy data generation
- Implemented `rename_obfuscated_files.py` to generate semantic names for obfuscated Java files, analyze import dependencies, and execute batch renaming.
- Created `reorganize_structure.py` to analyze the current directory structure, propose reorganization plans, and execute file movements based on package declarations.
- Added `test_dummy_data.py` to demonstrate the functionality of the dummy data generator and validate generated registration keys.
- Introduced `test_email_generation.py` to test the email generation functionality for registration emails.
2026-01-11 20:48:24 +00:00
925e15088c stuff 2026-01-11 20:47:41 +00:00
2454c41214 Refactor code structure for improved readability and maintainability 2026-01-11 20:45:37 +00:00
a17fd820b6 Add script to fix misnamed constructors in Java files
This commit introduces a new Python script, `fix_constructors_v2.py`, which automates the process of correcting constructor names in Java files based on Gradle error outputs. The script scans specified Java files, identifies constructors that do not match their class names, and updates them accordingly. It handles various edge cases, ensuring that only relevant constructors are modified. The script also provides feedback on the changes made during execution.
2026-01-11 20:45:07 +00:00
85634e7c37 Refactor code structure for improved readability and maintainability 2026-01-11 20:44:08 +00:00
f5118f5bb2 Add script to fix constructor names in obfuscated Java code
This commit introduces a new Python script, `fix_constructors.py`, which scans Java files for constructors that do not match their enclosing class names. The script identifies misnamed constructors and corrects them, ensuring that all constructors adhere to Java's naming conventions. It processes all Java files within a specified directory and reports the number of files modified.
2026-01-11 20:44:01 +00:00
16514b48fb Add MANIFEST.MF and configure Gradle to use Java 21
- Created a new MANIFEST.MF file for the JAR with version 1.0.
- Added gradle.properties to specify Java 21 as the JDK for Gradle builds, ensuring compatibility with current Gradle/Kotlin versions.
2026-01-11 20:43:48 +00:00
8c8828571d feat: initialize Gradle project structure with necessary configuration files 2026-01-11 20:41:33 +00:00
34f2cc291a stuff 2026-01-11 20:31:15 +00:00
3def66da2d stuff 2026-01-11 20:30:56 +00:00
5df1fb1cc3 feat: add shutil import for file manipulation in directory reorganization 2026-01-11 20:28:20 +00:00
3b4a8b3e5b feat: add structure analysis tool for reorganizing app directory 2026-01-11 20:28:14 +00:00
59ff14eb99 stuff 2026-01-11 20:19:52 +00:00
07a783a639 stuff 2026-01-11 20:15:12 +00:00
2a5f71a658 feat: add complete solution for renaming obfuscated Java files
- Implemented semantic name generation for obfuscated Java classes
- Analyzed import dependencies to track class references
- Created batch execution logic for renaming files and updating imports
- Added comprehensive error handling and logging throughout the process
- Generated a complete mapping of renamed files and their dependencies
2026-01-11 20:00:54 +00:00
6b848ed28a feat: add import analysis tool for Java files
- Introduced a new script `analyze_imports.py` to analyze and map dependencies of import statements in Java files.
- Extracts import statements and checks against a rename mapping from `PACKAGE_MAPPING_SMART.json`.
- Generates a comprehensive mapping of obfuscated classes and files needing updates.
- Outputs results to `COMPLETE_RENAME_MAPPING.json` with statistics on files processed and needing updates.
2026-01-11 19:58:02 +00:00
db7e396d34 Enhance filename generation logic for Java classes
- Improved filtering of field types, imported classes, instantiated classes, method parameter types, and return types to exclude Java primitives, common types, and keywords.
- Added semantic analysis for generating more meaningful class names based on field names, instantiated classes, and method names.
- Introduced a contextual naming strategy that incorporates various characteristics of the class, such as technology context (networking, I/O, threading), field types, and method names.
- Implemented a global uniqueness check for generated filenames to prevent conflicts across packages.
- Updated the fallback naming strategy to ensure uniqueness while maintaining descriptiveness.
- Enhanced logging for duplicate name detection and resolution.
2026-01-11 19:55:57 +00:00
f62357aee4 Enhance class information extraction by expanding string literal, import, and instantiation limits; add method parameter and return type extraction; introduce usage pattern detection for threading, I/O, networking, Swing, collections, and serialization. 2026-01-11 19:45:31 +00:00
5af16bb06d Enhance class information extraction and naming conventions in generate_smart_mapping.py
- Added extraction of field names, string literals, imported classes, and instantiated classes for better context.
- Improved specific name inference for ActionListener and other UI components based on additional context.
- Enhanced naming strategies to include context from instantiated classes, field types, and method names.
- Implemented a global uniqueness check for generated filenames, fixing duplicates by adding numeric suffixes.
- Updated the mapping file generation to ensure all names are unique across the entire workspace.
2026-01-11 19:45:24 +00:00
4e6a6c4ca5 Enhance listener inference and filename generation in generate_smart_mapping.py
- Improved specific name extraction for ActionListener by analyzing content for UI components and method calls.
- Added fallback mechanisms for other listener types while ensuring ActionListener is prioritized.
- Refined filename generation strategies to prioritize specific inferred names, followed by class names, descriptions, and method names.
- Updated strategy numbering for clarity and consistency in the filename generation process.
2026-01-11 19:38:40 +00:00
f412693f71 Enhance class info extraction by adding specific name inference and refining field type handling 2026-01-11 19:33:08 +00:00
1f49d4b542 Refactor smart mapping generation for Java files
- Enhanced class information extraction with detailed attributes (interfaces, methods, etc.)
- Implemented creative naming strategies to avoid filename conflicts
- Improved conflict resolution by tracking used names per package
- Updated statistics tracking for better insights on mapping process
- Refined output messages for clarity and detail
- Changed function name to `generate_smart_mapping_v2` for versioning
2026-01-11 19:31:34 +00:00
c851893f0c Enhance JavaFileAnalyzer and mapping generation logic
- Updated analyze_file method to accept an optional filename parameter for better handling of already renamed files.
- Added checks to skip analysis for files with multi-character or CamelCase names in both analyze_file and analyze_package methods.
- Modified generate_smart_mapping to track and report skipped files due to renaming or empty content.
- Improved fallback naming strategy for files without analysis results.
- Enhanced documentation for clarity on the purpose of functions and parameters.
2026-01-11 19:27:24 +00:00
5996bca313 Add Java file analyzer and smart mapping generator
- Implemented `analyze_java_files.py` to provide heuristic analysis of Java files, suggesting descriptive names for obfuscated classes based on code patterns, imports, methods, and class structure.
- Created `generate_smart_mapping.py` to generate a mapping of old to new filenames using the Java file analyzer, producing `PACKAGE_MAPPING_SMART.json` with suggested filenames.
- Added detailed analysis output to `JAVA_ANALYSIS_DETAILED.json` for further insights into the analysis process.
- Introduced a cache file for compiled Python files in `__pycache__`.
2026-01-11 19:20:36 +00:00
1dfa10ab5f Implement feature X to enhance user experience and optimize performance 2026-01-11 19:18:13 +00:00
c19c6cc79b Implement feature X to enhance user experience and optimize performance 2026-01-11 19:16:53 +00:00
599bf18586 Implement KalmanFilter class with matrix operations for enhanced filtering capabilities 2026-01-11 19:13:57 +00:00
01bcf08a6d Refactor ProtocolVersionNegotiator: replace instances of 'e' with 'BlockingFactorHolder' for improved clarity and consistency 2026-01-11 18:54:42 +00:00
1321878cb8 Refactor class names for clarity: rename 'l' to 'TcpWifiConnection', 'c' to 'ProtocolAdapterFactory', 'd' to 'ProtocolVersionNegotiator', and 'a' to 'AccelEnrichmentWizard'; update method parameters for improved readability 2026-01-11 18:54:14 +00:00
ed8457a914 Refactor KalmanFilter usage: replace instances of 'a' with 'KalmanFilter' and update constructor calls for improved clarity and functionality 2026-01-11 18:53:53 +00:00
2778da4304 Refactor matrix handling: replace instances of 'b' with 'Matrix' and introduce Matrix, MatrixInverter, and MatrixOrthogonalizer classes for improved linear algebra operations 2026-01-11 09:08:27 +00:00
5f18b30e85 Refactor class names for clarity and consistency across the bt package 2026-01-11 08:30:36 +00:00
de8f4429ba Add new classes and interfaces for enhanced functionality in the bt package
- Introduced ContextHelpMouseAdapter for handling mouse events related to context help.
- Implemented EnableDelayManager and EnableDelayThread for managing delays in enabling features.
- Created EnabledStateCallback interface for state change notifications.
- Added HelpIconLabel and HelpIconMouseAdapter for displaying help icons with tooltips.
- Developed IndicatorReadoutPanel for visual representation of indicators.
- Implemented LiveGraphDataSeries and associated mouse adapters for live graph updates.
- Created LiveGraphPaintThrottle to manage painting frequency in live graphs.
- Added MenuItemIconProvider for dynamic icon assignment to menu items.
- Introduced NamedPanel for panels with names and associated properties.
- Implemented NoteEditorCallback for handling note editing actions.
- Created NoteIconLabel for displaying notes with icons.
- Developed PrefixedPropertyStore for managing properties with prefixes.
- Added RefreshRateCalculator for calculating refresh rates based on conditions.
- Introduced RefreshableComponent interface for components that can be refreshed.
- Created TableCellHighlightListener interface for handling cell highlight events.
- Implemented ValueComboBox for enhanced combo box functionality with custom items.
2026-01-11 08:28:52 +00:00
ad67fb1f86 Add new components for numeric text fields and table editing
- Introduced NumericTextField class with focus and key listeners for enhanced user input handling.
- Created NumericTextFieldFocusAdapter and NumericTextFieldKeyAdapter for focus and key event management.
- Implemented RequiredFuelCalculatorPropertyStore for managing fuel calculation properties.
- Added SettingCalibrationField and associated action listener for calibration settings.
- Developed Table2DEditorPanel for 2D table editing functionality, including output channel subscription.
- Introduced Table2DLabelTranslator and Table2DOutputChannelSubscriber for label translation and output channel management.
- Added Table2DPropertyStore for property storage related to 2D tables.
- Implemented TuningMenuBar and TuningMenuBuilder for dynamic menu creation based on tuning parameters.
- Created TuningPopupMenu for context-sensitive actions in the tuning interface.
- Established interfaces for text change notifications and listeners to facilitate communication between components.
2026-01-11 08:28:37 +00:00
c41e69f7de Add new classes for tuning data management and analysis
- Introduced `TuneDataSnapshot` for managing and synchronizing tuning data.
- Added `TuneDifferenceAnalyzer` to analyze differences between tuning parameters.
- Created `TuneValidatorRegistry` for managing validation rules.
- Implemented `TurboBaudHandler` to handle turbo baud rate changes.
- Added `WorkingCanIdFunction` for retrieving working CAN ID values.
2026-01-11 08:28:16 +00:00
a205b05353 Add ToggleFunction, UltraFunctionFactory, and UpdateValueWhenFunction classes 2026-01-11 08:23:09 +00:00
347ed15b78 Add Gauge Color Setters and Properties Menu
- Introduced multiple GaugeColorSetter classes (B to L) for setting gauge colors dynamically.
- Implemented GaugePropertiesMenu class to manage gauge properties and settings.
- Added action listeners for gauge styles and slider value changes to enhance interactivity.
- Created RadioButtonColorSelectionListener and StaticValueActionListener for handling user input.
- Ensured compatibility with existing gauge components and UI elements.
2026-01-11 07:39:35 +00:00
8c52f7d2ab Add new classes and interfaces for settings management and calibration
- Introduced interfaces for logging preferences (LogPreferences.java), output channel definitions (OutputChannelDefinition.java), and progress listeners (ProgressListener.java).
- Implemented OutputChannelImpl.java to handle output channel logic and data processing.
- Created classes for recoverable exceptions (RecoverableException.java) and setting definitions (SettingDefinition.java).
- Developed SettingsGroupManager.java for managing settings groups and parsing related files.
- Added SettingsParser.java to handle configuration file parsing and filtering.
- Implemented SignatureExtractor.java for extracting signatures from files.
- Created StringCallback.java and StringPairProvider.java interfaces for callback mechanisms.
- Developed ThrottleCalibrationGenerator.java for generating throttle calibration files.
- Introduced TranslationEntry.java for handling translation entries and formatting.
- Added ValueFormatter.java interface for formatting float values.
2026-01-11 07:30:03 +00:00
88d8256670 Add port editor components and listeners
- Implemented OnOffUpdateListener for handling toggle updates.
- Created OutputChannelCallback interface for output channel notifications.
- Developed OutputChannelComboBox for managing output channel selections.
- Added OutputChannelHandler to process output channel updates.
- Introduced OutputChannelSelectionListener for action events on output channel selections.
- Implemented OutputChannelUpdateListener to handle updates based on specific conditions.
- Created PortActionListenerB and PortActionListenerC for button actions in the output port editor.
- Added PortCheckBoxItemListener to manage checkbox state changes.
- Developed PortConfigCheckBox for configuration settings in the output port editor.
- Implemented PortControllerPanel to manage multiple output channels and their configurations.
- Created PortEditorRowPanel for organizing output port settings in a row format.
- Added PortEnableItemListener to handle enabling/disabling of output ports.
- Developed PortItemList for managing a list of output items.
- Created PortItemModel to represent individual items in the output port list.
- Implemented PortListSelectionListener to handle selection changes in the output port list.
- Added PortSelectionActionListener for handling selection actions in the output port editor.
- Developed PortSelectionRunnable for executing selection logic in a separate thread.
- Implemented PortStatusCellRenderer for rendering output port status in a list.
- Created ThresholdSyncValueEditor for managing threshold synchronization values.
2026-01-11 07:24:22 +00:00
316dfaa139 Rename classes for improved clarity and consistency across the search module 2026-01-11 07:18:32 +00:00
65ac0875ef Add search functionality and related components
- Implemented DeviceTableMouseAdapter for handling mouse events in device table.
- Created DeviceTableRefreshRunnable and DeviceTableUpdateRunnable for refreshing and updating device table data.
- Added IpPanelActionRunnable and IpPanelUpdateRunnable for handling IP panel actions and updates.
- Introduced IpSearchEventListener and IpSearchExecutionThread for managing IP search events and execution.
- Developed IpSearchMonitorThread for monitoring IP search status.
- Implemented MenuItemActionHandler for handling menu item actions.
- Added ProjectChangeListener and ProjectFolder for managing project changes and folder details.
- Created ProjectRefreshRunnable and ProjectUpdateRunnable for refreshing and updating project data.
- Implemented SearchBoxFocusListener and SearchBoxKeyListener for managing focus and key events in search box.
- Developed SearchBoxPanel for encapsulating search box functionality.
- Introduced SearchDelayThread for managing search delays.
- Created SearchGroupPanel for organizing search results.
- Implemented SearchNavigationHandler for handling navigation in search results.
- Added SearchPopupShowRunnable for displaying search result popups.
- Developed SearchResultCategory and SearchResultItem for managing search result categories and items.
- Implemented SearchResultItemMouseAdapter for handling mouse events on search result items.
- Created SearchResultItemPanel for displaying individual search result items.
- Developed SearchResultsPopup for displaying search results in a popup window.
- Introduced SearchSelectionListener interface for handling selection events in search results.
- Implemented SearchUtils for utility functions related to search operations.
2026-01-11 07:18:19 +00:00