Found 100 matches for pattern ".*" in the workspace directory (filter: "app/src/main/java/com/servicebook/ui/reportbug/ReportBugScreen.kt") (results limited to 100 matches for performance): --- File: app/src/main/java/com/servicebook/ui/reportbug/ReportBugScreen.kt L1: package com.servicebook.ui.reportbug L2: L3: import android.content.Intent L4: import androidx.compose.animation.AnimatedVisibility L5: import androidx.compose.animation.animateContentSize L6: import androidx.compose.foundation.clickable L7: import androidx.compose.foundation.layout.Arrangement L8: import androidx.compose.foundation.layout.Column L9: import androidx.compose.foundation.layout.Row L10: import androidx.compose.foundation.layout.fillMaxSize L11: import androidx.compose.foundation.layout.fillMaxWidth L12: import androidx.compose.foundation.layout.height L13: import androidx.compose.foundation.layout.imePadding L14: import androidx.compose.foundation.layout.padding L15: import androidx.compose.foundation.layout.size L16: import androidx.compose.foundation.rememberScrollState L17: import androidx.compose.foundation.text.KeyboardOptions L18: import androidx.compose.foundation.verticalScroll L19: import androidx.compose.material.icons.Icons L20: import androidx.compose.material.icons.automirrored.outlined.ArrowBack L21: import androidx.compose.material.icons.filled.ExpandLess L22: import androidx.compose.material.icons.filled.ExpandMore L23: import androidx.compose.material3.Card L24: import androidx.compose.material3.CardDefaults L25: import androidx.compose.material3.CircularProgressIndicator L26: import androidx.compose.material3.ExperimentalMaterial3Api L27: import androidx.compose.material3.Icon L28: import androidx.compose.material3.IconButton L29: import androidx.compose.material3.LinearProgressIndicator L30: import androidx.compose.material3.MaterialTheme L31: import androidx.compose.material3.OutlinedTextField L32: import androidx.compose.material3.Scaffold L33: import androidx.compose.material3.SegmentedButton L34: import androidx.compose.material3.SegmentedButtonDefaults L35: import androidx.compose.material3.SingleChoiceSegmentedButtonRow L36: import androidx.compose.material3.SnackbarHost L37: import androidx.compose.material3.SnackbarHostState L38: import androidx.compose.material3.Switch L39: import androidx.compose.material3.Text L40: import androidx.compose.material3.TextButton L41: import androidx.compose.material3.TopAppBar L42: import androidx.compose.runtime.Composable L43: import androidx.compose.runtime.LaunchedEffect L44: import androidx.compose.runtime.getValue L45: import androidx.compose.runtime.remember L46: import androidx.compose.ui.Alignment L47: import androidx.compose.ui.Modifier L48: import androidx.compose.ui.platform.LocalContext L49: import androidx.compose.ui.platform.testTag L50: import androidx.compose.ui.res.stringResource L51: import androidx.compose.ui.semantics.Role L52: import androidx.compose.ui.semantics.role L53: import androidx.compose.ui.semantics.semantics L54: import androidx.compose.ui.semantics.stateDescription L55: import androidx.compose.ui.text.font.FontWeight L56: import androidx.compose.ui.text.input.KeyboardType L57: import androidx.compose.ui.unit.dp L58: import androidx.core.net.toUri L59: import androidx.lifecycle.compose.collectAsStateWithLifecycle L60: import androidx.lifecycle.viewmodel.compose.viewModel L61: import androidx.navigation3.runtime.NavBackStack L62: import androidx.navigation3.runtime.NavKey L63: import com.servicebook.R L64: import com.servicebook.ServiceBookApplication L65: import com.servicebook.ui.TestTags L66: import com.servicebook.ui.theme.appTopAppBarColors L67: import com.servicebook.ui.util.ViewModelFactory L68: L69: @OptIn(ExperimentalMaterial3Api::class) L70: @Composable L71: fun ReportBugScreen( L72: backStack: NavBackStack, L73: viewModel: ReportBugViewModel = L74: viewModel( L75: factory = ViewModelFactory(LocalContext.current.applicationContext as ServiceBookApplication), L76: ), L77: ) { L78: val state by viewModel.state.collectAsStateWithLifecycle() L79: val context = LocalContext.current L80: val snackbarHostState = remember { SnackbarHostState() } L81: val scrollState = rememberScrollState() L82: L83: val noEmailAppMessage = stringResource(R.string.report_bug_no_email_app) L84: val expandedDescription = stringResource(R.string.a11y_state_expanded) L85: val collapsedDescription = stringResource(R.string.a11y_state_collapsed) L86: L87: LaunchedEffect(Unit) { L88: viewModel.effects.collect { effect -> L89: when (effect) { L90: is ReportBugEffect.ShowSnackbar -> snackbarHostState.showSnackbar(effect.message) L91: ReportBugEffect.NavigateBack -> backStack.removeLastOrNull() L92: is ReportBugEffect.FallbackToEmail -> { L93: val intent = L94: Intent(Intent.ACTION_SENDTO).apply { L95: data = "mailto:".toUri() L96: putExtra(Intent.EXTRA_EMAIL, arrayOf(effect.recipient)) L97: putExtra(Intent.EXTRA_SUBJECT, effect.subject) L98: putExtra(Intent.EXTRA_TEXT, effect.body) L99: } L100: try { ---