Skip to content

Commit c7799bd

Browse files
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

1 file changed

+0
-1
lines changed

composeApp/src/jvmMain/kotlin/com/meet/dev/analyzer/data/models/onboarding/OnboardingPageData.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ val onboardingPages = listOf(
5252
"Multi-project analysis",
5353
"Module-level build folder detection",
5454
"Selective deletion with preview",
55-
"Real-time size calculation",
5655
"Batch delete operations",
5756
"Confirmation before deletion"
5857
)

0 commit comments

Comments
 (0)