diff --git a/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsScreen.kt b/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsScreen.kt
index 69edca8..af17e30 100644
--- a/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsScreen.kt
+++ b/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsScreen.kt
@@ -60,10 +60,12 @@
     onNavigateToPreview: () -> Unit,
     openAppSettings: () -> Unit,
     permissionStates: MultiplePermissionsState,
-    viewModel: PermissionsViewModel = hiltViewModel()
+    viewModel: PermissionsViewModel = hiltViewModel<
+        PermissionsViewModel,
+        PermissionsViewModel.Factory
+        > { factory -> factory.create(permissionStates) }
 ) {
     Log.d(TAG, "PermissionsScreen")
-    viewModel.init(permissionStates)
     val permissionsUiState: PermissionsUiState by viewModel.permissionsUiState.collectAsState()
     if (permissionsUiState is PermissionsUiState.PermissionsNeeded) {
         val permissionEnum =
diff --git a/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsViewModel.kt b/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsViewModel.kt
index 9426e55..047442f 100644
--- a/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsViewModel.kt
+++ b/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsViewModel.kt
@@ -29,24 +29,23 @@
 import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.asStateFlow
 import kotlinx.coroutines.flow.update
-import javax.inject.Inject
 
 /**
  * A [ViewModel] for [PermissionsScreen]]
  */
 @OptIn(ExperimentalPermissionsApi::class)
-@HiltViewModel
-class PermissionsViewModel @Inject constructor(
-//    @Assisted permissionStates: MultiplePermissionsState
+@HiltViewModel(assistedFactory = PermissionsViewModel.Factory::class)
+class PermissionsViewModel @AssistedInject constructor(
+    @Assisted permissionStates: MultiplePermissionsState
 ) : ViewModel() {
-//    @AssistedFactory
-//    interface Factory {
-//        fun create(runtimeArg: MultiplePermissionsState): PermissionsViewModel
-//    }
+    @AssistedFactory
+    interface Factory {
+        fun create(runtimeArg: MultiplePermissionsState): PermissionsViewModel
+    }
 
     private val permissionQueue = mutableListOf<PermissionEnum>()
 
-    fun init(permissionStates: MultiplePermissionsState) {
+    init {
         permissionQueue.addAll(getRequestablePermissions(permissionStates))
     }
 
diff --git a/feature/preview/src/main/java/com/google/jetpackcamera/feature/preview/PreviewScreen.kt b/feature/preview/src/main/java/com/google/jetpackcamera/feature/preview/PreviewScreen.kt
index bb005bc..90eb918 100644
--- a/feature/preview/src/main/java/com/google/jetpackcamera/feature/preview/PreviewScreen.kt
+++ b/feature/preview/src/main/java/com/google/jetpackcamera/feature/preview/PreviewScreen.kt
@@ -72,12 +72,11 @@
     previewMode: PreviewMode,
     modifier: Modifier = Modifier,
     onRequestWindowColorMode: (Int) -> Unit = {},
-    viewModel: PreviewViewModel = hiltViewModel()
+    viewModel: PreviewViewModel = hiltViewModel<PreviewViewModel, PreviewViewModel.Factory>
+        { factory -> factory.create(previewMode) }
 ) {
     Log.d(TAG, "PreviewScreen")
 
-    viewModel.init(previewMode)
-
     val previewUiState: PreviewUiState by viewModel.previewUiState.collectAsState()
 
     val screenFlashUiState: ScreenFlash.ScreenFlashUiState
diff --git a/feature/preview/src/main/java/com/google/jetpackcamera/feature/preview/PreviewViewModel.kt b/feature/preview/src/main/java/com/google/jetpackcamera/feature/preview/PreviewViewModel.kt
index 58c1a03..ca138a8 100644
--- a/feature/preview/src/main/java/com/google/jetpackcamera/feature/preview/PreviewViewModel.kt
+++ b/feature/preview/src/main/java/com/google/jetpackcamera/feature/preview/PreviewViewModel.kt
@@ -51,7 +51,6 @@
 import kotlinx.coroutines.flow.filterNotNull
 import kotlinx.coroutines.flow.update
 import kotlinx.coroutines.launch
-import javax.inject.Inject
 
 private const val TAG = "PreviewViewModel"
 private const val IMAGE_CAPTURE_TRACE = "JCA Image Capture"
@@ -59,14 +58,13 @@
 /**
  * [ViewModel] for [PreviewScreen].
  */
-@HiltViewModel
-class PreviewViewModel @Inject constructor(
-//    @Assisted previewMode: PreviewMode,
+@HiltViewModel(assistedFactory = PreviewViewModel.Factory::class)
+class PreviewViewModel @AssistedInject constructor(
+    @Assisted previewMode: PreviewMode,
     private val cameraUseCase: CameraUseCase,
     private val constraintsRepository: ConstraintsRepository
 
 ) : ViewModel() {
-    private var previewMode: PreviewMode? = null
     private val _previewUiState: MutableStateFlow<PreviewUiState> =
         MutableStateFlow(PreviewUiState.NotReady)
 
@@ -90,8 +88,7 @@
         cameraUseCase.initialize(previewMode is PreviewMode.ExternalImageCaptureMode)
     }
 
-    fun init(previewMode: PreviewMode) {
-        this.previewMode = previewMode
+    init {
         viewModelScope.launch {
             combine(
                 cameraUseCase.getCurrentSettings().filterNotNull(),
@@ -395,10 +392,10 @@
         }
     }
 
-//    @AssistedFactory
-//    interface Factory {
-//        fun create(previewMode: PreviewMode): PreviewViewModel
-//    }
+    @AssistedFactory
+    interface Factory {
+        fun create(previewMode: PreviewMode): PreviewViewModel
+    }
 
     sealed interface ImageCaptureEvent {
         data class ImageSaved(
