瀏覽代碼

Generated password work completed

Khubaib 4 月之前
父節點
當前提交
12f8ae1d3f
共有 1 個文件被更改,包括 53 次插入11 次删除
  1. 53 11
      app/src/main/java/com/fastest/pass/account/presentation/ui/components/AccountScreen.kt

+ 53 - 11
app/src/main/java/com/fastest/pass/account/presentation/ui/components/AccountScreen.kt

@@ -687,25 +687,61 @@ fun ColumnScope.OpenModalBottomSheetAS(
                                 .fillMaxWidth()
                         )
                         Spacer(modifier = Modifier.height(10.dp))
-                        SwitchPasswordGenerator(title = R.string.lowercase_abc, onSwitchClick = {
-                            isLowerCaseEnabled = it
-                        }, isLowerCaseEnabled,
+
+                        SwitchPasswordGenerator(
+                            title = R.string.lowercase_abc,
+                            onSwitchClick = {
+                                isLowerCaseEnabled = it
+                            },
+                            isSwitchEnabled = isLowerCaseEnabled,
+                            toBeEnabled = !(isLowerCaseEnabled && !isUpperCaseEnabled && !isNumberEnabled && !isRandomSymbolsEnabled),
                             onSwitchGeneratePassword = {
-                                val passGen = generatePassword(selectedSliderType, isLowerCaseEnabled, isUpperCaseEnabled, isNumberEnabled, isRandomSymbolsEnabled, sliderPosition.roundToInt())
+                                val passGen = generatePassword(
+                                    selectedSliderType,
+                                    isLowerCaseEnabled,
+                                    isUpperCaseEnabled,
+                                    isNumberEnabled,
+                                    isRandomSymbolsEnabled,
+                                    sliderPosition.roundToInt()
+                                )
                                 generatedPassword = passGen
                             }
-                            )
+                        )
 
                         Spacer(modifier = Modifier.height(5.dp))
-                        SwitchPasswordGenerator(title = R.string.uppercase_abc, onSwitchClick = {
-                            isUpperCaseEnabled = it
-                        }, isUpperCaseEnabled,
+                        SwitchPasswordGenerator(
+                            title = R.string.uppercase_abc,
+                            onSwitchClick = {
+                                isUpperCaseEnabled = it
+                            },
+                            isSwitchEnabled = isUpperCaseEnabled,
+                            toBeEnabled = !(!isLowerCaseEnabled && isUpperCaseEnabled && !isNumberEnabled && !isRandomSymbolsEnabled),
                             onSwitchGeneratePassword = {
-                                val passGen = generatePassword(selectedSliderType, isLowerCaseEnabled, isUpperCaseEnabled, isNumberEnabled, isRandomSymbolsEnabled, sliderPosition.roundToInt())
+                                val passGen = generatePassword(
+                                    selectedSliderType,
+                                    isLowerCaseEnabled,
+                                    isUpperCaseEnabled,
+                                    isNumberEnabled,
+                                    isRandomSymbolsEnabled,
+                                    sliderPosition.roundToInt()
+                                )
                                 generatedPassword = passGen
                             }
                         )
 
+                        var isNumbersToBeEnabled = false
+
+                        if (selectedSliderType == sliderPasswordTypeList[2]) {
+                            isNumbersToBeEnabled = selectedSliderType != sliderPasswordTypeList[2]
+                            if (!isLowerCaseEnabled && !isUpperCaseEnabled && !isNumberEnabled && !isRandomSymbolsEnabled) {
+                                isLowerCaseEnabled = true
+                                val pass = generatePassword(selectedSliderType, isLowerCaseEnabled, isUpperCaseEnabled, isNumberEnabled, isRandomSymbolsEnabled, sliderPosition.roundToInt())
+                                generatedPassword = pass
+                            }
+                        } else {
+                            isNumbersToBeEnabled = !(!isLowerCaseEnabled && !isUpperCaseEnabled && isNumberEnabled && !isRandomSymbolsEnabled)
+                        }
+
                         Spacer(modifier = Modifier.height(5.dp))
                         SwitchPasswordGenerator(
                             title = R.string.numbers_123,
@@ -713,13 +749,19 @@ fun ColumnScope.OpenModalBottomSheetAS(
                             isNumberEnabled = it
                                             },
                             isSwitchEnabled = isNumberEnabled,
-                            toBeEnabled = selectedSliderType != sliderPasswordTypeList[2],
+                            toBeEnabled = isNumbersToBeEnabled,
                             onSwitchGeneratePassword = {
                                 val passGen = generatePassword(selectedSliderType, isLowerCaseEnabled, isUpperCaseEnabled, isNumberEnabled, isRandomSymbolsEnabled, sliderPosition.roundToInt())
                                 generatedPassword = passGen
                             }
                         )
 
+                        val isSymbolsToBeEnabled = if (selectedSliderType == sliderPasswordTypeList[2]) {
+                            selectedSliderType != sliderPasswordTypeList[2]
+                        } else {
+                            !(!isLowerCaseEnabled && !isUpperCaseEnabled && !isNumberEnabled && isRandomSymbolsEnabled)
+                        }
+
                         Spacer(modifier = Modifier.height(5.dp))
                         SwitchPasswordGenerator(
                             title = R.string.randomized_symbols,
@@ -727,7 +769,7 @@ fun ColumnScope.OpenModalBottomSheetAS(
                             isRandomSymbolsEnabled = it
                                             },
                             isSwitchEnabled = isRandomSymbolsEnabled,
-                            toBeEnabled = selectedSliderType != sliderPasswordTypeList[2],
+                            toBeEnabled = isSymbolsToBeEnabled,
                             onSwitchGeneratePassword = {
                                 val passGen = generatePassword(selectedSliderType, isLowerCaseEnabled, isUpperCaseEnabled, isNumberEnabled, isRandomSymbolsEnabled, sliderPosition.roundToInt())
                                 generatedPassword = passGen