Skip to content

Commit

Permalink
Separated the app by screens + some fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Mihai-Cristian Condrea committed Oct 14, 2024
1 parent 752f0b6 commit 941f12f
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 39 deletions.
3 changes: 0 additions & 3 deletions app/src/main/kotlin/com/d4rk/cleaner/ui/components/Buttons.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
Expand Down Expand Up @@ -46,7 +45,6 @@ fun TwoRowButtons(
modifier = Modifier
.weight(1f)
.bounceClick(),
colors = ButtonDefaults.outlinedButtonColors(contentColor = Color.Black)
) {
Icon(
imageVector = onStartButtonIcon,
Expand All @@ -68,7 +66,6 @@ fun TwoRowButtons(
modifier = Modifier
.weight(1f)
.bounceClick(),
colors = ButtonDefaults.buttonColors(contentColor = Color.White)
) {
Icon(
imageVector = onEndButtonIcon,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.d4rk.cleaner.ui.components.dialogs

import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable

@Composable
fun ConfirmationAlertDialog(
confirmationTitle: String,
confirmationMessage: String,
confirmationConfirmButtonText: String,
confirmationDismissButtonText: String,
onConfirm: () -> Unit,
onDismiss: () -> Unit
) {
AlertDialog(
onDismissRequest = onDismiss,
title = { Text(text = confirmationTitle) },
text = { Text(confirmationMessage) },
confirmButton = {
TextButton(onClick = onConfirm) {
Text(text = confirmationConfirmButtonText)
}
},
dismissButton = {
TextButton(onClick = onDismiss) {
Text(text = confirmationDismissButtonText)
}
}
)
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.d4rk.cleaner.ui.screens.home
package com.d4rk.cleaner.ui.screens.analyze

import android.content.Context
import android.content.Intent
Expand All @@ -15,11 +15,9 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.LazyColumn
Expand All @@ -33,17 +31,13 @@ import androidx.compose.material.icons.outlined.Close
import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material.icons.outlined.DeleteForever
import androidx.compose.material.icons.outlined.Folder
import androidx.compose.material.icons.outlined.FolderOff
import androidx.compose.material.icons.outlined.Refresh
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.Card
import androidx.compose.material3.Checkbox
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.FilterChip
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.OutlinedCard
import androidx.compose.material3.ScrollableTabRow
import androidx.compose.material3.Tab
Expand Down Expand Up @@ -78,6 +72,8 @@ import com.d4rk.cleaner.ui.components.TwoRowButtons
import com.d4rk.cleaner.ui.components.animations.bounceClick
import com.d4rk.cleaner.ui.components.animations.hapticPagerSwipe
import com.d4rk.cleaner.ui.components.dialogs.ConfirmationAlertDialog
import com.d4rk.cleaner.ui.screens.home.HomeViewModel
import com.d4rk.cleaner.ui.screens.nofilesfound.NoFilesFoundScreen
import com.d4rk.cleaner.utils.TimeHelper
import com.d4rk.cleaner.utils.cleaning.getFileIcon
import com.google.common.io.Files.getFileExtension
Expand Down Expand Up @@ -173,34 +169,7 @@ fun AnalyzeScreen(
}

groupedFiles.isEmpty() || data.analyzeState.isFileScanEmpty -> {
Box(modifier = Modifier.fillMaxSize() , contentAlignment = Alignment.Center) {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Icon(
imageVector = Icons.Outlined.FolderOff ,
contentDescription = null ,
modifier = Modifier.size(64.dp) ,
tint = MaterialTheme.colorScheme.onSurface
)
Spacer(modifier = Modifier.height(16.dp))
Text(
text = stringResource(id = R.string.no_files_found) ,
style = MaterialTheme.typography.bodyLarge ,
color = MaterialTheme.colorScheme.onSurface
)

OutlinedButton(modifier = Modifier.bounceClick() , onClick = {
viewModel.rescanFiles()
}) {
Icon(
modifier = Modifier.size(ButtonDefaults.IconSize) ,
imageVector = Icons.Outlined.Refresh ,
contentDescription = "Close"
)
Spacer(modifier = Modifier.size(ButtonDefaults.IconSpacing))
Text(text = "Try again")
}
}
}
NoFilesFoundScreen(viewModel = viewModel)
}

else -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import com.d4rk.cleaner.data.model.ui.error.UiErrorModel
import com.d4rk.cleaner.data.model.ui.screens.UiHomeModel
import com.d4rk.cleaner.ui.components.CircularDeterminateIndicator
import com.d4rk.cleaner.ui.components.dialogs.ErrorAlertDialog
import com.d4rk.cleaner.ui.screens.analyze.AnalyzeScreen
import com.d4rk.cleaner.utils.PermissionsUtils

@Composable
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.d4rk.cleaner.ui.screens.nofilesfound

import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.size
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.FolderOff
import androidx.compose.material.icons.outlined.Refresh
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.d4rk.cleaner.R
import com.d4rk.cleaner.ui.components.animations.bounceClick
import com.d4rk.cleaner.ui.screens.home.HomeViewModel

@Composable
fun NoFilesFoundScreen(viewModel : HomeViewModel) {
Box(modifier = Modifier.fillMaxSize() , contentAlignment = Alignment.Center) {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Icon(
imageVector = Icons.Outlined.FolderOff ,
contentDescription = null ,
modifier = Modifier.size(64.dp) ,
tint = MaterialTheme.colorScheme.onSurface
)
Spacer(modifier = Modifier.height(16.dp))
Text(
text = stringResource(id = R.string.no_files_found) ,
style = MaterialTheme.typography.bodyLarge ,
color = MaterialTheme.colorScheme.onSurface
)

OutlinedButton(modifier = Modifier.bounceClick() , onClick = {
viewModel.rescanFiles()
}) {
Icon(
modifier = Modifier.size(ButtonDefaults.IconSize) ,
imageVector = Icons.Outlined.Refresh ,
contentDescription = "Close"
)
Spacer(modifier = Modifier.size(ButtonDefaults.IconSpacing))
Text(text = stringResource(id = R.string.try_again))
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import com.d4rk.cleaner.R
import com.d4rk.cleaner.data.model.ui.screens.UiTrashModel
import com.d4rk.cleaner.ui.components.TwoRowButtons
import com.d4rk.cleaner.ui.components.navigation.TopAppBarScaffoldWithBackButton
import com.d4rk.cleaner.ui.screens.home.FilesByDateSection
import com.d4rk.cleaner.ui.screens.analyze.FilesByDateSection
import java.io.File
import java.text.SimpleDateFormat
import java.util.Date
Expand Down

0 comments on commit 941f12f

Please sign in to comment.