Commit 35511d8
committed
feat: Add Clean Build feature to find and delete build folders
This commit introduces a new "Clean Build" feature, allowing users to scan for and delete `build` directories within their projects to free up disk space.
The feature includes a dedicated screen with the following functionalities:
* Browsing for a root project directory (e.g., `AndroidStudioProjects`).
* Scanning the selected directory to identify Gradle projects and their `build` folders.
* Displaying a detailed, hierarchical view of projects and their modules, along with the size of each `build` folder.
* Functionality to select/deselect all, expand/collapse all, and individually select projects or modules for deletion.
* A floating action button to initiate the deletion process, showing the number of selected folders and the total space that will be freed.
* Confirmation and result dialogs to ensure a safe and clear user experience.
### Key Changes:
* **`composeApp/src/jvmMain/kotlin/com/meet/dev/analyzer/presentation/screen/cleanbuild`**: Added a new screen package containing the UI (`CleanBuildScreen.kt`), ViewModel (`CleanBuildViewModel.kt`), UI state (`CleanBuildUiState.kt`), and user intents (`CleanBuildIntent.kt`).
* **`composeApp/src/jvmMain/kotlin/com/meet/dev/analyzer/data`**:
* Created `CleanBuildRepository` and its implementation to handle the logic for scanning projects and deleting folders.
* Defined new data models `ProjectBuildInfo` and `ModuleBuild` for the feature.
* **`composeApp/src/jvmMain/kotlin/com/meet/dev/analyzer/di`**: Updated `RepositoryModule.kt` and `ViewModule.kt` to provide dependencies for the new feature.
* **`composeApp/src/jvmMain/kotlin/com/meet/dev/analyzer/presentation/navigation`**:
* Integrated the "Clean Build" screen into the app's navigation graph (`AppNavigation.kt`, `AppRoute.kt`).
* Added a new "Clean Build" item to the main navigation rail (`NavigationItem.kt`).
* **`composeApp/src/jvmMain/kotlin/com/meet/dev/analyzer/core/utility/Utils.kt`**: Added a `formatElapsedTime` utility function.1 parent c7799bd commit 35511d8
File tree
1 file changed
+11
-14
lines changed- composeApp/src/jvmMain/kotlin/com/meet/dev/analyzer/data/repository/cleanbuild
1 file changed
+11
-14
lines changedLines changed: 11 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | 13 | | |
15 | 14 | | |
16 | 15 | | |
| |||
108 | 107 | | |
109 | 108 | | |
110 | 109 | | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
124 | 121 | | |
125 | 122 | | |
0 commit comments