This commit is contained in:
2026-01-11 04:06:30 +00:00
parent 94380b4933
commit f30ce2c035
3851 changed files with 148 additions and 0 deletions

View 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

View File

Before

Width:  |  Height:  |  Size: 641 B

After

Width:  |  Height:  |  Size: 641 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

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