diff --git a/app/src/main/java/org/lineageos/aperture/CameraActivity.kt b/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
index 99cc4f3..a7923f0 100644
--- a/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
+++ b/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
@@ -71,12 +71,12 @@
 import org.lineageos.aperture.ui.CountDownView
 import org.lineageos.aperture.ui.GridView
 import org.lineageos.aperture.ui.LevelerView
+import org.lineageos.aperture.utils.Camera
 import org.lineageos.aperture.utils.CameraFacing
 import org.lineageos.aperture.utils.CameraMode
 import org.lineageos.aperture.utils.CameraSoundsUtils
 import org.lineageos.aperture.utils.CameraState
 import org.lineageos.aperture.utils.GridMode
-import org.lineageos.aperture.utils.PhysicalCamera
 import org.lineageos.aperture.utils.ShortcutsUtils
 import org.lineageos.aperture.utils.StorageUtils
 import org.lineageos.aperture.utils.TimeUtils
@@ -135,7 +135,7 @@
             updatePrimaryBarButtons()
         }
 
-    private lateinit var camera: PhysicalCamera
+    private lateinit var camera: Camera
 
     private lateinit var audioConfig: AudioConfig
 
@@ -731,7 +731,7 @@
 
         // Get a stable reference to CameraInfo
         // We can hardcode the first one in the filter as long as we use DEFAULT_*_CAMERA
-        camera = PhysicalCamera(cameraSelector.filter(cameraProvider.availableCameraInfos).first())
+        camera = Camera(cameraSelector.filter(cameraProvider.availableCameraInfos).first())
 
         // Get the supported vendor extensions for the given camera selector
         supportedExtensionModes = extensionsManager.getSupportedModes(cameraSelector)
diff --git a/app/src/main/java/org/lineageos/aperture/utils/PhysicalCamera.kt b/app/src/main/java/org/lineageos/aperture/utils/Camera.kt
similarity index 93%
rename from app/src/main/java/org/lineageos/aperture/utils/PhysicalCamera.kt
rename to app/src/main/java/org/lineageos/aperture/utils/Camera.kt
index f6036f0..3964c99 100644
--- a/app/src/main/java/org/lineageos/aperture/utils/PhysicalCamera.kt
+++ b/app/src/main/java/org/lineageos/aperture/utils/Camera.kt
@@ -13,10 +13,10 @@
 import androidx.camera.video.QualitySelector
 
 /**
- * Class representing a physical device camera
+ * Class representing a device camera
  */
 @androidx.camera.camera2.interop.ExperimentalCamera2Interop
-class PhysicalCamera(cameraInfo: CameraInfo) {
+class Camera(cameraInfo: CameraInfo) {
     /**
      * Camera2 CameraInfo
      */
