diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 80010bcb4..9f889b10e 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -109,7 +109,6 @@ dependencies {
// Compose - Material Design 3
implementation(libs.compose.material3)
- implementation(libs.compose.material.icons.extended)
// Compose - Android Studio Preview support
implementation(libs.compose.ui.tooling.preview)
diff --git a/feature/permissions/build.gradle.kts b/feature/permissions/build.gradle.kts
index d988b587a..6c977afeb 100644
--- a/feature/permissions/build.gradle.kts
+++ b/feature/permissions/build.gradle.kts
@@ -55,7 +55,6 @@ dependencies {
// Compose - Material Design 3
implementation(libs.compose.material3)
- implementation(libs.compose.material.icons.extended)
// Compose - Android Studio Preview support
implementation(libs.compose.ui.tooling.preview)
diff --git a/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsEnums.kt b/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsEnums.kt
index 35ffeb5d3..194ffb441 100644
--- a/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsEnums.kt
+++ b/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/PermissionsEnums.kt
@@ -18,10 +18,6 @@ package com.google.jetpackcamera.permissions
import android.Manifest
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.outlined.CameraAlt
-import androidx.compose.material.icons.outlined.CreateNewFolder
-import androidx.compose.material.icons.outlined.Mic
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
@@ -90,9 +86,9 @@ enum class PermissionEnum : PermissionInfoProvider {
override fun getTestTag(): String = CAMERA_PERMISSION_BUTTON
- override fun getDrawableResId(): Int? = null
+ override fun getDrawableResId(): Int? = R.drawable.ic_camera_alt
- override fun getImageVector(): ImageVector = Icons.Outlined.CameraAlt
+ override fun getImageVector(): ImageVector? = null
override fun getPermissionTitleResId(): Int = R.string.camera_permission_screen_title
@@ -113,9 +109,9 @@ enum class PermissionEnum : PermissionInfoProvider {
override fun getTestTag(): String = RECORD_AUDIO_PERMISSION_BUTTON
- override fun getDrawableResId(): Int? = null
+ override fun getDrawableResId(): Int? = R.drawable.ic_mic
- override fun getImageVector(): ImageVector = Icons.Outlined.Mic
+ override fun getImageVector(): ImageVector? = null
override fun getPermissionTitleResId(): Int = R.string.microphone_permission_screen_title
@@ -135,9 +131,9 @@ enum class PermissionEnum : PermissionInfoProvider {
override fun getTestTag(): String = WRITE_EXTERNAL_STORAGE_PERMISSION_BUTTON
- override fun getDrawableResId(): Int? = null
+ override fun getDrawableResId(): Int? = R.drawable.ic_create_new_folder
- override fun getImageVector(): ImageVector = Icons.Outlined.CreateNewFolder
+ override fun getImageVector(): ImageVector? = null
override fun getPermissionTitleResId(): Int = R.string.write_storage_permission_screen_title
diff --git a/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/ui/PermissionsScreenComponents.kt b/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/ui/PermissionsScreenComponents.kt
index 136b47c6e..e18c241e1 100644
--- a/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/ui/PermissionsScreenComponents.kt
+++ b/feature/permissions/src/main/java/com/google/jetpackcamera/permissions/ui/PermissionsScreenComponents.kt
@@ -37,7 +37,7 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
@@ -85,7 +85,7 @@ fun PermissionTemplate(
permissionState.launchPermissionRequest()
}
},
- imageVector = permissionEnum.getImageVector()!!,
+ painter = permissionEnum.getPainter(),
iconAccessibilityText = stringResource(permissionEnum.getIconAccessibilityTextResId()),
title = stringResource(permissionEnum.getPermissionTitleResId()),
@@ -113,7 +113,7 @@ fun PermissionTemplate(
modifier: Modifier = Modifier,
testTag: String,
onRequestPermission: () -> Unit,
- imageVector: ImageVector,
+ painter: Painter,
iconAccessibilityText: String,
title: String,
bodyText: String,
@@ -129,7 +129,7 @@ fun PermissionTemplate(
.height(IntrinsicSize.Min)
.align(Alignment.CenterHorizontally)
.testTag(testTag),
- imageVector = imageVector,
+ painter = painter,
accessibilityText = iconAccessibilityText
)
Spacer(modifier = Modifier.fillMaxHeight(.1f))
@@ -165,7 +165,7 @@ private fun Preview_Camera_Permission_Page() {
PermissionTemplate(
onRequestPermission = { /*TODO*/ },
testTag = "",
- imageVector = PermissionEnum.CAMERA.getImageVector()!!,
+ painter = PermissionEnum.CAMERA.getPainter(),
iconAccessibilityText = "",
title = stringResource(id = PermissionEnum.CAMERA.getPermissionTitleResId()),
bodyText = stringResource(id = PermissionEnum.CAMERA.getPermissionBodyTextResId()),
@@ -179,7 +179,7 @@ private fun Preview_Audio_Permission_Page() {
PermissionTemplate(
onRequestPermission = { /*TODO*/ },
testTag = "",
- imageVector = PermissionEnum.RECORD_AUDIO.getImageVector()!!,
+ painter = PermissionEnum.RECORD_AUDIO.getPainter(),
iconAccessibilityText = "",
title = stringResource(id = PermissionEnum.RECORD_AUDIO.getPermissionTitleResId()),
bodyText = stringResource(id = PermissionEnum.RECORD_AUDIO.getPermissionBodyTextResId()),
@@ -191,17 +191,13 @@ private fun Preview_Audio_Permission_Page() {
Permission UI Subcomponents
*/
@Composable
-fun PermissionImage(
- modifier: Modifier = Modifier,
- imageVector: ImageVector,
- accessibilityText: String
-) {
+fun PermissionImage(modifier: Modifier = Modifier, painter: Painter, accessibilityText: String) {
Box(modifier = modifier) {
Icon(
modifier = Modifier
.size(300.dp)
.align(Alignment.BottomCenter),
- imageVector = imageVector,
+ painter = painter,
tint = MaterialTheme.colorScheme.onPrimary,
contentDescription = accessibilityText
)
diff --git a/feature/permissions/src/main/res/drawable/ic_camera_alt.xml b/feature/permissions/src/main/res/drawable/ic_camera_alt.xml
new file mode 100644
index 000000000..5b60c17de
--- /dev/null
+++ b/feature/permissions/src/main/res/drawable/ic_camera_alt.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/feature/permissions/src/main/res/drawable/ic_create_new_folder.xml b/feature/permissions/src/main/res/drawable/ic_create_new_folder.xml
new file mode 100644
index 000000000..d21e95d70
--- /dev/null
+++ b/feature/permissions/src/main/res/drawable/ic_create_new_folder.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/feature/permissions/src/main/res/drawable/ic_mic.xml b/feature/permissions/src/main/res/drawable/ic_mic.xml
new file mode 100644
index 000000000..8ebd5226a
--- /dev/null
+++ b/feature/permissions/src/main/res/drawable/ic_mic.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/feature/postcapture/build.gradle.kts b/feature/postcapture/build.gradle.kts
index 0a1bca503..5d1513d0c 100644
--- a/feature/postcapture/build.gradle.kts
+++ b/feature/postcapture/build.gradle.kts
@@ -88,7 +88,6 @@ dependencies {
// Compose - Material Design 3
implementation(libs.compose.material3)
- implementation(libs.compose.material.icons.extended)
// Compose - Android Studio Preview support
implementation(libs.compose.ui.tooling.preview)
diff --git a/feature/postcapture/src/main/java/com/google/jetpackcamera/feature/postcapture/ui/PostCaptureScreenComponents.kt b/feature/postcapture/src/main/java/com/google/jetpackcamera/feature/postcapture/ui/PostCaptureScreenComponents.kt
index 02e244106..90e305880 100644
--- a/feature/postcapture/src/main/java/com/google/jetpackcamera/feature/postcapture/ui/PostCaptureScreenComponents.kt
+++ b/feature/postcapture/src/main/java/com/google/jetpackcamera/feature/postcapture/ui/PostCaptureScreenComponents.kt
@@ -20,11 +20,6 @@ import androidx.annotation.OptIn
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Close
-import androidx.compose.material.icons.filled.Delete
-import androidx.compose.material.icons.filled.SaveAlt
-import androidx.compose.material.icons.filled.Share
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
@@ -39,6 +34,7 @@ import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.testTag
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.media3.common.Player
@@ -121,7 +117,7 @@ fun ExitPostCaptureButton(onExitPostCapture: () -> Unit, modifier: Modifier = Mo
Icon(
modifier = it,
- imageVector = Icons.Default.Close,
+ painter = painterResource(id = R.drawable.ic_close),
contentDescription = stringResource(R.string.button_exit_description)
)
}
@@ -143,7 +139,7 @@ fun ShareCurrentMediaButton(
Icon(
modifier = it,
- imageVector = Icons.Default.Share,
+ painter = painterResource(id = R.drawable.ic_share),
contentDescription = stringResource(R.string.button_share_media_description),
tint = MaterialTheme.colorScheme.onSurface
)
@@ -166,7 +162,7 @@ fun SaveCurrentMediaButton(onClick: () -> Unit, modifier: Modifier = Modifier) {
Icon(
modifier = it,
- imageVector = Icons.Default.SaveAlt,
+ painter = painterResource(id = R.drawable.ic_save),
contentDescription = stringResource(R.string.button_save_media_description)
)
}
@@ -185,7 +181,7 @@ fun DeleteCurrentMediaButton(
) {
Icon(
modifier = it,
- imageVector = Icons.Default.Delete,
+ painter = painterResource(id = R.drawable.ic_delete),
contentDescription = stringResource(
R.string.button_delete_media_description
)
diff --git a/feature/postcapture/src/main/res/drawable/ic_close.xml b/feature/postcapture/src/main/res/drawable/ic_close.xml
new file mode 100644
index 000000000..0fc5d64b1
--- /dev/null
+++ b/feature/postcapture/src/main/res/drawable/ic_close.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/feature/postcapture/src/main/res/drawable/ic_delete.xml b/feature/postcapture/src/main/res/drawable/ic_delete.xml
new file mode 100644
index 000000000..16fc1bee7
--- /dev/null
+++ b/feature/postcapture/src/main/res/drawable/ic_delete.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/feature/postcapture/src/main/res/drawable/ic_save.xml b/feature/postcapture/src/main/res/drawable/ic_save.xml
new file mode 100644
index 000000000..4339a7e8d
--- /dev/null
+++ b/feature/postcapture/src/main/res/drawable/ic_save.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/feature/postcapture/src/main/res/drawable/ic_share.xml b/feature/postcapture/src/main/res/drawable/ic_share.xml
new file mode 100644
index 000000000..48eb8aa2a
--- /dev/null
+++ b/feature/postcapture/src/main/res/drawable/ic_share.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/feature/preview/build.gradle.kts b/feature/preview/build.gradle.kts
index 0e63717c7..3ab9173a1 100644
--- a/feature/preview/build.gradle.kts
+++ b/feature/preview/build.gradle.kts
@@ -88,7 +88,6 @@ dependencies {
// Compose - Material Design 3
implementation(libs.compose.material3)
- implementation(libs.compose.material.icons.extended)
// Compose - Android Studio Preview support
implementation(libs.compose.ui.tooling.preview)
diff --git a/feature/settings/build.gradle.kts b/feature/settings/build.gradle.kts
index 2b2ea90d6..2e4835edc 100644
--- a/feature/settings/build.gradle.kts
+++ b/feature/settings/build.gradle.kts
@@ -81,11 +81,6 @@ dependencies {
// Compose - Material Design 3
implementation(libs.compose.material3)
- //todo(): icons library is no longer being maintained. Migrate to material symbols.
- implementation(libs.compose.material.icons.extended)
-
- //todo(): icons library is no longer being maintained. Migrate to material symbols.
- implementation(libs.compose.material.icons.extended)
// Compose - Android Studio Preview support
implementation(libs.compose.ui.tooling.preview)
diff --git a/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt b/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
index ad78ea908..d95b5a16b 100644
--- a/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
+++ b/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
@@ -26,8 +26,6 @@ import androidx.compose.foundation.selection.selectable
import androidx.compose.foundation.selection.selectableGroup
import androidx.compose.foundation.selection.toggleable
import androidx.compose.foundation.verticalScroll
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
@@ -49,6 +47,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.testTag
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.semantics.semantics
@@ -116,8 +115,8 @@ fun SettingsPageHeader(
onClick = { navBack() }
) {
Icon(
- Icons.AutoMirrored.Filled.ArrowBack,
- stringResource(id = R.string.nav_back_accessibility)
+ painter = painterResource(id = R.drawable.ic_arrow_back),
+ contentDescription = stringResource(id = R.string.nav_back_accessibility)
)
}
},
diff --git a/feature/settings/src/main/res/drawable/ic_arrow_back.xml b/feature/settings/src/main/res/drawable/ic_arrow_back.xml
new file mode 100644
index 000000000..920736aa1
--- /dev/null
+++ b/feature/settings/src/main/res/drawable/ic_arrow_back.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 3a48567b6..9e76a6caf 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -87,7 +87,6 @@ camera-compose = { module = "androidx.camera:camera-compose", version.ref = "and
compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" }
compose-junit = { module = "androidx.compose.ui:ui-test-junit4" }
compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "composeMaterial" }
-compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" }
compose-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" }
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
diff --git a/ui/components/capture/build.gradle.kts b/ui/components/capture/build.gradle.kts
index 8e8b6faae..9bea5745f 100644
--- a/ui/components/capture/build.gradle.kts
+++ b/ui/components/capture/build.gradle.kts
@@ -69,7 +69,6 @@ dependencies {
// Compose - Material Design 3
implementation(libs.compose.material3)
- implementation(libs.compose.material.icons.extended)
// Compose - Android Studio Preview support
implementation(libs.compose.ui.tooling.preview)
diff --git a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/CaptureButtonComponents.kt b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/CaptureButtonComponents.kt
index 18fc38af3..5165a431b 100644
--- a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/CaptureButtonComponents.kt
+++ b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/CaptureButtonComponents.kt
@@ -39,9 +39,6 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.CircleShape
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Lock
-import androidx.compose.material.icons.filled.LockOpen
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalContentColor
import androidx.compose.runtime.Composable
@@ -67,6 +64,7 @@ import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.onSizeChanged
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.platform.LocalViewConfiguration
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
@@ -533,10 +531,10 @@ private fun LockSwitchCaptureButtonNucleus(
onToggleSwitchPosition()
},
tint = Color.White,
- imageVector = if (shouldBeLocked()) {
- Icons.Default.Lock
+ painter = if (shouldBeLocked()) {
+ painterResource(R.drawable.ic_lock)
} else {
- Icons.Default.LockOpen
+ painterResource(R.drawable.ic_lock_open)
},
contentDescription = null
)
diff --git a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/CaptureScreenComponents.kt b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/CaptureScreenComponents.kt
index a3bc22753..dda1439b2 100644
--- a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/CaptureScreenComponents.kt
+++ b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/CaptureScreenComponents.kt
@@ -55,17 +55,6 @@ import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.CameraAlt
-import androidx.compose.material.icons.filled.FlipCameraAndroid
-import androidx.compose.material.icons.filled.Mic
-import androidx.compose.material.icons.filled.MicOff
-import androidx.compose.material.icons.filled.Pause
-import androidx.compose.material.icons.filled.PlayArrow
-import androidx.compose.material.icons.filled.VideoStable
-import androidx.compose.material.icons.filled.Videocam
-import androidx.compose.material.icons.outlined.CameraAlt
-import androidx.compose.material.icons.outlined.Videocam
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.material3.FilledIconToggleButton
@@ -94,7 +83,6 @@ import androidx.compose.ui.draw.drawBehind
import androidx.compose.ui.draw.rotate
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Matrix
-import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.testTag
@@ -187,9 +175,11 @@ fun PauseResumeToggleButton(
Icon(
modifier = Modifier
.size(ButtonDefaults.MediumIconSize),
- imageVector = when (currentRecordingState) {
- is VideoRecordingState.Active.Recording -> Icons.Filled.Pause
- is VideoRecordingState.Active.Paused -> Icons.Filled.PlayArrow
+ painter = when (currentRecordingState) {
+ is VideoRecordingState.Active.Recording -> painterResource(R.drawable.ic_pause)
+ is VideoRecordingState.Active.Paused -> painterResource(
+ R.drawable.ic_play_arrow
+ )
},
contentDescription = stringResource(id = R.string.pause_resume_button_description)
)
@@ -256,10 +246,10 @@ fun AmplitudeToggleButton(
) {
Icon(
modifier = Modifier.size(ButtonDefaults.MediumIconSize),
- imageVector = if (currentUiState.value is AudioUiState.Enabled.On) {
- Icons.Filled.Mic
+ painter = if (currentUiState.value is AudioUiState.Enabled.On) {
+ painterResource(R.drawable.ic_mic)
} else {
- Icons.Filled.MicOff
+ painterResource(R.drawable.ic_mic_off)
},
contentDescription = stringResource(id = R.string.audio_visualizer_icon_description)
)
@@ -323,16 +313,16 @@ fun CaptureModeToggleButton(
leftIcon = if (uiState.selectedCaptureMode ==
CaptureMode.IMAGE_ONLY
) {
- Icons.Filled.CameraAlt
+ R.drawable.ic_camera_alt_filled
} else {
- Icons.Outlined.CameraAlt
+ R.drawable.ic_camera_alt_outline
},
rightIcon = if (uiState.selectedCaptureMode ==
CaptureMode.VIDEO_ONLY
) {
- Icons.Filled.Videocam
+ R.drawable.ic_videocam_filled
} else {
- Icons.Outlined.Videocam
+ R.drawable.ic_videocam_outline
},
leftIconDescription = if (enabled) {
stringResource(id = R.string.capture_mode_image_capture_content_description)
@@ -674,7 +664,7 @@ fun StabilizationIcon(stabilizationUiState: StabilizationUiState, modifier: Modi
painterResource(R.drawable.video_stable_ois_filled_icon)
StabilizationMode.ON ->
- rememberVectorPainter(Icons.Filled.VideoStable)
+ painterResource(R.drawable.ic_video_stable)
else ->
TODO(
@@ -826,7 +816,7 @@ fun FlipCameraButton(
enabled = enabledCondition
) {
Icon(
- imageVector = Icons.Filled.FlipCameraAndroid,
+ painter = painterResource(R.drawable.ic_flip_camera_android),
contentDescription = stringResource(id = R.string.flip_camera_icon_description),
modifier = Modifier
.size(IconButtonDefaults.extraLargeIconSize)
diff --git a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/ToggleSwitch.kt b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/ToggleSwitch.kt
index 7d65d6bf8..b5db95586 100644
--- a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/ToggleSwitch.kt
+++ b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/ToggleSwitch.kt
@@ -16,6 +16,7 @@
package com.google.jetpackcamera.ui.components.capture
import android.content.res.Configuration
+import androidx.annotation.DrawableRes
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.animation.core.tween
@@ -25,11 +26,6 @@ import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.gestures.draggable
import androidx.compose.foundation.gestures.rememberDraggableState
import androidx.compose.foundation.layout.size
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.CameraAlt
-import androidx.compose.material.icons.filled.Videocam
-import androidx.compose.material.icons.outlined.CameraAlt
-import androidx.compose.material.icons.outlined.Videocam
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
import androidx.compose.runtime.Composable
@@ -49,9 +45,9 @@ import androidx.compose.ui.graphics.drawscope.clipRect
import androidx.compose.ui.graphics.drawscope.translate
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
-import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.stateDescription
import androidx.compose.ui.tooling.preview.Preview
@@ -86,8 +82,8 @@ fun ToggleSwitch(
trackColor: Color = Color.White.copy(alpha = TRACK_COLOR_ALPHA),
thumbColor: Color = MaterialTheme.colorScheme.primaryFixedDim,
disableColor: Color = MaterialTheme.colorScheme.onSurface,
- leftIcon: ImageVector? = null,
- rightIcon: ImageVector? = null,
+ @DrawableRes leftIcon: Int? = null,
+ @DrawableRes rightIcon: Int? = null,
leftIconDescription: String = "leftIcon",
rightIconDescription: String = "rightIcon",
unselectedIconColor: Color = MaterialTheme.colorScheme.secondaryFixed,
@@ -135,8 +131,8 @@ fun ToggleSwitch(
)
// --- 4. Icon Painters ---
- val offIconPainter = leftIcon?.let { rememberVectorPainter(image = leftIcon) }
- val onIconPainter = rightIcon?.let { rememberVectorPainter(image = rightIcon) }
+ val offIconPainter = leftIcon?.let { painterResource(id = leftIcon) }
+ val onIconPainter = rightIcon?.let { painterResource(id = rightIcon) }
// --- 5. Gesture Handlers ---
val draggableState = rememberDraggableState { delta ->
@@ -389,8 +385,8 @@ private fun Capture_ToggleSwitch_On_Disabled() {
colorScheme = darkColorScheme(),
content = {
ToggleSwitch(
- leftIcon = Icons.Outlined.CameraAlt,
- rightIcon = Icons.Filled.Videocam,
+ leftIcon = R.drawable.ic_camera_alt_outline,
+ rightIcon = R.drawable.ic_videocam_filled,
checked = true,
onCheckedChange = {},
enabled = false
@@ -406,8 +402,8 @@ private fun Capture_ToggleSwitch_Off_Disabled() {
colorScheme = darkColorScheme(),
content = {
ToggleSwitch(
- leftIcon = Icons.Filled.CameraAlt,
- rightIcon = Icons.Outlined.Videocam,
+ leftIcon = R.drawable.ic_camera_alt_filled,
+ rightIcon = R.drawable.ic_videocam_outline,
checked = false,
onCheckedChange = {},
enabled = false
@@ -423,8 +419,8 @@ private fun Capture_ToggleSwitch_On_Enabled() {
colorScheme = darkColorScheme(),
content = {
ToggleSwitch(
- leftIcon = Icons.Outlined.CameraAlt,
- rightIcon = Icons.Filled.Videocam,
+ leftIcon = R.drawable.ic_camera_alt_outline,
+ rightIcon = R.drawable.ic_videocam_filled,
checked = true,
onCheckedChange = {},
enabled = true
@@ -440,8 +436,8 @@ private fun Capture_ToggleSwitch_Off_Enabled() {
colorScheme = darkColorScheme(),
content = {
ToggleSwitch(
- leftIcon = Icons.Filled.CameraAlt,
- rightIcon = Icons.Outlined.Videocam,
+ leftIcon = R.drawable.ic_camera_alt_filled,
+ rightIcon = R.drawable.ic_videocam_outline,
checked = false,
onCheckedChange = {},
enabled = true
@@ -458,8 +454,8 @@ private fun Capture_Switch_Off_Enabled() {
content =
{
ToggleSwitch(
- leftIcon = Icons.Filled.CameraAlt,
- rightIcon = Icons.Outlined.Videocam,
+ leftIcon = R.drawable.ic_camera_alt_filled,
+ rightIcon = R.drawable.ic_videocam_outline,
checked = false,
onCheckedChange = {},
enabled = true
diff --git a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/debug/DebugOverlayComponents.kt b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/debug/DebugOverlayComponents.kt
index 10c9ab4fc..8567c46aa 100644
--- a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/debug/DebugOverlayComponents.kt
+++ b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/debug/DebugOverlayComponents.kt
@@ -37,9 +37,6 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.foundation.verticalScroll
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Visibility
-import androidx.compose.material.icons.filled.VisibilityOff
import androidx.compose.material3.Button
import androidx.compose.material3.FilledIconToggleButton
import androidx.compose.material3.Icon
@@ -57,6 +54,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.testTag
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.stateDescription
@@ -155,12 +153,12 @@ private fun ToggleVisibilityButton(
) {
if (isHidingComponents) {
Icon(
- Icons.Default.VisibilityOff,
+ painter = painterResource(R.drawable.ic_visibility_off),
contentDescription = null,
modifier = Modifier.alpha(.5f)
)
} else {
- Icon(Icons.Default.Visibility, contentDescription = null)
+ Icon(painter = painterResource(R.drawable.ic_visibility), contentDescription = null)
}
}
}
diff --git a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/quicksettings/QuickSettingsEnums.kt b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/quicksettings/QuickSettingsEnums.kt
index f6128e2a6..3c4c5701b 100644
--- a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/quicksettings/QuickSettingsEnums.kt
+++ b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/quicksettings/QuickSettingsEnums.kt
@@ -17,24 +17,8 @@ package com.google.jetpackcamera.ui.components.capture.quicksettings
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.AspectRatio
-import androidx.compose.material.icons.filled.CameraAlt
-import androidx.compose.material.icons.filled.Cameraswitch
-import androidx.compose.material.icons.filled.FlashAuto
-import androidx.compose.material.icons.filled.FlashOff
-import androidx.compose.material.icons.filled.FlashOn
-import androidx.compose.material.icons.filled.HdrOff
-import androidx.compose.material.icons.filled.HdrOn
-import androidx.compose.material.icons.filled.Nightlight
-import androidx.compose.material.icons.filled.PhotoCameraFront
-import androidx.compose.material.icons.filled.PictureInPicture
-import androidx.compose.material.icons.filled.Videocam
-import androidx.compose.material.icons.outlined.Nightlight
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.painter.Painter
-import androidx.compose.ui.graphics.vector.ImageVector
-import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.res.painterResource
import com.google.jetpackcamera.ui.components.capture.R
@@ -42,23 +26,12 @@ interface QuickSettingsEnum {
@Composable
fun getPainter(): Painter {
val iconResId = getDrawableResId()
- val iconVector = getImageVector()
- require((iconResId == null).xor(iconVector == null)) {
- "UI Item should have exactly one of iconResId or iconVector set."
- }
- return iconResId?.let { painterResource(it) }
- ?: iconVector?.let {
- rememberVectorPainter(
- it
- )
- }!! // !! allowed because we've checked null
+ return iconResId?.let { painterResource(it) }!!
}
@DrawableRes
fun getDrawableResId(): Int?
- fun getImageVector(): ImageVector?
-
@StringRes
fun getTextResId(): Int
@@ -68,14 +41,14 @@ interface QuickSettingsEnum {
enum class CameraLensFace : QuickSettingsEnum {
FRONT {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.Cameraswitch
+
+ override fun getDrawableResId() = R.drawable.ic_cameraswitch
override fun getTextResId() = R.string.quick_settings_front_camera_text
override fun getDescriptionResId() = R.string.quick_settings_front_camera_description
},
BACK {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.Cameraswitch
+
+ override fun getDrawableResId() = R.drawable.ic_cameraswitch
override fun getTextResId() = R.string.quick_settings_back_camera_text
override fun getDescriptionResId() = R.string.quick_settings_back_camera_description
}
@@ -83,32 +56,32 @@ enum class CameraLensFace : QuickSettingsEnum {
enum class CameraFlashMode : QuickSettingsEnum {
OFF {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.FlashOff
+
+ override fun getDrawableResId() = R.drawable.ic_flash_off
override fun getTextResId() = R.string.quick_settings_flash_off
override fun getDescriptionResId() = R.string.quick_settings_flash_off_description
},
AUTO {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.FlashAuto
+
+ override fun getDrawableResId() = R.drawable.ic_flash_auto_filled
override fun getTextResId() = R.string.quick_settings_flash_auto
override fun getDescriptionResId() = R.string.quick_settings_flash_auto_description
},
ON {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.FlashOn
+
+ override fun getDrawableResId() = R.drawable.ic_flash_on_filled
override fun getTextResId() = R.string.quick_settings_flash_on
override fun getDescriptionResId() = R.string.quick_settings_flash_on_description
},
LOW_LIGHT_BOOST_INACTIVE {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Outlined.Nightlight
+
+ override fun getDrawableResId() = R.drawable.ic_nightlight_outline
override fun getTextResId() = R.string.quick_settings_flash_llb
override fun getDescriptionResId() = R.string.quick_settings_flash_llb_description
},
LOW_LIGHT_BOOST_ACTIVE {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.Nightlight
+
+ override fun getDrawableResId() = R.drawable.ic_nightlight_filled
override fun getTextResId() = R.string.quick_settings_flash_llb
override fun getDescriptionResId() = R.string.quick_settings_flash_llb_description
}
@@ -116,20 +89,20 @@ enum class CameraFlashMode : QuickSettingsEnum {
enum class CameraAspectRatio : QuickSettingsEnum {
THREE_FOUR {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.AspectRatio
+
+ override fun getDrawableResId() = R.drawable.ic_aspect_ratio
override fun getTextResId() = R.string.quick_settings_aspect_ratio_3_4
override fun getDescriptionResId() = R.string.quick_settings_aspect_ratio_3_4_description
},
NINE_SIXTEEN {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.AspectRatio
+
+ override fun getDrawableResId() = R.drawable.ic_aspect_ratio
override fun getTextResId() = R.string.quick_settings_aspect_ratio_9_16
override fun getDescriptionResId() = R.string.quick_settings_aspect_ratio_9_16_description
},
ONE_ONE {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.AspectRatio
+
+ override fun getDrawableResId() = R.drawable.ic_aspect_ratio
override fun getTextResId() = R.string.quick_settings_aspect_ratio_1_1
override fun getDescriptionResId() = R.string.quick_settings_aspect_ratio_1_1_description
}
@@ -138,13 +111,13 @@ enum class CameraAspectRatio : QuickSettingsEnum {
enum class CameraStreamConfig : QuickSettingsEnum {
MULTI_STREAM {
override fun getDrawableResId() = R.drawable.multi_stream_icon
- override fun getImageVector() = null // this icon is not available
+
override fun getTextResId() = R.string.quick_settings_stream_config_multi
override fun getDescriptionResId() = R.string.quick_settings_stream_config_multi_description
},
SINGLE_STREAM {
override fun getDrawableResId() = R.drawable.single_stream_capture_icon
- override fun getImageVector() = null // this icon is not available
+
override fun getTextResId() = R.string.quick_settings_stream_config_single
override fun getDescriptionResId() =
R.string.quick_settings_stream_config_single_description
@@ -153,14 +126,14 @@ enum class CameraStreamConfig : QuickSettingsEnum {
enum class CameraDynamicRange : QuickSettingsEnum {
SDR {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.HdrOff
+
+ override fun getDrawableResId() = R.drawable.ic_hdr_off
override fun getTextResId() = R.string.quick_settings_dynamic_range_sdr
override fun getDescriptionResId() = R.string.quick_settings_dynamic_range_sdr_description
},
HDR {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.HdrOn
+
+ override fun getDrawableResId() = R.drawable.ic_hdr_on
override fun getTextResId() = R.string.quick_settings_dynamic_range_hdr
override fun getDescriptionResId() = R.string.quick_settings_dynamic_range_hdr_description
}
@@ -168,9 +141,8 @@ enum class CameraDynamicRange : QuickSettingsEnum {
enum class CameraCaptureMode : QuickSettingsEnum {
STANDARD {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Default.PhotoCameraFront
+ override fun getDrawableResId() = R.drawable.ic_photo_camera_front
override fun getTextResId() = R.string.quick_settings_text_capture_mode_standard
@@ -178,9 +150,8 @@ enum class CameraCaptureMode : QuickSettingsEnum {
R.string.quick_settings_description_capture_mode_standard
},
VIDEO_ONLY {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Default.Videocam
+ override fun getDrawableResId() = R.drawable.ic_videocam_outline
override fun getTextResId() = R.string.quick_settings_text_capture_mode_video_only
@@ -188,9 +159,8 @@ enum class CameraCaptureMode : QuickSettingsEnum {
R.string.quick_settings_description_capture_mode_video_only
},
IMAGE_ONLY {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Default.CameraAlt
+ override fun getDrawableResId() = R.drawable.ic_camera_alt_outline
override fun getTextResId() = R.string.quick_settings_text_capture_mode_image_only
@@ -201,14 +171,14 @@ enum class CameraCaptureMode : QuickSettingsEnum {
enum class CameraConcurrentCameraMode : QuickSettingsEnum {
OFF {
override fun getDrawableResId() = R.drawable.picture_in_picture_off_icon
- override fun getImageVector() = null
+
override fun getTextResId() = R.string.quick_settings_text_concurrent_camera_off
override fun getDescriptionResId() =
R.string.quick_settings_description_concurrent_camera_off
},
DUAL {
- override fun getDrawableResId() = null
- override fun getImageVector() = Icons.Filled.PictureInPicture
+
+ override fun getDrawableResId() = R.drawable.ic_picture_in_picture
override fun getTextResId() = R.string.quick_settings_text_concurrent_camera_dual
override fun getDescriptionResId() =
R.string.quick_settings_description_concurrent_camera_dual
diff --git a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/quicksettings/ui/QuickSettingsComponents.kt b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/quicksettings/ui/QuickSettingsComponents.kt
index 6b0eec752..de1613c65 100644
--- a/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/quicksettings/ui/QuickSettingsComponents.kt
+++ b/ui/components/capture/src/main/java/com/google/jetpackcamera/ui/components/capture/quicksettings/ui/QuickSettingsComponents.kt
@@ -34,9 +34,6 @@ import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.itemsIndexed
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Close
-import androidx.compose.material.icons.filled.MoreHoriz
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.material3.FilledIconButton
@@ -56,7 +53,6 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.painter.Painter
-import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.dimensionResource
@@ -236,7 +232,7 @@ fun QuickNavSettings(onNavigateToSettings: () -> Unit, modifier: Modifier = Modi
onClick = onNavigateToSettings,
text = stringResource(R.string.quick_settings_more_text),
accessibilityText = stringResource(R.string.quick_settings_more_description),
- painter = rememberVectorPainter(Icons.Filled.MoreHoriz),
+ painter = painterResource(R.drawable.ic_more_horiz),
modifier = modifier.testTag(SETTINGS_BUTTON)
)
}
@@ -658,7 +654,7 @@ private fun CloseExpandedSettingsButton(onUnFocus: () -> Unit, modifier: Modifie
onClick = onUnFocus
) {
Icon(
- imageVector = Icons.Default.Close,
+ painter = painterResource(R.drawable.ic_close),
contentDescription = stringResource(
R.string.quick_settings_btn_close_expanded_settings_description
)
diff --git a/ui/components/capture/src/main/res/drawable/ic_aspect_ratio.xml b/ui/components/capture/src/main/res/drawable/ic_aspect_ratio.xml
new file mode 100644
index 000000000..8f506d85c
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_aspect_ratio.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_camera_alt_filled.xml b/ui/components/capture/src/main/res/drawable/ic_camera_alt_filled.xml
new file mode 100644
index 000000000..5641e23ab
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_camera_alt_filled.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_camera_alt_outline.xml b/ui/components/capture/src/main/res/drawable/ic_camera_alt_outline.xml
new file mode 100644
index 000000000..5b60c17de
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_camera_alt_outline.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_cameraswitch.xml b/ui/components/capture/src/main/res/drawable/ic_cameraswitch.xml
new file mode 100644
index 000000000..3af767eff
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_cameraswitch.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_close.xml b/ui/components/capture/src/main/res/drawable/ic_close.xml
new file mode 100644
index 000000000..6aec13d2e
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_close.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_flash_auto_filled.xml b/ui/components/capture/src/main/res/drawable/ic_flash_auto_filled.xml
new file mode 100644
index 000000000..6ccd91823
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_flash_auto_filled.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_flash_auto_outline.xml b/ui/components/capture/src/main/res/drawable/ic_flash_auto_outline.xml
new file mode 100644
index 000000000..274cf21d3
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_flash_auto_outline.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_flash_off.xml b/ui/components/capture/src/main/res/drawable/ic_flash_off.xml
new file mode 100644
index 000000000..0aae7b38d
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_flash_off.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_flash_on_filled.xml b/ui/components/capture/src/main/res/drawable/ic_flash_on_filled.xml
new file mode 100644
index 000000000..8ae05c681
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_flash_on_filled.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_flash_on_outline.xml b/ui/components/capture/src/main/res/drawable/ic_flash_on_outline.xml
new file mode 100644
index 000000000..88b66a1e1
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_flash_on_outline.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_flip_camera_android.xml b/ui/components/capture/src/main/res/drawable/ic_flip_camera_android.xml
new file mode 100644
index 000000000..0f3193cdf
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_flip_camera_android.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_hdr_off.xml b/ui/components/capture/src/main/res/drawable/ic_hdr_off.xml
new file mode 100644
index 000000000..fa753c5a2
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_hdr_off.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_hdr_on.xml b/ui/components/capture/src/main/res/drawable/ic_hdr_on.xml
new file mode 100644
index 000000000..2d5aa6718
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_hdr_on.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_lock.xml b/ui/components/capture/src/main/res/drawable/ic_lock.xml
new file mode 100644
index 000000000..5b7ef95d0
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_lock.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_lock_open.xml b/ui/components/capture/src/main/res/drawable/ic_lock_open.xml
new file mode 100644
index 000000000..a5c429bc1
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_lock_open.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_mic.xml b/ui/components/capture/src/main/res/drawable/ic_mic.xml
new file mode 100644
index 000000000..8ebd5226a
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_mic.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_mic_off.xml b/ui/components/capture/src/main/res/drawable/ic_mic_off.xml
new file mode 100644
index 000000000..5e58804e9
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_mic_off.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_more_horiz.xml b/ui/components/capture/src/main/res/drawable/ic_more_horiz.xml
new file mode 100644
index 000000000..cbf1b7dea
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_more_horiz.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_nightlight_filled.xml b/ui/components/capture/src/main/res/drawable/ic_nightlight_filled.xml
new file mode 100644
index 000000000..09825b4fe
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_nightlight_filled.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_nightlight_outline.xml b/ui/components/capture/src/main/res/drawable/ic_nightlight_outline.xml
new file mode 100644
index 000000000..6cb1f12d0
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_nightlight_outline.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_pause.xml b/ui/components/capture/src/main/res/drawable/ic_pause.xml
new file mode 100644
index 000000000..4d3131bcf
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_pause.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_photo_camera_front.xml b/ui/components/capture/src/main/res/drawable/ic_photo_camera_front.xml
new file mode 100644
index 000000000..d3b5ff4e1
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_photo_camera_front.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_picture_in_picture.xml b/ui/components/capture/src/main/res/drawable/ic_picture_in_picture.xml
new file mode 100644
index 000000000..022dc4f40
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_picture_in_picture.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_play_arrow.xml b/ui/components/capture/src/main/res/drawable/ic_play_arrow.xml
new file mode 100644
index 000000000..bfea655e5
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_play_arrow.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_video_stable.xml b/ui/components/capture/src/main/res/drawable/ic_video_stable.xml
new file mode 100644
index 000000000..6b53f5a7a
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_video_stable.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_videocam_filled.xml b/ui/components/capture/src/main/res/drawable/ic_videocam_filled.xml
new file mode 100644
index 000000000..eaf0c755b
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_videocam_filled.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_videocam_outline.xml b/ui/components/capture/src/main/res/drawable/ic_videocam_outline.xml
new file mode 100644
index 000000000..a66239cdb
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_videocam_outline.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_visibility.xml b/ui/components/capture/src/main/res/drawable/ic_visibility.xml
new file mode 100644
index 000000000..5ce61ed23
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_visibility.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/ui/components/capture/src/main/res/drawable/ic_visibility_off.xml b/ui/components/capture/src/main/res/drawable/ic_visibility_off.xml
new file mode 100644
index 000000000..1c7df3bd9
--- /dev/null
+++ b/ui/components/capture/src/main/res/drawable/ic_visibility_off.xml
@@ -0,0 +1,26 @@
+
+
+
+
+