Web Browser Application - Interview Line-by-Line
Guide
GoogleSignInScreen
Explains UI state collection, login flow, StateFlow observation, navigation after successful login, and
error handling.
GoogleAuthUiClient
Explains Credential Manager setup, Firebase Authentication, ID token retrieval, login process, and
logout process.
GoogleAuthViewModel
Explains StateFlow, ViewModel responsibilities, login state management, coroutine usage, and
logout flow.
HomeScreen
Explains Scaffold, TopAppBar, URL input field, Open App button, navigation, logout, and history
navigation.
ImageCarousel
Explains image slider, pager state management, automatic scrolling, and UI rendering.
WebViewScreen
Explains AndroidView, WebView setup, JavaScript enabling, page loading, history saving, and
lifecycle handling.
HistoryScreen
Explains Room data observation, LazyColumn usage, delete operations, and displaying browsing
history.
Room Database
Explains Entity, DAO, Repository, Database class, and data flow from UI to database.
Notifications
Explains notification channel creation, Android 13 permission, once-per-day logic,
foreground/background checks, and welcome notification flow.
ProcessLifecycleOwner
Explains how the app detects foreground/background state to satisfy notification requirements.
Dark/Light Theme
Explains theme switching, MaterialTheme usage, and applying theme across screens.
Navigation
Explains NavHost, routes, arguments, and screen transitions.