mirror of
https://github.com/johndoe6345789/tustu.git
synced 2026-04-24 13:45:00 +00:00
stuff
This commit is contained in:
148
app/REORGANIZATION_SUMMARY.md
Normal file
148
app/REORGANIZATION_SUMMARY.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# App Directory Reorganization Summary
|
||||
|
||||
## Overview
|
||||
The `app/` directory has been reorganized from a flat structure with cryptic single-letter names into a more maintainable hierarchical structure.
|
||||
|
||||
## Changes Made
|
||||
|
||||
### 1. Created New Organizational Directories
|
||||
|
||||
#### `themes/`
|
||||
- Contains UI theme files
|
||||
- Files moved: `Default.theme`, `Gen4.theme`
|
||||
|
||||
#### `icons/`
|
||||
- Contains application icon resources
|
||||
- Files moved: `MTicon.png`, `TSicon.gif`, `jar.ico`
|
||||
|
||||
#### `docs/`
|
||||
- Contains documentation and licensing
|
||||
- Files moved: `overview.html`, `License.txt`
|
||||
|
||||
#### `lib/`
|
||||
- Contains library archives and source files
|
||||
- Files moved: `jd-gui-1.6.6.jar.src.zip`
|
||||
|
||||
#### `build/`
|
||||
- Contains build configuration files
|
||||
- Files moved: `build.gradle.kts`
|
||||
|
||||
#### `obfuscated_support_classes/`
|
||||
- Contains helper classes that support the main applications
|
||||
- **Renamed files:**
|
||||
- `a.java` → `MegaLogViewerInitializer.java` - Initializes MegaLogViewer instance
|
||||
- `b.java` → `FileLoaderRunnable.java` - File loading task runner
|
||||
- `c.java` → `IndexProgressListener.java` - Progress listener for indexing
|
||||
- `d.java` → `IndexUpdateRunnable.java` - Index update task
|
||||
- `e.java` → `AppThreadRunner.java` - Application thread executor
|
||||
- `f.java` → `SystemGCRunnable.java` - Garbage collection runner
|
||||
- `g.java` → `TunerStudioInitializer.java` - Initializes TunerStudio instance
|
||||
- `h.java` → `ShutdownTimeoutThread.java` - Shutdown timeout handler
|
||||
- `i.java` → `ShutdownHookThread.java` - Shutdown hook handler
|
||||
- These are typically small utility, callback, and initialization classes
|
||||
|
||||
#### `obfuscated_packages/`
|
||||
- Contains all the obfuscated Java packages (single and multi-letter directory names)
|
||||
- All cryptic package directories moved here (a/, A/, aa/, aA/, ab/, etc.)
|
||||
- **Notable sub-packages:**
|
||||
- `utils_logging/` (formerly `bH/`) - Logging and utility classes
|
||||
- `DebugLogger.java` (formerly `D.java`) - Main debug logging class
|
||||
- `OSDetector.java` (formerly `J.java`) - Operating system detection utilities
|
||||
- `DeadlockDetector.java` (formerly `i.java`) - Thread deadlock detection
|
||||
- `FileUtils.java` (formerly `t.java`) - File system utility methods
|
||||
- `ui_components/` (formerly `ao/`) - Swing UI components (JPanel, JButton, JDialog, etc.)
|
||||
- `MainFrame.java` (formerly `cd.java`) - Main application JFrame
|
||||
- `LogSelectionDialog.java` (formerly `bE.java`) - Log selection dialog
|
||||
- `IconButton.java` (formerly `ag.java`) - Custom button with icon support
|
||||
|
||||
### 2. Retained in Root
|
||||
- `TunerStudio.java` - Main TunerStudio application entry point
|
||||
- `MegaLogViewer.java` - Main MegaLogViewer application entry point
|
||||
- `Staging.java` - Staging utility
|
||||
- `CountLines.java` - Line counting utility
|
||||
- `com/` - Proper package structure (com.efiAnalytics.*)
|
||||
- `org/` - Third-party packages (org.jdatepicker)
|
||||
- `META-INF/` - Manifest and metadata files
|
||||
|
||||
## Package Name Mappings
|
||||
|
||||
### Directory Renames
|
||||
| Old Name | New Name | Purpose |
|
||||
|----------|----------|---------|
|
||||
| `bH/` | `utils_logging/` | Logging, debugging, and utility classes |
|
||||
| `ao/` | `ui_components/` | Swing UI components and widgets |
|
||||
|
||||
### File Renames - Support Classes
|
||||
| Old Name | New Name | Purpose |
|
||||
|----------|----------|---------|
|
||||
| `a.java` | `MegaLogViewerInitializer.java` | Initializes MegaLogViewer |
|
||||
| `b.java` | `FileLoaderRunnable.java` | File loading task |
|
||||
| `c.java` | `IndexProgressListener.java` | Index progress tracking |
|
||||
| `d.java` | `IndexUpdateRunnable.java` | Index update task |
|
||||
| `e.java` | `AppThreadRunner.java` | Thread executor |
|
||||
| `f.java` | `SystemGCRunnable.java` | Garbage collection |
|
||||
| `g.java` | `TunerStudioInitializer.java` | Initializes TunerStudio |
|
||||
| `h.java` | `ShutdownTimeoutThread.java` | Shutdown timeout |
|
||||
| `i.java` | `ShutdownHookThread.java` | Shutdown hook |
|
||||
|
||||
### File Renames - Utils/Logging
|
||||
| Old Name | New Name | Purpose |
|
||||
|----------|----------|---------|
|
||||
| `bH/D.java` | `utils_logging/DebugLogger.java` | Debug logging |
|
||||
| `bH/J.java` | `utils_logging/OSDetector.java` | OS detection |
|
||||
| `bH/i.java` | `utils_logging/DeadlockDetector.java` | Deadlock detection |
|
||||
| `bH/t.java` | `utils_logging/FileUtils.java` | File utilities |
|
||||
|
||||
### File Renames - UI Components
|
||||
| Old Name | New Name | Purpose |
|
||||
|----------|----------|---------|
|
||||
| `ao/cd.java` | `ui_components/MainFrame.java` | Main JFrame |
|
||||
| `ao/bE.java` | `ui_components/LogSelectionDialog.java` | Dialog for logs |
|
||||
| `ao/ag.java` | `ui_components/IconButton.java` | Icon button widget |
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
app/
|
||||
├── build/ # Build configuration
|
||||
├── com/ # Standard packages
|
||||
│ └── efiAnalytics/ # Main application code
|
||||
├── docs/ # Documentation
|
||||
├── icons/ # Application icons
|
||||
├── lib/ # Library archives
|
||||
├── META-INF/ # Manifest files
|
||||
├── obfuscated_packages/ # All obfuscated packages
|
||||
│ ├── ui_components/ # UI widgets (formerly ao/)
|
||||
│ ├── utils_logging/ # Logging utils (formerly bH/)
|
||||
│ └── [a-zA-Z]{1,2}/ # Other obfuscated packages
|
||||
├── obfuscated_support_classes/ # Single-letter helper classes
|
||||
├── org/ # Third-party packages
|
||||
├── themes/ # UI themes
|
||||
├── CountLines.java # Utility
|
||||
├── MegaLogViewer.java # Main app
|
||||
├── Staging.java # Utility
|
||||
└── TunerStudio.java # Main app
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
### About Obfuscated Code
|
||||
This appears to be decompiled Java code from TunerStudio MS. The single and multi-letter package/class names are typical of obfuscated code where original meaningful names have been replaced with short identifiers.
|
||||
|
||||
### Import Statements
|
||||
**Warning:** Many files throughout the codebase import the old package names (e.g., `import bH.D;`, `import ao.cd;`). These imports would need to be updated if you want to fully use the renamed packages (`utils_logging`, `ui_components`).
|
||||
|
||||
To maintain backward compatibility, the renamed directories could be symlinked to their old names, or a comprehensive refactoring of all import statements would be needed.
|
||||
|
||||
### Recommendations for Further Organization
|
||||
1. Consider creating symbolic links for renamed packages to maintain import compatibility
|
||||
2. The remaining ~150 obfuscated packages could be analyzed and renamed based on their functionality
|
||||
3. Consider using a deobfuscator tool if source code mapping is available
|
||||
4. Group related obfuscated packages into functional subdirectories
|
||||
|
||||
## Impact
|
||||
This reorganization improves:
|
||||
- **Navigability**: Related files are grouped together
|
||||
- **Clarity**: Resource types are immediately identifiable
|
||||
- **Maintainability**: Easier to locate and manage specific file types
|
||||
- **Separation of concerns**: Clear distinction between app code, resources, and build artifacts
|
||||
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 641 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user