Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d00f1fb9 authored by Behnam Heydarshahi's avatar Behnam Heydarshahi
Browse files

Add turn off button to flashlight dialog

Bug: 423876955
Flag: com.android.systemui.flashlight_strength
Test: atest OpenFlashlightDialog
Change-Id: I912b47693a983f7dd7d84d7b2a8e4ef2859dfa86
parent 51b138a7
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -972,6 +972,9 @@
    <!-- QuickSettings: Flashlight tile level percentage [CHAR LIMIT=NONE] -->
    <string name="quick_settings_flashlight_tile_level_percentage"><xliff:g id="percentage" example="46">%1$d</xliff:g>%%</string>

    <!-- Turn off flashlight and close dialog [CHAR LIMIT=NONE] -->
    <string name="flashlight_dialog_turn_off">Turn off</string>

    <!-- QuickSettings: Cellular detail panel title [CHAR LIMIT=NONE] -->
    <string name="quick_settings_cellular_detail_title">Mobile data</string>
    <!-- QuickSettings: Cellular detail panel, data usage title [CHAR LIMIT=NONE] -->
+16 −8
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import androidx.compose.ui.semantics.testTagsAsResourceId
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
import com.android.compose.PlatformButton
import com.android.compose.PlatformOutlinedButton
import com.android.compose.theme.PlatformTheme
import com.android.internal.jank.InteractionJankMonitor
import com.android.systemui.animation.DialogCuj
@@ -112,6 +113,8 @@ constructor(
        //  as a workaround, we remember the original theme and keep it on recomposition.
        val isCurrentlyInDarkTheme = isSystemInDarkTheme()
        val cachedDarkTheme = remember { isCurrentlyInDarkTheme }
        val flashlightSliderViewModel =
            rememberViewModel("FlashlightSliderViewModel") { viewModelFactory.create() }
        PlatformTheme(isDarkTheme = cachedDarkTheme) {
            AlertDialogContent(
                modifier = Modifier.semantics { testTagsAsResourceId = true },
@@ -121,14 +124,7 @@ constructor(
                        text = stringResource(R.string.flashlight_dialog_title),
                    )
                },
                content = {
                    FlashlightSliderContainer(
                        viewModel =
                            rememberViewModel("FlashlightSliderViewModel") {
                                viewModelFactory.create()
                            }
                    )
                },
                content = { FlashlightSliderContainer(viewModel = flashlightSliderViewModel) },
                positiveButton = {
                    PlatformButton(
                        modifier = Modifier.testTag(FLASHLIGHT_DONE_TAG),
@@ -137,6 +133,17 @@ constructor(
                        Text(stringResource(R.string.quick_settings_done))
                    }
                },
                neutralButton = {
                    PlatformOutlinedButton(
                        modifier = Modifier.testTag(FLASHLIGHT_OFF_TAG),
                        onClick = {
                            flashlightSliderViewModel.setFlashlightLevel(0)
                            dialog.dismiss()
                        },
                    ) {
                        Text(stringResource(R.string.flashlight_dialog_turn_off))
                    }
                },
            )
        }
    }
@@ -170,5 +177,6 @@ constructor(
        private const val INTERACTION_JANK_TAG = "flashlight"
        private const val FLASHLIGHT_TITLE_TAG = "flashlight_title"
        private const val FLASHLIGHT_DONE_TAG = "flashlight_done"
        private const val FLASHLIGHT_OFF_TAG = "flashlight_off"
    }
}