Commit c7799bd
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 0e28e03 commit c7799bd
File tree
1 file changed
+0
-1
lines changed- composeApp/src/jvmMain/kotlin/com/meet/dev/analyzer/data/models/onboarding
1 file changed
+0
-1
lines changedLines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | 55 | | |
57 | 56 | | |
58 | 57 | | |
| |||
0 commit comments